Forum: Mikrocontroller und Digitale Elektronik Arduino Gemma v2 vergisst sein Programm


von Malte J. (kwyjibo)


Lesenswert?

Hallo,
ich habe mir vor einiger Zeit zwei Arduino Gemma v2 besorgt und teste an 
dieses Momentan meine Fähigkeiten.
An einem Gemma habe ich momentan 3 Neopixel angeschlossen. Die 
Ansteuerung funktioniert soweit auch ganz gut mit meinen Programmen.
Jetzt tritt aber das Problem auf, das dass Programm nachdem das Board 
einige Zeit ausgeschaltet ist nicht mehr gestartet wird und die Neopixel 
folglich dunkel bleiben.
Wo könnte das Problem liegen, dass das Programm nach einiger Zeit nicht 
mehr startet? Wenn ich den scetch erneut überspiele, funktioniert es 
wieder alles einwandfrei. Über Nacht scheint der µC das Programm zu 
vergessen.

von Stefan S. (sschultewolter)


Lesenswert?

Wie kommen die Leute immer darauf, dass die AVRs ihr Programm verlieren? 
Ein AVR verliert seinen Speicher nicht auf deine beschriebene Weise.


Programm her, Schaltplan her und vorallem wie ist die Stromaufnahme 
gelöst

von Peter R. (pnu)


Lesenswert?

Stefan S. schrieb:
> Wie kommen die Leute immer darauf, dass die AVRs ihr Programm verlieren?
> Ein AVR verliert seinen Speicher nicht auf deine beschriebene Weise.

Das scheint eine Urangst zu sein, die bei ungeklärter Ursache immer 
aktiv wird ( So, wie bei vielen Leuten, die wohl selbst gerne klauen, 
immer gleich der Ruf erschallt: "Man hat mir mein (Handy,Uhr, Kaugummi 
oder sonstetwas)gestohlen"  )

Malte J. schrieb:
> Wo könnte das Problem liegen, dass das Programm nach einiger Zeit nicht
> mehr startet?

Wenn die brownout-fuses nicht gesetzt sind, passiert es immer wieder, 
dass es EEPROM-bits beim wegsacken der Spannung erwischt.

Es kann auch daran liegen, dass RAM-Plätze/Variable beim Lauf des 
Programms benutzt werden, die nicht initialisiert sind.

Bei kurzen Betriebspausen haben die noch den ihren Programmen 
entsprechenden Inhalt, nach längeren Pausen gehen die dann auf 
irgendwelche fürs Programm nicht passende Werte.

: Bearbeitet durch User
von Malte J. (kwyjibo)


Lesenswert?

Stefan S. schrieb:
> Programm her, Schaltplan her und vorallem wie ist die Stromaufnahme
> gelöst


Also nochmal alle Infos:

Der Gemma Gemma v2 wird mit 2 Knopfzellen in Reihe geschaltet betrieben 
(2*3V). Einen Schaltplan zu hochladen habe ich nicht. Ähnlich wie hier 
sieht es aus:
https://learn.adafruit.com/space-face-led-galaxy-makeup/circuit-diagram
Ich habe halt nur andere Neopixel und davon nur 3.
Wie ist das mit der Stromaufnahme gemeint? Ich habe einfach die 
Helligkeit der Pixel auf den Wert 75 gesetzt um die Batterien zu 
schonen. Die halten ca 2 Stunden Dauerbetrieb durch.

Und hier mein Programm:

#include <Adafruit_NeoPixel.h>
#ifdef _AVR_
  #include <avr/power.h>
#endif

#define PIN 0

Adafruit_NeoPixel strip = Adafruit_NeoPixel(3, PIN, NEO_GRB + 
NEO_KHZ800);



void setup() {

  strip.begin();
  strip.show(); // Initialize all pixels to 'off'
  strip.setBrightness(75);
}



void loop() {

  rainbow(20);
}



void rainbow(uint8_t wait) {
  uint16_t i, j;

  for(j=0; j<256; j++) {
    for(i=0; i<strip.numPixels(); i++) {
      strip.setPixelColor(i, Wheel((i+j) & 255));
    }
    strip.show();
    delay(wait);
  }
}

uint32_t Wheel(byte WheelPos) {
  WheelPos = 255 - WheelPos;
  if(WheelPos < 85) {
    return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
  }
  if(WheelPos < 170) {
    WheelPos -= 85;
    return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
  }
  WheelPos -= 170;
  return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
}

von Malte J. (kwyjibo)


Lesenswert?

OK ich  muss komplett zurückrudern. Der Gemma braucht um mein Programm 
zu starten bei nachlassemder Batteriespannung einfach enorm viel Zeit. 
Wenn ich ihn über ein USB Netzteil betreibe geht es viel schneller 
obwohl das ja nur 5 V liefert. Selbst mit zwei vollen neuen Batterien 
startet das Programm einfach sehr langsam. Gibt es Möglichkteiten den 
Programmstart zu beschleunigen?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.