This shows you the differences between two versions of the page.
|
pm:prj2026:atoader:george.simion2005 [2026/05/09 14:32] george.simion2005 [Descriere generală] |
pm:prj2026:atoader:george.simion2005 [2026/05/22 15:11] (current) george.simion2005 |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ===== Introducere ===== | ===== Introducere ===== | ||
| - | Proiectul Flipper One reprezinta o **mini-replica a dispozitivului Flipper Zero**, construita in jurul unei placi de dezvoltare cu microcontroller. Dispozitivul este capabil sa **captureze, stocheze si retransmita semnale wireless** provenite de la diverse telecomenzi (porti de garaj, prize wireless, sonerii fara fir, etc.), oferind utilizatorului un instrument portabil pentru analiza si interactiunea cu dispozitivele wireless din jur. | + | Proiectul Flipper One reprezintă o **mini-replică a dispozitivului Flipper Zero**, construită în jurul unei plăci Arduino UNO cu microcontroller ATmega328P. Dispozitivul este gândit ca un instrument portabil de testare și analiză pentru comunicații wireless simple, module RFID/NFC și rețele WiFi din apropiere. |
| - | Ideea a pornit de la dorinta de a intelege mai bine cum functioneaza comunicatia wireless si dispozitivele de tip "multi-tool" pentru hackeri/pentesteri, dar la o scara redusa si la un cost accesibil. Spre deosebire de un Flipper Zero comercial (care costa peste 800 lei), proiectul de fata isi propune sa demonstreze functionalitatile de baza folosind componente standard. | + | Scopul proiectului este să demonstreze, la scară redusă și cu componente accesibile, funcționalități întâlnite în dispozitive de tip multi-tool: captură și retransmitere de semnale RF, citire RFID, scanare WiFi, salvare pe card MicroSD și interacțiune printr-un ecran OLED. |
| - | Functionalitati principale: | + | Spre deosebire de un dispozitiv comercial, Flipper One este realizat pe breadboard, folosind module separate și conexiuni explicite, ceea ce îl face util pentru înțelegerea modului în care comunică între ele componentele hardware. |
| - | * captura semnalelor wireless de la telecomenzi | + | |
| - | * stocarea acestora in memorie | + | |
| - | * retransmiterea semnalelor capturate | + | |
| - | * navigare printr-un meniu afisat pe ecran, controlat cu butoane | + | |
| - | * indicarea starii curente a dispozitivului (idle, recording, replay) printr-un LED RGB | + | |
| - | Optional, sistemul poate fi extins cu un **modul RFID** pentru citirea si emularea cardurilor, un **modul ESP** pentru scanarea retelelor WiFi din jur, si un **cititor de card SD** pentru stocarea persistenta a semnalelor capturate. | + | Funcționalități principale: |
| + | * capturarea semnalelor RF 433 MHz de la telecomenzi simple | ||
| + | * retransmiterea semnalelor RF capturate | ||
| + | * citirea UID-urilor de pe carduri/tag-uri RFID/NFC folosind PN532 | ||
| + | * salvarea semnalelor RF și a UID-urilor RFID pe card MicroSD | ||
| + | * scanarea rețelelor WiFi din jur folosind ESP-01 / ESP8266 | ||
| + | * afișarea stării sistemului pe ecran OLED | ||
| + | * control prin 4 butoane conectate prin expander I2C PCF8574 | ||
| + | * feedback vizual prin LED RGB | ||
| - | Proiectul este util atat ca instrument educational pentru intelegerea protocoalelor wireless si a microcontrollerelor, cat si ca demonstratie practica a conceptelor invatate la laborator: GPIO, intreruperi, timere si comunicatie SPI. | + | În stadiul actual, partea RF, RFID, OLED, butoane, LED RGB, ESP și MicroSD este funcțională la nivel de testare. Pentru modulul ESP-01, capturarea/listarea rețelelor WiFi din jur funcționează prin comenzi AT. |
| - | **Laboratoare folosite**: GPIO (Lab 0), Intreruperi (Lab 2), Timere/PWM (Lab 3), SPI (Lab 5). | + | Work in progress: |
| + | * adăugarea unei analize mai avansate pentru rețelele WiFi detectate, de exemplu afișarea unui grafic simplu cu puterea semnalului sau distribuția pe canale; | ||
| + | * adăugarea posibilității de conectare la o rețea WiFi cunoscută. | ||
| + | |||
| + | **Laboratoare folosite**: GPIO (Lab 0), Întreruperi (Lab 2), Timere/PWM (Lab 3), SPI (Lab 5), plus comunicatie I2C și UART software. | ||
| ===== Descriere generală ===== | ===== Descriere generală ===== | ||
| - | Sistemul este organizat in jurul unei plăci de dezvoltare cu microcontroller, care coordoneaza toate celelalte module. Interactiunea cu utilizatorul se face printr-un **ecran OLED** pe care se afiseaza meniul si informatiile despre semnalele capturate, impreuna cu **butoane** pentru navigare si un **LED RGB** care indica starea curenta a dispozitivului. | + | Sistemul este organizat în jurul unei plăci **Arduino UNO R3 / ATmega328P**, care coordonează toate modulele externe. Interacțiunea cu utilizatorul se face printr-un **ecran OLED SPI**, un set de **4 butoane** conectate prin PCF8574 și un **LED RGB** folosit pentru feedback vizual. |
| - | Partea de captura si retransmitere a semnalelor wireless este realizata cu un **receptor si un emitator de 433 MHz**. La capturare, microcontrollerul foloseste o intrerupere pe pinul de date al receptorului si masoara duratele pulsurilor, salvandu-le intr-un buffer. La retransmitere, pulsurile salvate sunt regenerate prin emitator folosind un timer hardware. | + | Pentru economisirea pinilor Arduino, butoanele sunt conectate la un **expander I2C PCF8574**, astfel încât toate cele 4 intrări de control folosesc doar magistrala I2C formată din A4/SDA și A5/SCL. |
| - | Optional, sistemul include: | + | Partea RF este realizată cu un receptor și un emițător de **433 MHz**. Receptorul este conectat la pinul D2, care permite folosirea întreruperii externe INT0 pentru măsurarea precisă a tranzițiilor semnalului. Semnalul capturat este memorat ca o listă de durate ale pulsurilor, apoi poate fi retransmis prin emițătorul conectat la D8. |
| - | * un **modul RFID** pe magistrala SPI pentru citirea/emularea cardurilor | + | |
| - | * un **modul ESP** pe interfata UART pentru scanarea retelelor WiFi | + | |
| - | * un **cititor card SD** pe SPI pentru stocarea persistenta a semnalelor | + | |
| - | Logica de functionare: | + | Modulul **PN532 RFID/NFC** este conectat pe I2C, împreună cu PCF8574. Această variantă a fost aleasă pentru stabilitate, deoarece separă complet RFID-ul de magistrala SPI folosită de OLED și MicroSD. PN532 este folosit pentru citirea UID-urilor cardurilor/tag-urilor compatibile ISO14443A. |
| - | - **Idle State**: LED-ul RGB este albastru. Sistemul asteapta input de la utilizator prin butoane. | + | Modulul **ESP-01 / ESP8266** este folosit pentru scanarea rețelelor WiFi din jur. Acesta comunică cu Arduino prin SoftwareSerial: ESP transmite către Arduino pe D4, iar Arduino transmite către ESP pe D7. ESP-ul este alimentat separat la 3.3V prin AMS1117. |
| - | - **Recording State**: LED-ul devine rosu. Receptorul wireless asculta in mod continuu, iar la detectarea unui semnal se masoara si se salveaza duratele pulsurilor. | + | |
| - | - **Replay State**: LED-ul devine verde. Semnalul salvat este reconstruit pe pinul emitatorului folosind un timer hardware. | + | |
| - | - **Menu Navigation**: Butoanele permit navigarea prin meniu (selectarea modului, vizualizarea semnalelor capturate, optiuni avansate). | + | |
| - | {{:pm:prj2026:flipperone_blockdiagram_george.simion2005.png?500|Schema bloc Flipper One}} | + | Modulul **MicroSD** este conectat pe magistrala SPI și este folosit pentru stocare persistentă. În implementarea curentă, semnalele RF capturate și UID-urile RFID citite pot fi salvate pe card, pentru a putea fi păstrate după resetarea dispozitivului. |
| + | |||
| + | Logica generală de funcționare: | ||
| + | - **Idle State**: sistemul așteaptă apăsări de buton și afișează starea curentă pe OLED. | ||
| + | - **RF Capture**: receptorul RF ascultă semnalul și salvează duratele pulsurilor detectate. | ||
| + | - **RF Replay**: semnalul RF salvat este retransmis prin emițătorul de 433 MHz. | ||
| + | - **RFID Scan**: PN532 citește UID-ul unui card/tag RFID și îl afișează pe OLED/Serial. | ||
| + | - **WiFi Scan**: ESP-01 scanează rețelele WiFi disponibile și transmite lista către Arduino. | ||
| + | - **MicroSD Save**: datele RF și RFID pot fi salvate pe cardul MicroSD. | ||
| + | - **LED Feedback**: LED-ul RGB indică diferite stări sau moduri de test. | ||
| + | |||
| + | {{:pm:prj2026:atoader:flipperone_blockdiagram_george.simion2005.png?700|Schema bloc Flipper One}} | ||
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| - | Sistemul este centrat in jurul unei plăci de dezvoltare cu microcontroller (Arduino UNO R3, ATmega328P). | + | ==== Stadiul actual al implementării hardware ==== |
| - | ==== Lista de piese ==== | + | În stadiul actual, proiectul este realizat pe un breadboard **SYB-120**, având ca unitate centrală un **Arduino UNO R3 / ATmega328P**. Pe montaj sunt conectate modulele principale pentru interacțiune și comunicație: display OLED SPI, receptor RF 433 MHz, emițător RF 433 MHz, LED RGB, expander PCF8574 cu 4 butoane, modul PN532 RFID/NFC, modul ESP-01 și cititor MicroSD. |
| - | ^ Componenta ^ Descriere ^ Protocol / Pinout ^ | + | Partea de alimentare este organizată pe magistrale de breadboard: |
| - | | Arduino UNO R3 (ATmega328P) | Microcontroller principal | - | | + | * **5V** pentru modulele compatibile cu 5V: OLED, PN532, PCF8574, module RF, MicroSD; |
| - | | Display OLED 1.3" 128x64 | Ecran pentru meniu si forme de unda | SPI: SCK, MOSI, CS, DC, RST | | + | * **3.3V** pentru ESP-01, generat cu AMS1117; |
| - | | Receptor RF 433 MHz | Capturarea semnalelor wireless | GPIO INT (pin de date) | | + | * **GND comun** pentru toate modulele. |
| - | | Emitator RF 433 MHz | Retransmiterea semnalelor wireless | GPIO (pin de date) | | + | |
| - | | LED RGB KY-016 | Indicarea starii (idle/recording/replay) | GPIO PWM x3 | | + | |
| - | | Butoane push (x4) | Navigare meniu | GPIO INT cu pull-up intern | | + | |
| - | | **Optional:** Modul RFID PN532 | Citire/emulare carduri | SPI sau I2C | | + | |
| - | | **Optional:** Modul ESP-01 (ESP8266) | Scanare retele WiFi | UART (TX/RX) | | + | |
| - | | **Optional:** Cititor card MicroSD | Stocare persistenta semnale | SPI | | + | |
| - | | Convertor logic 5V <-> 3.3V | Adaptare nivel logic pentru ESP-01 | - | | + | |
| - | | Regulator de tensiune 3.3V | Alimentare ESP-01 | - | | + | |
| - | | Breadboard + cabluri DuPont | Prototipare | - | | + | |
| - | ==== Schema bloc ==== | + | Modulul PN532 este conectat pe **I2C**, nu pe SPI, pentru a evita conflictele cu OLED-ul și MicroSD-ul. Astfel, magistrala SPI este folosită de OLED și MicroSD, iar magistrala I2C este folosită de PCF8574 și PN532. |
| - | {{:pm:prj2026:flipperone_schema.png?600|Schema electrica Flipper One}} | + | Modulul ESP-01 este conectat prin UART software. În montajul curent, Arduino transmite direct către RX-ul ESP-ului pe D7, iar ESP transmite către Arduino pe D4. ESP-ul rămâne alimentat exclusiv la 3.3V prin AMS1117. |
| - | ==== Detalii ==== | + | MicroSD-ul este inclus funcțional în proiect și este folosit pentru salvarea datelor capturate: semnale RF și UID-uri RFID. |
| - | Receptorul si emitatorul de 433 MHz folosesc fiecare cate o **antena externa** (sarma rigida de aproximativ 17 cm) pentru a imbunatati distanta de receptie/emisie. | + | {{:pm:prj2026:atoader:fliiper1_real.jpeg?900|Schema bloc hardware reală}} |
| - | Pentru ca modulele SPI (display, RFID, card SD) sa partajeze aceeasi magistrala, fiecare are un pin **CS (Chip Select)** dedicat, controlat de microcontroller. | + | Pentru verificarea conexiunilor punct-cu-punct, am inclus și varianta detaliată, cu nodurile/rândurile de breadboard marcate explicit: |
| - | Modulul ESP-01 functioneaza la 3.3V si necesita un **convertor de nivel logic** pe liniile TX/RX pentru a putea comunica in siguranta cu Arduino-ul, care opereaza la 5V. | + | {{:pm:prj2026:atoader:schema_flipper1.png?900|Schema hardware detaliată a montajului}} |
| - | ===== Software Design ===== | + | ==== Componente folosite și rolul lor în proiect ==== |
| - | Mediu de dezvoltare: **PlatformIO** (in VSCode) / **Arduino IDE**. | + | ^ Componentă ^ Rol în proiect ^ Interfață / observații ^ |
| + | | **Arduino UNO R3 / ATmega328P** | Microcontroller principal; coordonează modulele și rulează logica de test/captură | GPIO, PWM, SPI, I2C, UART software | | ||
| + | | **Breadboard SYB-120** | Suport de prototipare și distribuție pentru 5V, 3.3V și GND | Conexiuni pe rânduri/coloane | | ||
| + | | **OLED 1.3'' 128x64 SPI** | Afișează meniul, starea sistemului și datele citite/capturate | SPI hardware + pini separați pentru RES, DC, CS | | ||
| + | | **Receptor RF 433 MHz** | Primește semnale wireless de la telecomenzi simple | DATA pe D2, folosit ca pin de întrerupere INT0 | | ||
| + | | **Emițător RF 433 MHz** | Retransmite semnalele RF capturate | DATA pe D8 | | ||
| + | | **LED RGB KY-016** | Indicator vizual pentru starea dispozitivului | PWM pe D3, D5, D6 | | ||
| + | | **PCF8574** | Extinde numărul de pini disponibili pentru butoane | I2C pe A4/A5 | | ||
| + | | **4 butoane tactile** | Controlul funcțiilor principale: RF, RFID, LED, ESP | Intrări P0-P3 pe PCF8574 | | ||
| + | | **PN532 RFID/NFC** | Citește UID-uri de carduri/tag-uri RFID/NFC | I2C pe A4/A5, IRQ pe A2, RESET pe A1 | | ||
| + | | **ESP-01 / ESP8266** | Scanare/captură listă rețele WiFi din apropiere | UART software: D4 primește TX ESP, D7 transmite către RX ESP | | ||
| + | | **AMS1117 3.3V** | Alimentare stabilă pentru ESP-01 | VIN din 5V, VOUT pe magistrala de 3.3V | | ||
| + | | **Cititor MicroSD** | Stocare persistentă pentru RF și RFID | SPI hardware, CS pe A3 | | ||
| - | Librarii si surse 3rd-party planificate: | + | ==== Maparea pinilor Arduino și justificare ==== |
| - | * **U8g2** - pentru controlul ecranului OLED | + | |
| - | * **RCSwitch** - pentru parsarea protocoalelor wireless comune (telecomenzi) | + | |
| - | * **MFRC522** / **Adafruit-PN532** - pentru modulul RFID | + | |
| - | * **SD** - pentru cardul microSD | + | |
| - | * **WiFiEsp** - pentru comunicatia cu modulul ESP-01 | + | |
| - | Algoritmi si structuri planificate: | + | ^ Pin Arduino ^ Conectat la ^ De ce este folosit aici ^ |
| - | * masina de stari finite (FSM) pentru gestionarea modurilor (idle / recording / replay / menu) | + | | **3.3V** | Neutilizat ca sursă principală pentru ESP | ESP-ul este alimentat din AMS1117 pentru curent mai stabil | |
| - | * buffer circular pentru stocarea duratelor pulsurilor capturate | + | | **5V** | Magistrala de 5V: OLED, PN532, RF 433 MHz, PCF8574, MicroSD, VIN AMS1117 | Alimentează modulele compatibile cu 5V și intrarea regulatorului AMS1117 | |
| - | * folosirea **Timer1 in Input Capture** pentru masurarea precisa a pulsurilor de la receptor | + | | **GND** | Magistrala comună GND | Toate modulele trebuie să aibă aceeași referință electrică | |
| - | * folosirea unui timer in **Compare Match** pentru regenerarea fidela a semnalului | + | | **D2** | DATA receptor RF 433 MHz | D2 este INT0, util pentru capturarea tranzițiilor RF | |
| - | * intrerupere externa pe pinii de buton, cu debounce software | + | | **D3** | LED RGB - canal R | Pin PWM pentru controlul roșului | |
| + | | **D4** | ESP-01 TX către Arduino | SoftwareSerial RX; Arduino primește date de la ESP | | ||
| + | | **D5** | LED RGB - canal G | Pin PWM pentru controlul verdelui | | ||
| + | | **D6** | LED RGB - canal B | Pin PWM pentru controlul albastrului | | ||
| + | | **D7** | ESP-01 RX direct | SoftwareSerial TX; Arduino trimite comenzi AT către ESP | | ||
| + | | **D8** | DATA emițător RF 433 MHz | Pin digital folosit pentru retransmiterea semnalului RF | | ||
| + | | **D9** | RES OLED | Reset hardware pentru display | | ||
| + | | **D10** | CS OLED | Selectează OLED-ul pe magistrala SPI | | ||
| + | | **D11** | MOSI SPI | Linie comună pentru OLED și MicroSD | | ||
| + | | **D12** | MISO SPI | Linie folosită de MicroSD | | ||
| + | | **D13** | SCK SPI | Clock SPI pentru OLED și MicroSD | | ||
| + | | **A0** | DC OLED | Selectare comandă/date pentru OLED | | ||
| + | | **A1** | RESET PN532 | Reset hardware pentru modulul RFID/NFC | | ||
| + | | **A2** | IRQ / R0 PN532 | Linie IRQ pentru PN532 în modul I2C | | ||
| + | | **A3** | CS MicroSD | Chip Select separat pentru cardul SD | | ||
| + | | **A4** | SDA comun: PCF8574 + PN532 | Linia hardware I2C SDA | | ||
| + | | **A5** | SCL comun: PCF8574 + PN532 | Linia hardware I2C SCL | | ||
| - | Functii principale planificate: | + | ==== Conexiuni fizice pe breadboard ==== |
| - | * ''startRecording()'' / ''stopRecording()'' - activeaza/dezactiveaza captura | + | |
| - | * ''replaySignal(int index)'' - retransmite un semnal salvat | + | |
| - | * ''renderMenu()'' - deseneaza meniul curent pe OLED | + | |
| - | * ''onButtonPress(int btn)'' - handler de intrerupere pentru butoane | + | |
| - | * ''ISR(TIMER1_CAPT_vect)'' - capteaza durata pulsului de la receptor | + | |
| - | * ''saveToSD(int index)'' / ''loadFromSD(int index)'' - stocare persistenta (optional) | + | |
| - | ===== Rezultate Obţinute ===== | + | === Alimentare și magistrale === |
| - | //A se completa pe parcurs// | + | ^ Zonă breadboard ^ Conexiune ^ Explicație ^ |
| + | | **Coloana/rândul GND comun** | GND | Masă comună pentru toate modulele | | ||
| + | | **Rând 59** | 5V | Distribuție 5V pentru modulele compatibile | | ||
| + | | **Rând 49** | 3.3V | Distribuție 3.3V generată de AMS1117 | | ||
| + | | **AMS1117 VIN** | 5V | Intrarea regulatorului 3.3V | | ||
| + | | **AMS1117 GND** | GND comun | Masă regulator | | ||
| + | | **AMS1117 VOUT** | 3.3V / rând 49 | Alimentare ESP-01 | | ||
| - | ===== Concluzii ===== | + | === Expander PCF8574 și butoane === |
| - | //A se completa la final// | + | ^ Conexiune ^ Explicație ^ |
| + | | **VCC PCF8574 -> 5V** | Expander alimentat la 5V | | ||
| + | | **GND PCF8574 -> GND** | Masă comună | | ||
| + | | **SDA PCF8574 -> A4** | Date I2C | | ||
| + | | **SCL PCF8574 -> A5** | Clock I2C | | ||
| + | | **P0 -> buton 1** | Funcție RF capture / replay | | ||
| + | | **P1 -> buton 2** | Funcție RFID scan | | ||
| + | | **P2 -> buton 3** | Funcție LED cycle | | ||
| + | | **P3 -> buton 4** | Funcție ESP WiFi scan | | ||
| + | | **P4-P7** | Libere momentan | | ||
| - | ===== Download ===== | + | === LED RGB === |
| - | //Sursa va fi adaugata pe parcurs// | + | ^ Conexiune ^ Explicație ^ |
| + | | **LED R -> D3** | Canal roșu, PWM | | ||
| + | | **LED G -> D5** | Canal verde, PWM | | ||
| + | | **LED B -> D6** | Canal albastru, PWM | | ||
| + | | **LED GND -> GND** | Catod comun la masă | | ||
| - | ===== Jurnal ===== | + | === Module RF 433 MHz === |
| - | * **Saptamana 1**: alegerea proiectului si discutie cu responsabilul | + | ^ Modul ^ Conectat la ^ Explicație ^ |
| - | * **Saptamana 2**: comanda componentelor | + | | Receptor 433 MHz GND | GND | Masă receptor | |
| - | * //A se completa pe parcurs// | + | | Receptor 433 MHz VCC | 5V | Alimentare receptor | |
| + | | Receptor 433 MHz DATA | D2 | DATA receptor; folosit cu întrerupere externă | | ||
| + | | Emițător 433 MHz GND | GND | Masă emițător | | ||
| + | | Emițător 433 MHz VCC | 5V | Alimentare emițător | | ||
| + | | Emițător 433 MHz DATA | D8 | Semnalul RF retransmis | | ||
| + | |||
| + | === Magistrala SPI === | ||
| + | |||
| + | ^ Semnal ^ Pin Arduino ^ Module conectate ^ | ||
| + | | **SCK** | D13 | OLED, MicroSD | | ||
| + | | **MOSI** | D11 | OLED, MicroSD | | ||
| + | | **MISO** | D12 | MicroSD | | ||
| + | | **CS OLED** | D10 | Select display OLED | | ||
| + | | **CS MicroSD** | A3 | Select card SD | | ||
| + | |||
| + | === OLED SPI === | ||
| + | |||
| + | ^ Pin OLED ^ Conectat la ^ Explicație ^ | ||
| + | | **GND** | GND | Masă comună | | ||
| + | | **VCC** | 5V | Alimentare display | | ||
| + | | **SCK** | D13 | Clock SPI | | ||
| + | | **SDA / MOSI** | D11 | Date SPI către display | | ||
| + | | **RES** | D9 | Reset display | | ||
| + | | **DC** | A0 | Selectare comandă/date | | ||
| + | | **CS** | D10 | Chip Select OLED | | ||
| + | |||
| + | === PN532 RFID/NFC pe I2C === | ||
| + | |||
| + | ^ Pin PN532 ^ Conectat la ^ Explicație ^ | ||
| + | | **5V** | 5V | Alimentare modul | | ||
| + | | **GND** | GND | Masă comună | | ||
| + | | **MO / SDA / TX** | A4 / SDA comun | Date I2C | | ||
| + | | **NSS / SCL / RX** | A5 / SCL comun | Clock I2C | | ||
| + | | **R0 / IRQ** | A2 | Linie IRQ | | ||
| + | | **RST** | A1 | Reset hardware | | ||
| + | | **SCK** | neconectat | Neutilizat în modul I2C | | ||
| + | | **M / MISO** | neconectat | Neutilizat în modul I2C | | ||
| + | |||
| + | Switch-uri PN532: | ||
| + | * **SET0 -> H** | ||
| + | * **SET1 -> L** | ||
| + | * mod de lucru: **I2C** | ||
| + | |||
| + | === ESP-01 === | ||
| + | |||
| + | Pinii ESP-01 sunt notați cu modulul orientat cu antena/zig-zagul în sus: | ||
| + | |||
| + | <code> | ||
| + | 1 2 3 4 | ||
| + | 5 6 7 8 | ||
| + | </code> | ||
| + | |||
| + | ^ Pin ESP-01 ^ Conectat la ^ Explicație ^ | ||
| + | | **1** | GND | Masă | | ||
| + | | **2** | 3.3V | GPIO2 tras HIGH | | ||
| + | | **3** | 3.3V | GPIO0 tras HIGH pentru rulare normală | | ||
| + | | **4** | Arduino D7 direct | RX ESP; primește comenzile AT de la Arduino | | ||
| + | | **5** | Arduino D4 direct | TX ESP către Arduino | | ||
| + | | **6** | 3.3V | CH_PD / EN tras HIGH | | ||
| + | | **7** | 3.3V | RESET tras HIGH | | ||
| + | | **8** | 3.3V | Alimentare ESP-01 | | ||
| + | |||
| + | Observație: ESP-01 este alimentat doar la 3.3V din AMS1117. Linia D7 -> RX ESP este conectată direct în montajul curent. | ||
| + | |||
| + | === MicroSD === | ||
| + | |||
| + | ^ Pin MicroSD ^ Conectat la ^ Explicație ^ | ||
| + | | **VCC** | 5V | Alimentare modul MicroSD | | ||
| + | | **GND** | GND | Masă comună | | ||
| + | | **SCK** | D13 | Clock SPI | | ||
| + | | **MOSI** | D11 | Date către card | | ||
| + | | **MISO** | D12 | Date de la card | | ||
| + | | **CS** | A3 | Chip Select MicroSD | | ||
| + | |||
| + | ==== Explicații schema ==== | ||
| + | |||
| + | Principiul de conectare este următorul: | ||
| + | * Toate modulele folosesc **GND comun**, deoarece semnalele digitale trebuie să aibă aceeași referință electrică. | ||
| + | * OLED-ul și MicroSD-ul folosesc magistrala **SPI hardware** a Arduino UNO: D13/SCK, D11/MOSI și D12/MISO. | ||
| + | * Fiecare modul SPI are propriul pin de selectare: OLED pe D10 și MicroSD pe A3. | ||
| + | * RFID-ul PN532 este conectat pe **I2C**, împreună cu PCF8574, pentru a evita conflictele pe SPI. | ||
| + | * Receptorul RF este pus pe **D2**, deoarece acest pin are întreruperea externă INT0. | ||
| + | * Emițătorul RF este pus pe **D8**, pin digital folosit pentru generarea semnalului retransmis. | ||
| + | * LED-ul RGB este pus pe pini PWM pentru a permite controlul culorilor. | ||
| + | * Butoanele sunt conectate la **PCF8574**, pentru a economisi pini pe Arduino. | ||
| + | * ESP-01 este alimentat din **AMS1117 la 3.3V** și comunică prin SoftwareSerial cu Arduino. | ||
| + | * MicroSD-ul este folosit pentru salvarea persistentă a datelor RF și RFID. | ||
| + | |||
| + | ===== Software Design ===== | ||
| + | |||
| + | ===== Rezultate Obţinute ===== | ||
| + | |||
| + | ===== Concluzii ===== | ||
| + | |||
| + | ===== Download ===== | ||
| + | |||
| + | ===== Jurnal ===== | ||
| ===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
| Line 121: | Line 256: | ||
| * [[https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|Datasheet ATmega328P]] | * [[https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|Datasheet ATmega328P]] | ||
| - | * [[https://www.nxp.com/docs/en/data-sheet/MFRC522.pdf|Datasheet MFRC522]] | + | * [[https://www.nxp.com/docs/en/data-sheet/PCF8574.pdf|Datasheet PCF8574]] |
| + | * [[https://www.nxp.com/docs/en/data-sheet/PN532_C1.pdf|Datasheet PN532]] | ||
| * [[https://www.espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf|Datasheet ESP8266]] | * [[https://www.espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf|Datasheet ESP8266]] | ||
| Line 128: | Line 264: | ||
| * [[https://github.com/sui77/rc-switch|Librarie RCSwitch]] | * [[https://github.com/sui77/rc-switch|Librarie RCSwitch]] | ||
| * [[https://github.com/olikraus/u8g2|Librarie U8g2 OLED]] | * [[https://github.com/olikraus/u8g2|Librarie U8g2 OLED]] | ||
| + | * [[https://github.com/RobTillaart/PCF8574|Librarie PCF8574]] | ||
| + | * [[https://github.com/adafruit/Adafruit-PN532|Librarie Adafruit PN532]] | ||
| + | * [[https://github.com/bportaluri/WiFiEsp|Librarie WiFiEsp]] | ||
| * [[https://flipperzero.one/|Flipper Zero - inspiratie]] | * [[https://flipperzero.one/|Flipper Zero - inspiratie]] | ||
| * [[https://ocw.cs.pub.ro/courses/pm/lab/lab0-2024|PM Lab 0 - GPIO]] | * [[https://ocw.cs.pub.ro/courses/pm/lab/lab0-2024|PM Lab 0 - GPIO]] | ||