Novetschi Vlad - Bluetooth Boat

Introducere

Proiectul meu este o barcă cu propulsie aeriană controlată prin Bluetooth, utilizând un Arduino ca microcontroler central. Scopul acestui proiect este să de a construii o barcă ușoară, eficientă și ușor de controlat de la distanță. Ideea de la care am pornit a fost construirea unui vehicul aeroglisor, dar am decis să simplific tema la o barcă cu propulsie aeriana.

Descriere generală

Barca noastră cu propulsie aeriană va folosi un Arduino Uno ca microcontroler, conectat la un modul Bluetooth HC-05 pentru comunicarea cu un dispozitiv mobil. Motoarele de directie vor fi controlate prin intermediul Arduino, iar un ventilatoarele de CPU de 12V vor fi folosite pentru a furniza forța de propulsie, iar întregul ansamblu va fi montat pe o structură ușoară realizată din foamboard și spumă. Alimentarea se va face folosind baterii de 9v.

Schema bloc:

Hardware Design

  1. Arduino Uno
  2. Modul Bluetooth HC-05
  3. Ventilatoar de CPU 12V 4 pini
  4. 2 x Modul ventilator 5V L9110
  5. Foamboard și spumă pentru flotoare
  6. 2 x Baterii 9V
  7. Sursa Step Down DC-DC OKY3502-4

Schema electrica

Software Design

Mediu de dezvoltare: Arduino IDE, Processing

Software-ul care controlează barca constă dintr-un script Arduino și un schiță Processing.
  1. Script Arduino: Scriptul 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.
  1. 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 LT, RT: 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.

Rezultate Obţinute

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

Bibliografie/Resurse

pm/prj2023/vstoica/hovercraft.txt · Last modified: 2023/05/28 01:51 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