Haluatko oppia rakentamaan oman robotin? On olemassa paljon erilaisia robotteja, jotka voit tehdä itse. Useimmat ihmiset haluavat nähdä robotin suorittavan yksinkertaiset tehtävät siirtymällä pisteestä A pisteeseen B. Voit tehdä robotin kokonaan analogisista komponenteista tai ostaa aloituspakkauksen tyhjästä! Oman robotin rakentaminen on loistava tapa opettaa itsellesi sekä elektroniikkaa että tietokoneohjelmointia.
Askeleet
Osa 1/6: Robotin kokoaminen
Vaihe 1. Kerää komponentit
Perusrobotin rakentamiseen tarvitset useita yksinkertaisia komponentteja. Löydät useimmat, ellei kaikki, nämä komponentit paikallisesta elektroniikkaharrastekaupastasi tai useista verkkokaupoista. Jotkut perussarjat voivat sisältää myös kaikki nämä komponentit. Tämä robotti ei vaadi juottamista:
- Arduino Uno (tai muu mikro -ohjain)
- 2 jatkuvasti pyörivää servoa
- 2 pyörää, jotka sopivat servoihin
- 1 pyörätela
- 1 pieni juototon leipälauta (etsi leipälauta, jossa on kaksi positiivista ja negatiivista viivaa kummallakin puolella)
- 1 etäisyysanturi (nelinapaisella liitäntäkaapelilla)
- 1 minipainike
- 1 10 kΩ vastus
- 1 USB A - B -kaapeli
- 1 sarja irrotettavia otsikoita
- 1 6 x AA -paristopidike 9 V DC -virtaliittimellä
- 1 pakkaus hyppyjohtoja tai 22-koukkuinen kytkentäjohto
- Vahva kaksipuolinen teippi tai kuuma liima
Vaihe 2. Käännä akku ympäri niin, että litteä selkäpuoli on ylöspäin
Rakennat robotin vartalon käyttämällä akkua pohjana.
Vaihe 3. Kohdista kaksi servoa akun päähän
Tämän pitäisi olla se loppu, josta akun lanka tulee ulos. Servojen tulee koskettaa pohjaa ja kummankin pyörivän mekanismin tulee osoittaa ulos akun sivuilta. Servot on kohdistettava oikein, jotta pyörät menevät suoraan. Servojen johtojen tulee irrota akun takaosasta.
Vaihe 4. Kiinnitä servot teipillä tai liimalla
Varmista, että ne on kiinnitetty tukevasti akkuun. Servojen selkänojien tulee olla samassa tasossa akun takaosan kanssa.
Servojen pitäisi nyt ottaa akun takaosa
Vaihe 5. Kiinnitä leipälevy kohtisuoraan akun avoimeen tilaan
Sen pitäisi roikkua hieman akun etupuolella ja ulottua kummaltakin puolelta. Varmista, että se on kunnolla kiinni ennen kuin jatkat. "A" -rivin tulisi olla lähimpänä servoja.
Vaihe 6. Kiinnitä Arduino -mikro -ohjain servojen yläosiin
Jos kiinnität servot kunnolla, niiden tulee olla tasaiset, koskettavat. Kiinnitä Arduino -kortti tähän tasaiseen tilaan niin, että Arduinon USB- ja virtaliittimet ovat taaksepäin (pois leipälevystä). Arduinon etuosan tulisi olla juuri ja juuri päällekkäin leipälevyn kanssa.
Vaihe 7. Aseta pyörät servojen päälle
Paina pyörät lujasti servon pyörivään mekanismiin. Tämä voi vaatia huomattavan määrän voimaa, koska pyörät on suunniteltu sopimaan mahdollisimman tiukasti parhaan pidon saavuttamiseksi.
Vaihe 8. Kiinnitä pyörä pyörölevyn pohjaan
Jos käännät kotelon ympäri, sinun pitäisi nähdä hieman leipälevyä, joka ulottuu akun ohi. Kiinnitä pyörä tähän jatkokappaleeseen käyttämällä tarvittaessa nousuputkia. Pyörä toimii etupyöränä, jolloin robotti voi helposti kääntyä mihin tahansa suuntaan.
Jos ostit sarjan, pyörän mukana on saattanut tulla muutama nousuputki, joiden avulla voit varmistaa, että pyörä saavuttaa maan. i
Osa 2/6: Robotin kytkentä
Vaihe 1. Katkaise kaksi 3-nastaista otsikkoa
Käytät näitä yhdistääksesi servot leipälautaan. Työnnä tapit alas otsikon läpi niin, että tapit tulevat ulos samalta etäisyydeltä molemmilta puolilta.
Vaihe 2. Aseta kaksi otsikkoa leipälaudan rivin E nastoihin 1-3 ja 6-8
Varmista, että ne ovat tiukasti kiinni.
Vaihe 3. Liitä servojohdot liittimiin, musta kaapeli vasemmalla puolella (nastat 1 ja 6)
Tämä yhdistää servot leipälautaan. Varmista, että vasen servo on kytketty vasempaan otsikkoon ja oikea servo oikeaan otsikkoon.
Vaihe 4. Liitä punaiset hyppyjohtimet nastoista C2 ja C7 punaisiin (positiivisiin) kiskoihin
Varmista, että käytät punaista kiskoa leipälaudan takana (lähempänä muuta koteloa).
Vaihe 5. Liitä mustat hyppyjohtimet nastoista B1 ja B6 sinisiin (maadoitettuihin) kiskoihin
Varmista, että käytät leipälevyn takana olevaa sinistä kiskoa. Älä kytke niitä punaisiin kiskoihin.
Vaihe 6. Liitä valkoiset hyppyjohdot Arduinon nastoista 12 ja 13 A3 ja A8
Tämä antaa Arduinolle mahdollisuuden hallita servoja ja kääntää pyöriä.
Vaihe 7. Kiinnitä anturi leipälevyn etuosaan
Se ei kytkeydy leipälaudan ulkoisiin virtakiskoihin, vaan kirjaimellisten nastojen ensimmäiseen riviin (J). Varmista, että asetat sen täsmälleen keskelle, ja molemmilla puolilla on yhtä monta nastaa.
Vaihe 8. Liitä musta hyppyjohdin nastasta I14 ensimmäiseen saatavana olevaan siniseen kiskoon, joka on anturin vasemmalla puolella
Tämä maadoittaa anturin.
Vaihe 9. Liitä punainen hyppyjohdin nastasta I17 ensimmäiseen käytettävissä olevaan punaiseen kiskoon, joka on anturin oikealla puolella
Tämä antaa anturille virran.
Vaihe 10. Liitä valkoiset hyppyjohtimet nastasta I15 Arduinon nastaan 9 ja liittimestä I16 nastaan 8
Tämä syöttää tietoja anturista mikro -ohjaimeen.
Osa 3/6: Virran kytkeminen
Vaihe 1. Käännä robotti kyljelleen niin, että näet pakkauksen paristot
Suuntaa se siten, että akkukaapeli tulee ulos vasemmalta pohjasta.
Vaihe 2. Kytke punainen johto toiseen jouseen alhaalta vasemmalta
Varmista, että akku on suunnattu oikein.
Vaihe 3. Liitä musta johto oikeassa alakulmassa olevaan viimeiseen jouseen
Nämä kaksi kaapelia auttavat tarjoamaan oikean jännitteen Arduinolle.
Vaihe 4. Kytke punaiset ja mustat johdot leipälevyn takana olevaan oikeaan punaiseen ja siniseen nastaan
Musta kaapeli on kytkettävä siniseen kiskotappiin nastassa 30. Punainen kaapeli on kytkettävä punaiseen kiskotappiin nastassa 30.
Vaihe 5. Liitä musta johto Arduinon GND -nastasta siniseen takakiskoon
Liitä se sinisen kiskon nastaan 28.
Vaihe 6. Liitä musta johto takasinisestä kiskosta etuosan siniseen kiskoon nastassa 29 kullekin
Älä yhdistä punaisia kiskoja, koska vahingoitat Arduinoa.
Vaihe 7. Liitä punainen johto etupunaisesta kiskosta nastassa 30 Arduinon 5 V: n napaan
Tämä antaa virtaa Arduinolle.
Vaihe 8. Työnnä painikekytkin nastojen 24-26 rivien väliin
Tämän kytkimen avulla voit sammuttaa robotin irrottamatta virtaa.
Vaihe 9. Liitä punainen johto H24: stä punaiseen kiskoon seuraavassa käytettävissä olevassa tapissa anturin oikealla puolella
Tämä käynnistää painikkeen.
Vaihe 10. Liitä H26 siniseen kiskoon vastuksen avulla
Liitä se nastaan suoraan sen mustan johdon viereen, jonka liitit muutama vaihe sitten.
Vaihe 11. Liitä valkoinen johto G26: sta Arduinon nastaan 2
Tämä antaa Arduinolle mahdollisuuden rekisteröidä painike.
Osa 4/6: Arduino -ohjelmiston asennus
Vaihe 1. Lataa ja pura Arduino IDE
Tämä on Arduino -kehitysympäristö, ja sen avulla voit ohjelmoida ohjeita, jotka voit ladata Arduino -mikrokontrolleriisi. Voit ladata sen ilmaiseksi osoitteesta arduino.cc/en/main/software. Pura ladattu tiedosto kaksoisnapsauttamalla sitä ja siirrä kansio sisälle helppokäyttöiseen paikkaan. Et todellakaan asenna ohjelmaa. Sen sijaan suoritat sen vain puretusta kansiosta kaksoisnapsauttamalla arduino.exe-tiedostoa.
Vaihe 2. Liitä akku Arduinoon
Kytke akun takaisinliitin Arduinon liittimeen, jotta se saa virtaa.
Vaihe 3. Liitä Arduino tietokoneeseen USB -liitännän kautta
Windows ei todennäköisesti tunnista laitetta.
Vaihe 4. Paina
⊞ Win+R ja tyyppi devmgmt.msc.
Tämä käynnistää Laitehallinnan.
Vaihe 5. Napsauta hiiren kakkospainikkeella "Tuntematon laite" "Muut laitteet" -osiossa ja valitse "Päivitä ohjainohjelmisto
" Jos et näe tätä vaihtoehtoa, napsauta sen sijaan "Ominaisuudet", valitse "Ohjain" -välilehti ja napsauta "Päivitä ohjain".
Vaihe 6. Valitse "Selaa tietokoneeltani ohjainohjelmistoa
" Tämän avulla voit valita Arduino IDE: n mukana tulleen ohjaimen.
Vaihe 7. Napsauta "Selaa" ja siirry aiemmin purkamaasi kansioon
Löydät "ajurit" -kansion sisältä.
Vaihe 8. Valitse "Drivers" -kansio ja napsauta "OK"
" Vahvista, että haluat jatkaa, jos sinua varoitetaan tuntemattomasta ohjelmistosta.
Osa 5/6: Robotin ohjelmointi
Vaihe 1. Käynnistä Arduino IDE kaksoisnapsauttamalla arduino.exe-tiedostoa IDE-kansiossa
Sinut tervehditään tyhjällä projektilla.
Vaihe 2. Liitä seuraava koodi saadaksesi robotin toimimaan suoraan
Alla oleva koodi saa Arduinosi jatkuvasti siirtymään eteenpäin.
#include // tämä lisää "servokirjaston" ohjelmaan // seuraava luo kaksi servo -objektia Servo leftMotor; Servo oikeaMoottori; void setup () {leftMotor.attach (12); // jos olet vahingossa vaihtanut servojen pin -numeroita, voit vaihtaa numerot täällä rightMotor.attach (13); } void loop () {leftMotor.write (180); // jatkuvalla pyörimisellä 180 käskee servoa siirtymään täydellä nopeudella "eteenpäin". oikeaMoottori. kirjoittaa (0); // jos molemmat ovat 180, robotti menee ympyrään, koska servot on käännetty. "0" kertoo sen siirtyvän täydellä nopeudella "taaksepäin". }
Vaihe 3. Luo ja lataa ohjelma
Napsauta oikeaa nuolipainiketta vasemmassa yläkulmassa rakentaaksesi ja ladataksesi ohjelman yhdistettyyn Arduinoon.
Haluat ehkä nostaa robotin pois pinnalta, koska se jatkaa eteenpäin vain, kun ohjelma on ladattu
Vaihe 4. Lisää tappokytkintoiminto
Lisää seuraava koodi koodisi "void loop ()" -osioon, jotta tappokytkin otetaan käyttöön "write ()" -toimintojen yläpuolella.
if (digitalRead (2) == HIGH) // tämä rekisteröidään, kun painiketta painetaan Arduinon nastassa 2 {while (1) {leftMotor.write (90); // "90" on servojen neutraali asento, joka käskee heitä lopettamaan oikealle kääntymisenMotor.write (90); }}
Vaihe 5. Lataa ja testaa koodisi
Kun tappokytkimen koodi on lisätty, voit ladata ja testata robotin. Sen pitäisi ajaa eteenpäin, kunnes painat kytkintä, jolloin se lakkaa liikkumasta. Koko koodin pitäisi näyttää tältä:
#include // seuraava luo kaksi servo -objektia Servo leftMotor; Servo oikeaMoottori; void setup () {leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == HIGH) {while (1) {leftMotor.write (90); rightMotor.write (90); }} leftMotor.write (180); rightMotor.write (0); }
Osa 6/6: Esimerkki
Vaihe 1. Seuraa esimerkkiä
Seuraava koodi käyttää robottiin kiinnitettyä anturia, jotta se kääntyy vasemmalle aina, kun se kohtaa esteen. Katso koodin kommentit saadaksesi lisätietoja siitä, mitä kukin osa tekee. Alla oleva koodi on koko ohjelma.
#sisältää Servo leftMotor; Servo oikeaMoottori; const int serialPeriod = 250; // tämä rajoittaa tulostuksen konsoliin kerran 1/4 sekunnissa allekirjoittamattoman pitkän ajanSerialDelay = 0; const int loopPeriod = 20; // tämä asettaa kuinka usein anturi ottaa lukeman 20 ms: ksi, mikä on 50 Hz: n taajuus, joka on pitkä aikaLoopDelay = 0; // tämä määrittää TRIG- ja ECHO -toiminnot Arduinon nastoille. Säädä numeroita tässä, jos olet liittänyt eri konstit int ultraääni2TrigPin = 8; const int ultraääni2EchoPin = 9; int ultraääni2Etäisyys; int ultraääni2Kesto; // tämä määrittelee robotille kaksi mahdollista tilaa: ajaminen eteenpäin tai kääntyminen vasemmalle #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = aja eteenpäin (DEFAULT), 1 = käänny vasemmalle tyhjä asetus () {Serial.begin (9600); // nämä anturitapin kokoonpanot pinMode (ultrasonic2TrigPin, OUTPUT); pinMode (ultraääni2EchoPin, INPUT); // tämä määrittää moottorit Arduinon nastoille leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == HIGH) // tämä havaitsee tappokytkimen {while (1) {leftMotor.write (90); rightMotor.write (90); }} debugOutput (); // tämä tulostaa virheenkorjausviestit sarjakonsolille, jos (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // tämä ohjaa anturia lukemaan ja tallentamaan mitatut etäisyydet stateMachine (); timeLoopDelay = millis (); }} void stateMachine () {if (state == DRIVE_FORWARD) // jos esteitä ei havaittu {if (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // jos robotin edessä ei ole mitään. ultrasonicDistance on negatiivinen joillekin ultraäänilaitteille, jos esteitä ei ole {// aja eteenpäin rightMotor.write (180); leftMotor.write (0); } else // jos edessämme on objekti {state = TURN_LEFT; }} else if (state == TURN_LEFT) // jos este havaitaan, käänny vasemmalle {unsigned long timeToTurnLeft = 500; // 90 asteen kääntyminen kestää noin.5 sekuntia. Saatat joutua säätämään tätä, jos pyörät ovat eri kokoisia kuin esimerkki pitkäikäinen käännösStartTime = millis (); // säästää aikaa, jonka aloimme kääntää, kun ((millis ()-turnStartTime) <timeToTurnLeft) // pysyy tässä silmukassa, kunnes timeToTurnLeft on kulunut {// käänny vasemmalle, muista, että kun molemmat on asetettu arvoon "180", se kääntyy. rightMotor.write (180); leftMotor.write (180); } tila = DRIVE_FORWARD; }} void readUltrasonicSensors () {// tämä koskee ultraääntä 2. Nämä komennot on ehkä muutettava, jos käytät toista anturia. digitalWrite (ultraääni2TrigPin, HIGH); delayMikrosekuntia (10); // pitää trig -nastan korkeana vähintään 10 mikrosekuntia digitalWrite (ultrasonic2TrigPin, LOW); ultrasonic2Duration = pulseIn (ultraääni2EchoPin, HIGH); ultraääni2Etäisyys = (ultraääni2Kesto/2)/29; } // seuraava koskee konsolin virheenkorjausvirheitä. void debugOutput () {if ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:"); Sarjajälki (ultraääni2etäisyys); Sarjajälki ("cm"); Sarja.println (); timeSerialDelay = millis (); }}