Hallo, ich habe mal eine frage unzwar arbeite ich an einem Projekt beidem es wichtig ist das ich mehrstellige zahlen aufschreiben kann, aber ich kriege es irgendwie nicht hin da er immer nur eine Zahl anzeigt.
#include <LiquidCrystal.h>
#include <Keypad.h> //Keypad und Servo Library wird eingebunden
#include <Servo.h>
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
Servo servoblau; //Servo wird ab jetzt mit „servoblau“ angesprochen
int position = 0;
char key;
const byte ROWS = 4; //Hier wird angegeben wie viele Zeilen und Spalten das
const byte COLS = 3; //Tastenfeld besitzt
char keys[ROWS][COLS] = {
{ '#', '0', '*' },
{ '9', '8', '7' },
{ '6', '5', '4' },
{ '3', '2', '1' }
};
byte rowPins[ROWS] = { 25, 26, 27, 28 }; //Die Verbindung mit dem Arduino wird
byte colPins[COLS] = { 22, 23, 24 }; //festgelegt
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
int roteLED = 49;
int grueneLED = 51;
void setup() {
lcd.begin(16, 2);
pinMode(roteLED, OUTPUT); //Die LEDs werden als Ausgang festgelegt
pinMode(grueneLED, OUTPUT);
servoblau.attach(47); //Der Servo ist an Pin 11 angeschlossen
setLocked(true);
}
void loop() {
key = keypad.getKey();
if (key) {
lcd.setCursor(0, 0);
lcd.print(key);
lcd.setCursor(1, 0);
lcd.print(key);
}
if (key == '#') {
position = 0;
setLocked(true);
lcd.setCursor(0, 0);
lcd.print("Locking...");
delay(1000);
lcd.setCursor(0, 0);
lcd.print(" ");
}
if (key == '*') {
position = 0;
lcd.setCursor(0, 0);
lcd.print("Status Reset");
digitalWrite(50, HIGH);
delay(1000);
digitalWrite(50, LOW);
lcd.setCursor(0, 0);
lcd.print(" ");
}
if (key == "123"[position]) {
position++;
}
if (position == 3) {
setLocked(false);
lcd.setCursor(0, 0);
lcd.print("Passwort Correct!");
delay(2500);
lcd.setCursor(0, 0);
lcd.print(" ");
}
}
void setLocked(int locked) {
if (locked) // Wenn das Schlo
{
digitalWrite(roteLED, HIGH);
digitalWrite(grueneLED, LOW);
servoblau.write(90); //und de
} else //wenn das Schloss entsp
{
digitalWrite(roteLED, LOW);
digitalWrite(grueneLED, HIGH);
servoblau.write(0);
}
}
Das ist bis jetzt mein Aktueller versuch, und ich möchte das man die Zahlen nacheinander auf ein LCD klatschen kann dass, wenn man die falschen zahlen geschrieben hat, man es einfach mit "*" wegmachen kann.


