Table des matières:

Fabriquer des pare-chocs de robot (avec code): 4 étapes
Fabriquer des pare-chocs de robot (avec code): 4 étapes

Vidéo: Fabriquer des pare-chocs de robot (avec code): 4 étapes

Vidéo: Fabriquer des pare-chocs de robot (avec code): 4 étapes
Vidéo: faire un robot avec arduino facile ! 2024, Juillet
Anonim
Faire des pare-chocs de robot (avec code)
Faire des pare-chocs de robot (avec code)

Cette instructable expliquera aux lecteurs comment créer et coder des pare-chocs sur un Boe-bot qui pourra naviguer dans un labyrinthe tout en détectant les obstacles. Le codage du projet a été effectué à l'aide du logiciel de programmation BASIC Stamp et du robot Boe-Bot, et une compréhension de base des circuits et de la programmation est nécessaire pour réussir à créer ces pare-chocs.

Fournitures

Pour créer ces bumpers, vous aurez besoin de:

- Robot Boe-Bot

- Logiciel de programmation BASIC Stamp

- Bâtonnets de sucettes glacées

- Une éponge

- Feuille d'aluminium

- Trombones

- 8 fils assez longs (au moins 6 pouces)

- 2 lumières LED

- 2 résistances marron-noir-jaune

- 2 résistances rouge-rouge-marron

- Ruban et colle chaude (ou un adhésif similaire)

- Batteries pour votre Boe-Bot

Étape 1: Étape 1: Création du circuit

Étape 1: Création du circuit
Étape 1: Création du circuit
Étape 1: Création du circuit
Étape 1: Création du circuit

Suivez le schéma de la maquette ci-dessus pour créer un circuit pour orienter et faire fonctionner votre maquette. À la fin, votre maquette devrait ressembler à l'image de gauche.

Choses dont il faut se rappeler:

- Assurez-vous que la LED est dans la bonne position. Cela signifie que la patte plate de la LED doit être du côté négatif et l'autre patte du côté positif.

- Le Vss sert de base sur cette maquette, ce qui signifie qu'il a une valeur de zéro, et le Vdd a une valeur de 1.

- Un circuit en marche a une valeur de 0. Un circuit qui est éteint a une valeur de 1.

Étape 2: Étape 2: Programmation pour le Boe-bot

Le code suivant programme le robot pour qu'il tourne à gauche et à droite de 90 degrés en fonction des pare-chocs enfoncés (plus de détails sur la création de pare-chocs à l'étape suivante). Ce code garantit que le robot tournera à gauche lorsque les fils du pare-chocs droit seront enfoncés et qu'il tournera à droite lorsque les fils du pare-chocs gauche seront enfoncés.

Quelques traductions linguistiques de base:

- GOSUB = sous-routine (doit être suivi d'une demande dans le code)

- If.. Else = spécifie un groupe de code qui doit être exécuté, si les conditions sont vraies, et exécute les instructions si les conditions sont fausses

Le code:

' {$STAMP BS2}

' {$PBASIC 2.5} ' ******************************************* ******************************** 'Réinitialiser le code de redémarrage' Utilisez le bouton de réinitialisation pour arrêter et démarrer le robot'** ************************************************** ************************* temp VAR Byte 'stockage temporaire RunStatus DATA $00 'variable stockée dans la ROM READ RunStatus, temp 'Lire la variable à partir de la ROM temp = ~ temp ' inverse la valeur 0 à 1 ou 1 à 0 WRITE RunStatus, temp ' réécrit la variable dans la ROM IF (temp>0) THEN END ' Vérifie si la valeur est 1 ' si oui END le programme PAUSE 3000 ' Pause pour autoriser vous de déplacer ' votre main lorsque vous appuyez sur reset ' *************************************** ************************************** '****************** ************************************************** *********** 'Pins AND Constants' Utilisé pour simplifier la programmation '************************************ ********************************************* 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' ********************************* ******************************************* '********** ************************************************** ************** 'Variables' Utilisées pour simplifier la programmation '****************************** ********************************************* MLoopC VAR Word 'Pour.. Next Variable jusqu'à 65000ish sideCount VAR Byte turnAngle VAR Word '************************************ ************************************** '----------- -------------------------------------------------- ------------- 'Code principal '--------------------------------- ----------------------------------------- DO IF IN10 = 0 THEN 'Si le le fil de la broche 10 est allumé puis tournez à gauche GOSUB LeftTurn90 GOSUB LFastRev GOSUB RFastRev ELSEIF IN11 = 0 THEN 'Si le fil de la broche 11 est allumé alors tournez à droite GOSUB RightTurn90 GOSUB LFastRev GOSUB RFastRev ENDIF GOSUB ForwardFast 'Avance d'une boucle' --------------------------------- ------------------------------------- '**FIN DU CODE PRINCIPAL****** ************************************************ '- -------------------------------------------------- --------------------- '****************************** ******************************************** '**Sous-routines / Sous-procédure / Méthodes************************************ '********** ******************************************************** *********** '****************************************** ************************************* '****************** ************************************************** ******* RightTurn90: ' Sous-procédure pour tourner à 90 degrés à droite '********************************** ************************************* HAUT 1 BAS 0 POUR MLoopC = 1 À 22 PULSOUT LMOTOR, Lfast 'avance d'une impulsion PULSOUT RMOTOR, RfastRev' en utilisant des broches et des constantes PAUSE 20 '20mS permet au robot de se déplacer NEXT' avant NEXT pulse RETURN '************************ ************************************************** * LeftTurn90: ' Sous-procédure pour tourner à 90 degrés à droite'** ******************************************************** ******************* HIGH 0 LOW 1 FOR MLoopC = 1 A 22 PULSOUT LMOTOR, LfastRev' avance d'une impulsion PULSOUT RMOTOR, Rfast' à l'aide des broches et constantes PAUSE 20' 20mS permet au robot de se déplacer NEXT' avant NEXT pulse RETURN'****************************************** ******************************* ForwardFast: ' Sous-procédure pour faire avancer le robot d'une case rapidement '**** ******************************************************** ******************* POUR MLoopC = 1 À 55 PULSOUT LMOTOR, LFast PULSOUT RMOTOR, RFast PAUSE 20 NEXT RETURN '****************** ************************************************** ****** ReverseTurnLeft: « Sous-procédure pour inverser et tourner le robot à gauche lorsque le pare-chocs droit est touché » *************************** ******************************************* POUR MLoopC = 1 À 55 PULSOUT LMOTOR, LSlowRev PULSOUT RMOTOR, RFastRev PAUSE 20 RETOUR SUIVANT '****************************************** ********************************* ReverseTurnRight: 'Subproce pour faire marche arrière et tourner le robot à droite lorsque le pare-chocs gauche est touché '************************************ ************************************* POUR MLoopC = 1 À 55 PULSOUT LMOTOR, LFastRev PULSOUT RMOTOR, RSlowRev PAUSE 20 PROCHAIN RETOUR '************************************************ ************************** 'FIN DES SOUS-ROUTINES '************************ ******************************************************** *

Étape 3: Étape 3: Utilisation de papier d'aluminium et de bâtons de popsicle pour les pare-chocs métalliques

Étape 3: Utilisation de papier d'aluminium et de bâtons de popsicle pour les pare-chocs métalliques
Étape 3: Utilisation de papier d'aluminium et de bâtons de popsicle pour les pare-chocs métalliques
Étape 3: Utilisation de papier d'aluminium et de bâtons de popsicle pour les pare-chocs métalliques
Étape 3: Utilisation de papier d'aluminium et de bâtons de popsicle pour les pare-chocs métalliques
Étape 3: Utilisation de papier d'aluminium et de bâtons de popsicle pour les pare-chocs métalliques
Étape 3: Utilisation de papier d'aluminium et de bâtons de popsicle pour les pare-chocs métalliques
Étape 3: Utilisation de papier d'aluminium et de bâtons de popsicle pour les pare-chocs métalliques
Étape 3: Utilisation de papier d'aluminium et de bâtons de popsicle pour les pare-chocs métalliques

Avant de commencer cette étape, assurez-vous que les 4 fils de la maquette (reportez-vous à l'étape 1) sont divisés en paires, chaque paire contrôlant un pare-chocs droit ou gauche. Des LED fonctionnent dans cette situation pour vérifier que le code a été effectif sur les pare-chocs droit et gauche. Sur les bâtons de Popsicle, un fil de chaque paire partage une extrémité du bâton de Popsicle (cela signifie que les fils de la même paire NE PEUVENT PAS être sur le même pare-chocs).

Coupez 4 petits rectangles de papier d'aluminium et utilisez-en un pour enrouler le fil autour de chaque extrémité de deux bâtonnets de Popsicle. Cela augmente la surface de conductivité du bâtonnet de Popsicle et offre une plus grande surface de contact pour les bâtonnets.

Pour garder le papier d'aluminium et les fils collés aux bâtons de Popsicle, utilisez 1 à 2 trombones pour maintenir les matériaux ensemble. Les trombones offrent également une plus grande accessibilité aux bâtonnets de Popsicle au toucher sans trop d'interférences externes. Faites glisser le trombone sur le bâtonnet de Popsicle comme vous le feriez avec une pile de papiers normale. Répétez cette opération pour les quatre morceaux de papier d'aluminium et chaque extrémité des deux bâtons de Popsicle.

Étape 4: Étape 4: Assemblage du reste des pare-chocs

Étape 4: Assemblage du reste des pare-chocs
Étape 4: Assemblage du reste des pare-chocs
Étape 4: Assemblage du reste des pare-chocs
Étape 4: Assemblage du reste des pare-chocs
Étape 4: Assemblage du reste des pare-chocs
Étape 4: Assemblage du reste des pare-chocs
Étape 4: Assemblage du reste des pare-chocs
Étape 4: Assemblage du reste des pare-chocs

Une fois que le papier d'aluminium et les trombones sont capables de maintenir les fils attachés à chaque bâtonnet de Popsicle, coupez deux petits cubes d'éponge et collez chaque cube entre les bâtonnets (aux extrémités de chaque bâtonnet afin que la colle chaude n'interfère pas avec le conductivité du métal. Les éponges assurent que les pare-chocs se touchent à chaque fois que le robot heurte un mur.

Facultatif: coupez un bâtonnet de Popsicle supplémentaire en deux et collez-le en biais à l'extrémité du pare-chocs extérieur du bâtonnet de Popsicle. Cela renforce l'impact du pare-chocs heurtant un mur et tournant.

N'oubliez pas de plier les fils de manière à ce que les pare-chocs se courbent juste devant le Bot-bot.

Conseillé: