INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
LCD-Keypad-Piezo
15.08.2013, 13:21
Beitrag #1
Information LCD-Keypad-Piezo
Hallo erstmal! Big Grin

Dies ist mein erster Thread und ich hoffe, ihr könnt einigermaßen verstehen, was ich ungefähr machen will.

Zur visuellen darstellung erstmal ein Bild und die Fritzing-Datei:

BILD

Und hier die Fritzingdatei: Klick mich

Es kann sein, dass ich auf dem Bild einige Anschlüsse komisch oder falsch verbunden habe, was aber egal ist, da die Ansteuerung der einzelnen Teile problemlos vonstatten geht, es fehlt nur noch die Programmierung.

Soooo, was ich jetzt machen will, ist, dass ich mit dem Keypad eine Hertz-Zahl auf das Display schreiben kann (Bei mir ist es ein 20x4-Display, aber das spielt ja keine Rolle) und diese dann bei anschließendem Drücken von beispielsweise der Rautetaste abgespielt wird (auf dem Piezolautsprecher). Ich habe schon so weit einen eigenen Code geschrieben, dass ich etwas auf das Display schreiben kann, was ja nicht schwer ist, aber nun gibt es ein Problem, da ja keine "Lesefunktion" für das Display existiert. Ich dachte nun, dass ich bei jedem Tastendruck eine Nummer zu einer char-Variable hinzufügen könnte und diese dann in eine int-Zahl umwandeln kann, aber irgendwie hat das alles nicht wirklich funktioniert, deswegen suche ich nun hier um Rat. Ich hoffe, ihr könnt mir helfen!

Danke im Voraus, Bastian


P.S.: Hier ist noch schnell der bisherige Code:

Code:
#include <LiquidCrystal.h>
#include <Keypad.h>


const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
    {'1','2','3'},
    {'4','5','6'},
    {'7','8','9'},
    {'*','0','#'}
};

byte rowPins[ROWS] = {3, 2, 1, 0};
byte colPins[COLS] = {6, 5, 4};

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );


LiquidCrystal lcd(12, 11, 10, A0, 8, 7);
  
//Pins
  int ledPin = 13;
  int tonePin = 9;
  
//Frequency Options
  int frequency;
  
  int maxFrequency = 880;
  int minFrequency = 220;

void setup() {
  Serial.begin(9600);
  
  lcd.begin(20, 4);
  
  pinMode(tonePin, OUTPUT);
  
  pinMode(ledPin, OUTPUT);
  lcd.display();
  digitalWrite(ledPin, HIGH);
}

void loop() {
  char pressedKey = keypad.getKey();
  
  if (pressedKey){
    if (pressedKey == '#') {
      lcd.clear();
    }
    else if (pressedKey == '*') {
      lcd.print(pressedKey);
    }
    else {
      lcd.write(pressedKey);
    }
  }
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Mehrstellige Zahl aus Keypad StB 7 232 23.11.2016 03:47
Letzter Beitrag: StB
  Code mit Verifikation über Keypad & LCD machnetz 5 216 10.10.2016 15:01
Letzter Beitrag: torsten_156
  Anfängerhilfe: Piezo-Signal auslesen/kopieren Koregan 9 897 31.12.2015 08:40
Letzter Beitrag: Bitklopfer
  SainSmart 1602 LCD Keypad Shield Modul Display Tasten Rossy 20 3.072 08.08.2015 12:44
Letzter Beitrag: hotsystems
  LCD und Keypad über I2C Supernova 1 927 24.01.2015 16:50
Letzter Beitrag: René Hitz
  SainSmart LCD Keypad Shield Pin Belegung SR71 6 3.283 13.12.2014 19:07
Letzter Beitrag: bergfrei
  Keypad-Shield investmentclub 2 1.512 30.12.2013 08:38
Letzter Beitrag: investmentclub
  Laufschrift auf SainSmart LCD Keypad Shield wally57214 6 8.285 27.12.2013 20:32
Letzter Beitrag: kraweuschuasta

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste