Wieso macht der Code nicht was es machen soll?
const int T1 = 3;
const int T2 = 2;
int buttonstate2 = 0;
int buttonstate = 0;
int VZeit = 0;
int intervall = 500;
void setup() {
for(int pin = 6; pin < 14; pin++) {
pinMode(pin, OUTPUT);
digitalWrite(pin, LOW);
}
pinMode(T1, INPUT);
pinMode(T2, INPUT);
}
void loop() {
buttonstate = digitalRead(T1);
buttonstate2 = digitalRead(T2);
unsigned long JZeit = millis();
if(buttonstate == HIGH) {
for(int pin = 6; pin < 14; pin++) {
digitalWrite(pin, LOW);
}
}
if(buttonstate2 == HIGH){
if(JZeit - VZeit >= intervall)
{
VZeit = JZeit;
for(int pin = 6; pin<14; pin++)
{
digitalWrite(pin, !digitalRead(pin));
}
}
}
}
Was soll der Code den machen? Was macht er stattdessen?
Wenn ich den T1 taster drücke dann leuchten die LEDS aber das soll eben nicht sein. Erst wenn ich den T2 drücke sollen die LEDS blinken
Was soll den passieren wenn du T1 drückst? also bei T2 sollen beide blinken. Richtig?
Ja bei T2 sollen sie Blinken und bei T1 sollen die alle gleichzeitig eingeschaltet werden. Komischer weiße sind sie am anfang wenn ich nic gedrückt habe auch schon alle an.
Aso okay, wie ich es verstanden habe benötigst du einen Pull down Widerstand an den Taster, dann sind sie Grundsätzlich auf 0.
was macht ein pull down Widerstand
1 Antwort
T1 an Input 3 sollte keine Funktion haben.
Wenn T2 and Input 2 gedrückt ist. Also high. Ist. Dann sollten sie blinken. Wenn T1 und T2 gedrückt sind. Blinken sie auch. Nur sehr sehr kurz. Dauerhaft leuchten sollten eigentlich keine.
Das lese ich zumindest aus dem Code.
Im Endeffekt müsste im debug mode Einzeln Durchsteppen und genau schauen was dein Code denn macht und für Werte hat. Ansonsten kannste ggf. Auch mit console/logausgaben arbeiten. Sodass du dir verschiedene Zustandswerte rausgibst.
Oder den Zustand z.b. von T1 und T2 auf andere Outputs weiterleiten um zu sehen welcher als high und welcher als Low gilt.
Bedeutet nen Output aus LOW zu setzen das dieser eingeschaltet ist? Also ne lampe leuchtet?
Falls ja. Schau Mal in deine Setup Methode rein. Da setzt du ja schon alle Outputs auf Low. Genauso wie du es auch tust wenn du T1 drückst.
Du machst in der Setup mit den Pins das gleiche wie als wen du T1 drückst.
Änder im Setup spaßeshalber mal den Output auf high. Nur um Mal zu schauen was beim einschalten passiert.
Hab ich gemacht aber irgenwie hat sich nichts geändert
aber mir fällt gerade auf das die build in LED auch die ganze zeit am Blinken ist ohne das ich was gedrückt habe.
Dann scheinen deine Taster eventuell nicht so angeschlossen zu sein wie sie sein sollten.
Das was ich jetzt ersteinmal machen würde ist folgendes. Denn loop auskommtieren. Und ersteinmal schauen das die Setup Methode stimmt. So kannst du auch sicherstellen das die Schaltung schonmal korrekt ist. Oder eventuell Ben Fehler hat. (Mit Ausnahme der Taster)
Anschließend den Part mit T1 ein kommentieren. Und schauen das das dann funktioniert. Und dann das selbe mit T2.
Du hast 3 zustände. Anfang. T1 gedrückt. Und T2 gedrückt. Die kannst du alle einzeln und seperat bearbeiten.
Alles 3 auf einmal zu machen ist unnötig kompliziert.
Danke ich werd das mal machen. Vielen Dank für die Tipps!
ja Also wenn ich T1 drücke dann sollen alle LEDS leuchten wenn ich T2 drücke sollen sie Blinken. Das funktioniert irgendwie beides nicht weil am anfang bevor ich etwas gedrückt habe alle LEDS an sind