Mașinuță cu senzor de distanță - Cornea Alexandra 333CA

Introducere

Proiectul constă într-o mașinuță controlată printr-un senzor de distanță, pentru detectarea și evitarea automată a obstacolelor.

Mașinuța va merge în mod implicit înainte, iar în momentul detectării unui obstacol la mai puțin de 20 de cm, aceasta se va opri, va da cu spatele cât să poată să vireze în siguranță într-o direcție aleasă aleatoriu. Mașinuța va face această manevră de câteva ori, până când senzorul de distanță nu va mai detecta niciun obstacol.

Proiectul meu este un proiect cu scop distractiv, poate fi folosit drept jucărie, cu un sistem de auto-protecție împotriva distrugerii. Mașinuța va evita coliziunea cu obstacolele.

Descriere generală

Mașinuța este pornită. Mașina va tinde să meargă în față dacă drumul este liber. Viteza va crește puțin câte puțin cât timp senzorul de distanță nu detectează niciun obstacol.

În momentul în care senzorul detectează orice fel de obstacol vizibil la o distanță mai mică sau egală cu 20 de cm, dispozitivul începe manevra de virare. În primă fază mașina frânează, dă pe o distanță mică cu spatele, virează într-o direcție aleasă aleatoriu de program. Cât timp obstacolul este în drumul mașinii, dispozitivul va repeta pașii anterior menționați.

Hardware Design

Componente hardware necesare realizării mașinuței:

  • Arduino UNO
  • Shield cu Driver de Motoare L293D
  • Motor cu reductor și roată x4
  • Baterie 9V
  • Senzor ultrasonic distanță HC-SR04
  • Fire mamă-tată, tată-tată
  • Șasiu găurit conform necesităților, realizat din Lego
  • Suport pentru senzorul de distanță, realizat din Lego

Software Design

Laboratoarele folosite în vederea realizării proiectului:

Laboratorul 2: Digital Debugging, USART

Noțiuni folosite în mare parte pentru debugging în cazul celor două module Bluetooth HC-05. Am înțeles modul de funcționare al interfeței seriale USART, conectarea și setarea corectă liniei pentru transmisie, notată Tx, și liniei pentru recepție, notată Rx.

Laboratorul 3: Întreruperi externe. PWM

Noțiuni folosite pentru a mișca efectiv mașina. Controlul direcției și al vitezei se realizează cu PWM, fiecare motor primește o direcție FORWARD/BACKWARD, diferit pentru a vira stânga/dreapta sau primesc toate aceeași direcție pentru ca mașina să se deplaseze față/spate, iar pinul pentru viteză este scris cu PWM.

Laboratorul 4: Analog Digital Convertor (ADC)

Noțiuni folosite pentru a citi și interpreta rezultatele transmise de senzorul de distanță. Pe baza acestora, mașina merge înainte sau virează stânga/dreapta.

Rezultate Obţinute

Mașina merge conform așteptărilor. Am testat dispozitivul în casă, pe covor, unde condusul este îngreunat, în special în viraje.

Dificultăți întâmpinate: Ideea inițială era de a avea o telecomandă, cu un joystick pentru a controla direcția mașinii, iar senzorul de distanță să fie doar un mecanism de protecție împotriva coliziunii cu obstacole.

Telecomanda ar fi trimis prin Bluetooth datele citite de la joystick, astfel ar fi existat un modul HC-05 master care ar fi comunicat cu modulul HC-05 slave de pe mașinuță. Citirea datelor de la joystick nu a fost o problemă, nici setarea inițială a modulelor Bluetooth în modul master sau slave. Problema a apărut în momentul în care trimiteam datele de la telecomandă spre mașinuță, informația recepționată nu era cea corectă.

După debug, aș zice că problema a apărut de la modulul HC-05, care are nevoie de pini specifici pentru Rx și Tx, pini ocupați pe Arduino de L293D.

Concluzii

Un proiect interesant, diferit de o temă standard, din care am învățat foarte multe, mai ales din problemele întâmpinate. Deși proiectul nu este conform așteptărilor mele inițiale, am lucrat și am depanat cu drag atât pe partea de hardware, cât și de software.

Download

Arihva conține următoarele fișiere:

  • Codul sursă de pe plăcuța Arduino
  • Imaginile regăsite pe pagina wiki
  • Filmuleț demo proiect

masinutza-senzor-distanta.zip

Jurnal/Pașii urmați

Pasul 1: Scriere documentație inițială.

Pasul 2: Comandare piese necesare.

Pasul 3: Construire șasiu din Lego.

Pasul 4: Asamblare hardware.

Pasul 5: Scriere software.

Pasul 6: Depanare hardware și software.

Pasul 7: Finalizare și modificare documentație.

Bibliografie/Resurse

pm/prj2023/adarmaz/bluetoothcar.txt · Last modified: 2023/05/30 12:55 by alexandra.cornea01
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