Kako napraviti jednostavnog robota

Kako napraviti jednostavnog robota

Izrada jednostavnog robota zabavan je način učenja o elektronici, osnovama mehanike i programiranju. Mnogi ljudi misle da roboti moraju biti skupi i komplicirani, ali zapravo možemo početi s malim projektima koje je lako sastaviti kod kuće. U ovom ćemo članku izgraditi jednostavnog robota za izbjegavanje prepreka pomoću ultrazvučnih senzora. Ovaj robot može hodati naprijed i automatski se okretati kada otkrije objekt ispred sebe. Ovaj je projekt prikladan za početnike , studente ili sve koji žele početi učiti robotiku.

1. Razumjeti koncept jednostavnih robota

Općenito, roboti imaju tri glavne komponente: mozak (kontroler), osjetila (senzore) i mišiće (aktuatore). U ovom projektu:

– Kontroler: Arduino Uno (ili kompatibilni)
– Senzor: HC-SR04 ultrazvučni senzor za mjerenje udaljenosti
– Aktuator: istosmjerni motor koji pokreće kotače
– Upravljački program motora: L298N (ili L293D) upravljački program motora kako bi se motorom moglo upravljati pomoću Arduina

Kada senzor očita udaljenost ispred robota, a udaljenost je preblizu, Arduino će narediti upravljačkom programu motora da promijeni smjer kretanja, na primjer skretanje desno ili lijevo.

2. Potrebni alati i materijali

Evo popisa često korištenih komponenti koje je lako pronaći u trgovinama elektronike ili na tržištima:

1. Arduino Uno (1 komad)
2. L298N upravljački program motora (1 komad)
3. Ultrazvučni senzor HC-SR04 (1 komad)
4. DC motor + mjenjač i kotači (2 komada) za robota s 2 kotača (diferencijalni pogon)
5. Kotač za okretanje (1 komad) mali balansirajući kotač sprijeda ili straga
6. Baterije (npr. 2×18650 ili 7,4V paket) ili 6xAA, prema potrebama motora
7. Šasija robota (može se kupiti gotova ili izrađena od akrila/šperploče)
8. Kablovi za paljenje (muško-ženski i muško-muški)
9. Prekidač za uključivanje/isključivanje (opcionalno, ali vrlo korisno)
10. Mala ploča za izradu (opcionalno)
11. Vijci, matice, odvijači i vruće ljepilo po potrebi

Ako želite nešto još jednostavnije (bez ultrazvučnih senzora), možete izgraditi robota koji "prati liniju" s linijskim senzorima, ali verzije za izbjegavanje prepreka često se čine "življima" jer reagiraju na objekte ispred sebe.

3. Projektiranje šasije robota

Šasija je okvir na koji su montirane sve komponente. Možete koristiti gotov komplet šasije ili ga sami izraditi od laganih materijala poput akrila, PVC-a ili tankog drva. Princip je sljedeći:

– Montirajte dva istosmjerna motora s lijeve i desne strane.
– Montirajte kotače na motocikl.
– Dodajte kotačić kao balanser kako biste robota učinili stabilnim.
– Postavite bateriju u položaj koji neće naginjati robota.
– Arduino i upravljački programi motora trebaju biti postavljeni na vrh radi lakšeg pristupa.

Pazite da kabel ne visi kako se ne bi zapleo u kotače.

4. Osnovni dijagram ožičenja

Evo općeg koncepta povezivanja (pinovi se mogu prilagoditi):

a) Motor prema upravljačkom programu L298N
– Lijevi motor na izlaz OUT1 i OUT2
– Desni motor na izlaz OUT3 i OUT4

b) L298N upravljački program za Arduino
– IN1, IN2 za lijevi motor na neke Arduino digitalne pinove
– IN3, IN4 za desni motor na neke Arduino digitalne pinove
– ENA i ENB (omogućavanje) mogu se spojiti na Arduino PWM pinove za kontrolu brzine (opcionalno). Ako ne, neki L298N moduli već imaju kratkospojnik za omogućavanje koji omogućuje motoru rad punom brzinom.

c) HC-SR04 senzor za Arduino
– VCC na 5V Arduino
– GND na GND Arduino
– TRIG na digitalni pin Arduina
– ECHO na Arduino digitalni pin

d) Moć
Motoru je potrebna veća struja nego što Arduino može pružiti. Stoga:
– Glavna baterija ide na upravljački sklop motora (+12V i GND terminali na L298N).
– Arduino se može napajati i iz baterije (putem VIN-a) ili zasebnog powerbanka/USB-a.
– Uzemljenje: Uzemljenje baterije/drajvera i uzemljenje Arduina moraju biti spojeni kako bi kontrolni signal bio stabilan.

Najčešća greška među početnicima je zaboravljanje spajanja GND-a, pa se robot kreće nepravilno.

5. Logika rada robota za izbjegavanje prepreka

Robot će raditi s jednostavnim tokom:

1. Očitajte udaljenost s ultrazvučnog senzora.
2. Ako je udaljenost > prag (npr. 20 cm), robot se kreće naprijed.
3. Ako je udaljenost ≤ 20 cm, robot se nakratko zaustavlja.
4. Robot se malo pomakne unatrag, a zatim se okrene (na primjer udesno) na nekoliko stotina milisekundi.
5. Ponovno očitajte udaljenost i ponovite.

S ovim uzorkom, robot će izgledati kao da "izbjegava" prepreke, čak i ako ne odabere najoptimalniji put.

6. Jednostavan primjer Arduino koda

Ispod je osnovni primjer koda. Možete prilagoditi pinove kako bi odgovarali vašem strujnom krugu:

“`cpp
definiraj TRIG 8
definiraj ECHO 9

// Lijevi motor
definiraj IN1 2
definiraj IN2 3

// Desni motor
definiraj IN3 4
definiraj IN4 5

dugo trajanje;
unna udaljenost;

int čitajUdaljenost() {
digitalnoPiši(TRIG, LOW);
kašnjenje mikrosekunde (2);
digitalnoPiši(TRIG, VISOKI);
kašnjenje mikrosekunde (10);
digitalnoPiši(TRIG, LOW);

trajanje = pulsIn(ECHO, HIGH);
int cm = trajanje 0.034 / 2;
povratni cm;
}

void forward() {
digitalnoPisanje(IN1, VISOKO);
digitalnoPisanje(ULAZ2, NIZAK);
digitalnoPisanje(IN3, VISOKO);
digitalnoPisanje(ULAZ4, NIZAK);
}

void obrnuto() {
digitalnoPisanje(ULAZ1, NIZAK);
digitalnoPisanje(IN2, VISOKO);
digitalnoPisanje(ULAZ3, NIZAK);
digitalnoPisanje(IN4, VISOKO);
}

void skretanje desno() {
digitalnoPisanje(IN1, VISOKO);
digitalnoPisanje(ULAZ2, NIZAK);
digitalnoPisanje(ULAZ3, NIZAK);
digitalnoPisanje(IN4, VISOKO);
}

void stop() {
digitalnoPisanje(ULAZ1, NIZAK);
digitalnoPisanje(ULAZ2, NIZAK);
digitalnoPisanje(ULAZ3, NIZAK);
digitalnoPisanje(ULAZ4, NIZAK);
}

void setup () {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);

pinMode(ULAZ1, IZLAZ);
pinMode(ULAZ2, IZLAZ);
pinMode(ULAZ3, IZLAZ);
pinMode(ULAZ4, IZLAZ);

Serijski počet (9600);
}

petlja void () {
udaljenost = pročitajUdaljenost();
Serial.println(udaljenost);

ako je (udaljenost > 20) {
nastaviti();
} Else {
Stop();
kašnjenja (200);
obrnuto();
kašnjenja (300);
Stop();
kašnjenja (200);
skrenite desno();
kašnjenja (400);
Stop();
}

kašnjenja (50);
}
"`

Ovaj kod je najosnovnija verzija. Ako se robot prečesto ruši, možete povećati prag na 25–30 cm ili povećati vrijeme okretanja.

7. Testiranje i podešavanje

Nakon što je robot sastavljen, provedite postupno testiranje:

1. Prvo testirajte motor: pokrenite funkciju naprijed/natrag kako biste bili sigurni da se kotači okreću u ispravnom smjeru.
2. Testirajte ultrazvučni senzor: pogledajte rezultate udaljenosti u Arduino IDE serijskom monitoru.
3. Spojite sustav: pokrenite cijeli program i promatrajte reakciju robota.

Ako se robot okreće ili kreće unatrag kada bi se trebao kretati naprijed, možda ćete morati zamijeniti kabele motora ili obrnuti logiku IN1-IN2 (i IN3-IN4).

8. Uobičajeni problemi i rješenja

Neke prepreke koje se često javljaju:

– Robot se uopće ne miče: provjerite bateriju, provjerite upravljački program motora, provjerite je li kratkospojnik za omogućavanje aktivan.
– Arduino se resetira dok motor radi: nedovoljno napajanje ili buka motora. Pokušajte koristiti zasebnu bateriju za Arduino, dodati kondenzator i popraviti uzemljenje.
– Očitavanje senzora udaljenosti je nestabilno: provjerite je li senzor okrenut ravno, držite ga podalje od prekomjernih vibracija i provjerite je li kabel labav.
– Robot je „zaglavljen“ u kutu: dodajte logiku nasumičnog okretanja ili upotrijebite servo motore za pomicanje senzora kako bi mogli „gledati“ lijevo i desno.

9. Ideje za razvoj nakon uspjeha

Nakon što je osnovni robot pokrenut, možete ga nadograditi na nešto zanimljivije:

– Dodavanje servo motora za pomicanje ultrazvučnih senzora kako bi robot odabrao najbolju putanju.
– Dodana je Bluetooth kontrola (HC-05) tako da se može upravljati s mobilnog telefona.
– Korištenje linijskih senzora za izradu robota koji prati liniju.
– Podesite brzinu PWM-a za glatkije kretanje.
– Dodajte zujalicu ili LED kao indikator prilikom otkrivanja prepreke.

Zaključak

Izrada jednostavnog robota ne mora biti teška. S Arduinom, istosmjernim motorom, pogonskim sklopom motora i ultrazvučnim senzorom možete stvoriti robota koji se može automatski kretati i izbjegavati prepreke. Ključevi uspjeha su uredno ožičenje, dovoljni resursi i temeljito testiranje. Nakon što uspješno završite ovaj projekt, bit ćete bolje pripremljeni za rješavanje složenijih robotskih projekata, poput pametnog robota temeljenog na kameri ili onog koji može pratiti objekte.

Ako želite, mogu vam pomoći u izradi detaljnijeg dijagrama ožičenja prema pinovima koje odaberete ili prilagoditi kod tako da robot može nasumično okretati lijevo/desno i biti „inteligentniji“.

Ostavite komentar