Cuprins:

Realizați bare de protecție pentru robot (cu cod): 4 pași
Realizați bare de protecție pentru robot (cu cod): 4 pași

Video: Realizați bare de protecție pentru robot (cu cod): 4 pași

Video: Realizați bare de protecție pentru robot (cu cod): 4 pași
Video: Cum scrii când începi un caiet nou 2024, Noiembrie
Anonim
Realizați bare de protecție pentru roboți (cu cod)
Realizați bare de protecție pentru roboți (cu cod)

Această instrucțiune îi va ajuta pe cititori să creeze și să codeze bare de protecție pe un Boe-bot care va putea naviga printr-un labirint în timp ce detectează obstacole. Codificarea proiectului a fost realizată folosind software-ul de programare BASIC Stamp și robotul Boe-Bot, iar înțelegerea de bază a circuitelor și programării este necesară pentru a reuși să creeze aceste bare de protecție.

Provizii

Pentru a crea aceste bare de protecție, veți avea nevoie de:

- Robot Boe-Bot

- Software de programare BASIC Stamp

- Bastoane de gheață

- Un burete

- Folie de aluminiu

- Agrafe

- 8 fire lungi decent (cel puțin 6 inci)

- 2 lumini LED

- 2 rezistențe maro-negru-galben

- 2 rezistențe roșu-roșu-maro

- Bandă și lipici fierbinte (sau un adeziv similar)

- Baterii pentru Boe-Bot

Pasul 1: Pasul 1: Crearea circuitului

Pasul 1: Crearea circuitului
Pasul 1: Crearea circuitului
Pasul 1: Crearea circuitului
Pasul 1: Crearea circuitului

Urmați diagrama panoului de mai sus pentru a crea un circuit care să vă orienteze și să acționeze panoul de panouri. La sfârșit, panoul dvs. ar trebui să arate similar cu imaginea din stânga.

Lucruri de amintit:

- Asigurați-vă că LED-ul este în poziția corectă. Aceasta înseamnă că piciorul plat al LED-ului ar trebui să fie pe partea negativă și celălalt picior pe partea pozitivă.

- Vss servește drept bază pe această panou de calcul, ceea ce înseamnă că are o valoare zero, iar Vdd are o valoare de 1.

- Un circuit de rulare are o valoare de 0. Un circuit care este oprit are o valoare de 1.

Pasul 2: Pasul 2: Programare pentru Boe-bot

Următorul cod programează robotul să vireze la stânga și la dreapta cu 90 de grade în funcție de care dintre bare de protecție sunt apăsate (detalii suplimentare despre crearea barei de protecție la pasul următor). Acest cod asigură faptul că robotul se va întoarce la stânga când se apasă firele barei de protecție din dreapta și se va întoarce la dreapta atunci când se apasă firele barei de protecție din stânga.

Câteva traduceri de limbă de bază:

- GOSUB = subrutină (trebuie să fie urmată de o cerere în cod)

- Dacă.. Else = specifică un grup de cod care ar trebui executat, dacă condițiile sunt adevărate și efectuează instrucțiuni dacă condițiile sunt false

Codul:

„{$ STAMP BS2}

„{$ PBASIC 2.5}” ******************************************** ******************************** 'Resetare Restart Code' Folosiți butonul de resetare pentru a opri și porni robotul ** ************************************************** *********************** temp VAR Byte 'stocare temporară RunStatus DATA $ 00' variabilă stocată în ROM CITEȘTE RunStatus, temp 'Citiți variabila din ROM temp = ~ temp 'inversează valoarea de la 0 la 1 sau 1 la 0 SCRIVE RunStatus, temp' Scrie variabila înapoi la ROM IF (temp> 0) THEN END 'Verifică dacă valoarea este 1' dacă da ÎNCHEIE programul PAUSE 3000 'Pauză pentru a permite să mutați „mâna când apăsați reset” **************************************** ************************************* '************* ************************************************** *********** 'Pin și constante' Folosit pentru a simplifica programarea '**************************** ********************************************* 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 '******************************** **************************************** '' ********* *************************************************** ************** 'Variabile' Folosit pentru simplificarea programării '*************************** ********************************************* MLoopC VAR Word 'Pentru.. Variabilă următoare până la 65000ish sideCount VAR Byte turnAngle VAR Word '************************************ ************************************** '----------- -------------------------------------------------- ------------- „Codul principal” --------------------------------- ----------------------------------------- FAȚI DACĂ IN10 = 0 THEN 'Dacă firul din pinul 10 este pornit, apoi rotiți la stânga GOSUB LeftTurn90 GOSUB LFastRev GOSUB RFastRev ELSEIF IN11 = 0 THEN 'Dacă firul din pinul 11 este pornit, apoi rotiți la dreapta GOSUB RightTurn90 GOSUB LFastRev GOSUB RFastRev ENDIF GOSUB ForwardFast' Mutați înainte un impuls LOOP '- --------------------------------- ------------------------------------- '** SFÂRȘITUL CODULUI PRINCIPAL ****** ************************************************* '- -------------------------------------------------- --------------------- '***************************** ******************************************** '** Sub-rutine / Sub-procedură / Metode ******************************** '*********** *************************************************** *********** '*************************************** *********************************** '*************** *************************************************** ******* RightTurn90: „Subprocdure pentru a transforma 90deg la dreapta” ********************************* ************************************* HIGH 1 LOW 0 FOR MLoopC = 1 TO 22 PULSOUT LMOTOR, Lfast 'avansează un impuls PULSOUT RMOTOR, RfastRev' utilizând pini și constante PAUSE 20 '20mS permite robotului să se deplaseze NEXT' înainte de NEXT pulse RETURN '******************* *************************************************** * LeftTurn90: „Subprocedură pentru a face 90deg dreapta” ** *************************************************** ******************* HIGH 0 LOW 1 FOR MLoopC = 1 TO 22 PULSOUT LMOTOR, LfastRev 'avansează un impuls PULSOUT RMOTOR, Rfast' folosind pini și constante PAUSE 20 ' 20mS permite robotului să se deplaseze NEXT 'înainte de NEXT puls RETURN' ************************************* ********************************* ForwardFast: „Subprocedură pentru a muta robotul înainte cu un pătrat rapid” **** ************************************************** ***************** PENTRU MLoopC = 1 LA 55 PULSOUT LMOTOR, LFast PULSOUT RMOTOR, RFast PAUSE 20 URMĂTOARE RETURNARE '************** *************************************************** ****** ReverseTurnLeft: „Subprocedură pentru a inversa și roti robotul la stânga când bara dreaptă este lovită” ************************** ******************************************* PENTRU MLoopC = 1 LA 55 PULSOUT LMOTOR, LSlowRev PULSOUT RMOTOR, RFastRev PAUSE 20 NEXT Return '************************************** ********************************* ReverseTurnRight: 'Subproce îndrumați să inversați și să rotiți robotul la dreapta când bara de protecție stângă este lovită '************************************ *********************************** PENTRU MLoopC = 1 Până la 55 PULSOUT LMOTOR, LFastRev PULSOUT RMOTOR, RSlowRev PAUSE 20 URMĂTOARE RETURNARE '*********************************************** ************************* 'END OF SUBROUTINES' ******************* ************************************************** *

Pasul 3: Pasul 3: Folosirea foliei de aluminiu și a betisoarelor pentru bara de protecție

Pasul 3: Folosirea foliei de aluminiu și a betisoarelor pentru bare de protecție
Pasul 3: Folosirea foliei de aluminiu și a betisoarelor pentru bare de protecție
Pasul 3: Folosirea foliei de aluminiu și a betisoarelor pentru bara de protecție
Pasul 3: Folosirea foliei de aluminiu și a betisoarelor pentru bara de protecție
Pasul 3: Folosirea foliei de aluminiu și a betisoarelor pentru bare de protecție
Pasul 3: Folosirea foliei de aluminiu și a betisoarelor pentru bare de protecție
Pasul 3: Folosirea foliei de aluminiu și a betisoarelor pentru bara de protecție
Pasul 3: Folosirea foliei de aluminiu și a betisoarelor pentru bara de protecție

Înainte de a începe acest pas, asigurați-vă că cele 4 fire de la panoul de control (consultați pasul 1) sunt împărțite în perechi, fiecare pereche controlând o bară de protecție dreaptă sau stângă. LED-urile funcționează în această situație pentru a verifica dacă codul a fost eficient pe barele de protecție din dreapta și din stânga. Pe bețele Popsicle, un fir de la fiecare pereche împarte un capăt al stick-ului Popsicle (acest lucru înseamnă că firele aceleiași perechi NU POATE fi pe aceeași bară de protecție).

Tăiați 4 dreptunghiuri mici de folie și folosiți unul pentru a înfășura firul în jurul fiecărui capăt al celor două bastoane de gheață. Acest lucru mărește suprafața de conductivitate a bastonului de gheață și oferă o suprafață mai mare pentru atingerea bastoanelor.

Pentru a menține folia și firele lipite de bastoanele de gheață, folosiți 1-2 agrafe pentru a ține materialele împreună. Clipsurile oferă, de asemenea, o mai mare accesibilitate pentru ca bastoanele Popsicle să se atingă fără interferențe externe. Glisați agrafa peste stick-ul Popsicle la fel cum ați face cu un teanc normal de hârtii. Repetați acest lucru pentru toate cele patru bucăți de folie și pentru fiecare capăt al celor două bastoane de Popsicle.

Pasul 4: Pasul 4: Asamblarea restului barei de protecție

Pasul 4: Asamblarea restului barei de protecție
Pasul 4: Asamblarea restului barei de protecție
Pasul 4: Asamblarea restului barei de protecție
Pasul 4: Asamblarea restului barei de protecție
Pasul 4: Asamblarea restului barei de protecție
Pasul 4: Asamblarea restului barei de protecție
Pasul 4: Asamblarea restului barei de protecție
Pasul 4: Asamblarea restului barei de protecție

Odată ce folia de aluminiu și agrafe sunt capabile să mențină firele atașate la fiecare băț de Popsicle, tăiați două cuburi mici de burete și lipiți fiecare cub între bețe (chiar la capetele fiecărui baston, astfel încât adezivul adeziv fierbinte să nu interfereze cu conductivitatea metalului. Bureții asigură că barele de protecție se ating de fiecare dată când robotul lovește un perete.

Opțional: Tăiați un stick de gheață suplimentar în jumătate și lipiți-l într-un unghi la vârful barei de protecție exterioare de gheață. Acest lucru întărește impactul barei de protecție care lovește un perete și se întoarce.

Nu uitați să îndoiți firele, astfel încât barele de protecție să se curbe chiar în fața Bot-botului.

Recomandat: