Forum: Mikrocontroller und Digitale Elektronik mehrere Taster


von Mario S. (masa)


Lesenswert?

Hallo Freunde,
drehe bald am Rad!!

(Arduino UNO Board)
wer kann mir ein Rat geben ?
möchte einfach nur mehrere Taster auslesen und aber auch
mehrere Leds zum leuchten bringen
Taster 1 = LED1
Taster 2 =LED 2
usw. Soll später mit einem Drehschalter bedient werden.
Ziel ist später bei verschiedenen Schalterstellung diverse sachen
auf einen LCD anzuzeigen.
Mit einem Taster habe ich es bereits geschaft etwas anzeigen zu lassen.

Gruß Masa

von Karl H. (kbuchegg)


Lesenswert?

Schön!
Und, woran scheitert es?

von gordon51freeman (Gast)


Lesenswert?

Mario Saverino schrieb:
> wer kann mir ein Rat geben ?

Ich würde nächstes mal dazu schreiben, wozu du einen Rat brauchst :)

von Mario S. (masa)


Lesenswert?

möchte gerne bei verschiedene Schalterstellungen
Phono , Tuner und CD sehen.
wie gesagt bei Betätigung von Eingang 8 erscheint bereits
Phono am LCD. Würde gern es auf die zwei Wörter erweitern
tue mir schwer.
zum Verständnis mein Listing





daher um Rat
Danke




Taster Abrage
LCD Anzeige
1
const int buttonPin = 8;  Phono   
2
const int buttonPin = 9;  Tuner
3
const int buttonPin = 10;  CD
4
5
6
const int ledPin =  13; 
7
#include <LiquidCrystal.h>
8
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
9
int buttonState = 0;
10
11
void setup() {
12
  
13
  pinMode(ledPin, OUTPUT);      
14
 
15
}
16
17
void loop(){
18
  
19
  buttonState = digitalRead(buttonPin);
20
21
  
22
  
23
  if (buttonState == LOW) {     
24
       
25
    digitalWrite(ledPin, HIGH);  
26
  } 
27
  else {
28
   
29
    digitalWrite(ledPin, LOW); 
30
    lcd.begin(20, 2);
31
    lcd.print("   P  H  O  N  O");
32
33
34
35
  }
36
}

von Karl H. (kbuchegg)


Lesenswert?

Mario Saverino schrieb:
> möchte gerne bei verschiedene Schalterstellungen
> Phono , Tuner und CD sehen.
> wie gesagt bei Betätigung von Eingang 8 erscheint bereits
> Phono am LCD. Würde gern es auf die zwei Wörter erweitern
> tue mir schwer.

Na ja, das hat aber mit 'schwer tun' wenig zu tun.
Wenn du die anderen Eingänge berücksichtigen willst, dann wirst du die 
wohl erst mal einlesen müssen. Das sollte doch wohl eigentlich logisch 
sein.

Du hast dann 3 eingelesene Werte, von denen 2 High sind und 1 Low. Mit 
ein paar if findest du raus, welcher low ist und schreibst dann den 
entsprechenden Text dazu aufs LCD.

Das kein Meister vom Himmel gefallen ist, ist schon klar. Aber ein wenig 
anstrengen musst du dich selber auch. Du willst das ja schliesslich 
lernen.

von Mario S. (masa)


Lesenswert?

bin dabei mich ein zulesen
dennoch

ich wollte gerne die anderen Taster
in der Schleife abfragen aber wie werden die 8,9,10 unterschieden
Z.B

void loop()

buttonState = digitalRead 8 ???!!!

von Karl H. (kbuchegg)


Lesenswert?

> const int buttonPin = 8;  Phono
> const int buttonPin = 9;  Tuner
> const int buttonPin = 10;  CD

Wie soll das denn gehen? Ein und dieselbe Konstante (dem Namen nach) mit 
unterschiedlichen Werten?

Nenn doch die Dinge nach dem was sie bedeuten!
Der Pin 8 ist der Eingang an dem die Schalterstellung 'Phono' anliegt. 
Der Pin 9 ist der Eingang an dem die Schalterstellung 'Tuner' anliegt. 
Der Pin 10 ist der Eingang an dem die Schalterstellung 'CD' anliegt.
1
const int phonoButtonPin = 8;
2
const int tunerButtonPin = 9;
3
const int cdButtonPin    = 10;
4
5
6
int phonoButtonState = 0;
7
int tunerButtonState = 0;
8
int cdButtonState = 0;
9
10
...
11
12
void loop(){
13
  
14
  phonoButtonState = digitalRead( phonoButtonPin );
15
  tunerButtonState = digitalRead( tunerButtonPin );
16
  cdButtonState    = digitalRead( cdButtonPin );
17
18
19
  if( phonoButtonState == HIGH )
20
  {
21
     ...
22
23
  }
24
25
  else if( tunerButtonState == HIGH )
26
  {
27
    ...
28
  }
29
30
  else if( cdButtonState == HIGH )
31
  {
32
    ...
33
  }
34
35
  else   // keiner gedrückt
36
  {
37
    ...
38
  }
39
}

PS: Bist du sicher, dass ein gedrückter Taster auf dem Arduino ein High 
liefert? Ich kenn die Plattform nicht. Möglich ist es natürlich, aber 
meistens macht man es anders rum.

von _Gast_ (Gast)


Lesenswert?

Mario Saverino schrieb:
> Mit einem Taster habe ich es bereits geschaft etwas anzeigen zu lassen.

Hast du einzelne Taster mit Display?

von Mario S. (masa)


Lesenswert?

das war Super !!!
eine riesen Hilfe
komme jetzt weiter
hoffe ich kann mich nochmal melden ??


Gruß Masa

von Mario S. (masa)


Lesenswert?

habe unten den Text übersehen

das sind jetzt wirklich meine allererste Versuche
Habe am Drehschalter den geschalteten am Eingang gelegt (8)
und ein 10KOhm Widerstand von Eingang 8 zum 5Volt+ gelegt funktioniert
soweit wenn es andersrum mehr sinn macht ist auch kein Problem !!

von spontan (Gast)


Lesenswert?

Schaltpläne werden üblicherweise gezeichnet und nicht in Prosa gefaßt.

Schalter kannst Du prinzipiell nach GND oder VCC schalten, üblich ist, 
daß sie nach GND schalten, dabei kann man interne Pullupwiderstände 
nutzen, soweit vorhanden.

Aber eigentlich ists völlig egal.

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
Noch kein Account? Hier anmelden.