Table of Contents

Masinuță teleghidată Bluetooth

Introducere

Folosind o aplicație Android care comunică cu un modul Bluetooth (HC-05), se controlează o masinuță pusă in mișcare de 2 micromotoare acționând roțile mașinii.

Am pornit de la ideea creării unei jucării controlate de la distanță.

Consider că este un proiect util cand vine vorba de activități recreative.

Descriere generală

Funcționalitate

Telefonul prin intermediul aplicației transmite date catre modulul bluetooth, care sunt interpretate de Arduino. Acesta in funcție de semnalele primite de la telefon actioneaza pinii conectati la driverul de motoare (L298N) care aplica o tensiune asupra motorașelor miscandu-se în una din direcțiile față, spate, cu viraj stânga sau dreapta.

Schemă bloc

Hardware Design

Lista de piese

  • Arduino Uno Board
  • Driver de motoare L298N
  • Modul bluetooth HC-05
  • 4 x Motor cu reductor 1:48
  • 2 x Comutator KCD1-11-2P
  • 1 x Suport de Acumulatori 2×18650
  • 2 x Placă cu dimensiunile 24.5 cm x 14.6 cm
  • 2 x Placă pentru montare față/spate între plăcile mari

Schema electrica

Software Design

Mediu de dezvoltare

Librării şi surse 3rd-party

  • Librarie EAGLE “Bluetooth HC-05.lbr” [3]
  • Librarie EAGLE “sgs-thom.lbr” [4]
  • Aplicatie Android “Circuits Ninja Robot Remote”, aplicatie folosita pentru comunicarea dintre modulul bluetooth si telefonul Android [5]

Surse şi funcţii implementate

  • “bth_car.ino” - sursa unde sunt implementate functiile urmatoare
  • setup(): se seteaza modul pinilor folositi la comandarea driverului de motoare, se porneste comunicarea seriala cu un baud rate (9600)
  • loop(): se interpreteaza informatiile primite de la modulul bluetooth, apelandu-se in functie de caracterele primite una din functiile: stp, fwd, rev, lft, rght, sau se seteaza puterea controlata prin pwm a motoarelor
  • stp() - masina sta pe loc, se trimite 0 prin pwm la motoare
  • fwd() - masina merge inainte, ambele motoare sunt polarizate pozitiv
  • rev() - masina sta pe loc, ambele motoare sunt polarizate negativ
  • lft() - masina sta pe loc, motoarele au putere de rotatie diferite, virand stânga
  • rght() - masina sta pe loc, motoarele au putere de rotatie diferite, virand dreapta

Rezultate Obţinute

Masina poate fi controlata remote, in una din directiile spate, fata, stanga, dreapta, la diferite intensitati de putere.

Concluzii

A fost un proiect prin care mi-am consolidat cunostintele asimilate in timpul laboratoarelor de PM, pe care l-am implementat cu placere.

Link demo: https://www.youtube.com/watch?v=eSyHG1FWbEw

Download

Bibliografie/Resurse

DataSheet:
[0] DataSheet: https://tinyurl.com/mzn796f4
[1] Arduino IDE: https://tinyurl.com/4js4t6mv
[2] Vim https://tinyurl.com/43x3nj2e
[3] “Bluetooth HC-05.lbr”: https://tinyurl.com/2xfuzfdc
[4] “sgs-thom.lbr”: https://tinyurl.com/jr8dpnea
[5] “Circuits Ninja Robot Remote”: https://tinyurl.com/yc4zsjc7

Export to PDF