www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Folientastatur 1x12 Arduino


Autor: Frank Old (nucleus)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich moechte an einen Arduino Duemilanove (Atmega328) eine 1x12 
Folientastatur anschliessen (analogPin 0). Ich habe die Tastatur ueber 
einen Spannungsteiler mit analogPin 0 verbunden (siehe Anhang). Wenn ich 
den analogPin auslese, kommen jedoch nur wirre Werte, d.h. ich bekomme 
fuer unterschiedliche Tasten die gleichen Werte. Messe ich die 
Anschluesse ueber den Spannungteiler nach stimmen die Widerstanswerte. 
Ich hoffe, mein Problem ist einigermasen klar geworden. Im Anhang ist 
meine Schaltung verewigt. Ich denke das kleine Programm muss ich nich 
noch anfuegen.
Vielen Dank schon mal im voraus
Frank

Autor: Andreas M. (elektronenbremser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1+5=1??
und die 1 einzeln gedrückt ergibt was?
usw. bedeutet Ratespiel? Wo ist die Logik?

Verwirrend für mich

Nachtrag.
Du meinst mit den Zahlen die Leitungen 1 bis 12! Etwas mehr Info wäre 
nett

Noch ein Nachtrag.
Mach das usw. mal selbst weiter, dann fällt dir auf dass eine Taste 
fehlt

Autor: Andreas M. (elektronenbremser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn das Messergebnis angeblich stimmt, dein Aufbau (komplette 
Beschaltung?) deshalb "möglicherweise" richtig ist, du aber nur wirre 
Werte erhälst, woran solls denn liegen wenn nicht am Programm?

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein Analogpin muss mit 5V verbunden werden, dein +5V muss zum AD 
Wandler

Autor: Frank Old (nucleus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok hier der Quellcode. Entschuldigung, dass ich keine weiteren 
Erlaeuterungen zu 1+2 = * usw. gegeben habe. Das sollen die Anschluesse 
(1x12) sein

#define KeyPin    3

#define LED_PIN   13

int val=0;

void setup() {
  pinMode(LED_PIN, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  digitalWrite(LED_PIN, HIGH);
  val=analogRead(KeyPin);
  Serial.println(val);
}

Frank

Autor: Peter Diener (pdiener) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>  val=analogRead(KeyPin);
>  Serial.println(val);

Erwartet die Funktion Serial.println nicht einen string statt einem 
Integer?

Grüße,

Peter

Edit: Die Funktion erwartet tatsächlich einen int.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frank Old schrieb:
> d.h. ich bekomme
> fuer unterschiedliche Tasten die gleichen Werte.

Das stimmt doch mit Deinem Schaltplan überein.
Du mußt also die Schaltung ändern.


Peter

Autor: Peter Diener (pdiener) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Dein Analogpin muss mit 5V verbunden werden, dein +5V muss zum AD
>Wandler

Ja, richtig, die Schaltung ist ja so kein Spannungsteiler...

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum nimmst Du nicht ne Matrixtastatur?

Dann braucht man nur 6 Widerstände für 12 Tasten:

Beitrag "Tastenmatrix auslesen über nur 2 Leitungen"


Peter

Autor: Frank Old (nucleus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte in meiner "Bastekiste" diese Tastatur noch liegen. Warum also 
eine neu kaufen, wenn eventuell die vorhandene auch funktionieren 
koennte.
Erst mal danke an alle, die mir bisher geantwortet haben. Ich werde 
meine Schaltung noch einmal ueberdenken und hoffentlich ans Ziel kommen.
Gruesse
Frank

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.