Masina contolata prin bluetooth

Draghicescu Adrian-Ioan 343C3

Introducere

Masina controlata prin bluetooth de pe telefon, care poate exploara un spaciu in mod automat evitant coliziunea cu diversele obstacole care se afla in acel spatiu si care poate retine utlimele comenzi date de utilizator si de a merge inapoi urmand opusul acestor comenzi.

Am pornit de la ideea de a avea o masina capabila de a explora o camera si de a o mapa in memorie similar cu ce faca aspiratoarele automate, dar limitarile de memorie de pe o placa arduino si lipsa unor sezori care sa abdateze pozitia si orientarea interna a masini a facut acest lucru foarte dificil.

Utilitaile proiectului:

  1. In primul rand este foarte amuzat sa te joci o masinuta controlata remote, mai ales cand ai contruit o singur :)
  2. In al doilea rand este un inceput pentru proiecte mai avansate in care ai mai multe resurse atat hardware cat si software precum:
    • aspiratore automate
    • masini la scara intreaga care ies din parcare in mod automat
    • masini la scara intreaga care navigeaza in mod automat in mod automat
    • etc.

Descriere generală

Utilizatorul interactioneaza cu masina prin aplicatia Android Bluetooth RC Car. Acesta poate sa:

  • O controleze in mod direct prin a indica directia in care vrea sa mearga si prin a seta viteza.
  • O seteze ca mearga automat (sa exploreze incapera) fara a lovi peretii sau obectele din ea.
  • Sa mearga inapoi de unde a venit executand inversul comenzilor date de ultizator dintr o perioada de timp in mod automat.

Hardware Design

Piese folosite:

  • Placă Arduino Uno ATmega328P
  • Placă de control motoare L293D
  • Senzor ultrasonic HC-SR04
  • Modul Bluetooth HC-05 master/slave
  • Motor Servo SG90 9g 180 grade
  • 4 x Motoare DC 3V-6V 1:120
  • 4 x Roti
  • Sasiu
  • Suport baterii
  • 2 x baterii 18650 (3.7V)
  • Fire mama-tata, tata-tata

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare: Arduino IDE
  • librării şi surse 3rd-party:
    • AFMotor.h
    • NewPing.h
    • Servo.h
  • Design:
    • Pentru controlul masini folosesc aplicatia de Android Bluetooth RC Car
    • Modulul de decodare a intructiunii trimise de aplicatie
    • Modulul de control automat
    • Modulul de citire a distantei
    • Modulul de alegere a directie
    • Modulurile de mers inainte si inapoi
    • Modulurile de virat la stanga si la dreapta
  • Structuri de date folosite:
    • O stiva cirulara pentru a memora actiunile (directia si viteza motoarele) la intervale de 50 ms timp de cateva secunde pentru a putea da inpoi facund opusul fiecarei actiuni.

Aplicatie:

Rezultate Obţinute

Am obtinut o masinuta care poate fi controlata prin telefon ca viteza si directie, care poate sa mearga in mod automat sa exploreze o marea evitand obstacolele si care poate retine un numar de comenzi date de la utilizator si sa mearga inapoi facand opusul acelor comenzi.

Funtionalitatea de evitare a obstacolelor este limitata, avand un singur senzor, exista situati in care un evental obstacol nu este exact in fata senzorului sau la un unghi care nu perimte detectia de senzourl ultrasonic.

Functionalitatea de mers inapoi in pozitia initiala este deoarece masina nu este dotata cu giroscop sau accelerometru, cu cat numarul de instructiuni pe care trebuie sa le faca inapoi este mai mare cu ata marja de eroare este mai mare.

Demo

Concluzii

Proiectul a fost o experienta educationala foarte reusita pe care eu il consider un succes. Desi nu am realizat ce mi as fi dorit initail, am desoperit limitarile diferitor componente hardware si software.

Am obeserat ca pentru a face o explorare mai exacta a unei incaperi masina trebuie doata cu niste senzori care sa verifice si sa updateze starea interna a masinii (pozitia si orientarea in spatiu) deoarece bazundu-ma doar pe un viteza cu care pornesc motoarele si durata cat sunt pornite pentru a actualiza starea in fiecare sencunda apare o usoara deviere intre starea actuala si cea interna iar dupa suficient de mult timp starea interna este cu totul fierita fata de cea reala.

Download

Bibliografie/Resurse

pm/prj2022/alaura/masina_controlata_bluetooth.txt · Last modified: 2022/05/27 23:16 by adrian.draghicescu
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