Table of Contents

Robot care evită obstacolele

Introducere

Un robot care va evita obstacolele, folosindu-se de informațiile primite de la 3 senzori de distanță, ce vor măsura distanțele pe 3 direcții (stânga, față, dreapta). Viteza robotului se va putea regla prin intermediul unui potențiometru.

Descriere generală

Schemă bloc:

Robotul va merge înainte până când va întâlni un obstacol. Cei 3 senzori vor transmite către robot distanțele până la primul obstacol pe direcțiile stânga, dreapta și înainte. Astfel, robotul se va orienta către direcția cu distanța cea mai mare până la obstacol și își va continua mișcarea. Prin intermediul potențiometrului se va putea regla viteza robotului.

Hardware Design

Listă componente:

Data Sheets:

Schema electrică

Software Design

Mediu de dezvoltare folosit: Arduino IDE 1.8.19

Biblioteca folosită: L298N - pentru controlul celor 2 motoare

Funcții implementate

În setup se setează modul de utilizare a pinilor și se setează viteza inițială, citind valoarea potențiometrului.

În funcția getDist se calculează distanța de la robot până la obstacol, folosind unul din senzorii de distantă. Distanta maxima pe care o poate citi senzorul este 4.5m.

Funcțiile turnRight și turnLeft întorc robotul (cu aprox. 90°, depinde de suprafața pe care se află).

Funcția changeSpeed citește valoarea potențiometrului, calculează noua viteză și apoi schimbă viteza robotului.

În loop:

Rezultate Obținute

Concluzii

Robotul reușește să evite cu succes obstacolele aflate în fața sa și să se orienteze către direcția cu distanța cea mai mare până la un obstacol. Pot apărea unele probleme atunci când robotul se apropie de un obiect (mai ales colțurile unor pereți) ce nu se afla în raza de acțiune a senzorilor. De asemenea, robotul se rotește cu un unghi ce va depinde de suprafața pe care se află (robotul se rotește cu o viteză constantă pentru un timp setat din codul sursa).

Download

Export to PDF

Sursa + Schema electrica

Bibliografie/Resurse

Biblioteca L298N

Datasheet HC-SR04

Datasheet L298N