This shows you the differences between two versions of the page.
pm:prj2025:ccristi:victor.vaduva [2025/05/26 10:20] victor.vaduva [Jurnal] |
pm:prj2025:ccristi:victor.vaduva [2025/05/28 00:06] (current) victor.vaduva |
||
---|---|---|---|
Line 18: | Line 18: | ||
{{:pm:prj2025:ccristi:gas_detect_block_diag.png?500|}} | {{:pm:prj2025:ccristi:gas_detect_block_diag.png?500|}} | ||
- | - Butonul porneste sau opreste senzorul | ||
- Senzorul detecteaza nivelul de gaz din aer si il transmite catre Arduino | - Senzorul detecteaza nivelul de gaz din aer si il transmite catre Arduino | ||
- La detectia unui nivel ridicat de gaz, pornesc atat buzzer-ul si LED-urile pentru a avertiza utilizatorul, cat si ventilatorul pentru a ventila camera si a crea flux de aer. | - La detectia unui nivel ridicat de gaz, pornesc atat buzzer-ul si LED-urile pentru a avertiza utilizatorul, cat si ventilatorul pentru a ventila camera si a crea flux de aer. | ||
Line 26: | Line 25: | ||
<note tip> | <note tip> | ||
- | Lista de piese: | + | ^ Componenta ^ Numar bucati ^ Documentatie ^ |
- | - Arduino ATMega328P | + | | Arduino ATmega328P | 1 | [[https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf | Datasheet ATmega328P]] | |
- | - Senzor de gaz MQ-6 | + | | Senzor de gaz MQ-6 | 1 | [[https://components101.com/sensors/mq-6-gas-sensor-pinout-equivalent-datasheet | MQ-6 Gas Sensor]] | |
- | - Buzzer Pasiv 5V | + | | Buzzer Pasiv 5V | 1 | - | |
- | - LED-uri | + | | LED-uri | 2 | - | |
- | - Rezistoare 220ohmi | + | | Rezistori 220ohm | 2 | - | |
- | - Buton | + | | Ventilator | 1 | - | |
- | - Ventilator | + | | Dioda | 1 | - | |
- | - Dioda | + | | MOSFET N | 1 | [[https://www.vishay.com/docs/91017/irf520.pdf | IRF520N Mosfet]] | |
- | - MOSFET N | + | |
</note> | </note> | ||
{{:pm:prj2025:ccristi:vaduva_victor_schematic.png?800|}} | {{:pm:prj2025:ccristi:vaduva_victor_schematic.png?800|}} | ||
{{:pm:prj2025:ccristi:hard_vaduva_victor.jpg?500|}} | {{:pm:prj2025:ccristi:hard_vaduva_victor.jpg?500|}} | ||
+ | |||
+ | |||
+ | |||
===== Software Design ===== | ===== Software Design ===== | ||
+ | Codul este dezvoltat pentru microcontrollerul ATmega328P (Arduino Uno R3), iar pentru compilare si upload a fost folosit Arduino IDE. | ||
- | <note tip> | + | AVR standard libraries |
- | Descrierea codului aplicaţiei (firmware): | + | * avr/io.h - pentru acces la registrii I/O ai microcontrollerului |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | * avr/interrupt.h - suport pentru intreruperi |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | * util/delay.h - pentru intarzieri |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
- | * (etapa 3) surse şi funcţii implementate | + | 3rd-party libraries |
- | </note> | + | * Adafruit_GFX - library grafic de baza pentru diverse display-uri |
+ | * Adafruit_SSD1306 library specific pentru controlul display-ului OLED SSD1306 | ||
+ | |||
+ | Algoritmi si structuri implementate | ||
+ | * Timer0 configurat in mod CTC pentru a genera intreruperi la intervale de 1ms (pentru a controla clipirea ledului si durata starii de pericol) | ||
+ | * Timer2 configurat in mod CTC pentru controlul buzzer-ului | ||
+ | * ADC pentru citirea valorilor senzorului | ||
+ | Functii implementate | ||
+ | * setup_gpio(), setup_adc(), setup_timer0(), setup_timer2() pentru configurarile initiale ale pinilor pentru leduri, ventilator, buzzer si senzorul de gaz, configurarea ADC-ului si a timerelor | ||
+ | * read_adc() pentru citirea valorii de la senzor | ||
+ | * set_buzzer_freq() pentru setarea frecventei buzzerului | ||
+ | * stop_buzzer() pentru oprirea buzzerului | ||
+ | * show_message() pentru afisarea mesajului pe display | ||
+ | * rutine de intrerupere pentru timer0 si timer2 | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | Produsul final a fost integrat intr-o cutie, lasand la vedere doar detectorul de gaz, display-ul si cele 2 LED-uri. |
</note> | </note> | ||
+ | {{:pm:prj2025:ccristi:gas_final1.jpg?200|}} | ||
+ | {{:pm:prj2025:ccristi:gas_final2.jpg?200|}} | ||
+ | {{:pm:prj2025:ccristi:gas_final3.jpg?200|}} | ||
- | ===== Concluzii ===== | + | [[https://youtube.com/shorts/8mCwGJKbTu8?si=g5yPIJKuc2p7gfiP | DEMO video - detector de gaz]] |
- | ===== Download ===== | + | [[https://github.com/Vikkkkkkkkk/PM_project | Link GitHub]] |
- | + | ||
- | <note warning> | + | |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | |
- | + | ||
- | 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 ===== | ===== Jurnal ===== | ||
Line 73: | Line 85: | ||
- 07.05.2025 - comanda componente | - 07.05.2025 - comanda componente | ||
- 09.05.2025 - testare componente | - 09.05.2025 - testare componente | ||
- | - 11.05.2025 - implementare hardware initiala | + | - 11.05.2025 - implementare hardware initiala pe breadboard |
- 14.05.2025 - comanda componente suplimentare | - 14.05.2025 - comanda componente suplimentare | ||
- | - 16.05.2025 - implementare hardware finala | + | - 16.05.2025 - implementare hardware finala (lipire componente) |
- 19.05.2025 - implementare software v1.0 | - 19.05.2025 - implementare software v1.0 | ||
- 23.05.2025 - implementare software v1.1 | - 23.05.2025 - implementare software v1.1 | ||
Line 83: | Line 95: | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | === Resurse Software === |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
- | </note> | + | * [[https://www.arduino.cc/en/software|Arduino IDE]] – mediu de dezvoltare Arduino |
+ | |||
+ | === Resurse Hardware === | ||
+ | * [[https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf | ATmega328P]] - documentatie ATmega328P | ||
+ | * [[https://components101.com/sensors/mq-6-gas-sensor-pinout-equivalent-datasheet | MQ-6 Gas Sensor]] - documentatie senzor gaz | ||
+ | * [[https://www.vishay.com/docs/91017/irf520.pdf | IRF520N Mosfet]] - documentatie tranzistor | ||
+ | |||
<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> | ||