Turinys:

Padarykite robotų buferius (su kodu): 4 žingsniai
Padarykite robotų buferius (su kodu): 4 žingsniai

Video: Padarykite robotų buferius (su kodu): 4 žingsniai

Video: Padarykite robotų buferius (su kodu): 4 žingsniai
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Liepa
Anonim
Padarykite robotų buferius (su kodu)
Padarykite robotų buferius (su kodu)

Ši pamoka padės skaitytojams sužinoti, kaip sukurti ir koduoti „Boe-bot“buferius, kurie galės naršyti labirinte ir aptikti kliūtis. Projekto kodavimas buvo atliktas naudojant „BASIC Stamp“programavimo programinę įrangą ir „Boe-Bot“robotą, o norint sėkmingai sukurti šiuos buferius, būtinas pagrindinis grandinių ir programavimo supratimas.

Prekės

Norėdami sukurti šiuos buferius, jums reikės:

- „Boe-Bot“robotas

- BASIC antspaudų programavimo programinė įranga

- Populiacinės lazdelės

- Kempinė

- Aliuminio folija

- Savaržėlės

- 8 padoriai ilgi laidai (mažiausiai 6 coliai)

- 2 šviesos diodai

-2 rudos-juodos-geltonos spalvos rezistoriai

-2 raudonai raudonai rudi rezistoriai

- Juosta ir karšti klijai (arba panašūs klijai)

- „Boe-Bot“baterijos

1 žingsnis: 1 žingsnis: grandinės kūrimas

1 žingsnis: grandinės sukūrimas
1 žingsnis: grandinės sukūrimas
1 žingsnis: grandinės sukūrimas
1 žingsnis: grandinės sukūrimas

Vykdykite aukščiau pateiktą duonos lentos schemą, kad sukurtumėte grandinę, skirtą orientuoti ir valdyti duonos lentą. Pabaigoje jūsų duonos lenta turėtų atrodyti panaši į paveikslėlį kairėje.

Ką prisiminti:

- Įsitikinkite, kad šviesos diodas yra teisingoje padėtyje. Tai reiškia, kad plokščia šviesos diodo kojelė turi būti neigiamoje pusėje, o kita - teigiamoje pusėje.

- Vss yra šios duonos lentos pagrindas, o tai reiškia, kad jo vertė yra lygi nuliui, o Vdd - 1.

- Veikiančios grandinės vertė yra 0. Išjungtos grandinės vertė yra 1.

2 veiksmas: 2 žingsnis: „Boe-bot“programavimas

Šis kodas užprogramuoja robotą pasukti 90 laipsnių į kairę ir į dešinę, atsižvelgiant į tai, kuris buferis yra paspaustas (išsamesnė informacija apie buferio sukūrimą kitame žingsnyje). Šis kodas užtikrina, kad robotas pasuks į kairę, kai bus paspausti dešiniai buferio laidai, ir pasuks į dešinę, kai bus paspausti kairieji buferio laidai.

Keletas pagrindinių kalbos vertimų:

- GOSUB = paprograma (po kodo turi būti nurodytas reikalavimas)

- If.. Else = nurodo kodo grupę, kuri turėtų būti vykdoma, jei sąlygos yra teisingos, ir vykdo nurodymus, jei sąlygos yra klaidingos

Kodas:

„{$ STAMP BS2}

„{$ PBASIC 2.5}“****************************************** ******************************** 'Reset Restart Code' Naudokite atstatymo mygtuką, kad sustabdytumėte ir paleistumėte robotą '** ************************************************* *********************** temp VAR baitas 'laikinoji parduotuvė RunStatus DATA $ 00' kintamasis, saugomas ROM READ RunStatus, temp 'Skaitykite kintamąjį iš ROM temp = ~ temp 'apverskite vertę nuo 0 iki 1 arba nuo 1 iki 0 WRITE RunStatus, temp' Parašykite kintamąjį atgal į ROM IF (temp> 0) THEN END jūs pajudinsite „ranką, kai paspausite atstatymą“*************************************** *********************************** '' ************* ************************************************* *********** 'Smeigtukai ir konstantos' Naudojamas programavimui supaprastinti '***************************** ******************************************* LMOTOR PIN 15 RMOTOR PIN 14 RFast CON 650 LFast CON 850 RSlow CON 700 LSlow CON 780 MStop CON 750 RFastRev CON 8 50 LFastRev CON 650 RSlowRev CON 800 LSlowRev CON 700 TurnLeft90 CON 90 TurnRight90 CON 90 '******************************** ************************************** '' ********* ************************************************* ************** 'Kintamieji' Naudojamas supaprastinti programavimą '**************************** ******************************************** MLoopC VAR žodis.. Kitas kintamasis iki 65000 šonųSkaičius VAR baitų posūkisAngle VAR Word '*********************************** ************************************ '' ----------- -------------------------------------------------- ------------- "Pagrindinis kodas" --------------------------------- ----------------------------------------- Darykite, jei IN10 = 0 THEN 'Jei viela 10 kaištyje įjungta, tada pasukite į kairę GOSUB kairėn Pasukite90 GOSUB LFastRev GOSUB RFastRev ELSEIF IN11 = 0 THEN 'Jei 11 kaiščio viela įjungta, pasukite į dešinę GOSUB RightTurn90 GOSUB LFastRev GOSUB RFastRev ENDIF GOSUB ForwardFast' Perkelti vieną impulsą LOOP ' --------------------------------- ------------------------------------ '** PAGRINDINIO KODO PABAIGA ****** ********************************************** ''- -------------------------------------------------- --------------------- '**************************** ******************************************** / Papildoma procedūra / Metodai ******************************* '*********** ************************************************* *********** '************************************* ********************************* '*************** ************************************************* ******* „RightTurn90“: „Subprocedūra pasukti 90 laipsnių į dešinę“********************************* ************************************* HIGH 1 LOW 0 MLoopC = 1 - 22 PULSOUT LMOTOR, Lfast „judėti pirmyn vienu impulsu PULSOUT RMOTOR, RfastRev“, naudojant kaiščius ir konstantas PAUSE 20 „20mS“leidžia robotui judėti KITA “prieš KITAS impulsas RETURN“******************** ************************************************* * „LeftTurn90“: „papildoma procedūra 90 laipsnių pasukimui į dešinę“** ************************************************* ******************* AUKŠTAS 0 ŽEMAS 1 MLoopC = 1–22 „PULSOUT LMOTOR“, „LfastRev“„judėti į priekį vienu impulsu PULSOUT RMOTOR, Rfast“naudojant kaiščius ir konstantas PAUSE 20 ' 20 mS leidžia robotui judėti NEXT 'prieš KITAS pulsas RETURN' ************************************* ********************************* ************************************************* ***** *** ************************************************* ****** ReverseTurnLeft: 'Papildoma procedūra, skirta robotui pakeisti ir pasukti į kairę, kai pataikomas dešinysis buferis' *************************** ******************************************* MLoopC = 1–55 PULSOUT LMOTOR, LSlowRev PULSOUT RMOTOR, RFastRev PAUSE 20 NEXT RETURN '************************************* ******************************** ReverseTurnRight: 'Subproce pasukite robotą atgal ir pasukite į dešinę, kai atsitrenkia į kairįjį buferį '*********************************** ********************************** MILoopC = 1–55 PULSOUT LMOTOR, LFastRev PULSOUT RMOTOR, RSlowRev PAUSE 20 KITAS GRĄŽINIMAS “************************ 'PABALSŲ PABAIGA' ******************** ************************************************* *

3 veiksmas: 3 žingsnis: aliuminio folijos ir „Popsicle“lazdelių naudojimas vielos buferiams

3 žingsnis: aliuminio folijos ir „Popsicle“lazdelių naudojimas vielos buferiams
3 žingsnis: aliuminio folijos ir „Popsicle“lazdelių naudojimas vielos buferiams
3 žingsnis: aliuminio folijos ir „Popsicle“lazdelių naudojimas vielos buferiams
3 žingsnis: aliuminio folijos ir „Popsicle“lazdelių naudojimas vielos buferiams
3 žingsnis: aliuminio folijos ir „Popsicle“lazdelių naudojimas vielos buferiams
3 žingsnis: aliuminio folijos ir „Popsicle“lazdelių naudojimas vielos buferiams
3 žingsnis: aliuminio folijos ir „Popsicle“lazdelių naudojimas vielos buferiams
3 žingsnis: aliuminio folijos ir „Popsicle“lazdelių naudojimas vielos buferiams

Prieš pradėdami šį veiksmą įsitikinkite, kad 4 laidai iš duonos lentos (žr. 1 veiksmą) yra suskirstyti į poras, kiekviena pora valdo dešinįjį arba kairįjį buferį. Šviesos diodai veikia šioje situacijoje, kad patikrintų, ar kodas buvo veiksmingas dešinėje ir kairėje. Ant „Popsicle“lazdelių vienas laidas iš kiekvienos poros turi vieną „Popsicle“lazdelės galą (tai reiškia, kad tos pačios poros laidai NEGALI būti ant to paties buferio).

Iškirpkite 4 mažus stačiakampius iš folijos ir vienu apvyniokite vielą aplink kiekvieną dviejų „Popsicle“pagaliukų galą. Tai padidina „Popsicle“lazdelės laidumo plotą, taip pat suteikia didesnį paviršiaus plotą lazdoms liesti.

Kad folija ir laidai nebūtų prilipę prie „Popsicle“lazdelių, naudokite 1-2 sąvaržėles, kad laikytumėte medžiagas. Sąvaržėlės taip pat suteikia daugiau prieigos prie „Popsicle“lazdelių liesti be didesnio išorinio įsikišimo. Pastumkite sąvaržėlę virš „Popsicle“lazdelės taip, kaip tai darytumėte su įprasta popieriaus krūva. Pakartokite tai su visais keturiais folijos gabalėliais ir kiekvienu dviejų „Popsicle“pagaliukų galu.

4 žingsnis: 4 žingsnis: likusių buferių surinkimas

4 žingsnis: Surinkite likusius buferius
4 žingsnis: Surinkite likusius buferius
4 žingsnis: Surinkite likusius buferius
4 žingsnis: Surinkite likusius buferius
4 žingsnis: Surinkite likusius buferius
4 žingsnis: Surinkite likusius buferius
4 žingsnis: Surinkite likusius buferius
4 žingsnis: Surinkite likusius buferius

Kai aliuminio folija ir sąvaržėlės gali išlaikyti laidus, pritvirtintus prie kiekvienos „Popsicle“lazdelės, supjaustykite du mažus kubelius kempinės ir kiekvieną kubelį klijuokite tarp pagaliukų (kiekvienos lazdelės galuose, kad karšti klijai netrukdytų kempinės užtikrina buferių prisilietimą kiekvieną kartą, kai robotas atsitrenkia į sieną.

Neprivaloma: perpjaukite papildomą „Popsicle“lazdelę per pusę ir priklijuokite ją kampu išorinio „Popsicle stick“buferio gale. Tai sustiprina buferio smūgį į sieną ir pasisukimą.

Nepamirškite sulenkti laidų, kad buferiai išlenktų tiesiai priešais „Bot-bot“.

Rekomenduojamas: