Differences

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

Link to this comparison view

pm:prj2023:vstoica:hovercraft [2023/05/18 16:33]
vlad.novetschi [Hardware Design]
pm:prj2023:vstoica:hovercraft [2023/05/28 01:51] (current)
vlad.novetschi
Line 1: Line 1:
-====== ​Hovercraft ​======+====== ​Novetschi Vlad - Bluetooth Boat======
 ===== Introducere ===== ===== Introducere =====
  
Line 31: Line 31:
  
  
-{{:​pm:​prj2023:​vstoica:​untitled_sketch_bb.png?800|}}+{{:​pm:​prj2023:​vstoica:​schemanove.png?600|}}
  
  
Line 40: Line 40:
  
 <note tip> <note tip>
-  ​Mediu de dezvoltare: Arduino IDE +  Mediu de dezvoltare: Arduino IDE, Processing 
-  - Biblioteci utilizateSoftwareSerial ​(pentru comunicarea Bluetooth+  ​ 
-  - Algoritmi ​și structuricontrolul direcției și vitezei prin comenzi ​Bluetooth+  Software-ul care controlează barca constă dintr-un script Arduino și un schiță Processing. 
-  eventual control control PID pentru ​reglarea vitezei ventilatoarelor.+ 
 +  - Script ArduinoScriptul Arduino rulează pe barca RC, citind comenzi de pe portul serial ​(prin bluetooth)
 +Acest script citește un caracter de comandă, urmat de o singură cifră (0-9) și ajustează viteza și direcția motoarelor bărcii în funcție de comandă (folosind PWM). Caracterul de comandă determină ce acțiune să se ia. 
 +Comenzile sunt: 
 + 
 +  ​* '​C':​ Verifica starea sistemului. Răspunde cu "​OK"​. 
 +  * '​V':​ Verifica tensiunea. Răspunde cu o citire analogică (ADC) de la A0. 
 +  * '​B':​ Controlează starea LED-ului. Dacă valoarea este 0, LED-ul este oprit, iar dacă valoarea este 1, LED-ul este pornit. 
 +  * '​W':​ Controlează mișcarea înainte. Viteza motorului este proporțională cu valoarea primită (9-valoare). 
 +  * '​Q',​ '​E',​ '​A',​ '​D':​ Controlează motoarele stânga ​și dreapta pentru viraj și mișcare înapoi. 
 +  * '​S'​Opriți toate motoarele. 
 + 
 + 
 +  - Schiță Processing (Java): Acest script rulează pe un calculator, primind intrări de la un controler Xbox și trimițând ​comenzi ​la Arduino prin comunicația serială pe bluetooth. 
 +Intrările de la controlerul Xbox sunt: 
 + 
 +Triggerele LTRT: controlează viteza bărcii. 
 +Axa orizontala a joystick-ului din stânga: controlează direcția bărcii. 
 +Butonul '​A':​ Activează / dezactivează ventilatorul principal de la bord. 
 +Butonul '​B':​ Blocheaza / deblocheaza ventilatorul principal. 
 +Butonul '​X':​ Solicită tensiunea de la Arduino (pentru ​monitorizarea bateriei). 
 +Acest script utilizează biblioteca Game Control Plus pentru a citi intrările de la controlerul Xbox. 
 + 
 +valorile citite de la controller sunt afisate grafic si utilizate pentru a calcula viteza si directia motoarelor astfle incat sa efectueze cat mai rapid actiunea dorita (ex: un viraj stanga va porni motorul din dreapta inainte si motorul din stanga inapoi, provocant o intoarcere pe loc) 
 + 
 +directia si puterea motoarelor este afisata si pe ecran prin 2 bare verticale a caror lungime este proportionala cu viteza motoarelor. 
 + 
 +Nivelul de tensiune este de asemenea afișat, oferind o citire în timp real a nivelurilor bateriei bărcii. 
 + 
 +Scipt-ul va trimite comenzi doar atunci cand utilizatorul schimba starea unui buton sau joystick... obtinandu-se astfel o utilizare eficienta a 
 +canalului de comunicatie. 
 + 
 +În acest fel, controlerul Xbox poate fi folosit pentru a controla în mod wireless viteza și direcția bărcii RC, monitorizând în același timp nivelurile bateriei și starea sistemului în timp real. 
 +  ​
 </​note>​ </​note>​
  
Line 49: Line 82:
  
 <note tip> <note tip>
--+ 
 +<​html>​ 
 +<iframe width="​560"​ height="​315"​ src="​https://​www.youtube.com/​embed/​jy0aaqhc-HA?​start=5"​ title="​YouTube video player"​ frameborder="​0"​ allow="​accelerometer;​ autoplay; clipboard-write;​ encrypted-media;​ gyroscope; picture-in-picture;​ web-share"​ allowfullscreen></​iframe>​ 
 +</​html>​ 
 +<​html>​ 
 +<iframe width="​560"​ height="​315"​ src="​https://​www.youtube.com/​embed/​1YsrXMcKIQg"​ title="​YouTube video player"​ frameborder="​0"​ allow="​accelerometer;​ autoplay; clipboard-write;​ encrypted-media;​ gyroscope; picture-in-picture;​ web-share"​ allowfullscreen></​iframe>​ 
 +</​html>​ 
 +<​html>​ 
 +<iframe width="​560"​ height="​315"​ src="​https://​www.youtube.com/​embed/​29YRvWEkizg"​ title="​YouTube video player"​ frameborder="​0"​ allow="​accelerometer;​ autoplay; clipboard-write;​ encrypted-media;​ gyroscope; picture-in-picture;​ web-share"​ allowfullscreen></​iframe>​ 
 +</​html>​ 
 + 
 +{{:​pm:​prj2023:​vstoica:​20230514_015322.jpg?​200|}} 
 +{{:​pm:​prj2023:​vstoica:​20230520_141300.jpg?​200|}}
 </​note>​ </​note>​
  
 ===== Concluzii ===== ===== Concluzii =====
 +
 +Proiectul a fost o experiență de învățare valoroasă, care m-a ajutat să îmbunătățesc abilitățile mele în programarea microcontrolerelor Arduino și să înțeleg mai bine comunicarea Bluetooth. De asemenea, a fost o oportunitate excelentă pentru a învăța despre designul hardware și cum să integrez diverse componente împreună într-un dispozitiv funcțional.
  
 ===== Download ===== ===== Download =====
  
-<​note ​warning+<​note>​ 
-+{{:​pm:​prj2023:​vstoica:​boatarduino.zip|}}
-</​note>​ +
- +
-===== Jurnal ===== +
- +
-<note tip> +
--+
 </​note>​ </​note>​
  
Line 69: Line 110:
  
 <​note>​ <​note>​
--+https://​howtomechatronics.com/​tutorials/​arduino/​arduino-and-hc-05-bluetooth-module-tutorial/​
 </​note>​ </​note>​
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
  
pm/prj2023/vstoica/hovercraft.1684416835.txt.gz · Last modified: 2023/05/18 16:33 by vlad.novetschi
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