Sisukord:
Video: Kaitseraudade loomine robotile: 4 sammu
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Minu 11. klassi arvutitehnika kursusel anti meile ülesanne panna meie robot läbima labürinti. Selleks, et kontrollida, kas see läheb otse, pöörab vasakule või paremale, paluti meil teha kaitserauad. Kui robot puudutaks seina ja lööks paremale kaitserauale, pööraks robot vasakule ja vasakule kaitserauale pöörates pöörleb robot paremale. Nii et sisuliselt oli meie ülesanne luua kaitseraud, mida saab sisse lükata, et see saaks pöörduda, ja ma pean ka välja tulema, et see ei keeraks pidevalt ringi. Kuid kaitseraua seadistamine nõuab ka kaitseraua käivitamiseks koodi ja vooluringi seadistamist. Roboti jaoks oma kaitseraua valmistamiseks järgige järgmisi samme.
1. samm: vooluring
Selleks, et kaitserauad tööle hakkaksid, peate looma ahela oma roboti ülaosas oleval leivaplaadil.
(2 kaitseraua saavutamiseks järgige ülaltoodud pilti)
Vajalikud materjalid
- 2 väikest LED -valgustit (kaitseraudade töökindluse tagamiseks)
- 8 juhtmest
- 2 pruuni-must-kollast takistit
- 2 punase-punase-pruuni takisti
Mõned asjad, mida meeles pidada
- Vss on seal "maapind", sest see on võrdne nulliga ja Vdd on 1
- Kui ahel töötab, on väärtus 0, kui see ei tööta, väärtus 1
- Valgusdioodi tasane külg on negatiivne ja teine pool positiivne
Sagedased vead vooluringides
- LED on vale tee
- LED, takisti ja traat ei ole samasse veergu rivistatud
- LED ei tööta enam
2. samm: kood
Kood:
„{$ 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 'jaoks … Järgmine muutuja kuni 65000ish
TEE
GOSUB Forwardfast 'mine edasi
IF IN10 = 0 THEN ', kui sisendi 10 kahte juhtmest vajutatakse, siis pöörake vasakule
GOSUB TurnLeft90
ELSEIF IN11 = 0 THEN ', kui kaks juhtmest sisendis 11 on vajutatud, siis pöörake paremale
GOSUB TurnRight90
ENDIF
LOOP
TurnRight90:
'Alamprotseduur 90 kraadi paremale pööramiseks
'**********************************************************
KÕRGE 1
MADAL 0
MLoopC puhul = 1 kuni 22
PULSOUT LMOTOR, LfastRev 'liiguvad ühe impulsi võrra edasi
PULSOUT RMOTOR, Rfast 'kasutades tihvte ja konstandeid
PAUS 20
"20mS võimaldab robotil liikuda" enne järgmist impulsi
JÄRGMINE
TAGASI
'*********************************************************
TurnLeft90:
'Alamprotseduur 90 kraadi paremale pööramiseks
'********************************************************
KÕRGE 0
MADAL 1
MLoopC puhul = 1 kuni 22
PULSOUT LMOTOR, Lfast liigub ühe impulsi võrra edasi
PULSOUT RMOTOR, RfastRev 'kasutades tihvte ja konstandeid
PAUS 20 '20mS võimaldab robotil liikuda' enne järgmist pulssi
JÄRGMINE
TAGASI
'***********************************************************
Kiire edasi:
„Alamprotseduur roboti ühe ruudu kiireks edasi viimiseks
'**********************************************************
MLoopC puhul = 1 kuni 70
PULSOUT LMOTOR, LKiire PULSOUT
RMOTOR, RFast
PAUS 20
JÄRGMINE
TAGASI
Lühiülevaade
Selle koodi eesmärk on programmeerida robot paremale juhtmele (kaitseraud) vajutamisel vasakule pöörama ja vasakule juhtmele (kaitseraud) vajutades paremale.
Mida kood tähendab?
Enne sellele küsimusele vastamist peaksite olema kursis sellega, mida mõned selles programmis kasutatavad koodid tähendavad.
GOSUB - alamprogramm tähendab alamprogrammi (alamprogramm peab olema teie koodis identifitseeritud)
ENDIF - kasutatakse mitme rea IF lõpetamiseks
_
koodi tähenduse selgitamine ….
DOGOSUB Edasi
- käsib robotil kohe pärast sisselülitamist edasi minna
KUI IN10 = 0 SIIS
GOSUB TurnLeft90
- ütleb, et kui kaks juhtmest sisendis 10 (parem kaitseraud) puutuvad kokku, pöörab robot 90 nurga all vasakule.
ELSEIF
IN11 = 0 SIIS GOSUB TurnRight90
- ütleb, et kui kaks juhtmest sisendis 11 (vasakpoolne kaitseraud) puutuvad kokku, pöörab robot 90 nurga all paremale.
TurnRight90: 'Alamprotseduur 90 kraadi paremale pööramiseks
'**********************************************************
KÕRGE 1
MADAL 0
MLoopC puhul = 1 kuni 22
PULSOUT LMOTOR, LfastRev
PULSOUT RMOTOR, Rfast
PAUS 20
JÄRGMINE TAGASI '********************************************* **********
- see on näide alamprogrammist, mida kasutatakse, nii et te ei pea sama pikka koodi ikka ja jälle kordama. nii näeb teie kood välja korralikum ja rohkem kokku pandud.
- kõrge 1 / madal null tähendab, et kui robot pöörab paremale (vasak juhtmed puutuvad kokku), süttib LED, nii teate, et kõik töötab.
3. samm: kaitserauad (vajalikud materjalid)
Põrkeraua tegemiseks vajate…
- 4 põhikonstruktsiooni jaoks mõeldud popsicle pulka ja 2 popsicle pulka kaitseraua kinnitamiseks robotile
- 4 tükki käsna
- 4 kirjaklambrit
- seega alumiiniumfoolium
- 4 juhtmest (leivaplaadiga ühendamiseks, selgitatud vooluahela 1. sammus)
- kuum liimipüstol ja liimipulgad
- maalriteip
4. samm: kaitseraudade kokkupanek
Ühe kaitseraua tegemiseks võtke 2 popsicle pulka ja lõigake ümarad otsad ära (nagu märgitud 1. pildil). Need popsicle pulgad toimivad kaitseraua ülemise ja alumise osana. Juhtmete puudutamiseks ja puudutamiseks kohe pärast seda on vaja käsna. Võtke käsn ja lõigake 2 väikest ruutu (nagu ülaltoodud teisel pildil). Seejärel võtke kuuma liimipüstoli abil 1 popsicle pulgake ja liimige 1 käsnaruut vasakul küljel ja üks käsn paremal küljel (viitena kasutage 3. pilti). Seejärel võtke 1 traat ja mähkige traadi otsa üks ots mõne alumiiniumfooliumiga. Asetage traat popsicle pulga keskele ja kinnitage see kirjaklambriga. Korrake seda sammu teise traadi ja popsicle pulgaga. Viimati liimige popsicle ilma käsnadeta, popsicle'ile käsnadega (nagu näidatud ülaltoodud 3. pildil). Nüüd on teie esimene kaitseraud valmis
Teise kaitseraua tegemiseks korrake kogu seda protsessi teist korda.
Kaitseraudade lisamiseks robotile võtke üks popsicle pulk ja liimige see kaitseraua põhja. Kallutage vasak kaitseraud vasakule poole ja parem kaitseraud paremale poole. Kinnitasin kaitserauad kleeplindiga. (pilt number 4 on valmis kaitserauad, mis on roboti külge kinnitatud).