- Tarvittavat materiaalit:
- Linjaseuraajan käsitteet
- Vadelma Pi -linjaseuraajan robottipiirikaavio ja selitys:
- Vadelma PI: n ohjelmointi:
- Vadelma Pi -linjan seuraaja toiminnassa:
Kuten kaikki tiedämme, Raspberry Pi on loistava ARM-mikroprosessoriin perustuva kehitysympäristö. Suuren laskentatehonsa ja kehitysvaihtoehtojensa avulla se voi tehdä ihmeitä elektroniikan harrastajien tai opiskelijoiden käsissä. Jos haluat oppia lisää Vadelma Pi: stä ja miten se toimii, kokeile rakentaa linjaseuraajarobotti Raspberry Pi: n avulla.
Jos olet kiinnostunut robotiikasta, sinun pitäisi olla hyvin perehtynyt nimeen " Line Follower Robot ". Tämä robotti pystyy seuraamaan linjaa vain anturien ja moottorien avulla. Ei ehkä kuulosta tehokkaalta käyttää Raspberry Pi: n kaltaista voimakasta mikroprosessoria yksinkertaisen robotin rakentamiseen. Mutta tämä robotti antaa sinulle tilaa loputtomalle kehitykselle, ja robotit, kuten Kiva (Amazon-varastorobotti), ovat esimerkki tästä. Voit myös tarkistaa muut linjaseuraajarobotimme:
- Linjaseuraajarobotti 8051-mikrokontrollerilla
- Linjaseurainrobotti Arduinolla
Tarvittavat materiaalit:
- Vadelma Pi 3 (minkä tahansa mallin pitäisi toimia)
- IR-anturi (2Nos)
- DC-vaihdemoottori (2Nos)
- L293D-moottorin ohjain
- Cheeses (Voit myös rakentaa oman kartongin avulla)
- Virtapankki (kaikki käytettävissä olevat virtalähteet)
Linjaseuraajan käsitteet
Linjaseuraajarobotti pystyy seuraamaan linjaa infrapunatunnistimen avulla. Tässä anturissa on IR-lähetin ja IR-vastaanotin. IR-lähetin (IR LED) lähettää valon ja vastaanotin (valodiodi) odottaa lähetetyn valon paluuta. IR-valo palaa takaisin vain, jos pinta heijastaa sitä. Vaikka kaikki pinnat eivät heijasta infrapunavaloa, vain valkoinen väripinta voi heijastaa ne kokonaan ja musta väri pinta havaitsee ne täysin alla olevan kuvan mukaisesti. Lisätietoja IR-anturimoduulista on täällä.
Nyt käytämme kahta infrapuna-anturia tarkistaaksemme, onko robotti radalla linjan kanssa, ja kahdella moottorilla korjaamaan robotin, jos robotti liikkuu radalta. Nämä moottorit vaativat suurta virtaa ja niiden tulisi olla kaksisuuntaiset; siksi käytämme moottorin ohjainmoduulia, kuten L293D. Tarvitsemme myös Raspberry Pi: n kaltaisen laskennallisen laitteen ohjaamaan moottoreita IR-anturin arvojen perusteella. Samanlainen yksinkertaistettu lohkokaavio on esitetty alla.
Nämä kaksi IR-anturia sijoitetaan yksi linjan molemmille puolille. Jos mikään antureista ei havaitse mustaa viivaa, ne PI neuvoo moottoreita liikkumaan eteenpäin alla olevan kuvan mukaisesti
Jos vasen anturi tulee mustalle viivalle, PI kehottaa robottia kääntymään vasemmalle pyörittämällä oikeaa pyörää yksin.
Jos oikea anturi tulee mustalle viivalle, PI kehottaa robottia kääntymään oikealle kiertämällä vasenta pyörää yksin.
Jos molemmat anturit tulevat mustalle linjalle, robotti pysähtyy.
Tällä tavalla robotti pystyy seuraamaan linjaa menemättä radan ulkopuolelle. Katsotaan nyt, kuinka piiri ja koodi näyttävät.
Vadelma Pi -linjaseuraajan robottipiirikaavio ja selitys:
Tämän Vadelma Pi -linjaseuraajarobotin täydellinen kytkentäkaavio on esitetty alla
Kuten näette, piiriin kuuluu kaksi IR-anturia ja pari moottoreita, jotka on kytketty Vadelma pi -laitteeseen. Koko piiri saa virtansa mobiilivirrasta (jota edustaa AAA-akku yllä olevassa piirissä).
Koska nastojen yksityiskohtia ei mainita Raspberry Pi: ssä, meidän on tarkistettava nastat alla olevan kuvan avulla
Kuten kuvassa näkyy, PI: n vasemmassa yläkulmassa oleva nasta on + 5 V nasta, käytämme tätä + 5 V nastaa IR-antureiden virran saamiseksi piirikaavion mukaisesti (punainen johdin). Sitten liitämme maadoitustapit IR-anturin ja moottorin ohjainmoduulin maahan mustalla johdolla. Keltainen lankaa käytetään liittämään lähtönastaan anturin 1 ja 2 GPIO nastat ja 3, vastaavasti.
Moottorien ajamiseen tarvitaan neljä tapia (A, B, A, B). Tämä neljä nastaa on kytketty GPIO14,4,17: stä ja 18 vastaavasti. Oranssi ja valkoinen johto muodostavat yhdessä yhteyden yhdelle moottorille. Joten meillä on kaksi tällaista paria kahdelle moottorille.
Moottorit on kytketty L293D-moottoriohjainmoduuliin kuvan osoittamalla tavalla, ja ohjainmoduulia saa virtansa virtapankista. Varmista, että virtapankin maa on kytketty Raspberry Pi: n maahan, vasta sitten yhteys toimii.
Vadelma PI: n ohjelmointi:
Kun olet valmis kokoonpanoon ja liitäntöihin, robotin pitäisi näyttää tältä.
Nyt on aika ohjelmoida botti ja saada se toimimaan. Tämän botin täydellinen koodi löytyy tämän opetusohjelman alaosasta. Lisätietoja Raspberry Pi -ohjelman ohjelmoinnista ja ajamisesta tässä. Tärkeät linjat selitetään alla
Aiomme tuoda GPIO-tiedoston kirjastosta, alla oleva toiminto antaa meille mahdollisuuden ohjelmoida PI: n GPIO-nastat. Nimeämme myös "GPIO": n "IO: ksi", joten aina kun haluamme viitata GPIO-nastoihin, käytämme sanaa "IO".
tuo RPi.GPIO IO: ksi
Joskus, kun GPIO-nastat, joita yritämme käyttää, saattavat tehdä joitain muita toimintoja. Siinä tapauksessa saamme varoituksia ohjelman suorituksen aikana. Alla oleva komento kehottaa PI: tä ohittamaan varoitukset ja jatkamaan ohjelmaa.
IO.setwarnings (väärä)
Voimme viitata PI: n GPIO-nastoihin joko aluksella olevalla pin-numerolla tai niiden toimintonumerolla. Kuten taululla oleva PIN-koodi 29, on GPIO5. Joten sanomme täällä joko aion edustaa tappi tässä '29' tai '5'.
IO.setmode (IO.BCM)
Asetamme 6 nastaa tulo / lähtö nastoiksi. Kaksi ensimmäistä nastaa ovat tulonastat IR-anturin lukemiseen. Seuraavat neljä ovat lähtönastoja, joista kahta ensimmäistä käytetään oikean moottorin ohjaamiseen ja seuraavia kahta vasemman moottorin.
IO.setup (2, IO.IN) #GPIO 2 -> Vasen IR ulos IO.setup (3, IO.IN) #GPIO 3 -> Oikea IR out IO.setup (4, IO.OUT) #GPIO 4 - > Moottorin 1 liitäntä A IO.asetukset (14, IO.OUT) #GPIO 14 -> Moottorin 1 liitännät B IO. Asetukset (17, IO.OUT) #GPIO 17 -> Moottorin vasen liitin A IO.asetukset (18, IO.OUT) #GPIO 18 -> Moottorin vasen liitin B
IR-anturi antaa “True” -arvon, jos se on valkoisella pinnalla. Joten niin kauan kuin molemmat anturit sanovat True, voimme siirtyä eteenpäin.
jos (IO.tulo (2) == Tosi ja IO.tulo (3) == Tosi): # molemmat valkoiset siirtyvät eteenpäin IO.ulostulo (4, tosi) # 1A + IO.ulostulo (14, väärä) # 1B- IO.output (17, True) # 2A + IO.output (18, False) # 2B-
Meidän on käännettävä oikealle, jos ensimmäinen infrapunatunnistin tulee mustan viivan yli. Tämä tehdään lukemalla infrapunatunnistin ja jos ehto täyttyy, pysäytämme oikean moottorin ja pyöritämme vasenta moottoria yksin alla olevan koodin mukaisesti
elif (IO.input (2) == False ja IO.input (3) == True): #käänny oikealle IO.output (4, True) # 1A + IO.output (14, True) # 1B- IO.output (17, tosi) # 2A + IO. Lähtö (18, väärä) # 2B-
Meidän on tehtävä vasen käännös, jos toinen infrapunatunnistin tulee mustan viivan yli. Tämä tehdään lukemalla IR-anturi ja jos ehto täyttyy, pysäytämme vasemman moottorin ja pyöritämme oikeaa moottoria yksin alla olevan koodin mukaisesti
elif (IO.input (2) == True ja IO.input (3) == False): #käänny vasemmalle IO.output (4, True) # 1A + IO.output (14, False) # 1B- IO.output (17, tosi) # 2A + IO. Lähtö (18, tosi) # 2B-
Jos molemmat anturit tulevat mustan viivan yli, se tarkoittaa, että robotin on pysähdyttävä. Tämä voidaan tehdä tekemällä moottorin molemmat liittimet totta, kuten alla olevassa koodissa näkyy
muu: # pysy edelleen IO.output (4, True) # 1A + IO.output (14, True) # 1B- IO.output (17, True) # 2A + IO.output (18, True) # 2B-
Vadelma Pi -linjan seuraaja toiminnassa:
Lataa rivinseuraajan python-koodi Raspberry Pi -laitteellesi ja suorita se. Tarvitsemme kannettavaa virtalähdettä, virtapankki tulee tässä tapauksessa käteväksi, joten olen käyttänyt samaa. Käytössäni on kaksi USB-porttia, joten olen käyttänyt PI: n ja muun virran syöttämistä moottorin ohjaimeen alla olevan kuvan mukaisesti.
Nyt sinun tarvitsee vain asettaa oma mustaväriraita ja vapauttaa botti sen yli. Olen käyttänyt mustaa eristysnauhaa radan luomiseen. Voit käyttää mitä tahansa mustaväristä materiaalia, mutta varmista, että pohjaväri ei ole tumma.
Botin täydellinen toiminta löytyy alla olevasta videosta. Toivottavasti ymmärrät projektin ja nautit sen rakentamisesta. Jos sinulla on kysyttävää, lähetä ne alla olevaan kommenttiosioon.