Sisällysluettelo:
Video: Puskureiden luominen robotille: 4 vaihetta
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Luokka 11 tietotekniikan kurssillamme saimme tehtävän saada robotimme kulkemaan labyrintin läpi. Jotta voisimme valvoa, kulkeeko se suoraan, käänny vasemmalle tai oikealle, meitä pyydettiin tekemään puskureita. Jos robotti koskisi seinää ja osuisi oikeaan puskuriin, robotti kääntyisi vasemmalle ja jos se osuisi vasempaan puskuriin, robotti kääntyisi oikealle. Joten periaatteessa tehtävämme oli luoda puskuri, joka voidaan työntää sisään kääntymisen mahdollistamiseksi, ja minun on myös palattava ulos, jotta se ei käynnisty jatkuvasti. Puskurin asentaminen edellyttää kuitenkin myös koodin ja piirin määrittämistä puskurin käynnistämiseksi. Noudata seuraavia ohjeita oppiaksesi tekemään oman puskurin robotille.
Vaihe 1: Piiri
Jotta puskurit toimisivat, sinun on luotava piiri robotin päällä olevaan leipälevyyn.
(seuraa yllä olevaa kuvaa, jotta saat 2 puskuria)
Tarvittavat materiaalit
- 2 pientä led -valoa (puskurien toiminnan varmistamiseksi)
- 8 johtoa
- 2 ruskean-mustan-keltaista vastusta
- 2 puna-puna-ruskeaa vastusta
Jotkut asiat pitää mielessä
- Vss on "maa" siellä, koska se on nolla ja Vdd on 1
- Kun piiri on käynnissä, arvo on 0, kun se ei ole käynnissä, arvo on 1
- Ledin tasainen puoli on negatiivinen ja toinen puoli positiivinen
Yleisiä virheitä piireissä
- LED on väärä tapa
- LED, vastus ja johto eivät ole samassa sarakkeessa
- LED ei toimi enää
Vaihe 2: Koodi
Koodi:
{$ STAMP BS2} {$ PBASIC 2.5}
LBump PIN 11
RBump PIN 10
LMOTOR PIN 15
RMOTOR -PIN 14
RFast CON 650
LFast CON 850
RSlow CON 700
LSLOW CON 800
MStop CON 750
RFastRev CON 850
LFastRev CON 650
RSlowRev CON 800
LSlowRev CON 700
MLoopC VAR Word 'For.. Seuraava muuttuja jopa 65000ish
TEHDÄ
GOSUB Forwardfast 'mene eteenpäin
JOS IN10 = 0 THEN ', jos tulon 10 kahta johtoa painetaan, käänny vasemmalle
GOSUB Käännä vasen90
ELSEIF IN11 = 0 THEN ', jos tulon 11 kahta johdinta painetaan, käänny oikealle
GOSUB TurnRight90
LOPPU JOS
LOOP
TurnRight90:
'Alitoimenpide 90 asteen kääntymiseen oikealle
'**********************************************************
KORKEA 1
MATALA 0
MLoopC = 1--22
PULSOUT LMOTOR, LfastRev 'siirtyvät eteenpäin yhden pulssin eteenpäin
PULSOUT RMOTOR, Rfast 'käyttäen tappeja ja vakioita
TAUKO 20
'20mS sallii robotin liikkua' ennen SEURAAVAA pulssia
SEURAAVA
PALATA
'*********************************************************
TurnLeft90:
'Alitoimenpide 90 asteen kääntymiseen oikealle
'********************************************************
KORKEA 0
MATALA 1
MLoopC = 1--22
PULSOUT LMOTOR, Lfast 'siirtyvät eteenpäin yhden pulssin eteenpäin
PULSOUT RMOTOR, RfastRev 'käyttäen tappeja ja vakioita
PAUSE 20 '20mS antaa robotille mahdollisuuden liikkua' ennen SEURAAVAA pulssia
SEURAAVA
PALATA
'***********************************************************
Nopea eteenpäin:
'Alitoimenpide robotin siirtämiseksi yksi neliö nopeasti eteenpäin
'**********************************************************
MLoopC: lle 1--70
PULSOUT LMOTOR, LNopea PULSOUT
RMOTOR, RFast
TAUKO 20
SEURAAVA
PALATA
Lyhyt yleiskatsaus
Tämän koodin tarkoitus on ohjelmoida robotti kääntymään vasemmalle, kun oikeaa lankaa (puskuria) painetaan, ja kääntymään oikealle, kun vasenta lankaa (puskuria) painetaan.
Mitä koodi tarkoittaa?
Ennen kuin vastaan tähän kysymykseen, sinun pitäisi tuntea, mitä jotkin tässä ohjelmassa käytetyt koodit tarkoittavat.
GOSUB - joten aliosa tarkoittaa siirtymistä aliohjelmaan (aliohjelma on tunnistettava koodissasi)
ENDIF - käytetään useiden rivien IF -komennon lopettamiseen
_
selittää koodin merkityksen ….
DOGOSUB Eteenpäin
- Kertoo robotille mennä eteenpäin heti, kun se käynnistetään
IF IN10 = 0 THEN
GOSUB Käännä vasen90
- sanoo, että jos tulon 10 kaksi johdinta (oikea puskuri) koskettavat, robotti kääntyy vasemmalle 90 kulmassa.
MUUTEN JOS
IN11 = 0 Silloin GOSUB TurnRight90
- sanoo, että jos tulon 11 (vasen puskuri) kaksi johtoa koskettavat, robotti kääntyy oikealle 90 kulmassa.
TurnRight90: 'Alitoimenpide 90 asteen kääntymiseen oikealle
'**********************************************************
KORKEA 1
MATALA 0
MLoopC = 1--22
PULSOUT LMOTOR, LfastRev
PULSOUT RMOTOR, Rfast
TAUKO 20
SEURAAVA PALUU '********************************************** **********
- tämä on esimerkki aliohjelmasta, jota käytetään, joten sinun ei tarvitse toistaa samaa pitkää koodia uudestaan ja uudestaan. tällä tavalla koodisi näyttää siistimmältä ja enemmän koottuna.
- korkea 1 / matala nolla tarkoittaa, että kun robotti kääntyy oikealle (vasemmat johdot koskettavat) led syttyy, niin tiedät, että kaikki toimii.
Vaihe 3: Puskurit (tarvittavat materiaalit)
Puskurin valmistamiseksi tarvitset…
- 4 Popsicle -tikkua päärakenteelle ja 2 Popsicle -tikkua puskurin kiinnittämiseksi robottiin
- 4 kpl sientä
- 4 paperiliitintä
- siis alumiinifoliota
- 4 johtoa (liittääksesi leipälevyyn, selitetty piirin vaiheessa 1)
- kuuma liimapistooli ja liimapuikot
- Maalarinteippi
Vaihe 4: Puskureiden kokoaminen
Jos haluat tehdä yhden puskurin, ota 2 popsicle -tikkua ja leikkaa pyöristetyt päät pois (kuten merkitty 1. kuvassa). Nämä popsicle -tikut toimivat puskurisi ylä- ja alaosana. Jotta johdot koskettavat ja poistavat kosketuksen heti, tarvitaan sieni. Ota sieni ja leikkaa 2 pientä neliötä (kuten yllä olevassa toisessa kuvassa). Ota sitten kuumaliimapistoolilla yksi popsicle -tikku ja liimaa 1 sienimäinen neliö vasemmalle puolelle ja yksi sieni oikealle puolelle (käytä kolmatta kuvaa viitteenä). Ota sitten 1 lanka ja kiedo langan kärjen toinen pää alumiinifoliolla. Aseta lanka popsicle -tikun keskelle ja kiinnitä se paperiliittimellä. Toista tämä vaihe toisen langan ja popsicle -tikun kanssa. Viimeiseksi liimaa popsicle ilman sieniä, popsicleiin sienillä (kuten yllä olevassa 3. kuvassa). Ensimmäinen puskurisi on nyt valmis
Toista tämä koko prosessi toisen kerran toisen puskurin luomiseksi.
Jos haluat lisätä puskureita robottiin, ota yksi popsicle -tikku ja liimaa se puskurin pohjaan. Käännä vasen puskuri vasemmalle puolelle ja oikea puskuri oikealle puolelle. Laitoin puskurit kiinni teipillä. (kuva 4 on robottiin kiinnitetyt puskurit).