Les robots jouent un rôle important dans l' automatisation dans tous les secteurs comme la construction, militaire, médical, fabrication, etc. Après avoir fait quelques robots de base comme robot suiveur de ligne, robot commandé par ordinateur, etc, nous avons mis au point ce robot commandé geste à base d'accéléromètre en utilisant arduino uno. Dans ce projet, nous avons utilisé le mouvement de la main pour conduire le robot. Pour cela, nous avons utilisé un accéléromètre qui fonctionne sur l'accélération.
Composants requis
- Arduino UNO
- Moteurs à courant continu
- Accéléromètre
- HT12D
- HT12E
- Paire RF
- Driver de moteur L293D
- Batterie 9 volts
- Connecteur de batterie
- cable USB
- Robot Chasis
RF Paire:
Un robot contrôlé par gestes est contrôlé en utilisant la main à la place de toute autre méthode comme les boutons ou le joystick. Ici, il suffit de bouger la main pour contrôler le robot. Un appareil émetteur est utilisé dans votre main qui contient un émetteur RF et un accéléromètre. Cela transmettra la commande au robot afin qu'il puisse effectuer la tâche requise comme avancer, reculer, tourner à gauche, tourner à droite et s'arrêter. Toutes ces tâches seront effectuées en utilisant le geste de la main.
Ici, le composant le plus important est l'accéléromètre. L'accéléromètre est un appareil de mesure d'accélération à 3 axes avec une plage de + -3g. Cet appareil est fabriqué en utilisant un capteur de surface en polysilicium et un circuit de conditionnement de signal pour mesurer l'accélération. La sortie de cet appareil est de nature analogique et proportionnelle à l'accélération. Cet appareil mesure l'accélération statique de la gravité lorsque nous l'inclinons. Et donne un résultat sous forme de mouvement ou de vibration.
Selon la fiche technique de la structure micro-usinée en surface de polysilicium adxl335 placée au-dessus de la tranche de silicium. Des ressorts en polysilicium suspendent la structure sur la surface de la tranche et fournissent une résistance aux forces d'accélération. La déflexion de la structure est mesurée à l'aide d'un condensateur différentiel qui comprend des plaques fixes indépendantes et des plaques fixées à la masse en mouvement. Les plaques fixes sont entraînées par des ondes carrées déphasées de 180 °. L'accélération dévie la masse en mouvement et déséquilibre le condensateur différentiel résultant en une sortie de capteur dont l'amplitude est proportionnelle à l'accélération. Des techniques de démodulation sensibles à la phase sont ensuite utilisées pour déterminer l'amplitude et la direction de l'accélération.
Broche Description de l'accéléromètre
- L'alimentation Vcc 5 volts doit se connecter à cette broche.
- X-OUT Cette broche donne une sortie analogique dans la direction x
- Y-OUT Cette broche donne une sortie analogique dans la direction y
- Z-OUT Cette broche donne une sortie analogique dans la direction z
- Terre GND
- ST Cette broche utilisée pour régler la sensibilité du capteur
Schéma de circuit et explication
Le robot à commande gestuelle est divisé en deux sections:
- Partie émetteur
- Partie récepteur
Dans la partie émetteur, un accéléromètre et une unité émettrice RF sont utilisés. Comme nous l'avons déjà mentionné, l'accéléromètre donne une sortie analogique, nous devons donc convertir ces données analogiques en données numériques. À cette fin, nous avons utilisé un circuit comparateur à 4 canaux à la place de tout ADC. En définissant la tension de référence, nous obtenons un signal numérique, puis appliquons ce signal au codeur HT12E pour coder les données ou les convertir en forme série, puis envoyer ces données en utilisant un émetteur RF dans l'environnement.
Du côté du récepteur, nous avons utilisé un récepteur RF pour recevoir des données, puis appliqué au décodeur HT12D. Ce décodeur IC convertit les données série reçues en parallèle, puis les lit à l'aide d'arduino. Selon les données reçues, nous conduisons le robot en utilisant deux moteurs à courant continu dans le sens avant, arrière, gauche, droit et d'arrêt.
Travail
Le robot contrôlé par gestes se déplace en fonction du mouvement de la main lorsque nous plaçons l'émetteur dans notre main. Lorsque nous inclinons la main vers l'avant, le robot commence à avancer et continue d'avancer jusqu'à ce que la commande suivante soit donnée.
Lorsque nous inclinons la main vers l'arrière, le robot change d'état et commence à se déplacer vers l'arrière jusqu'à ce qu'une autre commande soit donnée.
Lorsque nous l'inclinons sur le côté gauche, le robot tourne à gauche jusqu'à la commande suivante.
Lorsque nous inclinons la main dans le côté droit, le robot tourné vers la droite.
Et pour arrêter le robot, nous gardons la main stable.
Schéma de circuit pour la section émetteur
Schéma de circuit pour la section de récepteur
Le circuit de ce robot contrôlé par les gestes de la main est assez simple. Comme indiqué dans les schémas ci-dessus, une paire RF est utilisée pour la communication et connectée à arduino. Le pilote du moteur est connecté à arduino pour faire fonctionner le robot. La broche d'entrée 2, 7, 10 et 15 du pilote de moteur est connectée à la broche numérique Arduino numéro 6, 5, 4 et 3 respectivement. Ici, nous avons utilisé deux moteurs à courant continu pour entraîner le robot dans lequel un moteur est connecté à la broche de sortie du pilote de moteur 3 et 6 et un autre moteur est connecté à 11 et 14. Une batterie de 9 volts est également utilisée pour alimenter le pilote de moteur pour entraîner les moteurs.
Explication du programme
Dans le programme, nous avons tout d'abord défini des broches de sortie pour les moteurs.
Et puis dans la configuration, nous avons donné les instructions pour épingler.
Après cela, nous lisons l'entrée en utilisant 'if statement' et effectuons une opération relative.
Il y a au total cinq conditions pour ce robot contrôlé par gestes qui donnent ci-dessous:
Mouvement de la main |
Entrée pour Arduino par geste |
||||
Côté |
D3 |
D2 |
D1 |
D0 |
Direction |
Stable |
0 |
0 |
0 |
0 |
Arrêtez |
Incliner à droite |
0 |
0 |
0 |
1 |
Tournez à droite |
Incliner à gauche |
0 |
0 |
1 |
0 |
Tournez à gauche |
Inclinaison arrière |
1 |
0 |
0 |
0 |
En arrière |
Inclinaison avant |
0 |
1 |
0 |
0 |
Vers l'avant |
Nous avons écrit le programme complet selon les conditions du tableau ci-dessus. Ci-dessous le code complet.