PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Einfacher Taster-Test: geht nicht :(



xxrider
23.06.2017, 19:39
Hallo,
ich bin am programmieren (...und am verzweifeln), mein Taster haut nicht hin.
Hab das mal isoliert für ein test-Programm, da geht er auch nicht.
woran kann das liegen?
Ist die Syntax o.k.?

const int ledPin1 = 1; // LED Test
const int Taster = 9; //Taster auf PinD9

int tasterstate = LOW;

void setup()
{

pinMode(ledPin1, OUTPUT);

pinMode(Taster, INPUT);

}

void loop()
{

if (digitalRead(tasterstate)==LOW)
{digitalWrite(ledPin1, LOW);}
else {digitalWrite(ledPin1, HIGH);}


}




Taster hab ich übrigens (noch) keinen verbaut.
ich hab Pin 9 über einen 10k Widerstand auf gnd gezogen (= LOW).
Für Zustand HIGH gehe ich mit Pin 9 auf 5V.

HaWe
23.06.2017, 20:11
Hallo,
ich bin am programmieren (...und am verzweifeln), mein Taster haut nicht hin.
Hab das mal isoliert für ein test-Programm, da geht er auch nicht.
woran kann das liegen?
Ist die Syntax o.k.?

const int ledPin1 = 1; // LED Test
const int Taster = 9; //Taster auf PinD9

int tasterstate = LOW;

void setup()
{

pinMode(ledPin1, OUTPUT);

pinMode(Taster, INPUT);

}

void loop()
{

if (digitalRead(tasterstate)==LOW)
{digitalWrite(ledPin1, LOW);}
else {digitalWrite(ledPin1, HIGH);}


}




Taster hab ich übrigens (noch) keinen verbaut.
ich hab Pin 9 über einen 10k Widerstand auf gnd gezogen (= LOW).
Für Zustand HIGH gehe ich mit Pin 9 auf 5V.

hallo,
statt
digitalRead(tasterstate)
muss die Pin-Nr des Tasters dahinter, also
digitalRead(Taster)

willst du den Tasterstate vorher speichern, dann

tasterstate = digitalRead(Taster);
if (tasterstate==LOW)
{digitalWrite(ledPin1, LOW);}
else {digitalWrite(ledPin1, HIGH);}

du kannst aber sonst genausogut direkt abfragen


if (digitalRead(Taster)==LOW)
{ //...

xxrider
23.06.2017, 20:48
In meinem Hauptprogramm hatte ich die Verbindung
tasterstate = digitalRead(Taster);

enthalten, im test-Programm aber vergessen...
Allerdings hatte ich dort auch geschrieben:

if (digitalRead(tasterstate)==LOW) statt:



if (tasterstate)==LOW)

und es ging deshalb nicht.

Vielen Dank für den Tipp!

HaWe
23.06.2017, 21:14
In meinem Hauptprogramm hatte ich die Verbindung
tasterstate = digitalRead(Taster);

enthalten, im test-Programm aber vergessen...
Allerdings hatte ich dort auch geschrieben:

if (digitalRead(tasterstate)==LOW) statt:



if (tasterstate)==LOW)

und es ging deshalb nicht.

Vielen Dank für den Tipp!

gerne, Hauptsache, du hast jetzt den Fehler gefunden und die Syntax verstanden. (y)