Kuinka tehdä yksinkertainen robotti
Yksinkertaisen robotin rakentaminen on hauska tapa oppia elektroniikkaa, perusmekaniikkaa ja ohjelmointia. Monet ihmiset ajattelevat, että robottien on oltava kalliita ja monimutkaisia, mutta voimme itse asiassa aloittaa pienillä projekteilla, jotka on helppo koota kotona. Tässä artikkelissa rakennamme yksinkertaisen esteitä väistelevän robotin ultraääniantureiden avulla. Tämä robotti voi kävellä eteenpäin ja kääntyä automaattisesti, kun se havaitsee edessään olevan esineen. Tämä projekti sopii aloittelijoille , opiskelijoille tai kaikille, jotka haluavat aloittaa robotiikan oppimisen.
1. Ymmärrä yksinkertaisten robottien käsite
Yleisesti ottaen roboteilla on kolme pääkomponenttia: aivot (ohjain), aistit (anturit) ja lihakset (toimilaitteet). Tässä projektissa:
– Ohjain: Arduino Uno (tai yhteensopiva)
– Anturi: HC-SR04 ultraäänianturi etäisyyden mittaamiseen
– Toimilaite: tasavirtamoottori, joka pyörittää pyöriä
– Moottoriohjain: L298N (tai L293D) moottoriohjain, jotta moottoria voidaan ohjata Arduinolla
Kun anturi mittaa etäisyyden robotin edessä ja etäisyys on liian pieni, Arduino käskee moottoriohjainta muuttamaan liikesuuntaa, esimerkiksi kääntymään oikealle tai vasemmalle.
2. Tarvittavat työkalut ja materiaalit
Tässä on luettelo yleisesti käytetyistä komponenteista, jotka on helppo löytää elektroniikkaliikkeistä tai markkinapaikoista:
1. Arduino Uno (1 kpl)
2. L298N moottoriohjain (1 kpl)
3. HC-SR04 ultraäänianturi (1 kpl)
4. Tasavirtamoottori + vaihteisto ja pyörät (2 kpl) 2-pyöräiselle robotille (differentiaalikäyttö)
5. Etupyörä (1 kpl) pieni tasapainotuspyörä edessä tai takana
6. Paristot (esim. 2 × 18650 tai 7,4 V pakkaus) tai 6 x AA moottorin tarpeiden mukaan
7. Robotin runko (voidaan ostaa valmiina tai akryylistä/vanerista valmistettuna)
8. Käynnistyskaapelit (uros-naaras ja uros-uros)
9. Päälle/pois-kytkin (valinnainen, mutta erittäin hyödyllinen)
10. Pieni koekytkentälevy (valinnainen)
11. Pultit, mutterit, ruuvimeisselit ja kuumaliima tarpeen mukaan
Jos haluat jotain vielä yksinkertaisempaa (ilman ultraääniantureita), voit rakentaa "linjaa seuraavaa" robottia, jossa on linja-anturit, mutta esteitä väistävät versiot tuntuvat usein "elävämmiltä", koska ne reagoivat edessään oleviin esineisiin.
3. Robotin rungon suunnittelu
Alusta on runko, johon kaikki komponentit on asennettu. Voit käyttää valmista alustasarjaa tai rakentaa oman kevyistä materiaaleista, kuten akryylistä, PVC:stä tai ohuesta puusta. Periaate on:
– Asenna kaksi tasavirtamoottoria vasemmalle ja oikealle puolelle.
– Asenna pyörät moottoripyörään.
– Lisää tasapainotuspyörä robotin vakauttamiseksi.
– Aseta akku asentoon, joka ei saa robottia kallistumaan.
– Arduino ja moottoriohjaimet tulisi sijoittaa yläosaan helpon pääsyn takaamiseksi.
Varmista, että vaijeri ei roiku alas, jotta se ei jää pyörien väliin.
4. Perusjohdotuskaavio
Tässä on yleinen kytkentäkonsepti (nastat ovat muokattavissa):
a) Moottorista ohjaimeen L298N
– Vasen moottori lähtöihin OUT1 ja OUT2
– Oikea moottori lähtöihin OUT3 ja OUT4
b) L298N-ajuri Arduinoon
– IN1, IN2 vasemmalle moottorille joihinkin Arduinon digitaalisiin pinneihin
– IN3, IN4 oikean moottorin kytkemiseksi joihinkin Arduinon digitaalisiin pinneihin
– ENA ja ENB (käytössä) voidaan kytkeä Arduinon PWM-nastoihin nopeuden ohjaamiseksi (valinnainen). Jos näin ei ole, joissakin L298N-moduuleissa on jo käyttöönottokytkentä, jonka avulla moottori voi käydä täydellä nopeudella.
c) HC-SR04-anturi Arduinoon
– VCC 5V Arduinoon
– Maadoitus maahan Arduinoon
– TRIG Arduinon digitaaliseen pinniin
– ECHO Arduino-digitaalipinniin
d) Virta
Moottori vaatii enemmän virtaa kuin Arduino pystyy tuottamaan. Siksi:
– Pääakku menee moottorin ohjaimeen (+12 V ja GND-liittimet L298N:ssä).
– Arduinoa voidaan käyttää myös akulla (VIN-liitännän kautta) tai erillisellä varavirtalähteellä/USB:llä.
– Maadoitus: Akun/ajurin GND ja Arduinon GND on oltava kytkettyinä, jotta ohjaussignaali on vakaa.
Yleisin virhe aloittelijoiden keskuudessa on GND:n kytkemisen unohtaminen, jolloin robotti liikkuu epäsäännöllisesti.
5. Esteiden väistörobotin toimintalogiikka
Robotti toimii yksinkertaisella kaavalla:
1. Lue etäisyys ultraäänianturista.
2. Jos etäisyys > kynnysarvo (esim. 20 cm), robotti liikkuu eteenpäin.
3. Jos etäisyys on ≤ 20 cm, robotti pysähtyy hetkeksi.
4. Robotti liikkuu hieman taaksepäin ja kääntyy sitten (esimerkiksi oikealle) muutaman sadan millisekunnin ajan.
5. Lue etäisyys uudelleen ja toista.
Tämän kuvion avulla robotti näyttää "välttävän" esteitä, vaikka se ei valitsisikaan optimaalisinta reittiä.
6. Yksinkertainen Arduino-koodiesimerkki
Alla on peruskoodiesimerkki. Voit mukauttaa nastoja piiriisi sopiviksi:
"`cpp
määrittele TRIG 8
määrittele ECHO 9
// Vasen moottori
määrittele IN1 2
määrittele IN2 3
// Oikea moottori
määrittele IN3 4
määrittele IN4 5
pitkä kesto;
kokonaismatka;
int lueEtäisyys() {
digitalWrite(TRIG, MATALA);
viiveMikrosekuntia(2);
digitalWrite(TRIG, KORKEA);
viiveMikrosekuntia(10);
digitalWrite(TRIG, MATALA);
kesto = pulssi Sisään(KAIKU, KORKEA);
kokonaisluku cm = kesto 0.034 / 2;
paluu cm;
}
void eteenpäin() {
digitaalinen kirjoitus(IN1, KORKEA);
digitalWrite(IN2, LOW);
digitaalinen kirjoitus(IN3, KORKEA);
digitalWrite(IN4, LOW);
}
tyhjä käänteinen() {
digitalWrite(IN1, LOW);
digitaalinen kirjoitus(IN2, KORKEA);
digitalWrite(IN3, LOW);
digitaalinen kirjoitus(IN4, KORKEA);
}
void käännyOikealle() {
digitaalinen kirjoitus(IN1, KORKEA);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitaalinen kirjoitus(IN4, KORKEA);
}
tyhjä stop() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}
tyhjä asennus () {
pinMode(TRIG, LÄHTÖ);
pinMode(KAIKUT, TULO);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
Sarja-aloitus (9600);
}
void loop () {
etäisyys = lueEtäisyys();
Sarja.println(etäisyys);
jos (etäisyys > 20) {
edetä();
} Else {
Stop();
viive (200);
käänteinen();
viive (300);
Stop();
viive (200);
käänny oikealle();
viive (400);
Stop();
}
viive (50);
}
”`
Tämä koodi on yksinkertaisin versio. Jos robotti kaatuu liian usein, voit nostaa kynnystä 25–30 cm:iin tai pidentää kääntymisaikaa.
7. Testaus ja viritys
Kun robotti on koottu, suorita vaiheittainen testaus:
1. Testaa ensin moottori: käytä eteen-/taaksepäin-toimintoa varmistaaksesi, että pyörät pyörivät oikeaan suuntaan.
2. Testaa ultraäänianturi: katso etäisyystulokset Arduino IDE -sarjamonitorista.
3. Yhdistä järjestelmä: aja koko ohjelma ja tarkkaile robotin reaktiota.
Jos robotti kääntyy tai liikkuu taaksepäin, kun sen pitäisi liikkua eteenpäin, saatat joutua vaihtamaan moottorikaapelit tai kääntämään IN1-IN2 (ja IN3-IN4) -logiikan.
8. Yleisiä ongelmia ja ratkaisuja
Joitakin usein ilmeneviä esteitä:
– Robotti ei liiku ollenkaan: tarkista akku, tarkista moottorin ohjain ja varmista, että aktivointikytkin on aktiivinen.
– Arduino nollautuu moottorin käydessä: riittämätön virransyöttö tai moottorista kuuluu ääntä. Kokeile erillistä akkua Arduinolle, lisää kondensaattori ja korjaa maadoitus.
– Etäisyysanturin lukema on epävakaa: varmista, että anturi osoittaa suoraan, pidä se poissa liiallisesta tärinästä ja varmista, että kaapeli ei ole löysällä.
– Robotti on "jumissa" nurkassa: lisää satunnaista kääntymislogiikkaa tai käytä servomoottoreita antureiden liikuttamiseen, jotta ne voivat "katsoa" vasemmalle ja oikealle.
9. Kehitysideoita onnistumisen jälkeen
Kun perusrobotti on toiminnassa, voit päivittää sen johonkin mielenkiintoisempaan:
– Lisäämällä servomoottoreita ultraääniantureiden liikuttamiseksi, jotta robotti voi valita parhaan reitin.
– Lisätty Bluetooth-ohjaus (HC-05), jotta sitä voidaan ohjata matkapuhelimella.
– Viivanseuraajarobotin rakentaminen viivantunnistimien avulla.
– Säädä PWM-nopeutta tasaisemman liikkeen saavuttamiseksi.
– Lisää summeri tai LED merkkivaloksi esteen havaitsemisesta.
Johtopäätös
Yksinkertaisen robotin rakentamisen ei tarvitse olla vaikeaa. Arduinon, tasavirtamoottorin, moottoriohjaimen ja ultraäänianturin avulla voit luoda robotin, joka pystyy liikkumaan ja väistelemään esteitä automaattisesti. Menestyksen avaimet ovat siisti johdotus, riittävät resurssit ja perusteellinen testaus. Kun olet saanut tämän projektin valmiiksi, olet paremmin valmistautunut tarttumaan monimutkaisempiin robotiikkaprojekteihin, kuten kamerapohjaiseen älyrobottiin tai robottiin, joka pystyy seuraamaan esineitä.
Jos haluat, voin auttaa sinua luomaan yksityiskohtaisemman kytkentäkaavion valitsemiesi nastojen mukaan tai muokkaamaan koodia niin, että robotti voi kääntyä vasemmalle/oikealle satunnaisesti ja olla "älykkäämpi".