This is an old revision of the document!
SmartDoor este un sistem de control al accesului bazat pe carduri RFID. La scanarea unui card, Arduino Nano interoghează un server prin WiFi pentru a verifica dacă accesul este permis, afișează rezultatul pe un ecran LCD și trimite un log cu fiecare tentativă către server.
Ideea a pornit de la nevoia unui sistem simplu și ieftin de a înlocui cheile fizice cu carduri de proximitate, oferind totodată un jurnal de acces persistent pe server.
Utilitatea proiectului constă în:
Sistemul este compus din cinci blocuri principale care interacționează în lanț:
Schema bloc vizuală este prezentată mai jos.
Listă de piese:
| 1 | Arduino Nano | 1 | Microcontroler principal, 5V logic |
| 2 | Breadboard + modul alimentare MB102 | 1 set | Sursă 5V/3.3V din USB sau jack |
| 3 | Modul WiFi ESP8266 ESP-01 | 1 | UART la 3.3V |
| 4 | Adaptor 5V→3.3V pentru ESP8266 (4-pin) | 1 | Conversie nivel UART + alimentare 3.3V |
| 5 | Kit cititor RFID RC522 | 1 | SPI la 3.3V, include card și breloc |
| 6 | Level shifter 8 canale bidirecțional (5V↔3.3V) | 1 | Conversie logică SPI Arduino↔RC522 |
| 7 | LCD 1602 cu modul I2C (PCF8574) | 1 | Afișaj feedback acces, 5V, I2C |
| 8 | Cabluri jumper | ~25 | M-M și M-F |
| Pin | Utilizare | Descriere |
| VIN | Alimentare intrare | Primește tensiunea de 9V de la baterie pentru a alimenta întregul sistem prin regulatorul intern al Nano. |
| 5V | Alimentare ieșire | Furnizează 5V către side-ul B al level shifter-ului, LCD și linia de alimentare a breadboard-ului. |
| 3.3V | Alimentare ieșire | Furnizează 3.3V direct către VCC al RC522 și VCC al ESP8266 prin adaptorul de tensiune. |
| GND | Masă comună | Conectează masa comună pentru toate modulele din circuit. |
| D0 / RX | UART recepție | Primește datele seriale de la modulul ESP8266 (răspunsul serverului: permis/refuzat). |
| D1 / TX | UART transmisie | Trimite UID-ul cardului RFID citit către modulul ESP8266 pentru verificare pe server. |
| D9 | RST RC522 | Controlează pinul de reset al modulului RC522 pentru inițializarea și repornirea cititorului RFID. |
| D10 | SS / SDA RC522 | Pinul de Slave Select SPI, activează comunicația cu RC522 când este tras la LOW. |
| D11 / MOSI | SPI date ieșire | Transmite datele de comandă de la Arduino către RC522 prin protocolul SPI. |
| D12 / MISO | SPI date intrare | Primește datele citite de RC522 (UID card) înapoi la Arduino prin protocolul SPI. |
| D13 / SCK | SPI clock | Generează semnalul de clock pentru sincronizarea comunicației SPI cu RC522. |
| A4 / SDA | I2C date LCD | Linia de date I2C pentru trimiterea caracterelor și comenzilor către LCD 1602. |
| A5 / SCL | I2C clock LCD | Generează semnalul de clock I2C pentru sincronizarea comunicației cu LCD 1602. |
| Pin | Utilizare | Descriere |
| VCC | Alimentare 3.3V | Primește 3.3V de la pinul 3.3V al Arduino prin side-ul A al level shifter-ului. |
| GND | Masă | Conectat la masa comună a circuitului. |
| SDA (SS) | Chip Select SPI | Activează modulul RC522 pentru comunicație atunci când Arduino îl selectează. |
| SCK | Clock SPI | Primește semnalul de clock SPI de la Arduino prin level shifter. |
| MOSI | Date intrare SPI | Primește comenzi și date de la Arduino prin level shifter. |
| MISO | Date ieșire SPI | Trimite UID-ul cardului citit înapoi către Arduino prin level shifter. |
| RST | Reset | Permite Arduino să reseteze și să reinițializeze modulul RC522 când e necesar. |
| Pin | Utilizare | Descriere |
| VCCA | Alimentare 3.3V (side A) | Referința de tensiune pentru side-ul de 3.3V, conectat la pinul 3.3V al Arduino. |
| VCCB | Alimentare 5V (side B) | Referința de tensiune pentru side-ul de 5V, conectat la pinul 5V al Arduino. |
| GND | Masă | Masă comună pentru ambele side-uri ale convertoarelor de nivel logic. |
| A0-A4 | Side 3.3V → RC522 | Pinii de 3.3V conectați direct la RC522 (SCK, MOSI, MISO, SS, RST). |
| B0-B4 | Side 5V → Arduino | Pinii de 5V conectați la Arduino (D13, D11, D12, D10, D9), realizând conversia bidirecțională. |
| Pin | Utilizare | Descriere |
| VCC | Alimentare 3.3V | Primește 3.3V prin adaptorul de tensiune dedicat ESP8266. |
| GND | Masă | Conectat la masa comună a circuitului. |
| TX | UART transmisie | Trimite răspunsul serverului (permis/refuzat) către pinul RX al Arduino. |
| RX | UART recepție | Primește UID-ul cardului de la Arduino pentru a-l trimite serverului prin WiFi. |
| CH_PD / EN | Enable | Tras la 3.3V permanent pentru a menține modulul ESP8266 activ și funcțional. |
| RST | Reset | Tras la 3.3V pentru funcționare normală, poate fi folosit pentru reset software. |
| GPIO0 | Boot mode | Tras la 3.3V pentru boot în mod normal de operare (nu în mod programare). |
| Pin | Utilizare | Descriere |
| VCC | Alimentare 5V | Primește 5V de pe linia de alimentare a breadboard-ului pentru a alimenta ecranul. |
| GND | Masă | Conectat la masa comună a circuitului. |
| SDA | I2C date | Primește datele de la Arduino (A4) pentru a afișa mesajele “Access Granted” / “Access Denied”. |
| SCL | I2C clock | Primește semnalul de clock I2C de la Arduino (A5) pentru sincronizarea comunicației. |