HELP: code is waarschijnlijk onjuist !!!

Arduino specifieke Software
Berichten: 3
Geregistreerd: 14 Jun 2021, 15:48

HELP: code is waarschijnlijk onjuist !!!

Berichtdoor T. Cortenbach » 11 Jul 2021, 17:54

Hallo,

A.U.B. Graag uw hulp !!!

Ik wil voor een geocache een codeslot maken. Ik heb een 4x4 toetsenbord, een relais, een lcd 2x16, een solenoid slot en alles wat verder nodig is. Ik heb al tig schema's gemaakt, maar er is altijd wel iets wat niet goed werkt. De materialen die ik gebruik zijn goed en werken op zich goed. Nu heb ik er een waarvan de code werkt en het slot open met de juiste code. Echter op het LCD scherm krijg ik vierkantjes en andere vreemde tekens. Dus daar gaat wat mis... Wie kan mij helpen. Wat moet ik doen om het werkend te krijgen. Hulp is zeer welkom, waarvoor dank!

Het schema is hier te zien incl verdere info. https://techatronic.com/password-based- ... th-keypad/

Hieronder staat de code die ik gebruik:

#include <Keypad.h>
#include<LiquidCrystal.h>
#include<EEPROM.h>
#define led A3
#define buzzer A4


// Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7)
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

char password[4];
char pass[4],pass1[4];
int i=0;
char customKey=0;
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
char hexaKeys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {A0, A1, 8, 9}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {10, 11, 12, 13}; //connect to the column pinouts of the keypad
//initialize an instance of class NewKeypad
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
void setup()
{
lcd.begin(16,2);
pinMode(led, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(1, OUTPUT);
// pinMode(m12, OUTPUT);
lcd.print(" Electronic ");
lcd.setCursor(0,1);
lcd.print(" Keypad Lock ");
delay(2000);
lcd.clear();
lcd.print("Enter Ur Passkey:");
lcd.setCursor(0,1);
for(int j=0;j<4;j++)
EEPROM.write(j, j+49);
for(int j=0;j<4;j++)
pass[j]=EEPROM.read(j);
}
void loop()
{
customKey = customKeypad.getKey();
if(customKey=='#')
change();
if (customKey)
{
password[i++]=customKey;
lcd.print(customKey);
beep();
}
if(i==4)
{
delay(200);
for(int j=0;j<4;j++)
pass[j]=EEPROM.read(j);
if(!(strncmp(password, pass,4)))
{
digitalWrite(1, HIGH
);
digitalWrite(led, HIGH);
beep();
lcd.clear();
lcd.print("Passkey Accepted");
delay(2000);
lcd.setCursor(0,1);
lcd.print("#.Change Passkey");
delay(2000);
lcd.clear();
lcd.print("Enter Passkey:");
lcd.setCursor(0,1);
i=0;
digitalWrite(led, LOW);
digitalWrite(1, LOW);
}
else
{
digitalWrite(buzzer, HIGH);
lcd.clear();
lcd.print("Access Denied...");
lcd.setCursor(0,1);
lcd.print("#.Change Passkey");
delay(2000);
lcd.clear();
lcd.print("Enter Passkey:");
lcd.setCursor(0,1);
i=0;
digitalWrite(buzzer, LOW);
}
}
}
void change()
{
int j=0;
lcd.clear();
lcd.print("UR Current Passk");
lcd.setCursor(0,1);
while(j<4)
{
char key=customKeypad.getKey();
if(key)
{
pass1[j++]=key;
lcd.print(key);
beep();
}
key=0;
}
delay(500);
if((strncmp(pass1, pass, 4)))
{
lcd.clear();
lcd.print("Wrong Passkey...");
lcd.setCursor(0,1);
lcd.print("Better Luck Again");
delay(1000);
}
else
{
j=0;
lcd.clear();
lcd.print("Enter New Passk:");
lcd.setCursor(0,1);
while(j<4)
{
char key=customKeypad.getKey();
if(key)
{
pass[j]=key;
lcd.print(key);
EEPROM.write(j,key);
j++;
beep();
}
}
lcd.print(" Done......");
delay(1000);
}
lcd.clear();
lcd.print("Enter Ur Passk:");
lcd.setCursor(0,1);
customKey=0;
}
void beep()
{
digitalWrite(buzzer, HIGH);
delay(20);
digitalWrite(buzzer, LOW);
}

Advertisement

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: HELP: code is waarschijnlijk onjuist !!!

Berichtdoor shooter » 12 Jul 2021, 08:15

vierkantjes krijg je door verkeerde baudrate, een ander display een ander versie van je lcd lib, etc.
kijk eerst of je het display aan de gang kunt krijgen met het voorbeeld programma van het display.
paul deelen
shooter@home.nl

Berichten: 3
Geregistreerd: 14 Jun 2021, 15:48

Re: HELP: code is waarschijnlijk onjuist !!!

Berichtdoor T. Cortenbach » 12 Jul 2021, 15:04

Hallo,

Dank voor je reactie, ik ga het even uitproberen.

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Alexduh en 19 gasten