
Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-23 14:37


Zdravo momci, u ovom Instructableu ćete napraviti prepreku izbjegavajući robota. Ovaj Instructable uključuje izgradnju robota s ultrazvučnim senzorom koji može otkriti obližnje objekte i promijeniti njihov smjer kako bi izbjegao te objekte. Ultrazvučni senzor bit će pričvršćen na servo motor koji stalno skenira lijevo i desno tražeći predmete na svom putu.
Dakle, bez daljnjih zalogaja, počnimo!
Korak 1: Šta vam je potrebno u ovom projektu:


Evo liste dijelova:
1) Arduino Uno
2) Štit vozača motora
3) Motor zupčanika, okvir i kotači
4) Servo motor
5) Ultrazvučni senzor
6) Li-ion baterija (2x)
7) Držač baterije
8) Muška i ženska kratkospojna žica
9) Lemilica
10) Punjač
Korak 2: Dijagram kola

Rad:
Prije nego što počnete raditi na projektu, važno je razumjeti kako funkcionira ultrazvučni senzor. Osnovni princip rada ultrazvučnog senzora je sljedeći:
Koristeći vanjski signal okidača, okidač na ultrazvučnom senzoru postaje logički visok najmanje 10µs. Šalje se zvučni signal iz odašiljačkog modula. Sastoji se od 8 impulsa od 40KHz.
Signali se vraćaju natrag nakon udarca u površinu i prijemnik detektira ovaj signal. Echo pin je visok od trenutka slanja signala i prijema. Ovo vrijeme se može pretvoriti u udaljenost pomoću odgovarajućih proračuna.
Cilj ovog projekta je implementirati robota koji izbjegava prepreke pomoću ultrazvučnog senzora i Arduina. Svi priključci su izvedeni prema shemi kola. U nastavku se objašnjava rad projekta.
Kada je robot uključen, oba motora robota će raditi normalno i robot će se kretati naprijed. Za to vrijeme ultrazvučni senzor kontinuirano izračunava udaljenost između robota i reflektirajuće površine.
Ove podatke obrađuje Arduino. Ako je udaljenost između robota i prepreke manja od 15 cm, Robot se zaustavlja i skenira u lijevom i desnom smjeru za novu udaljenost pomoću Servo motora i ultrazvučnog senzora. Ako je udaljenost prema lijevoj strani veća od udaljenosti desne strane, robot će se pripremiti za skretanje ulijevo. Ali prvo se malo sigurnosno kopira, a zatim aktivira motor lijevog kotača u obrnutom smjeru.
Slično, ako je desna udaljenost veća od udaljenosti lijeve udaljenosti, Robot priprema rotaciju udesno. Ovaj proces se nastavlja zauvijek, a robot se nastavlja kretati bez udarca u bilo koju prepreku.
Korak 3: Programiranje Arduino UNO -a
#include
#include
#include
# definirajte TRIG_PIN A1
# definirajte ECHO_PIN A0
# definirajte MAX_DISTANCE 200
# define MAX_SPEED 255 // postavlja brzinu istosmjernih motora
# define MAX_SPEED_OFFSET 20
NewPing sonar (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor motora3 (3, MOTOR34_1KHZ);
AF_DCMotorni motor4 (4, MOTOR34_1KHZ); Servo myservo;
boolean goesForward = false;
int udaljenost = 100; int speedSet = 0;
void setup () {
myservo.attach (10);
myservo.write (115); kašnjenje (2000); distance = readPing (); kašnjenje (100); distance = readPing (); kašnjenje (100); distance = readPing (); kašnjenje (100); distance = readPing (); kašnjenje (100); }
void loop () {{100} {101}
int udaljenostR = 0; int udaljenostL = 0; kašnjenje (40);
if (udaljenost <= 15) {moveStop (); kašnjenje (100); moveBackward (); kašnjenje (300); moveStop (); kašnjenje (200); distanceR = lookRight (); kašnjenje (200); distanceL = lookLeft (); kašnjenje (200);
if (distanceR> = distanceL) {
turnRight (); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } distance = readPing (); }
int lookRight () {
myservo.write (50); kašnjenje (500); int udaljenost = readPing (); kašnjenje (100); myservo.write (115); povratna udaljenost; }
int lookLeft () {
myservo.write (170); kašnjenje (500); int udaljenost = readPing (); kašnjenje (100); myservo.write (115); povratna udaljenost; kašnjenje (100); }
int readPing () {
kašnjenje (70); int cm = sonar.ping_cm (); ako (cm == 0) {cm = 250; } return cm; }
void moveStop () {
motor3.run (RELEASE);
motor4.run (RELEASE); }
void moveForward () {
if (! ide naprijed) {
goesForward = true;
motor3.run (NAPRIJED);
motor4.run (NAPRIJED); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // polako povećavajte brzinu kako biste izbjegli prebrzo punjenje baterija {
motor3.setSpeed (speedSet);
motor4.setSpeed (speedSet); kašnjenje (5); }}}
void moveBackward () {
goesForward = false;
motor3.run (NAZAD);
motor4.run (NAZAD); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // polako povećavajte brzinu kako biste izbjegli prebrzo punjenje baterija {
motor3.setSpeed (speedSet);
motor4.setSpeed (speedSet); kašnjenje (5); }}
void turnRight () {
motor3.run (NAPRIJED);
motor4.run (NAZAD); kašnjenje (500);
motor3.run (NAPRIJED);
motor4.run (NAPRIJED); }
void turnLeft () {
motor3.run (NAZAD);
motor4.run (NAPRIJED); kašnjenje (500);
motor3.run (NAPRIJED);
motor4.run (NAPRIJED); }
1) Preuzmite i instalirajte Arduino Desktop IDE
- windows -
- Mac OS X -
- Linux -
2) Preuzmite i zalijepite datoteku biblioteke NewPing (biblioteka funkcija ultrazvučnog senzora) u mapu Arduino biblioteke.
- Preuzmite NewPing.rar ispod
- Raspakujte ga na putanju - C: / Arduino / libraries
3) Prenesite kôd na Arduino ploču putem USB kabela
Preuzmite kôd:
Korak 4: Odlično

Sada je vaš robot spreman da izbjegne svaku prepreku …
Rado ću odgovoriti na svako vaše pitanje
Emailme: [email protected]
Web stranica:
Pretplatite se na moj YouTube kanal:
Instagram:
Facebook:
Hvala ti:)
Preporučuje se:
Robot za izbjegavanje prepreka pomoću ultrazvučnog senzora (Proteus): 12 koraka

Robot za izbjegavanje prepreka pomoću ultrazvučnog senzora (Proteus): Obično nailazimo na robota za izbjegavanje prepreka posvuda. Hardverska simulacija ovog robota dio je konkurencije na mnogim fakultetima i na mnogim događajima. Softverska simulacija robota sa preprekama je rijetka. Iako ga možemo negdje pronaći
Arduino brojač s TM1637 LED zaslonom i senzorom za izbjegavanje prepreka: 7 koraka

Arduino brojač pomoću TM1637 LED ekrana i senzora za izbjegavanje prepreka: U ovom ćemo vodiču naučiti kako napraviti jednostavan brojač pomoću LED zaslona TM1637 i senzora za izbjegavanje prepreka i Visuina. Pogledajte video
Kako napraviti domaćeg robota za kontrolu pokreta Arduino kod kuće: 4 koraka

Kako napraviti DIY Arduino robota za kontrolu pokreta kod kuće: Kako napraviti DIY Arduino robota za kontrolu pokreta kod kuće. U ovom projektu pokazat ću vam kako napraviti DIY Arduino robota za kontrolu pokreta
5 u 1 Arduino Robot - Follow Me - Line Follow - Sumo - Crtanje - Izbjegavanje prepreka: 6 koraka

5 u 1 Arduino Robot | Follow Me | Line Follow | Sumo | Crtanje | Izbjegavanje prepreka: Ova upravljačka ploča robota sadrži mikrokontroler ATmega328P i upravljački program motora L293D. Naravno, ne razlikuje se od Arduino Uno ploče, ali je korisnije jer ne treba drugi štit za pogon motora! Bez skokova
Kako koristiti IC senzor za izbjegavanje prepreka na Arduinu: 4 koraka

Kako koristiti IC osjetnik za izbjegavanje prepreka na Arduinu: Zdravo, svi, U ovom članku ću napisati kako se koristi IR osjetnik za izbjegavanje okolnosti na Arduinu. Potrebne komponente: Senzor za izbjegavanje IC prepreka Arduino Nano V.3 Žica za preskakanje USBminiPotreban je softver: Arduino IDE