mehrere Taster

OP #2686116
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
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
}
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.
> 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
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
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

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.