Sistem incuiere/descuiere usa

Introducere

Functia principala a acestui proiect e sa incuie/descuie usa. Sunt cateva moduri prin care se poate de realizat asta:

  1. din interior: cu butoane sau telecomanda cu infraros
  2. din exterior: cu NFC chip

Usa e incuiata/descuiata cu ajutorul unui motor ce roteste cheia in usa. Contine un LED RGB care da feedback vizual la utilizator si un Buzzer pentru audio.

Descriere generală

Concepte folosite din laborator:

  1. Cititor RFID: SPI, Intreruperi
  2. LED: PWM
  3. Debug in Monitor MODE - UART

Hardware Design

Lista piese pentru Arduino Uno R3 SMD:

  • LED RGB de 5 mm cu 4 Pini Catod Comun Difuz
  • Receptor Infraroșu Universal IR TL1838 VS1838B 1838 38Khz
  • Modul RFID RC522 Antenă RFID IC Modul Fără Fir
  • Buzzer Pasiv 12mm 5V
  • Motor pas cu pas Nema 17HS4401 (1.7 A, 40 N⋅cm)
  • Driver pentru motor pas cu pas TB6600, 4A, 9-40V
  • 4 Butoane

Link pentru design proiect: https://app.cirkitdesigner.com/project/93ea295c-cad7-4e81-8897-2f8ec2525eeb

Software Design

Descrierea codului aplicaţiei (firmware):

  1. Butonul 0 - descuie usa (Led culoare Verde)
  2. Butonul 1 - incuie usa o data (Led culoare Violet)
  3. Butonul 2 - incuie usa de 2 ori (Led culoare Rosie)
  4. Butonul 3 - Debug Mode (Led culoare Albastra) - Dezactivare Motor
  5. IR - poate primi cele 4 comenzi de la telecomanda.
  6. RFID - Scanand chip-ul cu UID-ul bun - descuie/incuie usa.
  7. La fiecare schimbare a starii usii - Buzzerul canta o melodie si culoarea Led-ului se schimba
  • mediu de dezvoltare - Arduino IDE
  • librării şi surse 3rd-party - MFRC522, IRremote
  • funcţii implementate
    1. rotateMotor_Left() - roteste cu 360 de grade la stanga(incuie usa)
    2. rotateMotor_Right() - roteste cu 360 de grade la dreapta
    3. setColor(int R, int G, int B) - seteaza culoarea la Led
    4. updateRGB_Led() - pe baza starii in care se afla usa, da culoare la Led
    5. unlock_door() - descuie usa
    6. lock_door(char nr_locks = 1) - incuie usa 1/2 ori
    7. change_door_state_0_1() - schimba starea din incuiat in descuiat si invers
    8. check_UID(byte size, byte nr_0, byte nr_1, byte nr_2, byte nr_3) - controleaza UID cod si apeleaza change_door_state_0_1() daca gaseste potrivire
    9. play_buzzer() - canta melodie cand se descuie/incuie usa
    10. execute_RFID() - primeste cod UID si il controleaza, apoi modifica starea usii daca gaseste potrivire; codul sursa in mare parte este luat dintr-un exemplu din libraria folosita: MFRC522

Link to Github repository: https://github.com/NightGenji/sketch_may17a

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2025/apredescu/petru.fabian.txt · Last modified: 2025/05/29 16:37 by petru.fabian
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0