- Tarvittavat materiaalit:
- Vaadittavien osien 3D-tulostus:
- Laitteisto ja kaaviot:
- Robotin kokoaminen:
- Arduinon ohjelmointi kaksisuuntaiselle robotille:
- Käsitellään Android-sovellusta:
- Bluetooth-ohjatun kaksisuuntaisen robotin toiminta:
Tervetuloa toiseen projektiin, jossa rakennamme pienen robotin, joka pystyy kävelemään ja tanssimaan. Projektin tavoitteena on opettaa sinulle, kuinka tehdä pieniä harrastusrobotteja Arduinolla ja kuinka ohjelmoida Servo-moottorit tällaisiin sovelluksiin. Projektin lopussa voit tehdä tämän kävely- ja tanssirobotin, joka ottaa komenton Android-matkapuhelimelta suorittamaan ennalta määriteltyjä toimintoja. Voit myös käyttää ohjelmaa (annettu opetusohjelman lopussa), jotta voit helposti muokata oman robotin toimintoja ohjaamalla servomoottorien sijaintia sarjamonitorilla. 3D-tulostimen tekeminen tekee tästä projektista mielenkiintoisemman ja näyttää siistiltä. Mutta jos sinulla ei ole sellaista, voit käyttää mitä tahansa online-palvelua tai käyttää vain pahvia saman rakentamiseen.
Tarvittavat materiaalit:
Tämän robotin rakentamiseen tarvitaan seuraavia materiaaleja:
- Arduino nano
- Servo SG90 - 4 ei
- Uros bergitikku
- HC-05 / HC-06 Bluetooth-moduuli
- 3D tulostin
Kuten näette, tämä 3D-tulostettu robotti vaatii hyvin vähän elektroniikkaosia rakentaakseen projektin kustannukset mahdollisimman pieniksi. Tämä projekti on tarkoitettu vain käsitteelliseen ja hauskaan tarkoitukseen, eikä sillä ole toistaiseksi mitään reaaliaikaista sovellusta.
Vaadittavien osien 3D-tulostus:
3D-tulostus on hämmästyttävä työkalu, joka voi auttaa paljon rakennettaessa prototyyppiprojekteja tai kokeilemalla uusia mekaanisia malleja. Jos et ole vielä havainnut 3D-tulostimen etuja tai miten se toimii, voit lukea Aloittelijan opas 3D-tulostukseen.
Tässä projektissa yllä esitetty robotin runko on täysin 3D-tulostettu. Voit ladata STL-tiedostot täältä. Lataa nämä tiedostot 3D-tulostusohjelmistoosi, kuten Cura, ja tulosta ne suoraan. Olen käyttänyt hyvin yksinkertaista tulostinta kaikkien osien tulostamiseen. Tulostin on 3dingin FABX v1 -mallia, joka on edullinen hinta ja tulostustilavuus 10 kuutiometriä. Halpa hinta sisältää alennuksen matalalla tulostustarkkuudella ja ilman SD-korttia tai tulostuksen jatkamista. Käytän Cura-ohjelmistoa STL-tiedostojen tulostamiseen. Asetukset, joita käytin materiaalien tulostamiseen, on annettu alla. Voit käyttää niitä tai muuttaa niitä tulostimesi perusteella.
Kun olet tulostanut kaikki osat, puhdista tuet (jos sellaisia on) ja varmista sitten, että reiät jalassa ja vatsassa ovat riittävän suuret ruuvin asentamiseksi. Jos ei, tee reikä kevyesti neulalla. 3D-painetut osasi näyttävät olevan jotain alla.
Laitteisto ja kaaviot:
Tämän matkapuhelimen ohjaaman kaksisuuntaisen Arduino-robotin laitteisto on todella yksinkertainen. Täydelliset kaaviot on esitetty alla olevassa kuvassa
Olen käyttänyt Perf-korttia yllä olevien yhteyksien luomiseen. Varmista, että piirisi mahtuu myös robotin päähän. Kun Perf-laudasi on valmis, sen pitäisi näyttää jotain alla olevalta.
Robotin kokoaminen:
Kun laitteisto ja 3D-painetut osat ovat valmiita, voimme koota robotin. Varmista ennen moottoreiden kiinnittämistä, että sijoitat moottorit alla oleviin kulmiin, jotta ohjelma toimii moitteettomasti.
Moottorin numero |
Moottoripaikka |
Moottorin asento |
1 |
Vasemman lonkan moottori |
110 |
2 |
Oikea lantion moottori |
100 |
4 |
Oikea nilkka moottori |
90 |
5 |
Oikea lantion moottori |
80 |
Nämä kulmat voidaan asettaa käyttämällä opetusohjelman lopussa olevaa ohjelmaa. Yksinkertaisesti lataa ohjelma Arduino-laitteeseesi, kun olet muodostanut yllä olevat yhteydet, ja kirjoita seuraava sarjavalvontaan (Huom: Siirtonopeus on 57600).
1, 100, 110
2,90,100
4,80,90
5,70,80
Sarjamonitorisi pitäisi näyttää tältä, kun olet asettanut kaikki moottorit paikalleen.
Kun moottorit on asetettu vastaaviin kulmiin, asenna ne yllä olevan kuvan mukaisesti.
Jos olet hämmentynyt moottoreiden kokoamisesta, seuraa videota tämän opetusohjelman lopussa. Kun robotti on koottu, on aika ohjelmoida tanssirobottimme
Arduinon ohjelmointi kaksisuuntaiselle robotille:
BBB-robotin ( Bluetooth Biped Bob ) ohjelmointi on mielenkiintoisin ja hauska osa tässä opetusohjelmassa. Jos olet erittäin hyvä ohjelmoimaan servomoottoreita Arduinon kanssa, suosittelen sinua tekemään ohjelma. Bt, jos haluat oppia käyttämään servomoottoreita tällaisissa robottisovelluksissa, tämä ohjelma on erittäin hyödyllinen. Voit oppia lisää arduino-ohjelmoinnista arduino-projekti-kategoriastamme.
Koko ohjelma on tämän opetusohjelman lopussa, tai voit ladata koko koodin täältä. Selitän saman segmentit alla. Ohjelma pystyy ohjaamaan robottitoimintoja sarjakuvanäytön tai Bluetoothin kautta. Voit myös tehdä omia liikkeitäsi ohjaamalla jokaista yksittäistä moottoria sarjamoduulin avulla.
servo1.attach (3); servo2.attach (5); servo4.kytke (9); servo5.kiinnitys (10);
Yllä olevilla koodiriveillä se mainitsee, mikä servomoottori on kytketty mihin tahansa Arduinon tapiin. Tässä tapauksessa Servo 1,2,4 ja 5 on kytketty vastaavasti nastoihin 3,5,9 ja 10.
Bot_BT.alku (9600); // aloita Bluetooth-yhteys 9600 baudinopeudella Serial.begin (57600);
Kuten aiemmin mainittiin, kävelyrobotimme voi toimia Bluetooth-komentojen ja myös sarjavalvojan komentojen avulla. Siksi Bluetooth-sarjaliikenne toimii 9600: n tiedonsiirtonopeudella ja sarjaliikenne 57600: n nopeudella. Bluetooth-objektimme nimi on "Bot_BT".
kytkin (moottori) {tapaus 1: // moottorille yksi {Serial.println ("Suoritetaan moottori yksi"); jos (numero1
Yllä olevaa kytkentäkoteloa käytetään servomoottoreiden ohjaamiseen erikseen. Tämä auttaa tekemään omia luovia liikkeitä robottisi kanssa. Tällä koodisegmentillä voit yksinkertaisesti kertoa moottorin numeron kulmasta kulmaan saadaksesi tietyn moottorin siirtymään haluttuun paikkaan.
Esimerkiksi, jos haluamme siirtää moottorin numeron 1, joka on vasen lonkkamoottori, oletussijainnistaan 110 astetta 60 asteeseen. Voimme yksinkertaisesti kirjoittaa “1,110,60” Arduinon sarjavalvontaan ja painaa Enter. Tästä on hyötyä omien monimutkaisten liikkeiden tekemiseen robotin kanssa. Kun olet kokeillut kaikkea enkelistä kulmaan, voit sitten tehdä omat liikkeesi ja toistaa ne tekemällä sen funktiona.
if (Serial.available ()> 0) // Lue sarjan kautta tulevat tiedot {gmotor = Serial.parseInt (); Sarja.tulos ("valittu numero->"); Sarjaprintti (moottori); Sarjaprintti (","); gnum1 = Sarja.parseInt (); Sarjaprintti (gnum1); Sarjaprintti ("aste"); gnum2 = Sarja.parseInt (); Sarjaprintti (gnum2); Serial.println ("aste"); lippu = 1; }
Jos sarjatietoja on saatavilla, numeroa ennen ensimmäistä “,” pidetään moottorina ja sitten numeroa ennen toista “,” pidetään gnum1: ksi ja toisen “,”: n jälkeistä lukua pidetään gnum2: na.
if (Bot_BT.available ()) // Lue Bluetoothin kautta tulevat viestit {BluetoothData = Bot_BT.read (); Serial.print ("Saapuva BT: ltä:"); Serial.println (BluetoothData); }
Jos Bluetooth vastaanottaa joitain tietoja, vastaanotetut tiedot tallennetaan muuttujaan "BluetoothData". Tätä muuttujaa verrataan sitten ennalta määritettyihin arvoihin tietyn toiminnon suorittamiseksi.
if (lippu == 1) kutsu (gmotor, gnum1, gnum2); // kutsu vastaava moottori toimintaan // Suorita toiminnot sarjaliikenteen tai Bluetoothin kautta vastaanotetun komennon mukaisesti // if (gmotor == 10) left_leg_up (); if (moottori == 11) right_leg_up (); if (moottori == 12) siirry vasemmalle eteen (); if (moottori == 13) move_right_front (); jos (BluetoothData == 49 - moottori == 49) say_hi (); if (BluetoothData == 50 - moottori == 50) walk1 (); if (BluetoothData == 51 - moottori == 51) walk2 (); jos (BluetoothData == 52 - moottori == 52) tanssi1 (); jos (BluetoothData == 53 - moottori == 53) dance2 (); jos (BluetoothData == 54 - moottori == 54) {test (); test (); test ();}
Tässä toiminnot kutsutaan sarjamonitorista tai Bluetoothista saatujen arvojen perusteella. Kuten edellä on osoitettu, muuttujalla gmotor on sarjamuotoisen näytön arvo ja BluetoothDatalla Bluetooth-laitteen arvo. Numerot 10,11,12 - 53,54 ovat ennalta määriteltyjä lukuja.
Esimerkiksi, jos syötät sarjanumeroon 49 numeron. Say_hi () -toiminto suoritetaan siellä, missä robotti heiluttaa sinua.
Kaikki toiminnot on määritelty sivun “Bot_Functions” sisällä. Voit avata sen ja nähdä, mitä tapahtuu jokaisen toiminnon sisällä. Kaikki nämä toiminnot luotiin kokeilemalla enkeleitä ja jokaisen moottorin enkeleitä yllä selitetyllä kytkinkotelolla. Jos sinulla on epäilyksiä, voit lähettää ne kommenttiosioon ja autan sinua mielelläni.
Käsitellään Android-sovellusta:
Robotin hallintaan tarkoitettu Android-sovellus rakennettiin Android-prosessointitilassa. Jos haluat tehdä joitain muutoksia sovellukseen, voit ladata koko käsittelyohjelman täältä.
Jos haluat vain käyttää sovellusta, voit ladata sen täältä APK-tiedostona ja asentaa sen suoraan matkapuhelimeesi.
Huomaa: Bluetooth-moduulisi tulisi olla nimeltään HC-06, muuten sovellus ei voi muodostaa yhteyttä Bluetooth-moduuliin.
Kun sovellus on asennettu, voit muodostaa pariliitoksen Bluetooth-moduulista puhelimeesi ja käynnistää sitten sovelluksen. Sen pitäisi näyttää tältä tältä.
Jos haluat tehdä sovelluksestasi houkuttelevamman tai muodostaa yhteyden mihin tahansa muuhun laitteeseen kuin Hc-06. Voit käyttää käsittelykoodia ja tehdä siihen joitain muutoksia ja ladata koodin sitten suoraan puhelimeesi.
Bluetooth-ohjatun kaksisuuntaisen robotin toiminta:
Kun laitteisto, Android-sovellus ja Arduino Sketch on valmis, on aika pitää hauskaa robottimme kanssa. Voit hallita robottia Bluetooth-sovelluksesta käyttämällä sovelluksen painikkeita tai suoraan Sarjamonitorista käyttämällä seuraavia komentoja alla olevan kuvan mukaisesti.
Jokainen komento saa robotin suorittamaan erikoisia tehtäviä, ja voit myös lisätä uusia toimintoja luovuutesi perusteella.
Robotille voidaan antaa virtaa myös 12 V: n sovittimella tai se voidaan käyttää myös 9 V: n paristolla. Tämä akku voidaan helposti sijoittaa Perf-levyn alle ja se voidaan peittää myös robotin päällä.
Tämän älypuhelimella ohjattavan robotin täydellinen toiminta löytyy alla olevasta videosta.