Sadržaj:
- Korak 1: Ono što vam treba u ovom projektu:
- Korak 2: Dijagram kruga
- Korak 3: Programiranje Arduino UNO
- Korak 4: Odlično
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
Pozdrav dečki, u ovom Instructableu učinit ćete prepreku izbjegavajući robota. Ovaj Instructable uključuje izgradnju robota s ultrazvučnim senzorom koji može detektirati obližnje objekte i promijeniti njihov smjer kako bi se ti objekti izbjegli. 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 odlaganja, počnimo!
Korak 1: Ono što vam treba u ovom projektu:
Evo popisa 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 žica kratkospojnika
9) Lemilica
10) Punjač
Korak 2: Dijagram kruga
Rad:
Prije nego što krenete raditi na projektu, važno je razumjeti kako ultrazvučni senzor radi. 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 primanja. Ovo se vrijeme može pretvoriti u udaljenost pomoću odgovarajućih izračuna.
Cilj ovog projekta je implementirati robota koji izbjegava prepreke pomoću ultrazvučnog senzora i Arduina. Svi spojevi izvedeni su prema shemi kola. U nastavku se objašnjava rad projekta.
Kad je robot uključen, oba motora robota će raditi normalno i robot će se kretati naprijed. Za to vrijeme ultrazvučni senzor neprestano 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. No, 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. Taj se proces nastavlja zauvijek, a robot se nastavlja kretati bez udarca u bilo koju prepreku.
Korak 3: Programiranje Arduino UNO
#uključi
#uključi
#uključi
# 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
Sonar NewPing (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor motora3 (3, MOTOR34_1KHZ);
AF_DCMotor motora4 (4, MOTOR34_1KHZ); Servo myservo;
boolean goesForward = false;
int udaljenost = 100; int speedSet = 0;
void setup () {
myservo.attach (10);
myservo.write (115); odgoda (2000); udaljenost = readPing (); kašnjenje (100); udaljenost = readPing (); kašnjenje (100); udaljenost = readPing (); kašnjenje (100); udaljenost = 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); udaljenostL = lookLeft (); kašnjenje (200);
if (udaljenostR> = udaljenostL) {
skrenuti desno(); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } udaljenost = 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) {
ide naprijed = istina;
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 () {
ideForward = 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 knjižnice NewPing (biblioteka funkcija ultrazvučnog senzora) u mapu Arduino knjižnice.
- U nastavku preuzmite NewPing.rar
- Raspakirajte ga na stazu - C: / Arduino / libraries
3) Prenesite kôd na Arduino ploču putem USB kabela
Kod za preuzimanje:
Korak 4: Odlično
Sada je vaš robot spreman izbjeći svaku prepreku …
Rado ću odgovoriti na sva vaša pitanja
Pošalji mi e -poštu: [email protected]
Web stranica:
Pretplatite se na moj YouTube kanal:
Instagram:
Facebook:
Hvala vam:)
Preporučeni:
Kako napraviti senzor vibracija za proljeće kod kuće!: 5 koraka (sa slikama)
Kako napraviti osjetnik opružnih vibracija kod kuće !: Radio sam na novom projektu koji uključuje senzor vibracija opruge poznat i kao "jadnik" akcelerometar/senzor pokreta! Ovi prekidači s opružnim vibracijama su prekidači okidača visoke osjetljivosti koji nisu usmjereni vibracijama. Unutra je
Kako sam napraviti 32 -band LED analizator audio audio glazbenog spektra pomoću Arduino Nano kod kuće #arduinoproject: 8 koraka
Kako DIY 32 -pojasni LED analizator audio audio glazbenog spektra pomoću Arduino Nano kod kuće #arduinoproject: Danas ćemo kod kuće napraviti 32 -pojasni analizator audio audio glazbenog spektra kod kuće pomoću Arduina, on može istovremeno prikazivati frekvencijski spektar i reproducirati muisc. mora biti spojen ispred otpornika od 100 k, u protivnom buka pipa
Kako napraviti domaćeg robota za kontrolu pokreta Arduino kod kuće: 4 koraka
Kako napraviti domaćeg robota za upravljanje pokretima Arduino: Kako napraviti robota za upravljanje pokretima DIY Arduina kod kuće. U ovom projektu pokazat ću vam kako napraviti DIY Arduino upravljački pokret za kretanje
Kako napraviti Rc avion kod kuće ispod 60 USD: 4 koraka
Kako napraviti RC avion kod kuće ispod 60 USD: Danas ću vam pokazati kako izgraditi RC avion ispod 60 USD. Za razumijevanje možete pogledati moj video na youtube -u. U videu sam rekao cijenu u indijskim rupijama jer želim ciljati indijsku publiku. Ako vam se sviđa moj video, pretplatite se na moj kanal za budućnost
Kako koristiti IC osjetnik za izbjegavanje prepreka na Arduinu: 4 koraka
Kako koristiti IC osjetnik za izbjegavanje prepreka na Arduinu: Pozdrav svima, U ovom članku ću napisati kako koristiti IC osjetnik za izbjegavanje okolnosti na Arduinu. Potrebne komponente: Senzor za izbjegavanje IC prepreka Arduino Nano V.3 Jumpe žica USBminiPotreban je softver: Arduino IDE