Hallo Zusammen.
Als ich begann mit Arduino zu Programmieren, wies ich einer LED die Variabel BOOL zu.
Ich bemerkte jedoch rasch, dass das nicht ging. Erst als ich das BOOL in ein INTEGER umschrieb funktionierte es. Meine Frage lautet jetzt, ich habe bei meiner LED nur 1 und 0, warum kann ich dort kein BOOL nehmen?
Programm in vereinfachter Darstellung folgt.
Danke mfg
bool led = 12; // es geht nur wenn statt bool int steht
Das was du in deinem Sketch zuweist, ist die Pinnummer und die braucht mehr als 1 und 0.
Da muss es min. Byte sein. Int geht aber auch, wie du bemerkt hast.
Setze Deinen Code bitte in Codetags (</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter ohne *).
Das kannst Du auch noch nachträglich ändern.
bool led = 12;
Du kannst einer Variablen, die nur 0 oder 1 sein kann keine 12 zuweisen.
Ich vermute, Du meinst damit das Pin, an dem die LED hängt:
dr_holzknecht:
bool led = 12; // es geht nur wenn statt bool int steht
Ich würde schreiben:
const byte ledpin = 12; // Pin, an dem die LED angeschlossen ist als Konstante
bool ledwert = 0; // Variable 0 oder 1, LOW oder HIGH
digitalWrite(ledpin, ledwert);
Eine LED kann an oder aus sein, da verwendest Du bool. Der Pin hat aber eine Zahl, hier 12, die mehr Bits benötigt.