Turinys:

Buferių kūrimas robotui: 4 žingsniai
Buferių kūrimas robotui: 4 žingsniai

Video: Buferių kūrimas robotui: 4 žingsniai

Video: Buferių kūrimas robotui: 4 žingsniai
Video: Supersection 1, More Comfortable 2024, Liepa
Anonim
Buferių kūrimas robotui
Buferių kūrimas robotui

Mano 11 klasės kompiuterių inžinerijos kursuose mums buvo duota užduotis priversti mūsų robotą eiti per labirintą. Norint kontroliuoti, ar jis eina tiesiai, pasuka į kairę ar į dešinę, mūsų buvo paprašyta padaryti buferius. Tokiu būdu, jei robotas palies sieną ir atsitrenks į dešinįjį buferį, robotas pasuks į kairę, o atsitrenkus į kairįjį buferį - į dešinę. Taigi iš esmės mūsų užduotis buvo sukurti buferį, kurį būtų galima įstumti, kad būtų galima apsisukti, ir man taip pat reikia grįžti atgal, kad jis nuolat neįsijungtų. Tačiau, norint nustatyti buferį, taip pat reikia nustatyti kodą ir grandinę. Atlikite šiuos veiksmus, kad sužinotumėte, kaip padaryti savo buferį robotui.

1 žingsnis: grandinė

Circuit
Circuit
Circuit
Circuit

Kad buferiai veiktų, turite sukurti grandinę savo roboto viršuje esančioje duonos lentoje.

(vadovaukitės aukščiau esančia nuotrauka, kad gautumėte 2 buferius)

Reikalingos medžiagos

  • 2 mažos lemputės (kad buferiai veiktų)
  • 8 laidai
  • 2 rudos-juodos-geltonos spalvos rezistoriai
  • 2 raudonai raudonai rudi rezistoriai

Kai kuriuos dalykus reikia nepamiršti

  • Vss yra „žemė“, nes jis yra lygus nuliui, o Vdd yra lygus 1
  • Kai grandinė veikia, reikšmė yra 0, kai ji neveikia, vertė yra 1
  • Plokščioji šviesos diodo pusė yra neigiama, o kita - teigiama

Dažniausios klaidos grandinėse

  • LED yra neteisingas būdas
  • Šviesos diodas, rezistorius ir viela nėra išdėstyti tame pačiame stulpelyje
  • LED nebeveikia

2 žingsnis: kodas

Kodas:

„{$ STAMP BS2}“{$ PBASIC 2.5}

LBump PIN 11

„RBump“PIN kodas 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“skirtas … Kitas kintamasis iki 65000 tūkst

DARYTI

„GOSUB Forwardfast“pirmyn

IF IN10 = 0 THEN ', jei du įvesties 10 laidai yra paspausti, pasukite į kairę

„GOSUB TurnLeft90“

ELSEIF IN11 = 0 THEN ', jei paspausti du įvesties 11 laidai, tada pasukite į dešinę

„GOSUB TurnRight90“

ENDIF

KILPAS

„TurnRight90“:

„Subprocedūra pasukti 90 laipsnių į dešinę

'**********************************************************

AUKŠTAS 1

MAŽAI 0

MLoopC = nuo 1 iki 22

„PULSOUT LMOTOR“, „LfastRev“juda vienu impulsu į priekį

PULSOUT RMOTOR, Rfast 'naudojant kaiščius ir konstantas

PAUZĖ 20

„20 mS leidžia robotui judėti“prieš KITĄ impulsą

KITAS

GRĄŽINTI

'*********************************************************

„TurnLeft90“:

„Subprocedūra pasukti 90 laipsnių į dešinę

'********************************************************

AUKŠTAS 0

ŽEMA 1

MLoopC = nuo 1 iki 22

„PULSOUT LMOTOR“, „Lfast“juda vienu impulsu į priekį

PULSOUT RMOTOR, RfastRev “naudojant kaiščius ir konstantas

PAUSE 20 '20mS leidžia robotui judėti' prieš KITĄ impulsą

KITAS

GRĄŽINTI

'***********************************************************

„ForwardFast“:

„Papildoma procedūra, skirta robotui greitai judėti į priekį vienu kvadratu

'**********************************************************

MLoopC = nuo 1 iki 70

PULSOUT LMOTOR, L Greitas PULSOUT

„RMOTOR“, „RFast“

PAUZĖ 20

KITAS

GRĄŽINTI

Trumpa apžvalga

Šio kodo tikslas yra užprogramuoti robotą pasukti į kairę, kai paspaudžiami dešiniai laidai (buferis), ir pasukti į dešinę, kai paspaudžiami kairieji laidai (buferis).

Ką reiškia kodas?

Prieš atsakydamas į šį klausimą, turėtumėte žinoti, ką reiškia kai kurie šioje programoje naudojami kodai.

GOSUB - taigi sub reiškia „eiti į paprogramę“(paprograma turi būti nurodyta jūsų kode)

ENDIF - naudojama užbaigti kelių eilučių komandą IF

_

paaiškina kodo reikšmę ….

DOGOSUB Persiųsti į priekį

- Ar liepia robotui eiti į priekį iškart, kai jis įjungtas

IF IN10 = 0 THEN

„GOSUB TurnLeft90“

- sako, kad jei du įvesties 10 laidai (dešinysis buferis) susilies, robotas pasuks į kairę 90 kampu.

ELSEIF

IN11 = 0 THAN GOSUB TurnRight90

- sako, kad jei du įvesties 11 laidai (kairysis buferis) susilies, robotas pasuks į dešinę 90 kampu.

„TurnRight90“: „Subprocedūra pasukti 90 laipsnių į dešinę

'**********************************************************

AUKŠTAS 1

MAŽAI 0

MLoopC = nuo 1 iki 22

PULSOUT LMOTOR, LfastRev

PULSOUT RMOTOR, „Rfast“

PAUZĖ 20

KITAS GRĄŽINIMAS '' **********

- tai yra paprogramės pavyzdys, kuris naudojamas, kad nereikėtų kartoti to paties ilgo kodo vėl ir vėl. tokiu būdu jūsų kodas atrodo tvarkingesnis ir sudėtingesnis.

- aukštas 1 / žemas nulis reiškia, kad robotui pasukus į dešinę (kairieji laidai paliečia), šviesos diodas įsijungia, todėl žinote, kad viskas veikia.

3 žingsnis: buferiai (reikalingos medžiagos)

Buferiai (reikalingos medžiagos)
Buferiai (reikalingos medžiagos)

Norėdami pagaminti buferį, jums reikės…

- 4 „Popsicle“lazdos pagrindinei konstrukcijai ir 2 „Popsicle“lazdelės buferiui pritvirtinti prie roboto

- 4 kempinės gabaliukai

- 4 sąvaržėlės

- taigi aliuminio folija

- 4 laidai (prijungti prie duonos lentos, paaiškinta 1 žingsnyje apie grandinę)

- karšto klijų pistoletas ir klijų lazdelės

- izoliacine juosta

4 žingsnis: buferių surinkimas

Buferių surinkimas
Buferių surinkimas
Buferių surinkimas
Buferių surinkimas
Buferių surinkimas
Buferių surinkimas
Buferių surinkimas
Buferių surinkimas

Norėdami pagaminti vieną buferį, paimkite 2 lazdeles ir nupjaukite suapvalintus galus (kaip pažymėta 1 paveiksle). Šios lazdelės bus buferio viršutinė ir apatinė dalys. Kad laidai liestųsi ir neliestų iškart, reikia kempinės. Paimkite kempinę ir nupjaukite 2 mažus kvadratėlius (kaip antrame paveikslėlyje, parodytame aukščiau). Tada karštu klijų pistoletu paimkite 1 popsiko lazdelę ir įklijuokite 1 kempinės kvadratą kairėje pusėje ir vieną kempinę dešinėje pusėje (kaip nuorodą naudokite 3 paveikslėlį). Tada paimkite 1 vielą ir apvyniokite vieną vielos galo galą aliuminio folija. Uždėkite vielą ant lazdelės vidurio ir užfiksuokite sąvaržėle. Pakartokite šį veiksmą su antrąja viela ir lazdelės lazdele. Paskutinį kartą priklijuokite popsicle be kempinių, prie popsicle su kempinėmis (kaip parodyta 3 paveikslėlyje aukščiau). Dabar jūsų pirmasis buferis baigtas

Pakartokite visą šį procesą antrą kartą, kad padarytumėte antrą buferį.

Norėdami pridėti buferius ant roboto, paimkite vieną lazdelę ir priklijuokite prie buferio apačios. Pasukite kairįjį buferį į kairę pusę, o dešinįjį - į dešinę. Buferius priklijavau maskavimo juostele. (4 paveikslėlis yra užbaigti buferiai, pritvirtinti prie roboto).

Rekomenduojamas: