Codul permite armarea și dezarmarea unui sistem de alarmă folosind un cod introdus de la tastatură, iar în cazul detectării mișcării de către senzorul PIR, activează ledurile și declanșează alarma sonoră. Afișajul LCD este utilizat pentru afișarea stării sistemului de alarmă și a codului introdus de la tastatură.
Codul include două biblioteci: “LiquidCrystal.h” și “Keypad.h”. Prima bibliotecă este utilizată pentru controlul unui afișaj LCD, iar a doua bibliotecă este utilizată pentru controlul unui keypad numeric.
În secțiunea de declarații, sunt definite pinii pentru afișajul LCD, pinii pentru keypad, precum și alte variabile și constante necesare programului.
În funcția “setup()”, se inițializează comunicația serială și se setează modurile de funcționare ale pinilor (ieșire sau intrare). De asemenea, se inițializează afișajul LCD.
În funcția “loop()”, se efectuează următoarele acțiuni:
Se setează starea ledurilor și a alarmei în funcție de starea PIR-ului și a sistemului de alarmă. Se gestionează intrările de la keypad și se realizează acțiuni corespunzătoare în funcție de codul introdus. Se gestionează starea PIR-ului.
Există și alte funcții auxiliare în cod, cum ar fi “initilizeLCD()” pentru inițializarea afișajului LCD, “handleKeyPadInput()” pentru gestionarea keypad-ului, “resetCodeInput()” pentru resetarea codului introdus, “handlePIR()” pentru gestionarea stării PIR-ului și “alert()” pentru gestionarea ledurilor și a alarmei.
Added hardware scheme. (25/5/2023)
Added software program.(28/05/2023)
Program keypad: https://circuitdigest.com/microcontroller-projects/interface-4x4-membrane-keypad-with-arduino
Resurse Hardware
Datasheet PIR: https://cdn-learn.adafruit.com/downloads/pdf/pir-passive-infrared-proximity-motion-sensor.pdf
Datasheet Buzzer: https://www.electrokit.com/uploads/productfile/41015/Active_Piezo_Buzzer.pdf