Differences

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

Link to this comparison view

pm:prj2023:ndrogeanu:race-car [2023/05/21 23:16]
cosmin.avramescu [Hardware Design]
pm:prj2023:ndrogeanu:race-car [2023/05/29 12:43] (current)
cosmin.avramescu [Download]
Line 7: Line 7:
 <note tip> <note tip>
 Prezentarea pe scurt a proiectului vostru: Prezentarea pe scurt a proiectului vostru:
-  * Proiectul consta intr-o masinuta controlata bluetooth de pe telefon, care va avea si leduri ​sub caroserie ​(care isi vor schimba culoarea la apasarea unui buton) ​si un difuzor pe spate (pentru a reda sunetul de motor/​muzica). ​De asemenea, aceasta se va opri la un obstacol prin intermediul unui senzor ultrasonic (chiar daca se da in continuare input de a merge inainte)+  * Proiectul consta intr-o masinuta controlata bluetooth de pe telefon, care va avea si leduri ​pe caroserie si un difuzor pe spate (pentru a reda sunetul de motor/​muzica). ​Boxa este de 100W si am folosit ​un modul amplificator ​de 60W. Muzica este citita de pe un modul SD card reader
-  * Scopul lui este de a destinde atmosfera prin muzica redata in boxe si luminile de sub caroserie.+  * Scopul lui este de a destinde atmosfera prin muzica redata in boxe si luminile de pe caroserie.
   * Am pornit de la amintirea placuta din copilarie cand ma jucam mereu cu o masinuta cu telecomanda.   * Am pornit de la amintirea placuta din copilarie cand ma jucam mereu cu o masinuta cu telecomanda.
   * Este utila pentru mine deoarece ma ajuta sa aplic toate cunostintele invatate la PM intr-un proiect personal. Pe langa avantajele definite la scop, este utila si pentru ceilalti oameni deoarece le arata ca niste componente uzuale pot deveni foarte usor centrul unui proiect pe care l-ar putea dezvolta pentru a invata lucruri noi.   * Este utila pentru mine deoarece ma ajuta sa aplic toate cunostintele invatate la PM intr-un proiect personal. Pe langa avantajele definite la scop, este utila si pentru ceilalti oameni deoarece le arata ca niste componente uzuale pot deveni foarte usor centrul unui proiect pe care l-ar putea dezvolta pentru a invata lucruri noi.
 </​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 43: Line 40:
   * rezultatele simulării   * rezultatele simulării
 </​note>​ </​note>​
-{{ :​pm:​prj2023:​ndrogeanu:​motors-ultrasonic.png?​nolink&​800 |}}+Scheme electrice:​ 
 +{{ :​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 52: 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 63: 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.1684700177.txt.gz · Last modified: 2023/05/21 23:16 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