ich versuche ein Minigewächshaus zu bauen.
Ich habe ein Arduino Uno und ein wenig Ahnung im Programmieren.
Ich habe heute eine Realtimeclock + SD card + Soilsensor hinzugefügt zu meiner LED Matrix.
Jedoch leuchtet diese auf einmal nicht mehr. Mit dem alten Code jedoch funktioniert es.
Das speichern in der SD Card und die RTC funktionieren einwandfrei.
Mein Ziel war es das die Beleuchtung um 7 Uhr angeht. Es wird ein Relaismodul angesteuert welches umschaltet.
Fakten die LED Matrix funktoniert und die Verkabelung ist auch richtig.
Ich weiß nicht ob beim Setup() einfach zu viel drinne steht. Oder was es für Prioritäten gemacht werden.
Setze Deinen Code bitte in Codetags (</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter oder gehe in der IDE auf Bearbeiten - Für Forum kopieren und füge es hier ein).
Dann ist er auch auf mobilen Geräten besser lesbar.
Das kannst Du auch noch nachträglich ändern.
Außerdem entferne bitte die unnötigen Leerzeilen und formatiere den Code ordentlich (+T in der IDE hilft Dir dabei).
Irgendwie ist Dein Skech nicht komplett. An der Stelle wo die LED´s zeitabhängig eingeschaltete werden sollten fehlt sowas in der Art.
for(int i = 0; i<256;i++)
{
pixels.setPixelColor(i, pixels.Color(255,0,255));
}
pixels.show();
wobei 255,0,255 die RGB Farbwerte sind. Du hast das im Setup drin , warum ?
In dem Teil wo die Zeit abgefragt wird steht irgedwas drin was sich mir auch nicht erschliessen will. OK da wird ein pin "lighton" geschaltet .. wozu ? was hängt da dran ?.
lighton hängt an einem Relaise, welches die LED Matrix mit Strom versorgt. Dieses soll halt bestimmen wann die LED´s leuchten und wann nicht.
Die LED Matrix an sich hat zwei Stromzufuhren einmal für die Einstellung an sich mit der Farbe.
Und eine zweite für die Hauptstromversorgung. So würde ich es beschreiben. Es funktioniert auch mit dem LED Code einzeln.
Aber in diesem zusammengesetzten Code leider nicht .
Als Bild schicke ich die Anschlüsse der LED Matrix, jedoch bin ich mir ziemlich sicher das ich es richtig angeschlossen habe. Weil es halt ja nur mit dem reinen LED Code funktioniert.
Weiß jemand wievel Buffer die SD Bibliothek braucht?
Die Neopixels brauchen ja schon 768 byte.
Zum Kompilingzeitpunkt sind nicht alle RAM-Belgungen bekannt. Einiges kann während der Ausführung dazukommen.
Versuch mal nur 2 Neopixel zu nehmen ( #define NUMPIXELS 2 )
Funktioniert's dann?
SChalte zwischen Arduino und Matrix in die Datenleitung einen 330 Ohm Widerstand, sonst kann die erste LED kaputtgehen.
Einen Vorwiderstand habe ich bereits. Aber danke :).
In habe es versucht mit #define numpixels 2, aber vergeblich keine Leuchtet.
Auch habe ich versucht mit ausgeschalteten LEDS (0,0,0) zu beginnen und dann auf höher zu gehen um bisschen leuchten zu erzeugen jedoch vergeblich.
Das Netzteil hat ebenfalls genügend Watt 5V 30A 150W. Daran liegt es ebenfalls nicht.
Im Anhang zwei Bilder mit "Kabelchaos usw." Ja ich weiß, dass Netzteil muss freiliegen damit es sich kühlen kann.
Dort sieht man das es funktioniert mit dem einfachen Code.
Gibt es die Möglichkeit das Setup() zu entlasten, dass es Schritt für Schritt Befehle ausführt und sich dann entleert oder ähnliches ?
Ich verbrauche zu viele bytes. @UWEFED hat recht gehabt.
Jedoch konnte ich es nicht zuerst sehen weil im Setup() zu viel auf einmal ab verlangt wurde.
Nachdem ich ein delay() hinzugefügt habe und ein die NUMPIXEL heruntergesetzt funktioniert es zwar mit weniger leuchtenden LED´s, aber zumindest weiß ich, wo das Problem liegt.
Nun werde ich mir ein Arduino Mega oder Zero zulegen müssen.
Weiß jemand wievel Buffer die SD Bibliothek braucht?
Mehr als 1kB. (512 Byte für einen Sektor Daten, 512 Byte für einen Sektor der Dateiverwaltung)
Wenn die Anzeige beim Übersetzen nicht hilft, freeRam kann man an passender Stelle im Sketch einbauen.
int freeRam () {
extern int __heap_start, *__brkval;
int v;
return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
}
Berücksichtigt nicht eventuelle Schnipsel, die evtl. nach dynamischen Speicherspielereien übrig geblieben sind. (z.B. String Objekte)
Hier eine aktuelle Version für verschiedene Prozessoren. Aber hier sieht es ja nach einem kleinen Uno aus.