MESURE DE DISTANCE PAR ULTRASONS Al p ho n se D ELAP O RTE/ Am in e NAJA R P r o j e t P R - 2001 Semestre 2 2013 - 2014 Table des matières I- Introduction .......................................................................................................................... 4 1) Cahier des charges ...................................................................................................................... 5 2) Schéma du détecteur .................................................................................................................. 6 3) Test préliminaire ........................................................................................................................ 7 II. Émission du signal ................................................................................................................ 9 1) Circuit d’émission ........................................................................................................................ 9 2) Nomenclature des composants ..................................................................................................... 9 3) Génération du signal .................................................................................................................. 10 4) Amplification du signal ............................................................................................................... 11 5) Tests .......................................................................................................................................... 12 III. Réception du signal ........................................................................................................... 13 1) Circuit de réception .................................................................................................................... 13 2) Amplification du signal ............................................................................................................... 13 3) Redressement du signal .............................................................................................................. 14 4) Nomenclature des composants ................................................................................................... 14 5) Tests .......................................................................................................................................... 15 IV. Comparateur à Hystérésis ................................................................................................. 17 1) Explication du circuit .................................................................................................................. 17 2) Tests : ........................................................................................................................................ 18 3) Nomenclature des composants : ................................................................................................. 18 V. Oscillateur ......................................................................................................................... 18 1) Explication du circuit .................................................................................................................. 18 2) Tests .......................................................................................................................................... 20 3) Nomenclature des composants : ................................................................................................. 21 VI. Volume ............................................................................................................................. 22 1) Explication du circuit : ................................................................................................................ 22 2) Nomenclature des composants : ................................................................................................. 22 VII. Interrupteur ..................................................................................................................... 23 1) Explication du circuit : ................................................................................................................ 23 2) Nomenclature des composants : ................................................................................................. 23 VIII. Amplificateur de Puissance ............................................................................................. 24 1) Explication du circuit .................................................................................................................. 24 2) Test............................................................................................................................................ 26 3) Nomenclature des composants : ................................................................................................. 26 IX. Affichage sur l’écran LCD ................................................................................................... 27 1) Branchement de l’écran LCD : ..................................................................................................... 27 2) Organigramme : ......................................................................................................................... 27 3) Code source :.............................................................................................................................. 28 Page 2 4) Tests : ........................................................................................................................................ 31 X. Schémas et Nomenclature .................................................................................................. 33 1) Schéma simplifié du circuit ......................................................................................................... 33 2) Schéma détaillé du circuit ........................................................................................................... 34 XI. Conclusion ........................................................................................................................ 35 XII. Bibliographie .................................................................................................................... 36 Page 3 I- Introduction Les ultrasons sont des vibrations mécaniques, de même nature que le son, mais inaudibles à l'oreille humaine car leur fréquence est supérieure à 20kHz. Ces ondes sont utilisées dans plusieurs technologies telles que les radars et les sonars. Un télémètre à ultrasons, dont le schéma synoptique est représenté à la figure 1, fonctionne selon le principe du radar : une onde est émise en direction de l’objet dont on veut connaître la distance. L’écho est ensuite détecté par le récepteur incorporé du télémètre. Connaissant la vitesse de propagation du son (340 mètres par seconde), il devient facile de déduire la distance parcourue par l’onde. A l’aide de notre FPGA (Arduino), on peut alors afficher cette distance sur un écran et/ou utiliser cette donnée numérique pour produire un son. La vitesse de celui-ci qui deviendra de plus en plus rapide au fur et à mesure que le détecteur se rapproche de l’obstacle. Une application de ce principe consiste en les radars de recul. Figure 1 : Principe du détecteur de proximité. Page 4 1) Cahier des charges Avant de commencer tout travail, il convient de se fixer un cahier des charges afin de cerner précisément les objectifs de notre projet. Le cahier des charges nous impose les conditions suivantes : o Durée de réalisation : vingt-huit semaines o Performance : le télémètre doit mesurer une distance de quelques décimètres o Précision : l’utilisateur est alerté par un son audible et répété à une fréquence d’environ 0.5 Hz pour un obstacle à 30 cm et répété à une fréquence de 5 Hz pour un obstacle à 5 cm. o Alimentation : une alimentation générant du ± 5 V fournira les tensions nécessaires pour le montage extérieur à l’Arduino. o Principe de fonctionnement : la mesure à l’aide du télémètre se fait par le calcul d’un déphasage entre l’émission et la réception de salves, selon la méthode précisée à la figure 2. Figure 2 : Principe de Mesure o Prototypage du détecteur : plaquette SK10. o Réalisation du détecteur : circuit imprimé dans lequel seront placés tous les composants. La relation entre la durée d’aller-retour de l’ultrason t et sa distance D par rapport à l’obstacle est donnée par la relation suivante, V étant la vitesse de l’ultrason dans l’air : ⁄ La distance est divisée par 2 car l’impulsion fait un aller-retour. Page 5 2) Schéma du détecteur Le schéma global du détecteur que nous envisageons de réaliser est décrit à la figure 3 cidessous. L’émetteur et le récepteur à ultra-sons sont des transducteurs de type piézoélectrique (Référence Murata MA40S chez www.radiospares.fr). Ils se comportent comme des filtres passe-bande centrés sur la fréquence de 40 kHz. L’émetteur est commandé à partir d’une tension et de son complément (pour doubler la tension à l’émission). Le circuit driver peut être du type CD4049 car il permet de générer suffisamment de courant et de placer plusieurs portes en parallèle. D’autre part, le récepteur fournit une tension avec une forte impédance de sortie. Le courant ou la tension de sortie sont amplifiés par l’amplificateur faible niveau. Figure 3 : Schéma Global du Détecteur Pour mesurer la distance, nous utiliserons le principe de la mesure du déphasage entre l’émission et la réception, comme défini dans la partie précédente. En fonction du déphasage, un signal de fréquence variable, entre 0.5 Hz et 5 Hz, est généré par l’Arduino. Pour que ce signal soit audible, un signal de par exemple 1 kHz sera généré pendant ces phases, soit par l’Arduino, soit à l’extérieur. L’amplificateur placé avant le haut-parleur (d’une impédance de 8 ) permet de générer une puissance de 1W environ. Page 6 3) Test préliminaire Nous constatons d’abord que la valeur maximale de la fréquence est de 41.2 kHz pour une distance à l’obstacle de 3 cm. Nous avons ainsi décidé d’établir la courbe d’étalonnage de la tension (Volts) en fonction de la fréquence (kHz), à distance fixée, et celle de la tension (Volts) en fonction de la distance (cm) pour une fréquence de 41,2kHz. Nous avons illustré les résultats à la figure 4 et figure 5, respectivement. Ces deux courbes nous servent à caractériser notre signal. Plus l’obstacle est loin, plus l’amplitude du signal au niveau du récepteur est faible. C’est pour cette raison que nous avons arrêté nos mesures à 30cm, compte tenu du fait que le signal sur l’oscilloscope n’était plus assez précis pour la mesure. C’est aussi pour cela qu’un détecteur de recul d’un véhicule se déclenche au bout d’un mètre environ. Nous pouvons déduire à partir de la figure 4 qu’il existe une fréquence pour laquelle l’amplitude du signal au récepteur est maximale. L’amplitude maximale que nous obtenons correspond à une fréquence d’émission de 41,3 kHz. Notre futur oscillateur devra donc se rapprocher au plus près de cette fréquence afin de gagner en précision en réception. Par ailleurs, nous pouvons noter à partir de la figure 5 que l’amplitude de réception varie de manière exponentielle en fonction de l’inverse de la distance par rapport à l’obstacle. Figure 4 : Evolution de la tension (V) en fonction de la fréquence (kHz), pour une distance fixée Page 7 Figure 5 : Evolution de la tension (V) en fonction de la distance (cm) Page 8 II. Émission du signal 1) Circuit d’émission Nous explicitions le circuit d’émission à la figure 6, mettant en évidence un étage en pont, permettant d’amplifier le signal. Le montage permet précisément de quadrupler la puissance d’émission de notre signal. Démonstration : et donc Figure 6 : Montage amplificateur pour l’émetteur 2) Nomenclature des composants Référence Amplificateur U1 U2 U3 U4 U5 Condensateurs C1 Autres composants SPK1 Valeurs 10μF Emetteur Tableau 1 : Nomenclature des composants pour l’étage amplificateur à l’émission Page 9 3) Génération du signal Notre but est d’obtenir un signal carré pour l’oscillateur, un signal sinusoïdal n’étant pas adéquat pour notre application. Notre objectif est que, lors de la réception, le signal reçu ne soit pas perturbé, ni par un quelconque signal émis, ni par des phénomènes parasites. Par conséquent, nous avons utilisé Arduino afin de pouvoir générer ce signal grâce à la fonction delayMicroseconds(). L’organigramme suivi pour générer le signal est indiqué à la figure 7 ci dessous, et son implémentation sur Arduino est décrite à la figure 8, mettant en évidence les différentes étapes. Nous rappelons que les tensions nécessaires à l’extérieur de l’Arduino sont fournies par une alimentation +5/-5V. Nous avons néanmoins rencontré une difficulté pour générer le signal. En effet, nous avons initialement prévu d’utiliser la fonction Tone(). L'instruction Tone() applique une impulsion carrée symétrique (c’est à dire 50% niveau HAUT / 50% niveau BAS) de fréquence précise sur la broche voulue, avec des fréquences audibles comprises entre 20Hz et 20 kHz. Cette méthode était plus simple au départ, mais au moment de la génération des salves, notre signal carré n’était pas parfait, ni suffisamment stable. Figure 7 : Organigramme de notre programme de génération de salve Page 10 Figure 8 : Code Arduino pour la génération des salves 4) Amplification du signal Après la génération du signal à l’aide de l’Arduino, il est nécessaire d’augmenter sa puissance afin de le rendre plus exploitable pour le détecteur. Pour ce faire, nous avons eu recourt à un buffer logique de type CMOS : CD4069. Nous explicitons le schéma des branchements sur le Driver à la figure 9. Grâce à ce schéma et un respect des bons branchements, nous avons réussi a utilisé ce driver afin de créer l’amplification du signal d’émission. Page 11 Figure 9 : Branchement sur le Driver 5) Tests Grâce à l’Arduino, on génère et on émet un signal carré. Ce même signal est amplifié à la sortie du Driver comme nous pouvons le constater à la Figure 10 : Figure 10 : signal amplifié en sortie de l’émetteur Page 12 III. Réception du signal 1) Circuit de réception Cette partie de notre montage est constituée d’un amplificateur d e p u i s s a n c e à f a i b l e b r u i t , suivi par un détecteur d’enveloppe. Le circuit correspondant est illustré à la figure 11. Figure 11 : Schéma de la partie Réception En effet, le signal reçu est de faible puissance, et il est ainsi quasi impossible de distinguer le signal du bruit. Afin d’éviter de retrouver un signal noyé dans le bruit, nous amplifions le signal en Amplificateur Opérationnel monté en montage inverseur. 2) Amplification du signal Expérimentalement, nous avons remarqué que pour obtenir un signal correct (la carte Arduino admettant des signaux jusqu’à 5V), la valeur du gain devait être élevée. Nous avons compris que lors de la comparaison par hystérésis que le gain doit être élevé, car au départ nous avions mis un gain de seulement un facteur de 10. C’est donc en avançant sur les autres parties du projet que nous avons compris le rôle et l’influence de l’amplification sur les performances de notre détecteur. Afin d’avoir un gain élevé, nous avons choisi les résistances en conséquence : R1= 1 kOhm et R2= 39 kOhm. Nous pouvons donc calculer le gain grâce à la formule : On obtient donc un Gain de 39. Cependant, afin d’atteindre ce gain, l’Amplificateur Opérationnel doit avoir un produit gain bande élevé. Ainsi, nous avons décidé d’utiliser le composant LF356 dont les branchements sont indiqués à la figure 12. Page 13 Figure 12 : Patte du LF356 3) Redressement du signal Comme nous l’avons mentionné précédemment, plusieurs signaux et phénomènes parasites peuvent altérer les performances du détecteur. C’est pour cette raison que nous avons décidé, à l’aide d’un pont composé d’une Résistance et d’un Condensateur, de filtrer le signal de réception. Ce dispositif permettra d’initialiser une fréquence de coupure sensiblement supérieure à 40kHz. Juste en amont de ce montage qui joue le rôle d’un filtre passe bas, nous avons introduit une diode qui permettra de redresser le signal en sortie (sous forme d’une sinusoïde), en supprimant sa partie négative. Figure 1: Schéma du filtrage 4) Nomenclature des composants Référence U1 Valeurs Amplificateur LF356 Condensateurs C1 R1 R2 R3 D1 SPK1 Résistances 10kΩ 39kΩ 1kΩ Diodes 1N4148 Autres composants Emetteur Tableau 2 : Nomenclature des composants pour l’étage de réception Page 14 5) Tests Le signal amplifié en sortie de l’émetteur est un signal carré. Le signal reçu est de forme sinusoïdale au niveau du récepteur, avant passage par l’amplificateur faible bruit, comme nous pouvons le constater à la figure 13. Figure 13 : signal en entrée du récepteur Ce signal reçu sera ensuite amplifié d’un facteur 10 comme l’indique la figure 14 ci-après (par la suite nous avons augmenté le gain) : Figure 14 : signal de réception en sortie de l’amplificateur faible bruit Page 15 Nous pouvons ensuite observer le signal redressé en sortie du détecteur d’enveloppe, comme illustré à la figure 15. Figure 15 : signal de réception à la sortie du détecteur d’enveloppe Page 16 IV. Comparateur à Hystérésis 1) Explication du circuit Nous cherchons a avoir un signal carré, car l’oscillateur ne peut pas utiliser un signal sinusoïdale dans ce détecteur, car la mesure de la distance se fera à l’aide du déphasage entre deux signal carré (signal envoyé par l’Arduino étant carré, celui venant du récepteur doit avoir la même forme pour que le calcul du déphasage se fasse.) Afin de répondre a cette condition nous allons ajouter un amplificateur opérationnel monté en montage comparateur avec hystérésis avec une tension de référence. Le schéma correspondant à ce comparateur est montré à la figure 16 : Figure 16 : Montage AOP comparateur Selon ce schéma, la tension est comparée par rapport à la tension dont l’expression est : Avec des résistances choisies : o o o Nous obtenons un seuil de comparaison Par ailleurs, nous avons rajouté une Diode après le comparateur à hystérésis, afin que l’Arduino puisse recevoir un signal positif (compris entre 0 et +5V), la carte ne pouvant pas traduire un signal négatif (la diode se bloque quand la valeur de la tension devient négative). Page 17 2) Tests : Le signal bleu est le signal amplifié qui juste avant le detecteur d’enveloppe. Le signal jaune est le signal carré en sortie de ce comparateur et de la diode, c’est pourquoi nous n’avons plus le -5 Volts 3) Nomenclature des composants : Référence U1 R1 R2 R3 Valeurs Amplificateur LF356N Résistances 27Ω 5100Ω 6800Ω V. Oscillateur 1) Explication du circuit Selon le cahier des charges, nous devons réaliser un oscillateur ayant une fréquence de 1 kHz. Nous avons opté au départ pour un montage oscillateur simple dont le schéma de principe est reporté à la figure 17. La chaîne directe A est réalisée par un AOP monté en amplificateur non inverseur de gain , et la réaction B est assurée par le dipôle RC série associé au dipôle RC parallèle. Page 18 Figure 17 : Montage oscillateur simple Dans ce montage, l’entrée non inverseuse est caractérisée par une tension V+ : A la pulsation , nous obtenons . Compte tenu de la condition , doit être égal à 2 et la fréquence d'oscillation est . Ce montage peut être testé mais la condition de gain est difficile à réaliser. Une solution envisageable pour palier à cette difficulté est d’employer pour une résistance modifiable pour ajuster précisément le gain et avoir en sortie une tension sinusoïdale avec peu de distorsions. La valeur de sera donc définie de la manière suivante : o Fréquence d’oscillation : o : résistance à choisir o o ( potentiomètre) Cependant, nous avons plutôt choisi d’effectuer un montage oscillateur avec stabilisation de la tension de sortie. Dans ce montage correspondant, la tension de sortie est ajustée à l’aide du transistor à effet de champ (FET), ce transistor rempli les mêmes fonctions qu’un potentiometre (Ici, le transistor rempli le rôle de Résistance réglable R1 du montage « simple »). Le schéma de principe est illustré à la figure 18. Page 19 Figure 18 : montage oscillateur avec stabilisation de la tension de sortie La diode D, les résistances R3 et R4 ainsi que le condensateur C4, permette au FET canal N d’avoir une tension négative. Grace à cette tension, le FET canal N peut fonctionner dans la zone ohmique. La résistance R4 et le condensateur C4 permette d’avoir une tension continue grâce a leur rôle de filtrage. La tension continue permettra de commander le transistor. 2) Tests Nous avons mis en œuvre le montage oscillateur avec stabilisation de la tension de sortie. Comme constaté à la figure 19, notre signal obtenu est une sinusoïde d’une fréquence de 880 Hz environ, ce qui correspond à nos attentes. Page 20 Figure 19 : signal obtenu en sortie de l’oscillateur Cependant, normalement, quand la tension augmente, la tension Vgs et la résistance du FET augmentent également, et le gain de l'étage diminue. Il y a donc stabilisation de la tension de sortie et la tension n'atteint pas la saturation de l'AOP. Or on remarque une saturation de notre signal. 3) Nomenclature des composants : Référence U1 C C C1 R R R1 R2 R3 R4 D1 T1 Valeurs Amplificateur LF356 Condensateurs 1.5nF 1.5nF 100nF Résistances 100kΩ 100kΩ 10 kΩ 22 kΩ 10 kΩ 10 kΩ Diodes 1N4148 Transistors BF245A Page 21 VI. Volume 1) Explication du circuit : Ce montage permet de reduire la tension de sortie et donc de reduire le volume. Le potentiomètre permet de faire varier le volume. 2) Nomenclature des composants : Référence R P Valeurs Résistances 330Ω Potentiomètre 3386P-1-101LF Page 22 VII. Interrupteur 1) Explication du circuit : Afin de faire un interrupteur nous allons utiliser un transistor, relié à l’Arduino. Son schéma électronique est le suivant : Figure 20 : Schéma de l'interrupteur Lorsque l’Arduino n’envoie aucun signal, le transistor se comporte comme un fil donc les impulsions sont transmises vers l’amplificateur. La fréquence d’ouverture et fermeture du transistor détermine la fréquence du « bip » émis par le haut-parleur. En revanche si l’Arduino envoie un signal, le transistor se comporte comme un interrupteur ouvert. 2) Nomenclature des composants : Référence R R Transistor Valeurs Résistances 100Ω 100Ω Transistors 2N2219 Page 23 VIII. Amplificateur de Puissance 1) Explication du circuit Afin de rendre audible le signal en sortie de l’oscillateur, nous avons eu recours à l’amplification de celui-ci avant de l’injecter vers le haut parleur, mentionné dans le schéma global de notre détecteur. Nous décrivons dans cette partie le fonctionnement de l’amplificateur de puissance mis en œuvre, dont le schéma est représenté à la figure 20. L'AOP amplifie la tension avec un gain égal à . Par ailleurs, les transistors T1 et T2 sont placés en sortie de l'AOP pour amplifier le courant délivré à la charge. L'amplificateur de courant de sortie est constitué par les transistors T1 et T2. Le transistor T1 délivre l'alternance positive tandis que l'alternance négative l'est par T2. Le gain de l'étage est déterminé par . Figure 20 : Montage sans polarisation de l'étage de sortie Page 24 Le transistor T1 est un transistor NPN. Nous avons décidé d’utiliser le composant 2N2219 A1 pour le représenter, dont les branchements sont indiqués à la figure 21. Figure 21 : Branchements du transistor T1 D’autre part, le transistor T2 est un transistor PNP. Nous avons décidé d’utiliser le composant 2N29052 pour le représenter, les branchements sont indiqués à la figure 22. Figure 22 : Branchements du transistor T2 1 2 La documentation complète de ce composant est disponible à l’adresse : http://www.pci-card.com/2n2219a.pdf La documentation complète de ce composant est disponible à l’adresse : http://www.circuitstoday.com/wp-content/uploads/2009/03/2n2907.pdf Page 25 2) Test Nous branchons notre Haut parleur en sortie de l’amplificateur. Pour réaliser cette étape, nous n’avons pas eu besoin d’ajouter une résistance de charge, étant donné qu’une résistance de est déjà incorporée dans le dispositif HP. 3) Nomenclature des composants : Référence U1 C C C1 C1 R1 R2 D1 T1 T2 Valeurs Amplificateur LF356 Condensateurs 100μF 100μF 100nF 100nF Résistances 10 kΩ 100 kΩ Diodes 1N4148 Transistors 2N2219 2N2905 Page 26 IX. Affichage sur l’écran LCD 1) Branchement de l’écran LCD : Figure 2 : Branchement entre l'arduino et le LCD 2) Organigramme : Page 27 3) Code source : Page 28 Page 29 Page 30 4) Tests : Voici des exemples d’exécution du détecteur de distances : Figure 3 : Execution lorsqu'il n'y a pas d'obstacle Page 31 Figure 4: Execution lorsque l'obstacle est à une distance maximale Page 32 X. Schémas et Nomenclature 1) Schéma simplifié du circuit Figure 5 : Schéma simplifié du circuit Page 33 2) Schéma détaillé du circuit Figure 6 : Schéma complet avec les différents blocs Page 34 XI. Conclusion Ce projet nous a permis de réaliser un dispostif appliqué dans nombreux domaines, un détecteur d’obstacle à ultrasons. Ce projet représente en réalité un long travail de recherche et d’élaboration. De nombreux composants sont mis en jeu, et il est parfois difficile de trouver une petite faille dans un tel montage, alors qu’elle peut nuire au bon fonctionnement du circuit. Dans la première partie du projet, nous avons tout d’abord pris en main, avec un générateur et un oscilloscope, les capteurs à ultrasons. Nous avons étudié leurs sensibilités en fréquence, en angle et par rapport aux déplacements. Cette partie nous a permis de manipuler des éléments présents dans la vie de tous les jours mais dont leur étude en Travaux Pratiques n’était pas très présente dans notre Cursus à l’ESIEE. La deuxième étape fut de générer avec l’Arduino un signal d’une fréquence de 40 kHz, pour ensuite pouvoir l’utiliser afin de générer des trames d’impulsions à 40 kHz. Cette partie fut surtout une découverte de l’Arduino et de ses nombreuses instructions. Par ailleurs, nous avons remarqué sa puissance et sa forte utilisation dans l’électronique actuelle : en effet, de nombreux projets ont été réalisés à l’aide de ce circuit imprimé en langage libre. Nous avons néanmoins rencontré certaines difficultés lors de la réalisation de notre projet. Au départ, nous avons rencontré un problème concernant la distance maximum que notre télémètre pouvait mesurer. Dans le cahier des charges, la distance devrait être de 20 à 30 cm environ. Or notre mesure maximale est de 5 cm. Cependant nous avons réussi à augmenter la distance de mesure, à l’aide d’une augmentation de l’amplification. Il arrivait que la plaquette fonctionne lors de son rangement, mais plus lorsque l’on la ressortait. Nous devions alors refaire les étapes une par une afin de déceler le problème, qui se réglait parfois tout seul. Cela était peut-être dû à de faux contacts. Nous avons dès lors compris qu’il fallait être minutieux et avons pris l’habitude de câbler plus soigneusement le montage, en faisant attention à tous les branchements, la taille des fils, etc. L'impression générale du groupe durant ce Projet est positive. En effet, il nous a permis de mettre en pratique les connaissances que nous avions acquises. En outre, ce qui nous a particulièrement intéressé est d'avoir à effectuer un travail de conception, dans son intégralité, même si on aurait bien voulu faire la conception d’une carte électronique, pour rendre le dispositif plus « portable ». Page 35 XII. Bibliographie Ouvrage Cours de E1 Articles de Wikipedia Arduino http://fr.wikipedia.org/wiki/Arduino Ultrasons http://fr.wikipedia.org/wiki/Ultrason Sites Web o ESIEE[En ligne]. [Consulté le 26 Février 2014]. Disponible sur : http://www.esiee.fr/~poulichp/PR201/PR201.html o Developpez[En ligne]. [Consulté le 4 Janvier 2014]. Disponible sur : http://f-leb.developpez.com/tutoriels/arduino/univers_arduino/part2/ o Arduino[En ligne]. [Consulté le 12 Janvier 2014]. Disponible sur : http://www.arduino.cc/fr/#.UxjyQfl5OgY o Itechnofrance[En ligne]. [Consulté le 6 Février 2014]. Disponible sur : http://itechnofrance.wordpress.com/2013/03/12/utilisation-du-module-ultrasonhc-sr04-avec- larduino/ o Instructable[En ligne]. [Consulté le 16 Février 2014]. Disponible sur : http://www.instructables.com/id/Ultrasonic-Range-detector-using-Arduino-and-the-SR/ Page 36