Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2026:atoader:antonio_mihai.sirbu [2026/05/16 14:20]
antonio_mihai.sirbu [Imagini cu componentele conectate și dovezi de funcționare]
pm:prj2026:atoader:antonio_mihai.sirbu [2026/05/24 15:27] (current)
antonio_mihai.sirbu
Line 3: Line 3:
 ===== Introducere ===== ===== Introducere =====
  
-Proiectul constă în realizarea unui **Etilotest Inteligent** capabil să măsoare ​nivelul de vapori ​de alcool din aerul expirat și să ofere utilizatorului ​feedback imediat, atât vizual cât și sonor. ​+Îndoiala din dimineața de după o petrecere sau o ieșire cu prietenii este o problemă cât se poate de comună. De multe ori te trezești, te simți apt să conduci, dar nu ai o certitudine clară că alcoolul a fost eliminat complet din organism. Să te bazezi pur și simplu pe intuiție sau pe „mă simt bine” este o decizie riscantă, care te poate costa permisul auto sau poate pune în pericol siguranța celor din jur. Plecând de la această nevoie practică – înlocuirea presupunerilor cu date concrete – am decis să construiesc un dispozitiv de verificare accesibil și rapid. 
 + 
 +Proiectul meu este un **Etilotest Inteligent**, sistem ​capabil să măsoare ​concentrația vaporilor ​de alcool din aerul expirat și să ofere un feedback imediat ​și fără echivoc, atât vizualcât și sonor.
  
   * **Ce face:** Sistemul citește datele analogice de la un senzor de gaze/​alcool,​ le procesează și afișează concentrația în timp real pe un ecran LCD. În funcție de valoarea citită, un buzzer pasiv emite semnale sonore de avertizare (un sunet de intensitate redusă pentru starea de pregătire/​standby și o alarmă puternică, cu frecvență ridicată, în cazul depășirii pragului de siguranță).   * **Ce face:** Sistemul citește datele analogice de la un senzor de gaze/​alcool,​ le procesează și afișează concentrația în timp real pe un ecran LCD. În funcție de valoarea citită, un buzzer pasiv emite semnale sonore de avertizare (un sunet de intensitate redusă pentru starea de pregătire/​standby și o alarmă puternică, cu frecvență ridicată, în cazul depășirii pragului de siguranță).
Line 36: Line 38:
 | 7. | **Set fire Dupont Tată-Mamă (20cm)** | 1 set | Conectarea modulelor externe (Senzor, LCD) la placă. | N/A | | 7. | **Set fire Dupont Tată-Mamă (20cm)** | 1 set | Conectarea modulelor externe (Senzor, LCD) la placă. | N/A |
  
-==== Stadiul actual al implementării hardware ​====+=== Stadiul actual al implementării hardware ===
 În stadiul curent, arhitectura hardware a proiectului este complet finalizată și asamblată pe breadboard. Toate modulele periferice (senzorul de gaz, ecranul LCD și buzzer-ul) au fost interfațate fizic cu microcontrolerul ATmega328P și sunt alimentate corespunzător. Conexiunile au fost realizate și testate individual pentru a asigura integritatea și stabilitatea semnalelor electrice. În stadiul curent, arhitectura hardware a proiectului este complet finalizată și asamblată pe breadboard. Toate modulele periferice (senzorul de gaz, ecranul LCD și buzzer-ul) au fost interfațate fizic cu microcontrolerul ATmega328P și sunt alimentate corespunzător. Conexiunile au fost realizate și testate individual pentru a asigura integritatea și stabilitatea semnalelor electrice.
  
-==== Componentele folosite și rolul lor în proiect ====+=== Componentele folosite și rolul ===
   * **Placă de dezvoltare cu ATmega328P:​** Reprezintă unitatea centrală de procesare (creierul proiectului). Rolul ei este să citească tensiunea analogică de la senzor, să o convertească digital, să o compare cu un prag prestabilit și să comande perifericele de output (display-ul și buzzer-ul).   * **Placă de dezvoltare cu ATmega328P:​** Reprezintă unitatea centrală de procesare (creierul proiectului). Rolul ei este să citească tensiunea analogică de la senzor, să o convertească digital, să o compare cu un prag prestabilit și să comande perifericele de output (display-ul și buzzer-ul).
   * **Modul Senzor de gaz MQ-3:** Este componenta de input primar. Rolul său este să detecteze vaporii de alcool din aer (respirație) și să ofere o tensiune proporțională cu concentrația acestora.   * **Modul Senzor de gaz MQ-3:** Este componenta de input primar. Rolul său este să detecteze vaporii de alcool din aer (respirație) și să ofere o tensiune proporțională cu concentrația acestora.
-  * **Display LCD 1602 (cu modul I2C):** Este interfața vizuală (Human-Machine Interface). Afișează stadiul curent al dispozitivului ​("​Încălzire",​ "​Sobru",​ "​Alcool!"​) ​și valoarea numerică brută citită de pe senzor.+  * **Display LCD 1602 (cu modul I2C):** Este interfața vizuală (Human-Machine Interface). Afișează stadiul curent al dispozitivului și valoarea numerică brută citită de pe senzor.
   * **Modul Buzzer Pasiv (KY-006):** Oferă feedback acustic. Va genera tonuri de avertizare și alarme complexe prin intermediul semnalelor pulsatorii atunci când este detectată o concentrație de alcool peste limita admisă.   * **Modul Buzzer Pasiv (KY-006):** Oferă feedback acustic. Va genera tonuri de avertizare și alarme complexe prin intermediul semnalelor pulsatorii atunci când este detectată o concentrație de alcool peste limita admisă.
  
-==== Descrierea pinilor folosiți ​====+=== Descrierea pinilor folosiți ===
 Alegerea pinilor nu a fost aleatoare, ci s-a bazat strict pe arhitectura internă a microcontrolerului ATmega328P, folosind perifericele hardware dedicate pentru a eficientiza codul: Alegerea pinilor nu a fost aleatoare, ci s-a bazat strict pe arhitectura internă a microcontrolerului ATmega328P, folosind perifericele hardware dedicate pentru a eficientiza codul:
   * **Pinul PC0 (conectat la ieșirea Analog A0 a senzorului MQ-3):** Corespunde canalului **ADC0** (Analog-to-Digital Converter). Deoarece senzorul oferă o tensiune continuă variabilă (între 0V și 5V) în funcție de nivelul de alcool, era necesar un pin capabil să convertească această tensiune într-o valoare digitală pe 10 biți (0-1023), citind regiștrii interne (ADMUX și ADCSRA).   * **Pinul PC0 (conectat la ieșirea Analog A0 a senzorului MQ-3):** Corespunde canalului **ADC0** (Analog-to-Digital Converter). Deoarece senzorul oferă o tensiune continuă variabilă (între 0V și 5V) în funcție de nivelul de alcool, era necesar un pin capabil să convertească această tensiune într-o valoare digitală pe 10 biți (0-1023), citind regiștrii interne (ADMUX și ADCSRA).
Line 51: Line 53:
   * **Pinii PC4 și PC5 (conectați la SDA, respectiv SCL de pe modulul I2C al LCD-ului):​** În arhitectura ATmega328P, PC4 și PC5 sunt pinii hardware dedicați pentru perifericul **TWI** (Two-Wire Interface / I2C). PC4 acționează ca linia de date (SDA - Serial Data), iar PC5 ca linia de ceas (SCL - Serial Clock), permițând comunicarea rapidă cu ecranul.   * **Pinii PC4 și PC5 (conectați la SDA, respectiv SCL de pe modulul I2C al LCD-ului):​** În arhitectura ATmega328P, PC4 și PC5 sunt pinii hardware dedicați pentru perifericul **TWI** (Two-Wire Interface / I2C). PC4 acționează ca linia de date (SDA - Serial Data), iar PC5 ca linia de ceas (SCL - Serial Clock), permițând comunicarea rapidă cu ecranul.
  
-==== Schema electrică și explicații ​====+=== Schema electrică și explicații ===
  
 {{:​pm:​prj2026:​atoader:​schema_antonio.png?​600|Schema electrică a proiectului}} {{:​pm:​prj2026:​atoader:​schema_antonio.png?​600|Schema electrică a proiectului}}
Line 65: Line 67:
   * **Buzzer KY-006:** Pinul de masă (-) conectat la GND, iar pinul de Semnal (S) la pinul **PB1** (echivalent cu pinul digital 9 pe placa din schemă).   * **Buzzer KY-006:** Pinul de masă (-) conectat la GND, iar pinul de Semnal (S) la pinul **PB1** (echivalent cu pinul digital 9 pe placa din schemă).
  
-==== Vedere de ansamblu a hardware-ului ​====+=== Vedere de ansamblu a hardware-ului ===
  
 {{:​pm:​prj2026:​atoader:​proiect_antonio.jpeg?​300|}} {{:​pm:​prj2026:​atoader:​proiect_antonio.jpeg?​300|}}
Line 72: Line 74:
 ===== Software Design ===== ===== Software Design =====
  
-<note tip> +==== Mediu de dezvoltare ​==== 
-Descrierea codului aplicaţiei (firmware):​ +Proiectul a fost dezvoltat în mediul **Visual Studio Code (VS Code)** utilizând extensia **PlatformIO** și toolchain-ul **AVR-GCC**. Arhitectura software este de tip „bare-metal” — nu au fost utilizate biblioteci third-party (precum framework-ul Arduino sau librării ​pre-scrise pentru I2C/LCD din exterior)Tot codul a fost implementat de la zero, interacționând direct cu regiștrii hardware ai microcontrolerului ATmega328PAceastă abordare a fost aleasă deliberat pentru a garanta controlul absolut asupra timing-ului,​ pentru a optimiza consumul de memorie șpentru a demonstra înțelegerea profundă a arhitecturii microprocesorului.
-  * mediu de dezvoltare (if any(e.g. AVR Studio, CodeVisionAVR) +
-  ​* librării ​şi surse 3rd-party (e.gProcyon AVRlib) +
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +
-  * (etapa 3) surse şi funcţii implementate +
-</​note>​+
  
-===== Rezultate Obţinute =====+==== Biblioteci și headere folosite ​==== 
 +Deoarece proiectul nu folosește librării externe, au fost incluse exclusiv bibliotecile standard din suita AVR Libc: 
 +  * ''<​avr/​io.h>''​ — definește adresele regiștrilor hardware ai microcontrolerului ATmega328P (ex: ''​TWCR'',​ ''​ADCSRA'',​ ''​TCCR1A'',​ ''​PORTB''​). Este vitală pentru toate funcțiile de configurare și control. 
 +  * ''<​util/​delay.h>''​ — oferă funcțiile ''​_delay_ms()''​ și ''​_delay_us()''​ pentru crearea pauzelor precise necesare în algoritmul de inițializare al ecranului LCD și în temporizarea interfeței (numărătoarea inversă, generarea notelor muzicale). 
 +  * ''<​stdio.h>''​ — utilizată strict pentru funcția ''​sprintf()'',​ necesară pentru formatarea dinamică a textului și a valorilor numerice (ex: combinarea părții întregi cu partea zecimală) înainte de a fi trimise către ecranul LCD.
  
-<note tip> +==== Structura proiectului și Modularizarea ==== 
-Care au fost rezultatele obţinute ​în urma realizării proiectului vostru+Deși întregul cod rezidă în fișierul ''​main.c''​ pentru o compilare monolitică eficientă, el este structurat logic în module independente,​ cu funcții dedicate (etapa 3): 
-</note>+  * **Driverul TWI (I2C):** Funcțiile ''​i2c_init()'',​ ''​i2c_start()'',​ ''​i2c_write()'',​ ''​i2c_stop()''​ manipulează direct hardware-ul intern pentru a stabili protocolul de comunicație la 100 kHz. 
 +  * **Driverul LCD (PCF8574):​** Funcțiile ''​lcd_send_nibble()'',​ ''​lcd_send_byte()'',​ ''​lcd_init()''​ abstractizează comunicația pe 4 biți și controlează pinii de Enable/RS prin expandorul de porturi I2C. 
 +  * **Driverul ADC (Senzor MQ-3):** Funcțiile ''​setup_adc()''​ și ''​citire_senzor()''​ configurează convertorul analog-digital și implementează o buclă de tip polling (''​ADSC''​) pentru obținerea datelor brute. 
 +  * **Driverul Audio (Timer 1):** Funcțiile ''​setup_buzzer()'',​ ''​porneste_alarma(ton)''​ și pachetul de profile Arcade abstractizează hardware-ul timerului pentru a genera frecvențe dinamice. 
 + 
 +==== Algoritmi, Structuri de Date și Mașina de Stări ==== 
 +Logica principală a programului funcționează ca o Mașină de Stări (Finite State Machine) adaptivă:​ 
 +  * **Starea 1 (Standby):​** Senzorul este citit o dată la 100ms. Ecranul afișează ''​0.00mg/​L (READY)''​. 
 +  * **Starea 2 (Eșantionare):​** Când ADC-ul detectează un prag de peste 120, se declanșează o numărătoare inversă de 3 secunde. În acest timp, microcontrolerul citește senzorul la frecvență ridicată (10Hz) și reține doar valoarea maximă de vârf (''​valoare_maxima''​),​ implementând simultan un „tic-tac” sonor. 
 +  * **Starea 3 (Verdict):​** Valoarea maximă este procesată matematic. Pe baza a 3 praguri predefinite,​ sistemul afișează un mesaj text clar și apelează o funcție audio specifică stării (sobru, amețit sau ebrietate avansată). 
 +  * **Starea 4 (Auto-Curățare):​** Sistemul așteaptă până când nivelul senzorului scade în mod natural sub pragul de histerezis, protejând dispozitivul de re-declanșări false datorate vaporilor reziduali. 
 + 
 +==== Conversia Semnalului: ADC în mg/L ==== 
 +Senzorul MQ-3 furnizează o tensiune analogică, măsurată de convertorul ADC pe 10 biți într-o valoare brută cuprinsă între 0 și 1023. Pentru a oferi utilizatorului o valoare standardizată (mg/L în aerul expirat), a fost implementat un algoritm de **mapare liniară (interpolare)**. Deși variația rezistenței interne a senzorului este teoretic logaritmică,​ calibrarea empirică a demonstrat că o scalare liniară este ideală pentru precizia vizată de acest proiect. 
 +Valorile de referință stabilite la calibrare sunt: 
 +  * **Aer curat (Repaus):** Tensiunea de bază fluctuantă este ignorată. O valoare ADC de 115 reprezintă punctul de referință (0.00 mg/L). 
 +  * **Prag de saturație:​** O valoare ADC de 350 a fost echivalată cu 0.85 mg/L. 
 +Formula de calcul implementată în cod este: 
 +  Concentratie = ((ADC_citit - 115) * 0.85) / (350 - 115) 
 +Orice citire ADC sub valoarea de 115 este considerată zgomot de fond și este forțată hardware la 0.00 mg/L, asigurând stabilitatea afișajului. 
 + 
 +==== Justificarea funcționalităților din laborator ==== 
 +Proiectul bifează și demonstrează înțelegerea următoarelor concepte din programa de laborator:​ 
 +  * **GPIO:** Configurarea direcției pinilor de I/O la nivel de bit (ex: ''​DDRB |= (1 << PB1)''​) pentru controlul hardware al buzzer-ului. 
 +  * **Convertorul Analog-Digital (ADC):** Configurarea registrului ''​ADMUX''​ folosind ''​AVCC''​ ca referință (''​REFS0''​) și setarea prescaler-ului la 128 prin ''​ADCSRA''​ pentru a citi variațiile fine de tensiune analogică generate de senzorul de gaz pe pinul PC0. 
 +  * **Timere Hardware:** Folosirea Timer-ului 1 (pe 16 biți) în modul CTC (Clear Timer on Compare Match, ''​WGM12''​) pentru generarea semnalului audio asincron. Ieșirea comută automat starea pinului OC1A (''​COM1A0''​),​ degrevând procesorul (Hardware PWM). 
 +  * **Comunicații Seriale (I2C/​TWI):​** Implementarea comunicației sincrone cu ecranul LCD prin manipularea manuală a registrilor TWI (''​TWSR'',​ ''​TWBR'',​ ''​TWCR''​). Confirmările (ACK) sunt monitorizate prin flag-ul ''​TWINT''​. 
 + 
 +==== Optimizări și Elementul de Noutate ==== 
 +  * **Spectacol Audio Dinamic (Arcade Style):** Spre deosebire de o alarmă binară, generarea sunetului exploatează Timerul 1 pentru a crea profile audio complexe, ascendente sau descendente,​ care simulează efecte de tip „Level Up” sau „Sirenă”. 
 +  * **Histerezis Software:** Pentru a elimina bug-urile mecanice și electrice de tip „bouncing”,​ a fost implementată o bandă de histerezis de 20 de unități între pragul de start al testului și pragul de revenire ​în repaus. 
 +  * **Optimizarea Memoriei pentru Float:** Funcția ''​sprintf''​ de pe AVR nu suportă formatarea numerelor cu virgulă mobilă din fabrică. Pentru a ocoli această limitare, logica matematică sparge valoarea de concentrație calculată în două numere întregi distincte (partea întreagă și primele două zecimale), simulând o afișare de tip ''​float''​ eficientă computațional. 
 + 
 +==== Validare ==== 
 +  * **Hardware:​** S-a validat detecția corectă a adresei I2C (0x27) a modulului PCF8574. Tensiunea senzorului MQ-3 a fost măsurată fizic, confirmând comportamentul rezistenței de pre-încălzire. 
 +  * **Software:​** Sistemul a fost calibrat empiric folosind surse externe cu concentrații diferite de alcool. Funcția de histerezis a fost testată și s-a dovedit stabilă, eliminând buclele infinite, iar feedback-ul audio rulează fluid, fără a bloca rutina de afișare pe LCD. 
 +===== Rezultate Obținute ===== 
 + 
 +În urma implementării, asamblării și testării etilotestului digital, s-au obținut următoarele rezultate ce confirmă atingerea obiectivelor propuse și stabilitatea sistemului:​ 
 + 
 +  * **1Achiziția și Procesarea Datelor (Senzorul MQ-3)** 
 +Sistemul a demonstrat o citire stabilă a valorilor analogice provenite de la senzorul de gaz. Prin algoritmul de mapare liniară și filtrarea software a zgomotului de fond (ignorarea valorilor brute sub pragul de 115), aparatul convertește precis tensiunea în concentrație de alcool (mg/L), oferind valoarea 0.00 pentru o persoană perfect sobră. 
 + 
 +  * **2. Stabilitate Algoritmică (Histerezis și Auto-Curățare)** 
 +A fost eliminat cu succes efectul de "​bouncing"​ (re-declanșare falsă accidentală) prin implementarea unei benzi de histerezis. Dispozitivul intră automat într-o stare de ventilație (curățare senzor) și rămâne blocat acolo până când vaporii de alcool coboară sub pragul de siguranță,​ garantând corectitudinea testelor consecutive. 
 + 
 +  * **3. Feedback Multi-Senzorial Adaptiv** 
 +**Feedback Vizual (LCD 16x2 I2C):** Interfața ghidează utilizatorul prin toate stările aparatului (Încălzire,​ Standby, Suflare, Curățare) și afișează instantaneu valoarea de vârf alături de un mesaj text corespunzător nivelului detectat (ex: "Drum bun!", "Nu urca la volan",​ "Esti praf!"​). 
 +**Feedback Acustic (Buzzer PWM):** Folosind Timer-ul 1 hardware, s-au generat profiluri audio dinamice, non-liniare (stil Arcade). Aparatul oferă un feedback imediat și intuitiv: un tril vesel pentru sobrietate, o sirenă descendentă (Wah-Wah) pentru starea de ebrietate ușoară și o alarmă foarte rapidă și agresivă pentru depășirea limitei legale. 
 + 
 +  * **4. Optimizarea Resurselor (Firmware)** 
 +Codul sursă a fost scris „bare-metal”,​ manipulând direct regiștrii pentru protocolul I2C, ADC și Timer. S-a evitat complet utilizarea numerelor cu virgulă mobilă (float) în funcțiile de afișare, obținând un firmware extrem de rapid și stabil, care utilizează la maximum resursele limitate de memorie ale microcontrolerului ATmega328P. 
 + 
 +  * **5. Asamblare Hardware și Design Industrial** 
 +Un rezultat major al fazei finale l-a constituit trecerea de la stadiul de prototip de masă la un produs final portabil: 
 +    * **Eliminarea Breadboard-ului:​** Toate conexiunile au fost cositorite direct, creând un "wire harness"​ (mănunchi de cabluri) robust. Această decizie a redus la zero riscul firelor deconectate accidental și a îmbunătățit considerabil stabilitatea electrică a pinilor de alimentare (VCC și GND). 
 +    * **Carcasă Printată 3D:** Întregul sistem hardware a fost integrat într-o carcasă personalizată,​ printată 3D. Aceasta protejează placa Xplained Mini, oferă un decupaj perfect fixat pentru ecranul LCD și expune doar sita senzorului MQ-3, conferind proiectului un aspect ergonomic și 100% funcțional ca produs finit.
  
 ===== Concluzii ===== ===== Concluzii =====
  
-===== Download =====+Proiectul „Etilotest Digital” a ieșit fix mi-am și funcționează fără probleme. Am reușit să realizez de la zero un aparat care citește corect vaporii de alcool, face calculele matematice în spate și îți oferă imediat un verdict pe ecran, acompaniat de un set de sunete sunete ca avertisment. 
 + 
 +Partea cea mai utilă a fost decizia de a scrie codul „bare-metal”.Am aplicat exact ce am învățat la laboratoare:​ am configurat pinii manual, am implementat protocolul I2C pas cu pas pentru LCD, am setat Convertorul Analog-Digital (ADC) pentru senzorul MQ-3 și am folosit Timer-ul 1 hardware ca să generăm acele profiluri audio dinamice pe buzzer. 
 + 
 +In implementare am avut si bug-uri. De exemplu, la un moment dat senzorul o lua razna și declanșa testul de mai multe ori la rând din cauza valorilor reziduale. Aici am văzut în practică de ce e esențială partea de software pentru a corecta hardware-ul — am rezolvat problema implementând o bandă de histerezis, ceea ce a stabilizat complet aparatul. 
 + 
 +Pasul final a fost renunțarea la breadboard. Cositorirea firelor și integrarea întregului montaj într-o carcasă printată 3D au transformat proiectrul facandu-l mai estetic.
  
-<note warning>​ +**Ce i-am mai putea adăuga pe viitor ​(Idei de dezvoltare):​** 
-O arhivă (sau mai multe dacă este cazulcu fişierele obţinute în urma realizării proiectuluisurse, scheme, etc. Un fişier README, ​un ChangeLog, un script ​de compilare şcopiere automată pe uC crează întotdeauna o impresie bună ;-).+Dacă am vrea să îi facem un update (v2.0), aparatul ar putea fi îmbunătățit cu: 
 +  * **O baterie internă:** Să adăugăm ​un acumulator Li-Po de 3.7V șun modul de încărcare TP4056 ca să nu mai depindem deloc de cablul conectat la laptop. 
 +  * **Voce reală:** Să schimbăm buzzer-ul cu un modul MP3 (gen DFPlayer Minicare să redea mesaje vocale amuzante sau avertizări înregistrate pe un card MicroSD. 
 +  * **Istoric măsurători:​** Să ne folosim de memoria EEPROM a plăcii pentru a salva ultimele rezultate, ca să le poți vedea mai târziu dintr-un meniu pe ecran.
  
-Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:​pm:​prj20??:​c?​** sau **:​pm:​prj20??:​c?:​nume_student** (dacă este cazul). **Exemplu:​** Dumitru Alin, 331CC -> **:​pm:​prj2009:​cc:​dumitru_alin**. 
-</​note>​ 
  
-===== Jurnal ​=====+===== Link-uri și Resurse ​=====
  
-<note tip> +Pentru documentarea ​și realizarea acestui proiect, am consultat ​următoarele resurse tehnice și bibliografii:​
-Puteți avea și o secțiune de jurnal în care să poată ​urmări asistentul de proiect progresul proiectului. +
-</​note>​+
  
-===== Bibliografie/​Resurse =====+==== Cod ==== 
 +  * **Repository GitHub:** [[https://​github.com/​Antonio012004/​etilotest_inteligent|Etilotest Inteligent - Cod Sursă]]
  
-<​note>​ +==== Laboratoare PM ==== 
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse ​Software** şi **Resurse ​Hardware**+Resurse ​utilizate pentru implementarea driverelor șînțelegerea arhitecturii microcontrolerului:​ 
-</note>+  ​[[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab3-2023-2024|Lab 3 - Timere ​Hardware]] 
 +  ​[[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab4-2023-2024|Lab 4 - Convertorul Analog-Digital (ADC)]] 
 +  * [[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab6-2023-2024|Lab 6 - Comunicații Seriale (I2C/TWI)]]
  
 +==== Datasheet-uri Componente ====
 +Documentația tehnică oficială a componentelor utilizate:
 +  * **Microcontroler:​** [[https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|ATmega328P Datasheet]]
 +  * **Senzor de Gaz:** [[https://​cdn.sparkfun.com/​assets/​6/​a/​1/​7/​b/​MQ-3.pdf|MQ-3 Gas Sensor Datasheet]]
 +  * **Afișaj LCD:** [[https://​www.handsontec.com/​dataspecs/​module/​I2C_1602_LCD.pdf|I2C 1602 LCD Module Datasheet]]
 +  * **Buzzer:** [[https://​www.handsontec.com/​dataspecs/​module/​passive%20buzzer.pdf|Passive Buzzer Datasheet]]
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
pm/prj2026/atoader/antonio_mihai.sirbu.1778930444.txt.gz · Last modified: 2026/05/16 14:20 by antonio_mihai.sirbu
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