Schritt 1
Taster abfragen
Als Beispiel habe ich 5 LEDs und einen Taster an das Arduino Board angeschlossen. Mit dem Taster sollen die LEDs einzeln angeschaltet werden, und wenn alle leuchten wieder ausschalten. LEDs mit Vorwid...
Schritt 2
Veränderung des Tasters abfragen
Es wird nun eine weitere Variable für den Status des Tasters eingefügt und die Veränderung abgefragt. tasterval=digitalRead(taster); if(tasterval!=tasterstatus) { if(tasterval==HIGH) { ++pinzaehler;} ...
Schritt 3
Taster entprellen
Man fragt den Taster ab, wartet 10 Millisekunden und fragt ihn erneut ab. Wenn jetzt eine Veränderung da ist, war es wahrscheinlich das Nachschwingen (Prellen) des Tasters. So schnell hintereinander s...

Schritt 1 / 3 - Taster abfragen

Als Beispiel habe ich 5 LEDs und einen Taster an das Arduino Board angeschlossen. Mit dem Taster sollen die LEDs einzeln angeschaltet werden, und wenn alle leuchten wieder ausschalten. LEDs mit Vorwiderstand und Taster mit pulldown Widerstand anschließen. Ein- und Ausgänge im Programm setzen.

int taster = 7;
int tasterval = 0;
int pins[] = {2,3,4,5,6};      
int num_pins = 5;              
int pinzaehler = 0; void setup() {
int i;
pinMode(taster,INPUT);
tasterstatus=digitalRead(taster);
for (i = 0; i < num_pins; ++i ) 
pinMode(pins[i], OUTPUT);} Nun wird der Taster abgefragt. Immer wenn er gedrückt wird erhöht sich der Zähler für die LEDs und wenn alle leuchten wird er auf 0 gesetzt. void loop() {
int i;
tasterval=digitalRead(taster);
if(tasterval==HIGH)
{ pinzaehler;}
if (pinzaehler>num_pins)
{pinzaehler=0;} Hier werden nun die LEDs an- und ausgeschaltet. for (i = 0; i < num_pins; ++i ) {
if(pinzaehler>i)
{digitalWrite(pins[i], HIGH);}
else
{digitalWrite(pins[i], LOW);}}}

Wenn man nun das Video anschaut merkt man, dass dies so lediglich als Zufallsgenerator taugt. Was ist falsch? Hier fragt der Prozessor den Taster jedesmal ab wenn er die loop() Funktion aufruft. Und das geht schneller als man schauen kann. Wenn der Taster gedrückt wird hat man ein sehr schnelles Lauflicht. Die Lösung: Man muß die Veränderung des Tasters abfragen und nicht nur den jetzigen Zustand.


weiter mit: Veränderung des Tasters abfragen  ⇒
100% Zoom
kein Vorschaubild vorhanden, daher ein Wawerkobild
 
Schwierigkeit:
mittel
Zeitbedarf:
30 Minuten
Bewertung:
3.00
Aufrufe:
13762
bewerten:
Stern Stern Stern Stern Stern
Empfehlen:
Link zur Anleitung:
Anzeige
auch interessant
Bild zur Anleitung: Steinbackofen / Grill twittern lassen 1* selber machen2* selber machen3* selber machen4* selber machen5* selber machen

Steinbackofen / Grill twittern lassen

Unser Vater/Schwiegervater Rudi hat ein Backes (Steinbackofen) im Garten und versorgt unsere ganze Familie immer mit leckerem Brot. Wir haben nur ein Problem, er macht (...)

Einkaufsliste

Werkzeug:
  • PC
Material:
  • Arduino Board
  • Taster
  • 5 Stück LEDs

Kommentare

An dieser Diskussion teilnehmen.
Bitte anmelden oder registrieren um an dieser Diskussion teilnehmen zu können.

Gesendet: 14 Jahre, 5 Monate her von Fraggle #2269
Coole Anleitung! *****
Gesendet: 14 Jahre, 6 Monate her von Lichtbändiger #2268
Einen Taster anschließen klingt jetzt eigentlich ziemlich trivial. Aber man kann schnell ein paar Fehler einbauen. Ich zeige hier an einem Beispiel was man bei der Programmierung beachten muß damit der Taster ohne Probleme funktioniert.https://wawerko.de/taster-am-arduino-board-anschliessen+3404.html