This is an old revision of the document!


SmartCar

Introducere

Prin acest proiect îmi propun să realizez un vehicul interactiv, care să simuleze cât mai bine o mașină reală. Mașina este controlată prin comenzi seriale de la tastatura laptopului, dar dispune de controale fizice avansate: un vitezometru sub formă de potențiometru care reglează accelerația motoarelor prin PWM, un sistem de lumini (faruri cu fază scurtă/lungă, semnalizare stânga/dreapta acționată de butoane) și un claxon (buzzer). Întreaga stare a sistemului (viteza, direcția și starea luminilor) este monitorizată în timp real și afișată pe un ecran LCD integrat, care funcționează ca un tablou de bord digital.

Pe lângă aplicarea noțiunilor învățate la laborator, scopul principal al proiectului este să construiesc o machetă funcțională care imită la o scară mică sistemele unei mașini reale. Mai exact, proiectul demonstrează practic cum placa centrală primește comenzi simple de la utilizator (cum ar fi apăsarea butoanelor sau rotirea potențiometrului pentru viteză) și le transformă imediat în acțiuni fizice: învârte roțile, aprinde farurile și semnalizarea, sau pornește claxonul.

Ideea de la care am pornit: Am pornit de la o pasiune din copilărie pentru mașinuțele cu telecomandă, dorindu-mi să construiesc cu propriile mâini, de la 0, un vehicul care să nu fie doar o jucărie, ci o platformă experimentală care să replice fidel funcțiile unei mașini adevărate.

Laboratoare folosite: GPIO, USART, Întreruperi, Timere și PWM, ADC, I2C

Descriere generală

La momentul recepționării unei comenzi de deplasare prin interfața Serială (RX/TX), microcontrolerul o asociază cu tensiunea citită de la potențiometru prin intermediul convertorului intern ADC. Pe baza acestor date, sistemul generează semnale logice (pentru stabilirea direcției) și semnale PWM (pentru reglarea turației) către modulul driver L298N, acționând astfel tracțiunea motoarelor DC. Simultan, datele de telemetrie sunt transmise prin protocolul I2C către ecranul LCD pentru actualizarea statusului în timp real.

În paralel, controlul sistemelor auxiliare (iluminat și acustic) este gestionat prin citirea pinilor GPIO asociați blocului de butoane. Folosind rutine software de filtrare (debouncing), microcontrolerul validează intenția utilizatorului pentru a preveni declanșările false. Odată confirmată o comandă, sistemul ajustează dinamic factorul de umplere (Duty Cycle) al semnalelor PWM pentru a comuta farurile între faza scurtă și faza lungă, sau utilizează funcții de temporizare non-blocante pentru a genera clipirea intermitentă a semnalizărilor și acționarea buzzerului, asigurând fluiditatea buclei principale de execuție.

Hardware Design

Lista componentelor folosite:

Nr. crt. Denumire Componentă Cantitate Rol în cadrul proiectului
1 Placa ATmega328P 1 Unitatea centrală de procesare („creierul”)
2 Kit Șasiu auto 2WD 1 Structura mecanică de bază a vehiculului pe care sunt montate componentele
3 Motor DC cu reductor 2 Acționarea mecanică a roților pentru asigurarea tracțiunii și direcției mașinii
4 Modul Driver Motoare L298N 1 Puntea de forță, izolează placa de curentul mare și comandă motoarele via PWM
5 Display LCD 1602 cu modul I2C 1 Interfața vizuală: afișare parametri de sistem
6 Potențiometru rotativ (10kΩ) 1 Convertit prin ADC, funcționează ca un vitezometru manual (pedală de accelerație)
7 Push Button (Butoane tactile) 4 Generarea semnalelor digitale (input) pentru controlul luminilor, semnalizării și claxonului
8 LED-uri 6 Simularea farurilor (controlate PWM pentru fază scurtă/lungă) și a semnalizărilor de direcție
9 Rezistențe (220Ω / 330Ω) min. 6 Protecția circuitelor logice prin limitarea curentului absorbit de LED-uri
10 Buzzer pasiv/activ 1 Claxon
11 Suport baterii (4x AA) + Baterii 1 Alimentarea exclusivă a circuitului de putere (motoarele prin driverul L298N)
12 Breadboard și fire de conexiune 1 set Realizarea circuitelor de test (fire Dupont tată-mamă, tată-tată) și distribuția alimentării (5V/GND)

Notă: Elementele de interfață (butoane, LED-uri, rezistențe, potențiometru, buzzer și breadboard-ul) fac parte dintr-un Arduino Starter Kit standard.

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Concluzii

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.

Bibliografie/Resurse

Resurse Hardware:

Resurse Software:

  • Arduino Language Reference - pentru documentarea funcțiilor de bază
  • Laboratoarele de PM: GPIO, USART, Întreruperi, Timere și PWM, ADC, I2C

Export to PDF

pm/prj2026/atoader/maria_andreea.budes.1778589228.txt.gz · Last modified: 2026/05/12 15:33 by maria_andreea.budes
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