Ako vyrobiť jednoduchého robota

Ako vyrobiť jednoduchého robota

Stavba jednoduchého robota je zábavný spôsob, ako sa učiť o elektronike, základoch mechaniky a programovaní. Mnoho ľudí si myslí, že roboty musia byť drahé a zložité, ale v skutočnosti môžete začať s malým projektom, ktorý sa dá ľahko zostaviť doma. V tomto článku si postavíme jednoduchého robota, ktorý sa vyhýba prekážkam pomocou ultrazvukových senzorov. Tento robot sa dokáže pohybovať dopredu a automaticky sa otáčať, keď pred sebou zistí objekt. Tento projekt je vhodný pre začiatočníkov, študentov alebo kohokoľvek, kto sa chce začať učiť robotiku.

1. Pochopte koncept jednoduchých robotov

Vo všeobecnosti majú roboty tri hlavné komponenty: mozog (ovládač), zmysly (senzory) a svaly (aktuátory). V tomto projekte:

– Ovládač: Arduino Uno (alebo kompatibilný)
– Senzor: Ultrazvukový senzor HC-SR04 na meranie vzdialenosti
– Pohon: jednosmerný motor, ktorý poháňa kolesá
– Ovládač motora: ovládač motora L298N (alebo L293D), aby bolo možné motor ovládať pomocou Arduina

Keď senzor načíta vzdialenosť pred robotom a táto vzdialenosť je príliš malá, Arduino vydá ovládaču motora pokyn na zmenu smeru pohybu, napríklad na odbočenie doprava alebo doľava.

2. Potrebné nástroje a materiály

Tu je zoznam bežne používaných komponentov, ktoré sa dajú ľahko nájsť v obchodoch s elektronikou alebo na trhoviskách:

1. Arduino Uno (1 kus)
2. Ovládač motora L298N (1 kus)
3. Ultrazvukový senzor HC-SR04 (1 kus)
4. Jednosmerný motor + prevodovka a kolesá (2 kusy) pre dvojkolesového robota (diferenciálny pohon)
5. Koliesko (1 kus) malé vyvažovacie koliesko vpredu alebo vzadu
6. Batérie (napr. 2×18650 alebo 7,4V balenie) alebo 6xAA, podľa potrieb motora
7. Podvozok robota (možno zakúpiť hotový alebo vyrobený z akrylu/preglejky)
8. Štartovacie káble (samec-samica a samec-samec)
9. Vypínač (voliteľné, ale veľmi užitočné)
10. Malá doska na krájanie (voliteľné)
11. Skrutky, matice, skrutkovače a tavné lepidlo podľa potreby

Ak chcete niečo ešte jednoduchšie (bez ultrazvukových senzorov), môžete si postaviť robota „sledujúceho čiaru“ s čiarovými senzormi, ale verzie na vyhýbanie sa prekážkam sa často zdajú byť „živšie“, pretože reagujú na objekty pred nimi.

READ  Základná teória elektromagnetických vĺn

3. Navrhovanie podvozku robota

Podvozok je rám, na ktorom sú namontované všetky komponenty. Môžete použiť hotovú stavebnicu podvozku alebo si postaviť vlastný z ľahkých materiálov, ako je akryl, PVC alebo tenké drevo. Princíp je:

– Namontujte dva jednosmerné motory na ľavú a pravú stranu.
– Namontujte kolesá na motocykel.
– Pridajte koliesko ako vyvažovač, aby bol robot stabilný.
– Batériu umiestnite do polohy, ktorá robota nenakloní.
– Arduino a ovládače motora by mali byť umiestnené navrchu pre ľahký prístup.

Uistite sa, že kábel nevisí, aby sa nezachytil v kolesách.

4. Základná schéma zapojenia

Tu je všeobecný koncept pripojenia (piny sú prispôsobiteľné):

a) Motor k ovládaču L298N
– Ľavý motor k výstupu OUT1 a OUT2
– Pravý motor k výstupu OUT3 a OUT4

b) Ovládač L298N pre Arduino
– IN1, IN2 pre ľavý motor k niektorým digitálnym pinom Arduina
– IN3, IN4 pre pravý motor k niektorým digitálnym pinom Arduina
– ENA a ENB (povolené) je možné pripojiť k pinom PWM Arduina na riadenie rýchlosti (voliteľné). Ak nie, niektoré moduly L298N už majú prepojku povolenia, ktorá umožňuje motoru bežať na plné otáčky.

c) Senzor HC-SR04 k Arduinu
– VCC na 5V Arduino
– GND k GND Arduinu
– TRIG k digitálnemu pinu Arduina
– ECHO na digitálny pin Arduina

d) Výkon
Motor vyžaduje viac prúdu, než dokáže Arduino dodať. Preto:
– Hlavná batéria sa pripája k vodiču motora (+12V a GND svorky na L298N).
– Arduino je možné napájať aj z batérie (cez VIN) alebo zo samostatnej powerbanky/USB.
– Uzemnenie: Pre stabilný riadiaci signál musia byť pripojené uzemnenie batérie/ovládača a uzemnenie Arduina.

Najčastejšou chybou začiatočníkov je zabudnutie pripojiť uzemnenie, čo spôsobuje nepravidelný pohyb robota.

READ  Úvod do inteligentných sietí

5. Pracovná logika robota na vyhýbanie sa prekážkam

Robot bude pracovať podľa jednoduchého postupu:

1. Odčítajte vzdialenosť z ultrazvukového senzora.
2. Ak je vzdialenosť > prahová hodnota (napr. 20 cm), robot sa pohybuje dopredu.
3. Ak je vzdialenosť ≤ 20 cm, robot sa krátko zastaví.
4. Robot sa trochu pohne dozadu a potom sa na niekoľko stoviek milisekúnd otočí (napríklad doprava).
5. Znova odčítajte vzdialenosť a zopakujte.

S týmto vzorom sa bude zdať, že robot sa „vyhýba“ prekážkam, aj keď si nezvolí najoptimálnejšiu cestu.

6. Jednoduchý príklad kódu pre Arduino

Nižšie je uvedený základný príklad kódu. Piny si môžete prispôsobiť tak, aby vyhovovali vášmu obvodu:

“`cpp
definovať TRIG 8
definovať ECHO 9

// Ľavý motor
definovať IN1 2
definovať IN2 3

// Pravý motor
definovať IN3 4
definovať IN4 5

dlhé trvanie;
vzdialenosť int;

int readVzdialenosť() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);

trvanie = pulzIn(ECHO, HIGH);
int cm = trvanie 0.034 / 2;
návrat cm;
}

void forward() {
digitálnyWrite(IN1, HIGH);
digitálnyZápis(IN2, LOW);
digitálnyWrite(IN3, HIGH);
digitálnyZápis(IN4, LOW);
}

void reverzne() {
digitálnyZápis(IN1, LOW);
digitálnyWrite(IN2, HIGH);
digitálnyZápis(IN3, LOW);
digitálnyWrite(IN4, HIGH);
}

void odbočiťVpravo() {
digitálnyWrite(IN1, HIGH);
digitálnyZápis(IN2, LOW);
digitálnyZápis(IN3, LOW);
digitálnyWrite(IN4, HIGH);
}

void stop() {
digitálnyZápis(IN1, LOW);
digitálnyZápis(IN2, LOW);
digitálnyZápis(IN3, LOW);
digitálnyZápis(IN4, LOW);
}

void setup () {
pinMode(TRIG, VÝSTUP);
pinMode(ECHO, INPUT);

pinMode(VSTUP1, VÝSTUP);
pinMode(VSTUP2, VÝSTUP);
pinMode(VSTUP3, VÝSTUP);
pinMode(VSTUP4, VÝSTUP);

Serial.egegin (9600);
}

void loop () {
vzdialenosť = čítaťVzdialenosť();
Serial.println(vzdialenosť);

ak (vzdialenosť > 20) {
pokračovať();
} Else {
zastaviť();
oneskorenie (200);
obrátiť();
oneskorenie (300);
zastaviť();
oneskorenie (200);
odbočte doprava();
oneskorenie (400);
zastaviť();
}

oneskorenie (50);
}
"`

Tento kód je najzákladnejšia verzia. Ak robot padá príliš často, môžete zvýšiť prahovú hodnotu na 25 – 30 cm alebo predĺžiť čas otáčania.

7. Testovanie a ladenie

Po zostavení robota vykonajte postupné testovanie:

1. Najprv otestujte motor: spustite funkciu jazdy dopredu/dozadu, aby ste sa uistili, že sa kolesá otáčajú správnym smerom.
2. Otestujte ultrazvukový senzor: výsledky merania vzdialenosti si pozrite v sériovom monitore Arduino IDE.
3. Skombinujte systém: spustite celý program a pozorujte reakciu robota.

READ  Ako funguje elektromotor?

Ak sa robot otáča alebo pohybuje dozadu, keď by sa mal pohybovať dopredu, možno budete musieť vymeniť káble motora alebo obrátiť logiku IN1-IN2 (a IN3-IN4).

8. Bežné problémy a riešenia

Niektoré prekážky, ktoré sa často vyskytujú:

– Robot sa vôbec nehýbe: skontrolujte batériu, skontrolujte ovládač motora, uistite sa, že je aktívny povoľovací mostík.
– Arduino sa resetuje počas behu motora: nedostatočné napájanie alebo hluk motora. Skúste použiť samostatnú batériu pre Arduino, pridať kondenzátor a uzemniť.
– Hodnota snímača vzdialenosti je nestabilná: uistite sa, že snímač smeruje rovno, chráňte ho pred nadmernými vibráciami a uistite sa, že kábel nie je uvoľnený.
– Robot je „zaseknutý“ v rohu: pridajte logiku náhodného otáčania alebo použite servopohony na pohyb senzorov, aby sa mohli „pozerať“ doľava a doprava.

9. Nápady na rozvoj po úspechu

Keď je základný robot spustený a funkčný, môžete ho vylepšiť na niečo zaujímavejšie:

– Pridanie servomotorov na pohyb ultrazvukových senzorov tak, aby si robot vybral najlepšiu dráhu.
– Pridané ovládanie cez Bluetooth (HC-05), aby sa dalo ovládať z mobilného telefónu.
– Použitie čiarových senzorov na výrobu robota sledujúceho čiaru.
– Upravte rýchlosť PWM pre plynulejší pohyb.
– Pridajte bzučiak alebo LED diódu ako indikátor pri detekcii prekážky.

Záver

Zostavenie jednoduchého robota nemusí byť zložité. S Arduinom, jednosmerným motorom, ovládačom motora a ultrazvukovým senzorom môžete vytvoriť robota, ktorý sa dokáže automaticky pohybovať a vyhýbať prekážkam. Kľúčom k úspechu je úhľadné zapojenie, dostatok zdrojov a dôkladné testovanie. Keď tento projekt zvládnete, budete lepšie pripravení pustiť sa do zložitejších robotických projektov, ako je napríklad inteligentný robot s kamerou alebo robot, ktorý dokáže sledovať objekty.

Ak chcete, môžem vám pomôcť vytvoriť podrobnejšiu schému zapojenia podľa vami vybraných pinov alebo upraviť kód tak, aby sa robot mohol náhodne otáčať doľava/doprava a bol tak „inteligentnejší“.

Zanechajte komentár