Ultrasons-évitant les Obstacle Robot (12 / 16 étapes)

Etape 12 : Contrôle et problèmes du module HCSR-04

Brochage

GND - constant

Cette broche relie au sol nette du schéma

VCC - rail d’alimentation

Cette broche doit être liée à la ligne d’alimentation de notre circuit, qui - dans mon cas est fournie par le convertisseur buck de 5V.

TRIG - l’ergot

L’utilisateur doit fournir une microseconde longue impulse sur cette broche, puis d’attendre l’écho arriver sur la broche de l’écho. Notez que l’écho est élevé dans les premières dizaines de millisecondes, assurez-vous que vous attendez que lors de l’initialisation. Cette tige est affirmée, puis programme doit attendre un front montant et démarrer un minuteur, TMR1. Le WASTE_10_US() ; est une macro que j’ai écrit, il se compose d’instructions d’assemblage assez « NOP » de gaspiller un temps total de 10 microsecondes. Comptage est arrêté lorsque l’impulsion de l’écho va de nouveau faible. Depuis le numéro dans le registre de compteur, nous savons le temps nécessaire pour le son de se remettre d’un éventuel obstacle. Nous savons la vitesse du son : on peut calculer la distance !

ECHO - goupille de l’écho

Cette broche est utilisée pour détecter les ondes sonores réfléchies. J’ai branché sur une broche qui a interrupt, juste au cas où -, mais il est utilisé en mode d’entrée simple. Un front montant s’arrête le compteur mentionné précédemment et l’enregistre dans une variable, qui est traitée peu après.

Une petite astuce pour vous faciliter la vie de PIC-s

Le calendrier des impulsions est indiqué dans la fiche technique de ce module. Comme mentionné précédemment, vous devrez patienter dehors la premières ~ 100 ms, puis donner 10 microsecondes impulsions de gâchette sur la broche TRIG. Ce qui donne une telle impulsion se traduit par une rafale de 8 cycle venant de l’émetteur « speaker ». Ensuite, il faut attendre pour un écho à venir. L’écho est capturé par le récepteur et transformé en une impulsion de longueur variable sur l’axe de l’ECHO. La longueur de cette pulsion d’écho est directement proportionnelle à la distance de l’obstacle. La fiche technique donne une formule simple pour calculer ceci :

distance [cm] = t mesuré [microsecondes] / 58

Ceci renverra la distance en centimètres. J’ai seulement diviser par 5.8, donc la distance est retournée en millimètres. Étant donné que je n’avez pas besoin nécessairement une lecture extrêmement précise, je vais ajouter un petit tour ici. Je veux seulement éviter les obstacles, je n’aime pas dans quelle mesure ils sont, il n’y a pas d’utilisation de calcul de la distance dans les types de variable double . Ce genre de calculs prendre beaucoup de temps, qui dans ce cas est complètement inutile. Nous allons donc simplifier les calculs un peu. Nous savons que la longueur de l’impulsion reçue en microsecondes est nécessaire pour comprendre la distance. Cependant, notre base de temps n’est pas un one, 83,33 très rond [ns]. Ainsi, au lieu de prendre le comte TMR1, multipliant par la base pour obtenir la longueur (en microsecondes), puis en le divisant par 5,8 pour obtenir la distance en millimètres, de temps, nous allons faire quelque chose de plus simple et plus bête. Nous allons établir quel un moyen unique de comte TMR1 en millimètres :

1 count = 83.33 [ns] = 0.08333 [nous], qui, divisée par 5,8 résultats à 0,014 [mm] pour chaque TMR1 [count]

Cela dit, nous pouvons écrire ce qui suit :

1 [count] .......................... 0,014 [mm]

x [count]... y [mm]

et continuer à écrire la formule suivante :

y [mm] = (x * 0, 014) / 1 = x * 0,014 = x / 71,42

Donc, nous savons que nous pouvons obtenir la distance d’un obstacle en divisant TMR1 comte avec 71,42. Ceci, cependant, est toujours un calcul de précision qui prend beaucoup de temps, donc nous prenons un coup d’oeil et réalisez que ce n'est pas que loin de 64, un certain nombre de 'round' nice. Diviser avec les puissances de 2 dans le logiciel est très facile, peut se faire via déplacement droite six fois. Octet décalage est une instruction native du PIC, et c’est très très rapide par rapport à une double division. Donc, nous allons 71,42 rond à 64 et juste Maj TMR1 ont quitté 6 fois pour avoir une idée sur comment fermer un obstacle est !

Voyons la différence que ce truc donne à un nombre de 8000 (par exemple) :

origine : 8000 / 71,42 = 112 [mm]

Tricky : 8000 / 64 = (8000 >> 6) = 125 [mm]

Si l’erreur est d’environ 10 %, pas beaucoup par rapport à l’énorme quantité de temps qui que nous a sauvé !

Problèmes

Je n’ai pas frappé tous les problèmes tout en travaillant avec ce module, la seule chose qui est arrivé est que le fil entre le PIC et la broche de l’ECHO a été laissé débranché, et le PIC attendu sans cesse pour les bords sur cette broche. C’était facile à attraper, car la LED rouge qui bascule à chaque seconde, s’est arrêté. J’ai su immédiatement que le programme a gelé, et le seul endroit qu'il peut geler est cette attente routine de bord. Problème résolu après une minute !

Encore une chose : ces choses fonctionnent avec 5 [V], afin d’avoir juste 4.8 [V] à charge complète signifie que nous sommes trop loin l’étirant. Si la tension n’est pas suffisant pour attraper l’écho, le MCU se bloque, en attendant l’écho d’arriver !

Articles Liés

HandSight : Un gant pour les aveugles à se sentir les formes et évitez les Obstacles

HandSight : Un gant pour les aveugles à se sentir les formes et évitez les Obstacles

HandSight est un gant de prototype pour aider les aveugles. Il peut détecter la luminosité ou l'obscurité d'une surface avec la rétroaction tactile d'un moteur de vibration pour chaque doigt individuel. Il peut également détecter la distance des obje
Robot-évitant les obstacles.

Robot-évitant les obstacles.

OBSTACLE ÉVITANT ROBOTFINANCÉ PAR ; INTEL KENYA EN LIAISON AVEC LA SOCIÉTÉ D'INGÉNIERIE ÉTUDIANTS AUTOMATION CLUB JKUAT.MEMBRES DU PROJET :1 ANTONY KARIUKI2 ERIC KINYANJUI3 EMMANUEL KINYANJUIPROJET INSTRUCTABLE :EXIGENCES :1 PLATEAU DE 2ÈME GÉNÉRATIO
Discours de l’Arduino contrôler et détecter les Obstacles Robot

Discours de l’Arduino contrôler et détecter les Obstacles Robot

Robot contrôlé par les commandes vocales avec Arduino et avec la voix de google Android téléphone à texte est contrôlée à l'aide de l'applicationhttp://Make.robimek.com/Voice-Commands-Controlled-robot/Étape 1: matériaux :Application 1-android : https
Se ronger les Obstacles Robot autonome « Sanglier » (sanglier)

Se ronger les Obstacles Robot autonome « Sanglier » (sanglier)

concept généralNotre première idée était de créer un robot sur chenilles capable de monter les escaliers et bien d'autres obstacles, pour atteindre une bonne vitesse (autour de 10 ou 15 km/h) alors que le tournage et la transmission de données. Il se
YourDuino : Base Compatible Arduino en évitant la Collision Robot

YourDuino : Base Compatible Arduino en évitant la Collision Robot

Comment construire un Robot en évitant la base Compatible Arduino CollisionRemarque : Consultez le disponible Arduino Software Test croquis et logiciel anticollision ici (cliquer)Remarque : Plus tard, vous devrez avoir l'Arduino « IDE » système de dé
Arduino Robot qui évite les humains

Arduino Robot qui évite les humains

Dans mon précédent instructable, j'ai montré que c'est très simple de contrôle que DC moteurs utilisant le contrôleur compatible Arduino Nano et Bouclier de tissu. Vous pouvez obtenir ce robot à travers mon projet Kickstarter.Je vais vous montrer com
Comment éviter les boutons et réduire l’acné naturellement par le droit de manger

Comment éviter les boutons et réduire l’acné naturellement par le droit de manger

vous pouvez prévenir, éclaircir ou éliminer l'acné en réduisant les aliments à charge glycémique élevée de votre alimentation et garder votre taux d'insuline faible. Cela peut sembler difficile, mais c'est vraiment juste une façon sophistiquée de dir
Comment éviter les dangers pour la santé de l’utilisation de Gadgets électroniques

Comment éviter les dangers pour la santé de l’utilisation de Gadgets électroniques

Tous les jours les gadgets électroniques comme les tablettes et smartphones parfois flak pour des soucis de santé indu qui sont complètement sans fondement – tels que les craintes sur la radiation et des signaux radio qui affectent le corps.Il y a, c
Oogoo mélangeur à bon compte (éviter les mains malpropres:))

Oogoo mélangeur à bon compte (éviter les mains malpropres:))

Oogoo est un outil très utile d'avoir dans chaque inventaire DIY'ers. C'est une substance polyvalente, offrant grand adhésif,propriétés structurelles (flexibilité) et il peut être utilisé comme matériau de support pour la fixation des éléments, ou co
Feux chocolat coeurs - et les moyens de corriger et d’éviter les problèmes de chocolat.

Feux chocolat coeurs - et les moyens de corriger et d’éviter les problèmes de chocolat.

Il y a une histoire derrière cette instructable. Eh bien, n'y a-t-il pas toujours, je suppose.Voir, j'ai eu un plan. Un meilleur plan décontracté. Légèrement, qui a été déjouée par les réalités du traitant de cette substance acariâtre, connue comme l
Éviter les pâtes bouillant à l’aide de baguettes en bois

Éviter les pâtes bouillant à l’aide de baguettes en bois

Usage inhabituel de baguettes en bois :utiliser des baguettes en bois pour éviter les pâtes bouillant(même si vous mettez la table, appréciez une antipasta,...)Ajout de sel ou d'huile n'a jamais semblé à beaucoup d'aide. Faire bouillir les pâtes dans
GameMaker : Comment faire les ennemis à marcher vers vous en évitant les murs

GameMaker : Comment faire les ennemis à marcher vers vous en évitant les murs

Salut. Il s'agit de chessru. J'ai toujours essayé de trouver un moyen de faire ce que l'indique le titre. Maintenant, il est ici !Etape 1: Créez les objetsPremières choses première. Nous avons besoin d'ennemis et un lecteur. Programmer le lecteur pou
Parti de l’action de grâces: 6 conseils pour éviter les risques de plomberie

Parti de l’action de grâces: 6 conseils pour éviter les risques de plomberie

Parti de l'action de grâces: 6 conseils pour éviter les risques de plomberieEntrer dans les dangers de plomberie après qu'une partie est très commune, mais est complètement évitable si pris en charge correctement au préalable. Voici un blog avec des
Étiquette conseils pour éviter les litiges voisin

Étiquette conseils pour éviter les litiges voisin

Si vous établissez une clôture, c'est votre travail pour s'assurer que les deux côtés sont bien entretenues. Pour éviter les litiges, revue restrictions avec votre compagnie de clôture avant de choisir une clôture.