Satura rādītājs:

Izgatavojiet robotu buferus (ar kodu): 4 soļi
Izgatavojiet robotu buferus (ar kodu): 4 soļi

Video: Izgatavojiet robotu buferus (ar kodu): 4 soļi

Video: Izgatavojiet robotu buferus (ar kodu): 4 soļi
Video: 🤯 Удивительно, сколько слабых мест в Opel Astra H. Как и когда они проявляются? 2024, Novembris
Anonim
Izgatavojiet robotu buferus (ar kodu)
Izgatavojiet robotu buferus (ar kodu)

Šī pamācība lasītājus iepazīstinās ar to, kā izveidot un kodēt buferus Boe-bot, kas spēs pārvietoties labirintā, vienlaikus atklājot šķēršļus. Projekta kodēšana tika veikta, izmantojot BASIC Stamp programmēšanas programmatūru un Boe-Bot robotu, un, lai veiksmīgi izveidotu šos buferus, ir nepieciešama pamata izpratne par shēmām un programmēšanu.

Piegādes

Lai izveidotu šos buferus, jums būs nepieciešams:

- Boe-Bot robots

- BASIC Zīmogu programmēšanas programmatūra

- Popsicle nūjas

- Sūklis

- Alumīnija folijs

- Saspraudes

- 8 pienācīgi gari vadi (vismaz 6 collas)

- 2 LED gaismas

-2 brūni melni dzelteni rezistori

-2 sarkani-sarkanbrūni rezistori

- lente un karstā līme (vai līdzīga līme)

- Baterijas jūsu Boe-Bot

1. darbība: 1. darbība: ķēdes izveide

1. darbība: shēmas izveide
1. darbība: shēmas izveide
1. darbība: shēmas izveide
1. darbība: shēmas izveide

Izpildiet iepriekš redzamo maizes dēļa diagrammu, lai izveidotu ķēdi, lai orientētu un darbinātu savu rīvdēli. Beigās jūsu maizes dēlim vajadzētu izskatīties līdzīgi attēlam kreisajā pusē.

Lietas, kas jāatceras:

- Pārliecinieties, vai gaismas diode atrodas pareizajā stāvoklī. Tas nozīmē, ka gaismas diodes plakanajai kājai jāatrodas negatīvajā pusē, bet otrai - pozitīvajai pusei.

- Vss kalpo par pamatu šajā maizes dēļā, kas nozīmē, ka tā vērtība ir nulle, bet Vdd - 1.

- Darbojošās ķēdes vērtība ir 0. Izslēgtai ķēdei ir vērtība 1.

2. darbība: 2. darbība: programmēšana Boe-bot

Šis kods programmē robotu pagriezties pa kreisi un pa labi par 90 grādiem atkarībā no tā, kurš buferis ir nospiests (sīkāka informācija par bufera izveidi nākamajā darbībā). Šis kods nodrošina, ka robots pagriezīsies pa kreisi, nospiežot labos bufera vadus, un pagriezīsies pa labi, nospiežot kreisā bufera vadus.

Daži pamata valodas tulkojumi:

- GOSUB = apakšprogramma (kodam jāseko pieprasījumam)

- Ja.. Else = norāda koda grupu, kas jāizpilda, ja nosacījumi ir patiesi, un izpilda norādījumus, ja nosacījumi ir nepatiesi

Kods:

'{$ STAMP BS2}

'{$ PBASIC 2.5}' ****************************************** ******************************** 'Atiestatīt restartēšanas kodu' Izmantojiet atiestatīšanas pogu, lai apturētu un iedarbinātu robotu '** ************************************************* *********************** temp VAR baits 'pagaidu veikals RunStatus DATA $ 00' mainīgais, kas saglabāts ROM READ RunStatus, temp 'Nolasiet mainīgo no ROM temp = ~ temp 'apgrieziet vērtību no 0 līdz 1 vai no 1 līdz 0 WRITE RunStatus, temp' Ierakstiet mainīgo atpakaļ uz ROM IF (temp> 0) THEN END 'Pārbaudiet, vai vērtība ir 1', ja tā, BEIDZIET programmu PAUSE 3000 'Pause to allow jūs pakustiniet savu roku, nospiežot atiestatīšanas pogu *************************************** *********************************** '' ************* ************************************************* *********** 'Pins AND Constants' Izmanto, lai vienkāršotu programmēšanu '***************************** ******************************************** 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 '******************************** ************************************** '' ********* ************************************************* ************** 'Mainīgie' Izmanto, lai vienkāršotu programmēšanu '**************************** ******************************************** MLoopC VAR vārds 'Par.. Nākamais mainīgais līdz 65000 sānu Skaitītājs VAR baitu pagrieziensAngle VAR Word '*********************************** ************************************* '' ----------- -------------------------------------------------- ------------- 'Galvenais kods' --------------------------------- ----------------------------------------- DARIET JA IN10 = 0 THEN 'Ja vads 10. tapā ir ieslēgts, tad grieziet pa kreisi --------------------------------- ------------------------------------ '** GALVENĀ KODA BEIGAS ****** ********************************************** ''- -------------------------------------------------- --------------------- '**************************** ****************************************** '' ** Apakšrutīnas / Apakšprocedūra / Metodes ******************************* '' *********** ************************************************* *********** '************************************* ********************************* '' *************** ************************************************* ******* RightTurn90: 'Apakšprocedūra 90 grādu pagriešanai' ********************************* ************************************* HIGH 1 LOW 0 MLoopC = 1 līdz 22 PULSOUT LMOTOR, Lfast 'virzās uz priekšu vienu impulsu PULSOUT RMOTOR, RfastRev', izmantojot tapas un konstantes PAUSE 20 '20mS ļauj robotam pārvietoties NEXT' pirms NEXT pulse RETURN '******************** ************************************************* * LeftTurn90: “Apakšprocedūra 90 grādu pagriešanai pa labi” ** ************************************************* ******************* HIGH 0 LOW 1 MLoopC = 1 līdz 22 PULSOUT LMOTOR, LfastRev 'virzās uz priekšu vienu impulsu PULSOUT RMOTOR, Rfast', izmantojot tapas un konstantes PAUSE 20 ' 20mS ļauj robotam pārvietoties NEXT 'pirms NEXT pulse RETURN' ************************************* ********************************* ForwardFast: 'Apakšprocedūra, lai robotu ātri pārvietotu uz priekšu par vienu kvadrātu' **** ************************************************* ***************** FOR MLoopC = 1 līdz 55 PULSOUT LMOTOR, LFast PULSOUT RMOTOR, RFast PAUSE 20 NEXT RETURN '************** ************************************************* ****** ReverseTurnLeft: 'Apakšprocedūra, lai apgrieztu un pagrieztu robotu pa kreisi, kad tiek trāpīts labais buferis' *************************** ****************************************** MLoopC = 1 līdz 55 PULSOUT LMOTOR, LSlowRev PULSOUT RMOTOR, RFastRev PAUSE 20 NEXT RETURN '************************************* ********************************* ReverseTurnRight: 'Apakšprocess Dure, lai atgrieztos un pagrieztu robotu pa labi, kad trāpīts kreisais buferis '*********************************** ********************************** MLoopC = 1 līdz 55 PULSOUT LMOTOR, LFastRev PULSOUT RMOTOR, RSlowRev PAUSE 20 NĀKAMA ATGRIEŠANA '******************************************** ************************ 'SUBROUTINES BEIGAS' ******************** ************************************************* *

3. solis: 3. solis: alumīnija folijas un popsicle nūju izmantošana stiepļu buferiem

3. darbība. Alumīnija folijas un putekļu stieņu izmantošana stiepļu buferiem
3. darbība. Alumīnija folijas un putekļu stieņu izmantošana stiepļu buferiem
3. darbība. Alumīnija folijas un putekļu stieņu izmantošana stiepļu buferiem
3. darbība. Alumīnija folijas un putekļu stieņu izmantošana stiepļu buferiem
3. darbība. Alumīnija folijas un putekļu stieņu izmantošana stiepļu buferiem
3. darbība. Alumīnija folijas un putekļu stieņu izmantošana stiepļu buferiem
3. darbība. Alumīnija folijas un putekļu stieņu izmantošana stiepļu buferiem
3. darbība. Alumīnija folijas un putekļu stieņu izmantošana stiepļu buferiem

Pirms sākat šo darbību, pārliecinieties, ka 4 vadi no maizes dēļa (skatiet 1. darbību) ir sadalīti pāros, un katrs pāris kontrolē labo vai kreiso buferi. Gaismas diodes šajā situācijā darbojas, lai pārbaudītu, vai kods ir efektīvs labajā un kreisajā buferī. Uz Popsicle nūjām viens vads no katra pāra dala vienu Popsicle stick galu (tas nozīmē, ka viena pāra vadi NEVAR būt vienā buferī).

Izgrieziet 4 mazus taisnstūrus no folijas un ar vienu aptiniet vadu ap katru Popsicle nūju galu. Tas palielina Popsicle nūjas vadītspējas virsmas laukumu, kā arī nodrošina lielāku virsmas laukumu, kur nūjām pieskarties.

Lai folija un stieples netiktu pielīmētas pie Popsicle nūjām, izmantojiet 1-2 saspraudes, lai materiālus turētu kopā. Saspraudes arī nodrošina lielāku pieejamību, lai Popsicle nūjas varētu pieskarties bez lieliem ārējiem traucējumiem. Pārvelciet saspraudi virs Popsicle nūjas tāpat kā ar parastu papīra kaudzi. Atkārtojiet to visiem četriem folijas gabaliem un abiem Popsicle nūju galiem.

4. darbība: 4. darbība: pārējo buferu salikšana

4. darbība. Pārējo buferu salikšana
4. darbība. Pārējo buferu salikšana
4. darbība. Pārējo buferu salikšana
4. darbība. Pārējo buferu salikšana
4. darbība. Pārējo buferu salikšana
4. darbība. Pārējo buferu salikšana
4. darbība. Pārējo buferu salikšana
4. darbība. Pārējo buferu salikšana

Kad alumīnija folija un saspraudes spēj noturēt vadus, kas piestiprināti pie katras Popsicle nūjas, sagrieziet divus mazus sūkļa kubiņus un pielīmējiet katru kubu starp nūjām (katras nūjas pašos galos, lai karstā līme līme netraucētu Sūkļi nodrošina buferu pieskārienu katru reizi, kad robots ietriecas sienā.

Pēc izvēles: pārgrieziet papildu Popsicle nūju uz pusēm un pielīmējiet to leņķī ārējā Popsicle stick bufera galā. Tas pastiprina bufera triecienu pret sienu un pagriešanos.

Atcerieties saliekt vadus tā, lai buferi izliektos tieši Bot-bot priekšā.

Ieteicams: