This is an old revision of the document!
Theodor Protopopescu, 332CB
Acesta este un sistem de deblocare a unei incuietori pe baza unui PIN tastat pe un keypad, cu afisaj pe un LCD. Parola va putea fi introdusa si modificata din keypad; usa se va putea deschide si din telefon, care va avea o conexiune Bluetooth cu sistemul.
Deschiderea usii se realizeaza prin introducerea parolei, urmata de caracterul ”#”.
Daca parola introdusa este corecta, se va afisa pe ecranul LCD un mesaj corespunzator, iar incuietoarea se va deschide pentru 3 secunde. In cazul in care parola este gresita, se va afisa un mesaj corespunzator timp de 3 secunde, dupa care parola va putea fi reintrodusa.
La introducerea codului ”####”, se va activa optiunea de resetare a parolei. Se va solicita vechea parola a incuietorii inainte de a putea fi setata o noua parola.
In plus, deblocarea usii se va putea face si din telefon, prin trimiterea parolei prin aplicatie, dupa conectarea la modulul Bluetooth.
Proiectul a fost programat exclusiv in ArduinoIDE.
Am folosit 3 biblioteci auxiliare, pentru utilizarea LCD-ului cu modul I2C si pentru utilizarea Keypad-ului.
#include <LiquidCrystal_I2C.h> #include <Keypad.h> #include <Wire.h> #define LENGTH 5 #define LOCK 11 char data[LENGTH]; char password[LENGTH] = "1234"; char resetCode[LENGTH] = "####"; byte k = 0; byte z = 1; const byte column = 4; const byte rows = 4; char confirmButton; int openCommand; char keys[rows][column]= { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} }; byte rowPins[rows] = {9,8,7,6}; byte colPins[column] = {5,4,3,2}; Keypad myKeypad=Keypad(makeKeymap(keys), rowPins, colPins, rows, column); LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() { pinMode(LOCK, OUTPUT); digitalWrite(LOCK, LOW); lcd.init(); lcd.backlight(); Serial.begin(9600); }
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.