SafeDrive: Sistem Auto pentru Detectarea Alcoolului
Introducere
SafeDrive este un sistem embedded de siguranță conceput pentru a simula funcționalitatea dispozitivelor comerciale de tip Alcolock. Obiectivul său principal este de a evalua concentrația de alcool din aerul expirat de șofer și de a preveni activ pornirea motorului vehiculului dacă limita legală este depășită.
Motivația din spatele acestui proiect este construirea unei aplicații tangibile, menite să salveze vieți, care face legătura între senzorii hardware de bază și sistemele de siguranță activă. Prin renunțarea la mediul standard Arduino, acest proiect servește drept un exercițiu complex de programare AVR. Acesta provoacă dezvoltatorul să orchestreze perfect multiple periferice hardware — cum ar fi ADC pentru procesarea semnalelor analogice, SPI pentru gestionarea sistemului de fișiere, I2C pentru afișarea datelor și Timerele hardware pentru generarea semnalului audio digital — într-o singură aplicație unitară, bazată pe întreruperi.
Descriere generală
Întregul flux operațional este orchestrat de microcontrolerul ATmega328P. Arhitectura sistemului este împărțită în patru blocuri logice principale:
Pornire bazată pe Întreruperi (Interrupt-Driven): Interacțiunea începe când utilizatorul apasă butonul de “Contact”. În loc să irosească cicluri de procesor verificând constant starea butonului (polling), sistemul se bazează pe o Întrerupere Externă (INT0) pentru a se trezi instantaneu și a declanșa secvența de testare.
Procesarea Semnalelor Analogice: Un senzor de gaz MQ-3 furnizează continuu o tensiune analogică proporțională cu concentrația de alcool către ADC-ul microcontrolerului.
Feedback Vizual în Timp Real: Stările sistemului, instrucțiunile pentru utilizator (ex: “Va rugam suflati”, “Motor Blocat”) și citirile senzorului sunt trimise către un ecran LCD 1602. Comunicarea este gestionată eficient prin protocolul I2C folosind un expandor PCF8574.
Sistem de Alertă Multimedia: Dacă sistemul detectează un test picat, simulează blocarea motorului (indicată de un LED Roșu) și declanșează o avertizare sonoră. Microcontrolerul montează un card MicroSD via SPI, citește un fișier audio digital (.wav) și controlează un difuzor de 8Ω folosind semnale Fast PWM de înaltă frecvență.
Hardware Design
Tabelul de mai jos detaliaază componentele necesare pentru a construi prototipul SafeDrive:
| Nr. | Nume Componentă | Cant. | Rol Tehnic & Detalii |
| 1 | ATmega328P Xplained Mini | 1 | Unitatea centrală de procesare care gestionează toată logica, întreruperile și timpii de execuție. |
| 2 | Modul Senzor de Gaz MQ-3 | 1 | Detectează concentrația de alcool; oferă un semnal analogic (0-5V). |
| 3 | Display LCD 1602 + I2C | 1 | Oferă feedback vizual. Modulul PCF8574 atașat reduce cablarea la doar pinii SDA și SCL. |
| 4 | Adaptor Card MicroSD | 1 | Acționează ca unitate de stocare pentru fișierele audio; comunică prin magistrala SPI. |
| 5 | Difuzor 8Ω 0.5W | 1 | Convertește semnalele electrice PWM în avertizări sonore/vocale. |
| 6 | Tranzistor NPN 2N2222 | 1 | Acționează ca un amplificator pentru difuzor, comandat de pinul PWM al microcontrolerului (include o rezistență de bază de 1kΩ). |
| 7 | Buton tactil (Push Button) | 1 | Simulează contactul mașinii, fiind conectat la un pin de întrerupere externă. |
| 8 | LED-uri de Status (R, G, V) | 3 | Indică starea simulată a motorului (Blocat/Avertisment/Deblocat). |
| 9 | Breadboard 830 puncte | 1 | Platforma principală de prototipare pentru rutarea alimentării și a semnalelor. |
| 10 | Fire conexiune DuPont | 1 set | Folosite pentru interconectarea modulelor cu placa Xplained Mini. |
Schema electrica
Pe parcursul fazelor de dezvoltare, următoarele materiale vor fi încărcate aici:
Software Design
Firmware-ul pentru SafeDrive este scris integral în C, manipulând direct regiștrii AVR pentru a asigura o performanță maximă și un consum minim de memorie (SRAM).
(Etapa 3) Detalii tehnice suplimentare, inclusiv configurările specifice ale regiștrilor și schema logică a buclei principale, vor fi documentate în această secțiune după finalizarea codului.
Rezultate Obţinute
Această secțiune va fi actualizată după faza finală de testare. Va documenta viteza de răspuns a întreruperilor hardware, acuratețea calibrării senzorului MQ-3 și claritatea redării audio generate prin PWM.
Concluzii
Aici va fi adăugată o revizuire cuprinzătoare a proiectului, concentrându-se pe principalele provocări inginerești întâmpinate (cum ar fi gestionarea limitărilor stricte de SRAM la citirea cardului SD) și pe conceptele de arhitectură AVR de nivel scăzut stăpânite în timpul dezvoltării.
Download
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.
Cod Sursă (GitHub): SafeDrive Public Repository
Jurnal
Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.
Bibliografie/Resurse
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.
Export to PDF