ich bin neu in der Welt der C-Programmierung und habe ein kleines LED-Projekt für das ich mich zur zeit sehr interessiere.
Ich möchte gerne mein Arduino UNO so programmieren, dass man mit einem Taster die LED ein- und ausschalten und diese in 3 Stufen in der Leistung variieren kann.
Wenn LED aus
Taster 5sek drücken = LED 100% an
Taster 1x drücken = LED 66,66% an
Taster noch 1x drücken = LED 33,33% an
Taster noch 1x drücken = LED 33,33% an
Taster noch 1x drücken = LED 100% an
Taster 5sek drücken = LED 0% an --> diese Funktion soll in jeder Stufe möglich sein.
Ich hoffe, dass mir einer helfen kann...
Das ist mein bisher vorhandenes Programm.
int LED = 9; // pin für LED
int BUTTON = 7; // pin des pushbutton
int val = 0; // stores state of input (pin 7)
int old_val = 0; // stores previous value of val
int state = 0; // state of LED (0 is off, 1 ist EIN)
int brightness = 255; // LED soll mit 100% beginnen
unsigned long startTime = 5000; // Programm soll nach 5sek des Tasters starten
void setup() {
pinMode(LED,OUTPUT); // LED ist output
pinMode(BUTTON,INPUT); // BUTTON ist Input
Setze Deinen Code bitte in Codetags (</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter ohne *).
So ist er auch auf portablen Geräten lesbar. Das kannst Du auch noch nachträglich ändern.
du musst deinen Taster entprellen. Für das Stufenweise durchtasten bauste dir ein switch-case.
Für die Zeitabhängige Variante musste dich mit millis beschäftigen.
ja das ist richtig. Der Sketch ist unvollständig, da ich hier wissentlich hänge und nicht weiter komme.
Das ein Sketch eine loop-Funktion haben muss, solltest Du aber schon herausgefunden haben.
Es wird besser sein, wenn Du Dich erst mal mit den Grundlagen beschäftigst. Die IDE enthält viele sinnvolle Beispiele, um diese zu lernen.
Die anderen Vorschläge für die Weiterführung Deines Lernprozesses hat Du ja bereits bekommen.