<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Archives des HC-SR04 - La programmation sur le web</title>
	<atom:link href="https://programmation.surleweb-france.fr/tag/hc-sr04/feed/" rel="self" type="application/rss+xml" />
	<link>https://programmation.surleweb-france.fr/tag/hc-sr04/</link>
	<description>La programmation gratuite pour tous</description>
	<lastBuildDate>Sun, 03 May 2020 19:21:26 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2023/08/cropped-19518430-icone-de-programmation-pour-votre-site-web-mobile-presentation-et-conception-de-logo-gratuit-vectoriel.jpg?fit=32%2C32&#038;ssl=1</url>
	<title>Archives des HC-SR04 - La programmation sur le web</title>
	<link>https://programmation.surleweb-france.fr/tag/hc-sr04/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">176210735</site>	<item>
		<title>Raspberry, un robot éviteur d’obstacles</title>
		<link>https://programmation.surleweb-france.fr/raspberry-robot-eviteur-obstacles/</link>
					<comments>https://programmation.surleweb-france.fr/raspberry-robot-eviteur-obstacles/#respond</comments>
		
		<dc:creator><![CDATA[Zigomato]]></dc:creator>
		<pubDate>Thu, 07 May 2020 17:00:00 +0000</pubDate>
				<category><![CDATA[Programmation]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Raspberry]]></category>
		<category><![CDATA[capteur]]></category>
		<category><![CDATA[HC-SR04]]></category>
		<category><![CDATA[obstacle]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[raspberry]]></category>
		<category><![CDATA[robot]]></category>
		<guid isPermaLink="false">https://programmation.surleweb-france.fr/?p=134</guid>

					<description><![CDATA[<p>Réalisation d'un robot éviteur d'obstacle à base de Raspberry Pi et d'un capteur à ultra-son HC-SR04, accessible pour les débutants.</p>
<p class="continue-reading-button"> <a class="continue-reading-link" href="https://programmation.surleweb-france.fr/raspberry-robot-eviteur-obstacles/">Continuer la lecture<i class="crycon-right-dir"></i></a></p>
<p>L’article <a href="https://programmation.surleweb-france.fr/raspberry-robot-eviteur-obstacles/">Raspberry, un robot éviteur d’obstacles</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Voici un grand classique lors de l&rsquo;apprentissage de la robotique que ce soit sur <a rel="noreferrer noopener" href="https://programmation.surleweb-france.fr/category/programmation/arduino/" target="_blank">Arduino </a>que sur <a rel="noreferrer noopener" href="https://programmation.surleweb-france.fr/category/programmation/raspberry/" target="_blank">Raspberry</a>. Après avoir vu <a rel="noreferrer noopener" href="https://programmation.surleweb-france.fr/robot-suiveur-de-ligne-version-arduino/" target="_blank">un robot suiveur de ligne</a> à base d&rsquo;Arduino. Voici un robot éviteur d&rsquo;obstacle.</p>



<p>Il s&rsquo;agit d&rsquo;un projet que tu pourras facilement mener à terme même avec un niveau débutant.</p>



<h2 class="wp-block-heading">Rôle du robot éviteur d&rsquo;obstacle</h2>



<p>Le principe de ce robot est simple: éviter les obstacles. Pour cela, on va utiliser un capteur à ultra-sons <a rel="noreferrer noopener" href="https://raspberry-lab.fr/Composants/Mesure-de-distance-avec-HC-SR04-Raspberry-Francais/" target="_blank">HC-SR04</a>, très couramment utilisé grâce à un prix accessible.</p>



<p>Lorsqu&rsquo;un obstacle sera à moins de 20 cm, le robot tournera et continuera à avancer si le champ est libre.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img data-recalc-dims="1" fetchpriority="high" decoding="async" width="400" height="321" src="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/P1230713.jpg?resize=400%2C321&#038;ssl=1" alt="" class="wp-image-196" srcset="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/P1230713.jpg?w=400&amp;ssl=1 400w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/P1230713.jpg?resize=300%2C241&amp;ssl=1 300w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/P1230713.jpg?resize=150%2C120&amp;ssl=1 150w" sizes="(max-width: 400px) 100vw, 400px" /></figure></div>



<p>Voici un exemple de robot éviteur :</p>



<figure class="wp-block-embed-youtube aligncenter wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Robot Raspberry exécutant un algorithme d&#039;évitement d&#039;obstacle plus évolué (V3)" width="900" height="506" src="https://www.youtube.com/embed/2Qf3TnlQzeo?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div></figure>



<p>Et une autre vidéo avec un robot un peu plus évoluer :</p>



<figure class="wp-block-embed-youtube aligncenter wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Robot éviteur d&#039;obstacle - L3 EEA - UJF - Grenoble" width="900" height="506" src="https://www.youtube.com/embed/vBo0QnUua-c?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading">Matériels nécessaires</h2>



<p>Pour la réalisation de ce robot, tu vas avoir besoin :</p>



<ul class="wp-block-list"><li>1 Raspberry Pi 4 (<a href="https://amzn.to/2KUhR9v" target="_blank" rel="noreferrer noopener">Amazon</a>) ou Pi 3 (<a href="https://amzn.to/3c0CSLx" target="_blank" rel="noreferrer noopener">Amazon</a>), voir des modèles en-dessous.</li><li>1 chassis avec deux moteurs et un boitier batterie, voir le lien <a rel="noreferrer noopener" href="https://amzn.to/3bY6toR" target="_blank">Amazon</a>.</li><li>1 module L298N pour le contrôle des moteurs et ne pas grillé ta carte Arduino, vers le lien <a rel="noreferrer noopener" href="https://amzn.to/2Sslesh" target="_blank">Amazon</a>.</li><li>différents fils pour la connexion, voir le lien <a rel="noreferrer noopener" href="https://amzn.to/2WjwTe7" target="_blank">Amazon</a>.</li><li>1 capteur à ultra-sons HC-SR04, voir le lien <a rel="noreferrer noopener" href="https://amzn.to/2WpmT3j" target="_blank">Amazon</a>.</li><li>1 planche à pain (pas de boulanger) mais pour le branchement du capteur qui te sera toujours utile, pour ma part, j&rsquo;en ai plusieurs de différentes tailles, voir le lien <a rel="noreferrer noopener" href="https://amzn.to/2VYQAci" target="_blank">Amazon</a>.</li></ul>



<p>Avec tout cela, tu devrais avoir ce qu&rsquo;il te faut. Si tu es amené à faire à faire d&rsquo;autres projets, je t&rsquo;invite à éviter les petits lots. Les liens Amazon me permettent de gagner quelques euros dans le mois (pas plus) qui me paie mon nom de domaine et l&rsquo;hébergement du site.</p>



<h2 class="wp-block-heading">Montage du robot éviteur d&rsquo;obstacles</h2>



<p>Afin de réaliser ce robot, tu vas devoir assembler les différents éléments.</p>



<h3 class="wp-block-heading">Les moteurs</h3>



<p>Il s&rsquo;agit de la partie la plus importante de cet article. En effet, vous <strong>ne devez surtout pas connecter les moteurs directement sur le Raspberry</strong> au risque de détruire votre jouet favoris. L&rsquo;intensité demandée par les moteurs est bien supérieurs à celle que le Pi peut fournir.</p>



<p>Tu passeras donc par le module L298N dont vous pouvez suivre <a rel="noreferrer noopener" href="https://arduino103.blogspot.com/2014/06/utiliser-un-pont-h-l298-avec-raspberry.html" target="_blank">ce lien</a> pour en apprendre plus.</p>



<p>Pour ce qui est du câblage (le schéma provient de l&rsquo;excellent site dont le lien est en bas de l&rsquo;article) :</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="400" height="231" src="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/circuit-robot-Raspberry-Pi.png?resize=400%2C231&#038;ssl=1" alt="" class="wp-image-203" srcset="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/circuit-robot-Raspberry-Pi.png?w=400&amp;ssl=1 400w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/circuit-robot-Raspberry-Pi.png?resize=300%2C173&amp;ssl=1 300w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/circuit-robot-Raspberry-Pi.png?resize=150%2C87&amp;ssl=1 150w" sizes="auto, (max-width: 400px) 100vw, 400px" /></figure></div>



<p>Pour ce qui est du câblage :</p>



<ul class="wp-block-list"><li>Broche +12 du L298N: Borne positive de l&rsquo;alimentation des moteurs (12 V est un maximum).</li><li>Broche GND du L298N: Borne négative de l&rsquo;alimentation des moteurs et une broche GND du Raspberry Pi.</li><li>OUT1 et OUT2 du L298N branchées à un des moteurs.</li><li>OUT3 et OUT4 du L298N branchées à l&rsquo;autre moteur</li><li>ENA&nbsp;du L298N&nbsp;broche BCM 25 (BOARD 22) du Raspberry Pi</li><li>IN1&nbsp;du L298N&nbsp; broche BCM 23 (BOARD 16) du Raspberry Pi</li><li>IN2&nbsp;du L298N&nbsp;broche BCM 12 (BOARD&nbsp;18) du Raspberry Pi</li><li>IN3&nbsp;du L298N&nbsp;broche BCM 10 (BOARD&nbsp;19) du Raspberry Pi</li><li>IN4&nbsp;du L298N&nbsp;broche BCM 9 (BOARD&nbsp;21) du Raspberry Pi</li><li>ENB&nbsp;du L298N&nbsp;broche BCM 11 (BOARD&nbsp;23) du Raspberry Pi</li></ul>



<h3 class="wp-block-heading">Le capteur à ultra-sons HC-SR04</h3>



<p>Aucune difficulté du côté du capteur, seulement une réelle attention à porter sur la connexion du capteur sur le Raspberry. Le Raspberry accepte des tensions de 3,3V en entrée (<a rel="noreferrer noopener" href="http://www.nagashur.com/wiki/doku.php?id=raspberry_pi:gpio_entree" target="_blank">information en conclusion de cet article</a>), le capteur fournira une tension de 5V, un diviseur de tension est mis en place pour ne pas abîmé le Pi :</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="429" height="139" src="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/diviseur-de-tension.png?resize=429%2C139&#038;ssl=1" alt="" class="wp-image-205" srcset="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/diviseur-de-tension.png?w=429&amp;ssl=1 429w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/diviseur-de-tension.png?resize=300%2C97&amp;ssl=1 300w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/diviseur-de-tension.png?resize=150%2C49&amp;ssl=1 150w" sizes="auto, (max-width: 429px) 100vw, 429px" /></figure></div>



<p>Pour ce qui est du câblage :</p>



<ul class="wp-block-list"><li>La broche Vcc du HC-SR04 est branchée à une sortie 5 V (broche numéro 2) du Raspberry Pi.</li><li>La broche Trig du HC-SR04 est branchée à la broche 8 (GPIO 14) du Raspberry Pi&nbsp;</li><li>La broche Echo du HC-SR04 est branchée à la broche 10 (GPIO 15) du Raspberry Pi, par l&rsquo;entremise du diviseur de tension schématisé ci-dessus.</li><li>La broche Gnd du HC-SR04 est branchée à une des broches Gnd du Raspberry Pi (la broche 25, par exemple)</li></ul>



<h3 class="wp-block-heading">Alimentation</h3>



<p>Pour ce qui est l&rsquo;alimentation, différencies bien l&rsquo;alimentation du Raspberry, tu peux choisir une batterie externe comme celle-ci sur <a rel="noreferrer noopener" href="https://amzn.to/2KVGxhP" target="_blank">Amazon</a>. L&rsquo;avantage de celle-ci est que l&rsquo;adaptateur fera qu&rsquo;elle sera compatible pour le Pi 3 et Pi 4.</p>



<p>Pour les moteurs, si tu as opté pour le chassis que je t&rsquo;ai proposé au-dessus, le porte-batterie fera l&rsquo;affaire (en fonction de la tension nécessaire pour les moteurs.</p>



<h2 class="wp-block-heading">Programmation Raspberry</h2>



<p>Le programme permettra au Pi d&rsquo;avancer tant qu&rsquo;il n&rsquo;y a pas d&rsquo;obstacle à moins de 20 cm, la mesure est faite par le capteur (voir les détails d&rsquo;utilisation du capteur sur <a rel="noreferrer noopener" href="https://raspberry-lab.fr/Composants/Mesure-de-distance-avec-HC-SR04-Raspberry-Francais/" target="_blank">cette page</a>).</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">#!/usr/bin/env python
# -*- coding: latin-1 -*-

'''
Robot éviteur d'obstacle basé sur le Raspberry Pi et un HC-SR04.

Pour plus d'infos:

https://electroniqueamateur.blogspot.com/2020/04/robot-eviteur-dobstacles-version.html

'''

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)

# définition des broches GPIO

Moteur1A = 16      ## premiere sortie du premier moteur, pin 16
Moteur1B = 18      ## deuxieme sortie de premier moteur, pin 18
Moteur1E = 22      ## enable du premier moteur, pin 22

Moteur2A = 19      ## premiere sortie du deuxieme moteur, pin 19
Moteur2B = 21      ## deuxieme sortie de deuxieme moteur, pin 21
Moteur2E = 23      ## enable du deuxieme moteur, pin 23

trigPin = 8        ## entrée trig du HC-SR04 branchée à la broche 8 (GPIO 14) du Raspi
echoPin = 10       ## sortie echo du HC-SR04 branchée à la broche 10 (GPIO 15) du Raspi

# 6 broches sont des sorties
GPIO.setup(Moteur1A,GPIO.OUT)  
GPIO.setup(Moteur1B,GPIO.OUT)
GPIO.setup(Moteur1E,GPIO.OUT)
GPIO.setup(Moteur2A,GPIO.OUT) 
GPIO.setup(Moteur2B,GPIO.OUT)
GPIO.setup(Moteur2E,GPIO.OUT)
GPIO.setup(trigPin,GPIO.OUT)

# 1 broche est une entrée
GPIO.setup(echoPin,GPIO.IN)
GPIO.output(trigPin, False)

while True:

# vérifier si un obstacle est en vue

    GPIO.output(trigPin, True)     ## on envoie une brève impulsion sur la pin Trig
    time.sleep(0.00001)
    GPIO.output(trigPin, False)

    while GPIO.input(echoPin)==0:  ## émission de l'ultrason
        debutImpulsion = time.time()

    while GPIO.input(echoPin)==1:   ## retour de l'écho
        finImpulsion = time.time()

    distance = (finImpulsion - debutImpulsion) * 340 * 100 / 2  ## car vitesse du son = 340 m/s

    if distance > 20:
        # pas d'obstacle: on avance
        GPIO.output(Moteur1A,GPIO.HIGH)
        GPIO.output(Moteur1B,GPIO.LOW)
        GPIO.output(Moteur1E,GPIO.HIGH)
        GPIO.output(Moteur2A,GPIO.HIGH)
        GPIO.output(Moteur2B,GPIO.LOW)
        GPIO.output(Moteur2E,GPIO.HIGH)
    else:
        # obstacle détecté: on tourne sur place
        GPIO.output(Moteur1A,GPIO.LOW)
        GPIO.output(Moteur1B,GPIO.HIGH)
        GPIO.output(Moteur1E,GPIO.HIGH)
        GPIO.output(Moteur2A,GPIO.HIGH)
        GPIO.output(Moteur2B,GPIO.LOW)
        GPIO.output(Moteur2E,GPIO.HIGH)

# on attend un peu avant de vérifier à nouveau
    time.sleep(.5)</pre>



<h2 class="wp-block-heading">Conclusion</h2>



<p>Vous voici avec un beau robot qui évitera les obstacles, bien entendu ce projet a un but pédagogique, il te permettra d&rsquo;appréhender la robotique sur le Raspberry.</p>



<p>Il faudra faire attention aux tensions du Raspberry qui en entrée accepte 3.3V et pas 5V au risque de détruire votre Pi.</p>



<p class="has-small-font-size">Ce tutoriel a été vu pour la première fois sur <a rel="noreferrer noopener" href="http://electroniqueamateur.blogspot.com/2020/04/robot-eviteur-dobstacles-version.html" target="_blank">electroniqueamateur.blogspot.com</a>.</p>
<p>L’article <a href="https://programmation.surleweb-france.fr/raspberry-robot-eviteur-obstacles/">Raspberry, un robot éviteur d’obstacles</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmation.surleweb-france.fr/raspberry-robot-eviteur-obstacles/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">134</post-id>	</item>
	</channel>
</rss>
