This is an old revision of the document!
Ce face proiectul: Proiectul este o statie meteorologica capabila sa citeasca temperatura, umiditatea si presiunea atmosferica din mediul ambiant. Datele sunt afisate local pe un ecran OLED, dar sunt si trimise simultan catre un PC prin intermediul interfetei UART. Mai mult, statia dispune de o interfata de tip Command Line (CLI) prin care utilizatorul poate trimite comenzi de la PC pentru a interoga istoricul masuratorilor, a opri/porni ecranul sau a cere statistici.
Scopul lui: Scopul este de a construi un sistem complet de telemetrie si achizitie de date, demonstrand interconectarea mai multor periferice (I2C pentru senzori/display, Timer pentru scheduling, USART pentru comunicatie PC). Codul va fi scris “bare-metal” in C pe arhitectura ATmega328P, fara a apela la bibliotecile high-level specifice mediului Arduino.
Ideea de pornire: Am dorit sa depasesc stadiul unei simple statii care doar afiseaza numere pe un ecran, adaugand componenta de conectivitate cu PC-ul pentru posibilitatea de data logging. Astfel, am imbinat necesitatea masurarii fizice (I2C) cu interactiunea software avansata (UART + Intreruperi).
Utilitate: Proiectul este util pentru monitorizarea microclimatului dintr-o camera, iar datele trimise prin UART pot fi preluate usor de scripturi externe pe PC pentru a genera grafice in timp real.
Arhitectura proiectului este de tip Master-Slave pe I2C pentru componentele fizice si Client-Server simplu prin UART pentru interfata cu PC-ul.
Schema Bloc: [ PC / Terminal (PuTTY) ] ⇐= UART (TX/RX via cablu USB) =⇒ [ Microcontroler (ATmega328P pe Arduino) ]
|
I2C Bus (A4-SDA, A5-SCL)
/ \
[ Senzor BME280 ] [ Display OLED 0.96" ]
BOM (Bill Of Materials):
Schema Electrica (Conexiuni principale): Deoarece magistrala I2C imparte aceleasi fire, componentele se leaga in paralel la pinii dedicati de pe Arduino (SDA = Analog 4, SCL = Analog 5):