Hallo zusammen, im follgenden Code habe ich am Pin 10 eine Moosfet Transistor Schaltung welcher einen großen Motor mittels PWM regeln soll. Der Code an sich funktioniert. Wie müsste ich den Code umschreiben, wenn: - ich am Pin 2 ein Schalter habe -Bei jedem drücken des Schalters soll das PWM signal um 50 erhöht werden -ein zweiter Schalter am Pin 3 soll das PWM Signal beim drücken um jeweils 50 reduzieren. Ich hänge hier echt fest. Für mögliche Lösungsvorschläre wäre ich echt Dankbar. MfG ---------------------------------------- CODE ---------------------------------------- #define Gate 10 void setup() { pinMode(Gate,OUTPUT); digitalWrite(Gate,LOW); } void loop() { delay(1000); analogWrite(Gate, 50); }
Getting Started With Arduino - Two Button LED Dimmer http://www.instructables.com/id/Getting-started-with-Arduino-Two-Button-LED-Dimmer/
unsigned char pwm = 0; unsigned char entprellung = 0; #define Taster1 2 //pwm signal hoch #define Taster2 3 //pwm signal runter #define Gate 10 void setup() { pinMode(Gate,OUTPUT); pinMode(Taster1, INPUT); pinMode(Taster2, INPUT); digitalWrite(Gate,LOW); } void loop() { delay(1000); analogWrite(Gate, pwm); if(Taster1 == 1&&entprellung <2) { entprellung=1; if(entprellung==1) { if(pwm<=204) { pwm=pwm+50; } if(pwm>=205) { pwm=255; } entprellung=2; } } if(Taster2 == 1&&entprellung <4) { entprellung=3; if(entprellung==3) { if(pwm>=51) { pwm=pwm-50; } if(pwm<=50) { pwm=0; } entprellung=4; } } if(Taster1==0 && Taster2==0) { entprellung = 0; } }
:
Bearbeitet durch User
Malaps schrieb: > Ich hänge hier echt fest. Kein Wunder. > delay(1000); Das ist der falsche Ansatz. Wie leicht kommt da irgend ein Tölpel, drückt die Taste kurz mal 2..8/10 Sekunden und das Programm bekommt das nicht mit.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.