Table des matières:
- Étape 1: PIÈCES
- Étape 2: Néopixels
- Étape 3: Le schéma
- Étape 4: le code
- Étape 5: Le visage
- Étape 6: Bonne fonction
- Étape 7: Fonction triste
- Étape 8: Fonction en colère
- Étape 9: Fonction effrayée
- Étape 10: Puissance
- Étape 11: Amusez-vous !
Vidéo: L'OBSTACLE ÉMOTIONNEL À ÉVITER LE ROBOT : 11 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Le robot émotionnel. Ce robot affiche des émotions avec des néopixels (LED RVB) telles que la tristesse, le bonheur, la colère et la peur, il peut également éviter les obstacles et effectuer certains mouvements lors de sa certaine émotion. Le cerveau de ce robot est un méga Arduino. gardez à l'esprit que c'est mon premier robot programmé que j'ai jamais construit, et cela m'a fait tomber amoureux de la programmation, le code lui-même est très débutant et pourrait très probablement être simplifié.
Étape 1: PIÈCES
-3,2 pieds d'une bande néopixel
-Capteur à ultrasons HC-SR04 (ou tout autre capteur à ultrasons)
-interrupteur d'inclinaison
-3 batterie lithium-ion 3.7v (18650)
-boost convertisseur (expliqué dans l'étape de puissance)
-résistance photo (n'importe quelle valeur)
-capteur de son analogique
-2 moteurs à courant continu 6v
-l293d (pilote de moteur)
-feuille de plastique
-papier carton
-roue pivotante
Étape 2: Néopixels
En raison de mon budget serré, le moyen le plus simple et le moins cher de donner vie aux émotions de mes robots est le néopixel, tout ce qu'ils ont, c'est 3 entrées et sorties. les trois broches de l'entrée sont étiquetées 5v, DIN (data in) et GND (ground); la sortie est étiquetée de la même manière que l'entrée mais au lieu des données dans son DO (données en sortie). La façon dont vous connectez ces led est de les connecter en parallèle les uns avec les autres, donc 5v se connecte à 5v sur l'autre led et GND est connecté à l'autre led GND, DO de la première led est connecté au DIN de la deuxième led puis ce processus se poursuit jusqu'à ce que vous atteigniez la longueur de bande LED souhaitée. Une bande entière de néopixels ne nécessite qu'une seule broche de sortie numérique de l'entrée, car le DO et le DIN sont connectés dans une longue chaîne, ils partagent donc tous des données les uns avec les autres. Ceci est nécessaire car nous devons allumer et éteindre des LED spécifiques à des moments précis. Une instructable utile à ce sujet est NEOPIXEL HELP
Étape 3: Le schéma
Le circuit est très simple car la plupart du robot est juste programmé, les moteurs fonctionnent à près de 7v avec un pilote de moteur l293d afin de contrôler les moteurs pour avancer ou reculer. Les autres connexions sont les capteurs de l'Arduino. Et c'est tout!
Étape 4: le code
La première chose que j'ai faite a été de télécharger les bibliothèques requises pour rendre le codage un peu plus facile, les bibliothèques que j'ai utilisées sont "FastLED.h" et "NewPing.h". La led rapide est pour les leds et la nouvelle ping est pour les capteurs à ultrasons. La prochaine chose que j'ai faite a été de définir toutes les définitions des broches que j'ai utilisées, après la configuration de l'annulation, c'est là que j'ai configuré les modes de broche et le neostrip "FastLED.addLeds(leds, NUM_LEDS);" J'ai défini le NUM_LEDS comme 56, puisque j'ai utilisé 56 leds, les configurations des leds seront expliquées à l'étape face. J'ai ensuite créé un tas de fonctions pour que mon robot avance et recule et ait aussi sa certaine émotion, après cela j'arrive à la boucle vide, c'est là que j'appelle toutes mes fonctions dans un certain ordre que je veux, par exemple, si je voulais que mon robot sourie, je mettrais smile();. Si je voulais qu'une certaine LED s'allume, je mettrais, leds[45] = CRGB::Green;, cela mettra la led 45 au vert. Quand je mets la couleur sur noir, cela signifie simplement éteint. Maintenant, gardez à l'esprit que c'est l'un de mes premiers programmes, donc ce n'est évidemment pas parfait, mais cela a quand même fonctionné.
LE CODE
Étape 5: Le visage
Pour le visage, j'ai utilisé 56 LED, ce qui représente presque une bande de néopixels complète de 3,2 pieds. J'ai découpé la bande en 7 bandes de 8 leds, j'ai utilisé les 3 premières bandes pour les yeux et les 4 dernières pour la bouche. J'ai connecté les bandes dans une sorte de connexion en forme de serpent, vous comprendrez mieux avec le schéma, espérons-le. Quand j'ai fini le visage, j'ai ensuite mis une fine feuille de plastique (environ 2 mm d'épaisseur) sur les bandes de led.
Étape 6: Bonne fonction
Cette fonction est la plus simple de toutes car elle n'utilise aucun capteur, mais dès que vous allumez le bot, il vous sourit instantanément. Mais il ne fait pas que sourire; quand il sourit, il est également en mode d'évitement d'obstacles. Le mode d'évitement d'obstacles est représenté dans mon code par la fonction roam. Le mode d'évitement d'obstacles ou d'itinérance fonctionne en utilisant deux capteurs à ultrasons du côté des robots, lorsque le capteur arrive à 30 cm de tout ce qu'il reculerait et irait à droite ou à gauche en fonction du capteur le plus proche de l'objet.
Étape 7: Fonction triste
Pour que le robot devienne triste, j'ai dû penser à un trait de personnalité pour ce robot, j'ai donc décidé de le rendre triste lorsqu'il se trouve dans un environnement sombre. Pour ce faire, j'ai utilisé une photorésistance pour détecter la lumière. Plus l'environnement est sombre, plus la résistance est élevée et plus l'environnement est clair, plus la résistance est faible. Le circuit fonctionne comme un diviseur de tension qui est un circuit avec deux résistances connectées en série à +5v et GND, au milieu de la connexion de la résistance se trouve une tension qui peut être déterminée par cette équation: tension d'entrée*(R2/R1+R2). lorsque la broche analogique Arduino lit cette valeur, elle convertit la tension dans une plage de 0 à 1023.
Étape 8: Fonction en colère
Afin de mettre le robot en colère, j'ai décidé de le retourner/de le renverser. Cela fonctionne en utilisant un interrupteur d'inclinaison, et un interrupteur d'inclinaison est fondamentalement un interrupteur normal, mais au lieu d'avoir un bouton ou une bascule, vous avez une boule de mercure qui, si elle est inclinée à un certain angle, connectera les deux contacts et s'allumera; donc la valeur de ceci est 0 ou 1, 0 pour off et 1 pour on. Lorsque le robot est en colère, il ignore également le mode d'évitement d'obstacles et enfonce tout ce qui se trouve en vue vers l'avant, en raison de sa colère.
Étape 9: Fonction effrayée
La dernière fonction du robot est la fonction peur, qui utilise un capteur sonore placé juste au-dessus du robot. Chaque fois que le robot entend un bruit de charge, il prend peur et tremble en reculant. Le capteur sonore fonctionne en utilisant un micro à condensateur qui est un microphone, lorsqu'il détecte des sons ou des vibrations, il crée une petite tension, généralement d'environ 100 mv, cette tension est ensuite amplifiée et lue à travers la broche analogique de l'Arduino, plus la tension est élevée ou plus le son est fort, plus la valeur analogique est élevée, et vice versa.
Étape 10: Puissance
Maintenant que vous avez construit tout ce dont vous avez besoin pour l'alimenter, j'ai initialement essayé de l'alimenter avec 8 piles AA, mais c'était tout simplement trop encombrant et peu pratique. J'ai ensuite utilisé 3 batteries lithium-ion qui contiennent chacune environ 3,5 v, j'ai connecté une batterie à un convertisseur boost qui est un amplificateur de tension, cela a boosté mes 3,5 v à 5 v pour alimenter l'Arduino, j'ai ensuite utilisé deux des batteries et directement connecté aux moteurs et aux LED, ce n'est pas une si bonne idée car la tension n'était pas régulée, mais je n'avais pas de régulateur de tension, si vous essayez de le construire, je vous recommande d'utiliser un régulateur de tension pouvant faire 5v à environ 2-3 ampères, un exemple de ceci est le LM78S05. Ou vous pouvez utiliser le LM7805 pour alimenter l'Arduino et obtenir à la place un convertisseur abaisseur ou un convertisseur abaisseur pour abaisser la tension et alimenter les LED et les moteurs.
Étape 11: Amusez-vous !
J'espère que vous construisez ce robot et que vous vous amusez, j'espère aussi que vous apporterez votre propre touche à ce robot et créerez vos propres émotions pour le rendre VIVANT !!!
Conseillé:
Robot Arduino 5 en 1 - Suivez-moi - Suivi de ligne - Sumo - Dessin - Éviter les obstacles : 6 étapes
Robot Arduino 5 en 1 | Suivez-moi | Suivi de ligne | Sumo | Dessin | Éviter les obstacles : cette carte de commande de robot contient un microcontrôleur ATmega328P et un pilote de moteur L293D. Bien sûr, elle n'est pas différente d'une carte Arduino Uno mais elle est plus utile car elle n'a pas besoin d'un autre shield pour piloter le moteur ! Il est sans saut
Obstacle Éviter Rover Avec Dexter : 4 Étapes
Obstacle évitant Rover avec Dexter: Si vous êtes nouveau dans la communauté Dexter, veuillez vous référer à https://www.instructables.com/id/Getting-Started-With-Dexter/Dans ce projet, nous développons un obstacle évitant Rover en utilisant notre carte Dexter et capteur à ultrasons
Robot à ultrasons pour éviter les murs : 11 étapes
Robot d'évitement de mur à ultrasons : il s'agit d'un didacticiel sur la façon de créer un robot d'évitement de mur de base. Ce projet nécessitera quelques composants et un peu de dévouement et de temps. Cela aiderait si vous avez une petite quantité de connaissances en électronique, mais si vous êtes un débutant complet, maintenant
COMMENT ASSEMBLER UN BRAS DE ROBOT EN BOIS IMPRESSIONNANT (PARTIE 2: ROBOT POUR ÉVITER LES OBSTACLES) - BASÉ SUR LE MICRO: MEU: 3 étapes
COMMENT ASSEMBLER UN BRAS DE ROBOT EN BOIS IMPRESSIONNANT (PARTIE 2: ROBOT POUR ÉVITER LES OBSTACLES) - BASÉ SUR LE MICRO: BIT: Auparavant, nous avons introduit Armbit en mode de suivi de ligne. Ensuite, nous présentons comment installer Armbit en évitant le mode obstacle
Mon monstre émotionnel ! : 8 étapes
Mon monstre émotionnel ! : il s'agit d'un Instructable sur la façon de construire votre propre robot monstre moelleux qui affiche vos émotions ! Pour ce faire, vous aurez besoin de contreplaqué, d'acrylique, d'un iPad, de la fourrure de votre choix, d'Arduino et d'autres matériaux décrits ci-dessous à l'étape