Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-23 14:38
Tento instruktážní průvodce vás seznámí s tím, jak vytvářet a kódovat nárazníky na Boe-botu, který bude schopen procházet bludištěm při detekci překážek. Kódování projektu bylo provedeno pomocí programovacího softwaru BASIC Stamp a robota Boe-Bot a k úspěšnému vytvoření těchto nárazníků je zapotřebí základní znalost obvodů a programování.
Zásoby
K vytvoření těchto nárazníků budete potřebovat:
- Robot Boe-Bot
- ZÁKLADNÍ software pro programování razítek
- Nanukové tyčinky
- Houba
- Hliníková fólie
- Sponky
- 8 slušně dlouhých vodičů (alespoň 6 palců)
- 2 LED světla
-2 hnědo-černo-žluté odpory
-2 červeno-červeno-hnědé odpory
- Páska a horké lepidlo (nebo podobné lepidlo)
- Baterie pro váš Boe-Bot
Krok 1: Krok 1: Vytvoření obvodu
Postupujte podle schématu výše a vytvořte obvod pro orientaci a ovládání vašeho prkénka. Na konci by měl váš prkénko vypadat podobně jako na obrázku vlevo.
Věci k zapamatování:
- Zkontrolujte, zda je LED dioda ve správné poloze. To znamená, že plochá noha LED by měla být na negativní straně a druhá noha na pozitivní straně.
- Vss slouží jako zem na tomto prkénku, což znamená, že má hodnotu nula a Vdd má hodnotu 1.
- Běžící obvod má hodnotu 0. Vypnutý obvod má hodnotu 1.
Krok 2: Krok 2: Programování pro Boe-bot
Následující kód naprogramuje robota tak, aby se otočil doleva a doprava o 90 stupňů podle toho, které z nárazníků jsou stisknuty (další podrobnosti o vytvoření nárazníku v dalším kroku). Tento kód zajišťuje, že se robot po stisknutí vodičů pravého nárazníku otočí doleva a po stisknutí vodičů levého nárazníku se otočí doprava.
Některé základní jazykové překlady:
- GOSUB = podprogram (musí následovat požadavek v kódu)
- If.. Else = určuje skupinu kódu, který by měl být spuštěn, pokud jsou splněny podmínky, a provádí pokyny, pokud jsou podmínky nepravdivé
Kód:
'{$ STAMP BS2}
'{$ PBASIC 2.5}' ****************************************** ******************************************* Vynulovat restartovací kód ****************************************************** ************************ temp VAR Byte 'dočasné úložiště RunStatus DATA $ 00' proměnná uložená v ROM READ RunStatus, temp 'Přečíst proměnnou z ROM temp = ~ temp 'invertovat hodnotu 0 na 1 nebo 1 až 0 WRITE RunStatus, temp' Zapsat proměnnou zpět do ROM IF (temp> 0) THEN END 'END' Check if the value is 1 'if so END the program PAUSE 3000' Pause to allow pohnete rukou po stisknutí resetovat ******************************* **************************************************** ****************************************************** *********** 'Piny a konstanty' Slouží ke zjednodušení programování '**************************** ******************************************************************************************** 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 '******************************** *********************************************** ****************************************************** ************** 'Proměnné' Slouží ke zjednodušení programování '*************************** ***********************************************************************************.. Další Proměnná až do 65 000sstrana Počet VAR Byte otočení Úhel VAR Word '***************************** ********************************************** ---------------------------------------------------------- ------------- 'Hlavní kód' --------------------------------- ----------------------------------------- DO IF IN10 = 0 THEN 'If the vodič v pinu 10 je zapnutý, pak odbočte doleva GOSUB LeftTurn90 GOSUB LFastRev GOSUB RFastRev ELSEIF IN11 = 0, TAK 'Pokud je vodič v pinu 11 zapnutý, otočte doprava GOSUB RightTurn90 GOSUB LFastRev GOSUB RFastRev ENDIF GOSUB ForwardFast' Posun vpřed o jeden puls LOOP '- --------------------------------- ------------------------------------- '** KONEC HLAVNÍHO KÓDU ****** **************************************** ---------------------------------------------------------- --------------------- '***************************** ***************************************************** / Dílčí postup / Metody ************************************** ****************************************************** ************************************************ ******************************************************* ******************************************************* ******* RightTurn90: 'Subprocdure to Turn 90deg Right' ********************************* **********************************************************************************************I Lfast 'pohyb vpřed o jeden impuls PULSOUT RMOTOR, RfastRev' pomocí kolíků a konstant PAUSE 20 '20mS umožňuje robotu pohybovat NEXT' před NEXT pulsem RETURN '********************* ****************************************************** * LeftTurn90: 'Subprocedure to Turn 90deg Right' ** ****************************************************** ******************* HIGH 0 LOW 1 FOR MLoopC = 1 TO 22 PULSOUT LMOTOR, LfastRev 'move forward one pulse PULSOUT RMOTOR, Rfast' using pins and konstants PAUSE 20 ' 20 mS umožňuje robotu pohybovat NEXT 'před NEXT pulsem RETURN' ********************************** ********************************* ForwardFast: 'Subprocedure to move the robot forward one square square' **** ****************************************************** ***************** PRO MLoopC = 1 až 55 PULSOUT LMOTOR, LFast PULSOUT RMOTOR, RFast PAUSE 20 NEXT RETURN '*************** ******************************************************* ****** ReverseTurnLeft: 'Podproces pro reverzaci a otočení robota doleva, když narazí na pravý nárazník' ************************** ***************************************************************************** LMOTOR, LSlowRev PULSOUT RMOTOR, RFastRev PAUSE 20 NEXT RETURN '************************************ ********************************* ReverseTurnRight: 'Subproce při nárazu na levý nárazník zatočte a otočte robota doprava '********************************** ****************************** … 20 DALŠÍ NÁVRAT '********************************************* ************************* KONEC PODPROGRAMŮ ******************* ******************************************************* *
Krok 3: Krok 3: Použití hliníkové fólie a nanukových tyčinek pro drátové nárazníky
Než začnete s tímto krokem, ujistěte se, že jsou 4 vodiče z prkénka (viz krok 1) rozděleny do párů, přičemž každý pár ovládá pravý nebo levý nárazník. LED diody v této situaci fungují, aby zkontrolovaly, zda byl kód účinný na pravém a levém nárazníku. Na tyčích Popsicle jeden drát z každého páru sdílí jeden konec tyčinky Popsicle (to znamená, že dráty stejného páru NEMOHOU být na stejném nárazníku).
Odřízněte 4 malé obdélníky fólie a jedním omotejte drát kolem každého konce dvou tyčinek Popsicle. To zvyšuje povrchovou vodivost tyčinky Popsicle a také poskytuje větší povrchovou plochu, které se tyčinky dotýkají.
Aby byla fólie a dráty přilepené na tyčinky Popsicle, držte materiály pohromadě pomocí 1-2 kancelářských sponek. Kancelářské sponky také poskytují větší přístupnost pro tyčinky Popsicle na dotek bez velkého vnějšího rušení. Nasuňte sponku na nanuku Popsicle stejně jako u normálního stohu papírů. Opakujte to pro všechny čtyři kusy fólie a každý konec dvou tyčinek Popsicle.
Krok 4: Krok 4: Sestavení zbytku nárazníků
Jakmile jsou hliníkové fólie a kancelářské sponky schopné udržet dráty přichycené ke každé tyčince Popsicle, nastříhejte dvě malé kostky houby a každou kostku přilepte mezi tyčinky (na samém konci každé tyčinky, aby horké lepidlo nepřekáželo vodivost kovu. Houby zajišťují, že nárazníky se dotýkají pokaždé, když robot narazí na zeď.
Volitelné: Uřízněte další tyčinku Popsicle na polovinu a nalepte ji pod úhlem na špičce vnějšího nárazníku Stick Popsicle. To zesiluje náraz nárazníku do zdi a otáčení.
Nezapomeňte ohnout dráty tak, aby se nárazníky zakřivily přímo před bot-botem.
Doporučuje:
Nastavitelné nárazníky robota: 5 kroků
Instructable Robot Bumpers: Rozhodl jsem se vytvořit instructable, který ukazuje, jak vytvořit Robot Bumpers a jak je umístit na robot ovládaný baterií. Nejprve se musíte ujistit, že máte kabely připojené na správných místech. Obvod nebude
Robotové nárazníky: 6 kroků
Robot Bumpers: Toto je design, který jsem vytvořil pro robota, aby detekoval, když narazí na povrch. Kód základního razítka stále probíhá
Jak přidat nárazníky do SUMOBOTU: 9 kroků (s obrázky)
Jak přidat nárazníky do SUMOBOTU: co to dělá, je, že to můžete udělat tak, že pokud zasáhne jeden z nárazníků na robotu, obrátí se a odvrátí se od objektu
Nárazníky BoeBot: 9 kroků (s obrázky)
Nárazníky BoeBot: Účelem tohoto nárazníku je umožnit BoeBotu manévrovat kolem svého okolí. Když něco narazí na obě strany nárazníku, staniolové zabalené nanuky se dotknou a vytvoří spojení, které robotovi řekne, aby zastavil, couval a
Čtečka RFID AVR/Arduino s kódem UART v C: 4 kroky
Čtečka RFID AVR/Arduino s kódem UART v C: RFID je šílenství, které najdete všude - od inventárních systémů po systémy ID odznaků. Pokud jste někdy byli v obchodním domě a procházeli se těmi věcmi, které vypadaly jako detektory kovů v místech vstupu/výstupu, pak jste viděli RFID. Existuje několik