Prezentarea pe scurt a proiectului: Proiectul consta intr-o masinuta controlata cu ajutorul placutei Arduino, care, la apasarea unor butoane, declanșeaza mai multe semnale acustice si luminoase,iar comenzile din serial fac masina sa se miste. Scopul principal al proiectului este realizarea unui sistem integrat de divertisment. Am pornit de la ideea de a imbina notiunile invatate pe parcursul laboratoarelor de PM cu creativitatea. Astfel proiectul este util ca exemplu de combinare a elementelor de hardware cu sofware dar de asemenea este util si ca mijloc de divertisment.
Butoane
Arduino UNO R3
LCD Display (I2C)
LED-uri
Buzzer
L298N Driver
Motoare DC
Componente folosite:
Pini folositi:
Buzzer (HONK_PIN)
Buton pentru buzzer (NITRO_BUTTON_PIN)
Buton pentru LED-uri (LED_BUTTON_PIN)
Buton pentru display (LCD_SWITCH_PIN)
LED verde (LED_GREEN_PIN)
LED roșu (LED_RED_PIN)
LED1 verde (LED1_G)
LED1 roșu (LED1_R)
Motoare (control driver L298N) - pini de control IN1..IN4
Display LCD I2C
Mediu de dezvoltare: PlatformIO
Microcontroler: Arduino Uno
Cod scris în limbaj C++ cu utilizarea librăriilor Arduino.
Librării utilizate:
Funcții principale:
Logica butoanelor și stărilor:
Dacă buzzerOn == true, se pornește melodia, altfel se oprește.
Pattern-uri de design: Debounce simplificat butoane: verificare stare anterioară și stare curentă pentru detectarea apăsărilor .
State machine simplificată: LED-urile au moduri NORMAL și POLICE care schimbă comportamentul în funcție de ledMode.
Event-driven buzzer: pornirea/oprirea buzzerului este controlată doar la apăsarea butonului (nu permanent).
În urma implementării și testării proiectului, am reușit să dezvolt un sistem funcțional cu următoarele caracteristici: