Scopul proiectului este acela de a invata si aplica practic lucrul cu microcontrolerul ATmega328P, in jurul caruia este construita placa Arduino Uno.
Ideea de baza de la care am pornit a fost aceea ca daca vom conecta la placa Arduino uno periferice de tip senzori IR sau ultrasonic, vom putea implementa anumite functii. Astfel, cu senzorii de tip IR vom implementa functia de urmarire linie neagra, iar cu senzori de tip ultrasunet vom implementa functia de evitare a obstacolelor.
Proiectul este util pentru mine in sensul de a invata lucrul cu microcontrolere prin definirea si implementarea unei aplicatii practice.
Proiectul poate fi util pentru altii ca o baza peste care se pot adauga noi functii.
Schema contine placa Arduino Uno, un modul Arduino Shield V5, doua motoare cu doua roti, trei senzori IR line follow, un senzor ultrasonic. Placa Arduino ruleaza programul de control, care va primi date de la senzorii IR si ultrasonic si va da comenzile necesare la cele doua motoare, pentru deplasarea corespunzatoare, stanga-dreapta, inainte-inapoi. Pe display se afiseaza numele robotului.
Components
Name | Quantity |
---|---|
Arduino Uno | 1 |
Ultrasonic senzor | 1 |
Display | 1 |
Motor cu roata | 2 |
Arduino shield V5 | 1 |
L298N Motor driver | 1 |
IR line follow senzor | 1 |
9V Battery | 1 |
Sasiu plastic | 1 |
Pentru modul line follower, placa arduino citeste starea celor trei senzori IR. Atat timp cat senzorul central este activ si senzorii stanga si dreapta inactivi, inseamna ca robotul este pe linia neagra si se da comanda de mers inainte, la ambele motoare. Daca senzorul stanga este activ, iar senzorii central si dreapta sunt inactivi, robotul tinde sa iasa de pe linie spre dreapta si placa centrala va da comanda de intoarcere stanga.
Daca senzorul dreapta este activ, iar senzorii central si stanga sunt inactivi, robotul tinde sa iasa de pe linie spre stanga si placa centrala va da comanda de intoarcere dreapta.
Pentru modul obstacle avoidance, senzorul ultrasonic masoara in permanenta distanta in centimetri fata de obiectul din fata. Cand distanta este mai mica de 10 cm, placa Arduino da comanda de intoarcere dreapta pentru ocolire obstacol. Cand distanta este mai mica de 2 cm, placa Arduino da comanda de stop si mers inapoi pana distanta devine 10 cm, dupa care se da comanda de intoarcere dreapta pentru ocolire obstacol.
Dupa implementarea proiectului, am invatat :