Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2023:ndrogeanu:race-car [2023/05/28 18:36]
cosmin.avramescu [Introducere]
pm:prj2023:ndrogeanu:race-car [2023/05/29 12:43] (current)
cosmin.avramescu [Download]
Line 13: Line 13:
 </​note>​ </​note>​
 ===== Descriere generală ===== ===== Descriere generală =====
-{{ :​pm:​prj2023:​ndrogeanu:​race-car-schema-bloc.png?500 |}}+{{ :​pm:​prj2023:​ndrogeanu:​schema_b.png?500 |}}
 <note tip> <note tip>
-Inputul se primeste de la user de pe un telefon mobil prin bluetooth. In cadrul unei aplicatii mobile software, ​voi crea o interfata asemanatoare unui joystick prin intermediul careia ​se va stabili ​directia ​in care va merge masinutaDe asemenea, aplicatia software va transmite muzica ​ce trebuie redata in difuzorul de pe masina ​tot prin bluetooth. Masinuta va merge in directia indicata de inputul de pe telefon. La apasarea unui buton prezent tot in aplicatia software, ledurile de pe masina isi vor schimba culoarea (voi folosi leduri RGB). Motoarele masinii vor fi doar pe rotile din spate si vor fi legate prin intermediul unui motor driver L293D. ​ +Inputul se primeste de la user de pe un telefon mobil prin bluetooth. In cadrul unei aplicatii mobile software, se da directia ​masinutei (fata, spate, stanga, dreapta sau combinatii dintre acestea)Muzica ​ce trebuie redata in difuzorul de pe masina ​se transmite printr-un modul SD card reader. Se citeste melodia de pe un card SD prin SPI, iar in urma citirii se transmit semnalele digitale printr-un pin arduino uno. Aceste semnale intra intr-un amplificator care trimite mai apoi semnalul la difuzor, unde este redata muzica. Volumul muzicii se va regla printr-un potentiometru prezent pe breadboard. Masinuta va merge in directia indicata de inputul de pe telefon. Motoarele masinii vor fi doar pe rotile din spate si vor fi legate prin intermediul unui motor driver L293D.
- +
-La intalnirea unui obstacol, senzorul ultrasonic va determina oprirea masinii indiferent daca se va da in continuare input de a merge inainte de la utilizator. +
 </​note>​ </​note>​
  
Line 29: Line 26:
   * modul motor driver L293D   * modul motor driver L293D
   * 2 x DC motor   * 2 x DC motor
-  * difuzor +  * difuzor ​100W 
-  * senzor ultrasonic +  * modul amplificator mono TPA3118 
-  * led-uri+  * led-uri ​(2 rosii pe spate, 2 albe pe fata)
   * baterii   * baterii
   * rezistente   * rezistente
-  * buton+  * potentiometru
  
 <note tip> <note tip>
Line 44: Line 41:
 </​note>​ </​note>​
 Scheme electrice: Scheme electrice:
-{{ :​pm:​prj2023:​ndrogeanu:​motors-ultrasonic.png?​nolink&​800 |}}+{{ :​pm:​prj2023:​ndrogeanu:​motors.png?​nolink&​800 |}}
 {{ :​pm:​prj2023:​ndrogeanu:​led-speaker.png?​nolink&​800 |}} {{ :​pm:​prj2023:​ndrogeanu:​led-speaker.png?​nolink&​800 |}}
 {{ :​pm:​prj2023:​ndrogeanu:​hc05.jpg?​nolink&​700 |}} {{ :​pm:​prj2023:​ndrogeanu:​hc05.jpg?​nolink&​700 |}}
 +{{ :​pm:​prj2023:​ndrogeanu:​amplifier_to_speaker.png?​nolink&​700 |}}
 +{{ :​pm:​prj2023:​ndrogeanu:​sdcard.png?​nolink&​700 |}}
  
 ===== Software Design ===== ===== Software Design =====
Line 53: Line 52:
 <note tip> <note tip>
 Descrierea codului aplicaţiei (firmware): Descrierea codului aplicaţiei (firmware):
-  * mediu de dezvoltare ​(if any) (e.gAVR Studio, CodeVisionAVR) +  ​* **mediu de dezvoltare:** Arduino IDE 2.1.0 
-  * librării şi surse 3rd-party (e.g. Procyon AVRlib+  ​* **librării şi surse 3rd-party:**  
-  * algoritmi şi structuri ​pe care plănuiţi să le implementaţi +  * SD.h (pentru citire melodie de pe card SD),  
-  * (etapa 3) surse şi funcţii implementate+  * SPI.h (pentru citire melodie de pe card SD) 
 +  * TMRpcm.h (pentru redare melodie ​pe difuzor), ​ 
 +  ​* SoftwareSerial.h (pentru conexiunea bluetooth)  
 +  * **(etapa 3) surse şi funcţii implementate:**  
 +  * void forward(),  
 +  * void backward(),  
 +  * void left(),  
 +  * void right(),  
 +  * void forward_left(),​ 
 +  * void forward_right(),​  
 +  * void backward_left(),​  
 +  * void backward_right(),​ 
 +  * stop()
 </​note>​ </​note>​
 +
 +Logica programului:​
 +{{ :​pm:​prj2023:​ndrogeanu:​app.jpg?​nolink&​500 |}}
 +Ma folosesc de aplicatia arduino de trimitere semnale prin bluetooth. Dupa conectare, in functie de butoanele apasate, se trimite o litera (un char) prin bluetooth catre modulul HC-05 si implicit catre Arduino Uno. Se citeste aceasta litera si se face un switch ca sa vedem pe ce case suntem. De exemplu, daca litera este F, se merge forward, daca litera este B, se merge backward, daca este L se merge left si tot asa pentru fiecare caz de deplasare pentru masina.
 +
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
Line 64: Line 80:
 Care au fost rezultatele obţinute în urma realizării proiectului vostru. Care au fost rezultatele obţinute în urma realizării proiectului vostru.
 </​note>​ </​note>​
-{{ :​pm:​prj2023:​ndrogeanu:​race-car-1.jpg?​nolink&​500 |}} +{{ :​pm:​prj2023:​ndrogeanu:​racecar-1.jpg?​nolink&​500 |}} 
-{{ :​pm:​prj2023:​ndrogeanu:​race-car-2.jpg?​nolink&​500 |}} +{{ :​pm:​prj2023:​ndrogeanu:​racecar-2.jpg?​nolink&​500 |}} 
-{{ :​pm:​prj2023:​ndrogeanu:​race-car-3.jpg?​nolink&​500 |}}+{{ :​pm:​prj2023:​ndrogeanu:​racecar-3.jpg?​nolink&​500 |}}
  
  
-===== Concluzii ===== 
  
 +===== Concluzii =====
 +Am reusit sa fac un proiect cap coada de care ma bucur. Am dorit sa fac o masina cu difuzor cu gandul ca voi folosi aceasta masina chiar si mai tarziu (la o petrecere cu prietenii de exemplu). Ma bucur ca am invatat sa integrez cunostintele de la PM in ceva concret. Am invatat sa caut informatiile de care am nevoie (in datasheet-uri,​ pe internet) si acum ca am reusit sa fac ceva si am un produs finit mi se pare foarte usor sa incep orice alt proiect de acest gen deoarece am capatat experienta. Cea mai importanta parte a fost legarea fizica a componentelor intre ele. Am invatat sa controlez motoarele din cod, sa citesc fisiere de pe un card SD si sa le redau intr-un difuzor. Am invatat sa gasesc solutii eficiente, care sa nu consume spatiu pe masina, sa nu fie foarte scumpe si sa ofere rezultate de calitate.
 ===== Download ===== ===== Download =====
 +
 +Arhiva contine codul sursa, README si videoclip.
 +{{:​pm:​prj2023:​ndrogeanu:​racecar.zip|}}
 +
  
 <note warning> <note warning>
pm/prj2023/ndrogeanu/race-car.1685288202.txt.gz · Last modified: 2023/05/28 18:36 by cosmin.avramescu
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