mehrere Taster

OP #2686116
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
OP #2686361
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
}
#2686376
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.
#2686388
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.
OP #2686406
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 !!
Gast #2686431
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren