Det verkar som om jag överskrider lagringen av min Adafruit Trinket:
Sketch använder 5600 byte (105%) av programlagringsutrymmet. Maximalt är 5 310 byte. Globala variabler använder 109 byte dynamiskt minne.
Några tips för att minska fotavtrycket för min kod?
# inkluderar <Adafruit_NeoPixel.h> # inkluderar <Wire.h> # inkluderar <RTClib.h> # definiera LEDPIN 1 # definiera TONE 4 # definiera BTNPIN 3RTC_DS; Ad. * 10000L; // X minutesint colorStops = 256; int delaySpeed = fadeTime / colorStops; int notes [] = {262,294,330,349}; int timeHour = 14; int timeMinute = 43; uint32_t alarmLength = 5 * 60000L; // 5 minuter avbryt installation () {rtc.begin (); om (! rtc.isrunning ()) {rtc.adjust (DateTime (__ DATE__, __TIME__)); } pinMode (TONE, OUTPUT); pinMode (BTNPIN, INPUT); digitalWrite (BTNPIN, HIGH); strip.begin (); strip.show ();} void loop () {DateTime now = rtc.now (); if (now.hour () == timeHour && now.minute () == timeMinute && now.second () == 0) {// Fade in light for (int i = 1; i<colorStops; i ++) () == true) {break; } för (int np = 0; np<strip.numPixels (); np ++) {strip.setPixelColor (np, strip.Color (i, i, 0)); } strip.show (); delay (delaySpeed); } // Spela ton efter ljus helt ljusstarkt för (uint32_t tStart = millis (); (millis () - tStart) < alarmLength;) {if (kill () == true) {break; } för (int np = 0; np<strip.numPixels (); np ++) {strip.setPixelColor (np, strip.Color (random (100,255), random (100,255), random (100,255))); } strip.show (); pip (TON, anteckningar [slumpmässig (0,3)], 50); fördröjning (100); } för (int np = 0; np<strip.numPixels (); np ++) {strip.setPixelColor (np, strip.Color (0,0,0)); } strip.show (); }} ogiltigt pip (osignerad rödhögtalarePin, int frekvensInHertz, lång tidInMillisekunder) {// http://web.media.mit.edu/~leah/LilyPad/07_sound_code.html int x; lång fördröjningAmount = (lång) (1000000 / frekvensInHertz); lång loopTime = (lång) ((timeInMilliseconds * 1000) / (delayAmount * 2)); för (x = 0; x<loopTime; x ++) {digitalWrite (speakerPin, HIGH); delayMicroseconds (delayAmount); digitalWrite (speakerPin, LOW); delayMicroseconds (delayAmount); }} bool kill () {if (! digitalRead (BTNPIN)) {for (int np = 0; np<strip.numPixels (); np ++) {strip.setPixelColor (np, strip.Color (0,0,0)); } strip.show (); återvänd sant; } annat {returnera falskt; }}