Table of Contents

Disco Car

Introducere

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.

Descriere generală

Butoane

Arduino UNO R3

LCD Display (I2C)

LED-uri

Buzzer

L298N Driver

Motoare DC

Hardware Design

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

Implementare Hardware

Software Design

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).

Rezultate Obţinute

În urma implementării și testării proiectului, am reușit să dezvolt un sistem funcțional cu următoarele caracteristici:

Concluzii

Download

discocar.zip

Bibliografie/Resurse