Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/LocalSettings.php on line 193

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/LocalSettings.php on line 197

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338
[ Wikidébrouillard ] Ping lumineux piloté par Arduino.

Ping lumineux piloté par Arduino.

De Wikidebrouillard.

(Liens avec le quotidien)
 
(15 versions intermédiaires masquées)
Ligne 1 : Ligne 1 :
{{avertissement}}
{{avertissement}}
-
{{vidéo|numérovidéo = <videoflash type="mediaspip" num ="1">http://mediaspip.ptitdeb.infini.fr/IMG/mp4/montage_petits_debs.mp4|400|300</videoflash>}}
+
{{vidéo|numérovidéo = <videoflash type="mediaspip" num ="1">http://mediaspip.ptitdeb.infini.fr/IMG/flv/ping_lumineux-2.flv|400|300</videoflash>}}
==Présentation du projet Arduino==
==Présentation du projet Arduino==
-
Évaluation de la distance entre un obstacle et le capteur a ultrason.
+
 
 +
 
 +
-
 +
-
 +
 
 +
 
 +
Évaluation de la distance entre un obstacle et le capteur à ultrason.
 +
 
 +
Puis affichage grâce a trois LED.
==Liste du matériel==
==Liste du matériel==
Ligne 17 : Ligne 25 :
==réalisation du projet==
==réalisation du projet==
===Explication===
===Explication===
 +
 +
Le capteur à ultrasons ne permet pas de capter des distances supérieures à 10m.
 +
 +
Ce module  ultrasons est équipé d'un émetteur et d'un récepteur à ultrasons, ainsi que l’électronique de traitement associée.
 +
 +
Il dispose de 4 broches :
 +
* le +5V
 +
* Le trigger (trig)
 +
* L'echo (echo)
 +
* La masse (GND)
 +
 +
Attention, lors de la mise sous tension du capteur, brancher la masse en premier.
 +
 +
La broche trigger reçoit une impulsion (état haut, +5V) de 10us ou plus. Ce qui entraîne l'emission d'une trame à 40KHz.
 +
 +
Une fois que la trame à rebondit sur un obstacle, elle est reçue par le capteur.
 +
 +
La broche "echo" renvoie un état haut (+5V) de durée égale à la durée qu'a mis la trame d'ultrasons pour faire l'aller-retour entre le capteur et l'obstacle.
 +
 +
Une surface plane et face au capteur sera détectée plus facilement.
 +
===Schéma Fritzing===
===Schéma Fritzing===
 +
 +
[[Image:Schema_ping_arduino_.jpg|600px]]
 +
 +
[[Image:Schema_ping_arduino_-.jpg|600px]]
 +
===Le Code===
===Le Code===
-
// definition des pins
+
// définition des pins
Ligne 28 : Ligne 62 :
int echo = 4;
int echo = 4;
-
// Fonction de setup, affectations en entree ou sortie des pins I/O
+
// Fonction de setup, affectations en entrée ou sortie des pins I/O
Ligne 39 : Ligne 73 :
}
}
-
/* Fonction de chenillard, parametrable en rentrant un entier
+
/* Fonction de chenillard, paramétrable en rentrant un entier
correspondant au temps d'attente en millisecondes entre chaque
correspondant au temps d'attente en millisecondes entre chaque
-
decalage de led */
+
décalage de led */
void chenillard(int tempo)
void chenillard(int tempo)
Ligne 76 : Ligne 110 :
-
// declaration initalisation des variables internes compteur et temps.
+
// déclaration initialisation des variables internes compteur et temps.
Ligne 87 : Ligne 121 :
/* EMMISION ECHO
/* EMMISION ECHO
-
  Tant que le capteur ne retoune pas d'echo, on envoie une trame  
+
  Tant que le capteur ne retourne pas d'echo, on envoie une trame  
-
d'ultrasons toutes les 65ms, un intervalle inferieur causerai des  
+
d'ultrasons toutes les 65ms, un intervalle inférieur causerait des  
-
interferences entres deux trames successives */
+
interférences entres deux trames successives */
   while(digitalRead(echo)==LOW)
   while(digitalRead(echo)==LOW)
Ligne 109 : Ligne 143 :
// CALCUL TEMPS ECHO EN MS
// CALCUL TEMPS ECHO EN MS
/*Comptage des millisecondes durant lesquelles le signal
/*Comptage des millisecondes durant lesquelles le signal
-
d'echo reste a l'etat haut. C'est l'image du temps que mets
+
d’écho reste a l’état haut. C'est l'image du temps que mets
la trame d'ultrasons pour faire l'aller-retour entre
la trame d'ultrasons pour faire l'aller-retour entre
-
l'emetteur/capteur et l'obstacle */
+
l’émetteur/capteur et l'obstacle */
   if(digitalRead(echo)==HIGH)
   if(digitalRead(echo)==HIGH)
Ligne 122 : Ligne 156 :
             }
             }
              
              
-
/* En fonction du temps d'echo, donc de la distance de l'objet,
+
/* En fonction du temps d’écho, donc de la distance de l'objet,
affichage de différentes combinaisons avec les leds, actives sur
affichage de différentes combinaisons avec les leds, actives sur
-
etat bas : digitalWrite(led,LOW) allume la led */
+
état bas : digitalWrite(led,LOW) allume la led */
             if(ctr<=1) // affichage pour 0 ou 1ms
             if(ctr<=1) // affichage pour 0 ou 1ms
Ligne 164 : Ligne 198 :
==Pour aller plus loin==
==Pour aller plus loin==
 +
 +
http://www.generationrobots.com/fr/content/65-les-capteurs-a-ultrasons-pour-les-robots
==Liens avec le quotidien==
==Liens avec le quotidien==
-
Les capteurs a ultrasons sont utilisés pour :  
+
Les capteurs à ultrasons sont utilisés pour :  
-
-Les radar de recul sur les voitures.
+
 
-
-Détecteurs d'obstacles à distance sur les robots.
+
* Les radars de recul sur les voitures.
-
........
+
* Détecteurs d'obstacles à distance sur les robots.
 +
* etc.

Version actuelle en date du 17 janvier 2014 à 17:06

Article incomplet en cours de rédaction
Modèle:Vidéo

Sommaire

Présentation du projet Arduino

- -


Évaluation de la distance entre un obstacle et le capteur à ultrason.

Puis affichage grâce a trois LED.

Liste du matériel

réalisation du projet

Explication

Le capteur à ultrasons ne permet pas de capter des distances supérieures à 10m.

Ce module ultrasons est équipé d'un émetteur et d'un récepteur à ultrasons, ainsi que l’électronique de traitement associée.

Il dispose de 4 broches :

  • le +5V
  • Le trigger (trig)
  • L'echo (echo)
  • La masse (GND)

Attention, lors de la mise sous tension du capteur, brancher la masse en premier.

La broche trigger reçoit une impulsion (état haut, +5V) de 10us ou plus. Ce qui entraîne l'emission d'une trame à 40KHz.

Une fois que la trame à rebondit sur un obstacle, elle est reçue par le capteur.

La broche "echo" renvoie un état haut (+5V) de durée égale à la durée qu'a mis la trame d'ultrasons pour faire l'aller-retour entre le capteur et l'obstacle.

Une surface plane et face au capteur sera détectée plus facilement.

Schéma Fritzing

Le Code

// définition des pins


int led1 = 8; int led2 = 12; int led3 = 13; int commande = 7; int echo = 4;

// Fonction de setup, affectations en entrée ou sortie des pins I/O


void setup() {

 pinMode(led1, OUTPUT);  
 pinMode(led2, OUTPUT);
 pinMode(led3, OUTPUT);
 pinMode(commande, OUTPUT);
 pinMode(echo, INPUT);

}

/* Fonction de chenillard, paramétrable en rentrant un entier correspondant au temps d'attente en millisecondes entre chaque décalage de led */

void chenillard(int tempo) {

   unsigned int cheni=0;
   do
   {
   if(cheni==0)
   {
       digitalWrite(led1, LOW); 
       digitalWrite(led2, HIGH); 
       digitalWrite(led3, HIGH); 
   }else if(cheni==1)
   {
       digitalWrite(led1, HIGH); 
       digitalWrite(led2, LOW); 
       digitalWrite(led3, HIGH);
   }else if(cheni==2)
   {
       digitalWrite(led1, HIGH); 
       digitalWrite(led2, HIGH); 
       digitalWrite(led3, LOW);
       
   }
   delay(tempo);
   cheni++;
   }while(cheni!=3);

}


// ******* MAIN *******


// déclaration initialisation des variables internes compteur et temps.


 unsigned int ctr=0, time=0;


// Tache de fond

void loop() {

/* EMMISION ECHO

Tant que le capteur ne retourne pas d'echo, on envoie une trame 

d'ultrasons toutes les 65ms, un intervalle inférieur causerait des interférences entres deux trames successives */

 while(digitalRead(echo)==LOW)		
 {
   if(time==65) //emmission test toutes les 65ms
               {
                   digitalWrite(commande, HIGH); 
                   delay(1); //impulsion 1 ms
                   digitalWrite(commande, LOW); 
                   time=0;
               }
           else
               {
                   time++;
                   delay(1);
               }
 }
 

// CALCUL TEMPS ECHO EN MS /*Comptage des millisecondes durant lesquelles le signal d’écho reste a l’état haut. C'est l'image du temps que mets la trame d'ultrasons pour faire l'aller-retour entre l’émetteur/capteur et l'obstacle */

  if(digitalRead(echo)==HIGH)
           {
                while(digitalRead(echo)==HIGH)
                  {
                   ctr++;
                   delay(1);
                  }
           }
           

/* En fonction du temps d’écho, donc de la distance de l'objet, affichage de différentes combinaisons avec les leds, actives sur état bas : digitalWrite(led,LOW) allume la led */

           if(ctr<=1) // affichage pour 0 ou 1ms
           {
               chenillard(70);
           }
           else if((ctr>1)&&(ctr<=2)) //affichage pour 2ms
           {
               chenillard(200);
           }else if((ctr>2)&&(ctr<=3)) //affichage pour 3ms
           {
               digitalWrite(led1,LOW); 
               digitalWrite(led2, LOW); 
               digitalWrite(led3, LOW);
           }
           else if((ctr>3) && (ctr<=4)) //affichage pour 4ms
           {
               digitalWrite(led1, LOW); 
               digitalWrite(led2, LOW); 
               digitalWrite(led3, HIGH);
           }
           else if((ctr>4) && (ctr<=5)) //affichage pour 5ms
           {
               digitalWrite(led1, LOW); 
               digitalWrite(led2, HIGH); 
               digitalWrite(led3, HIGH);
           }else if(ctr>5) // //affichage pour plus de 5ms
           {
               digitalWrite(led1, HIGH); 
               digitalWrite(led2, HIGH); 
               digitalWrite(led3, HIGH);
           }
           
           ctr=0; // initialistation compteur pour mesure suivante

}

Liens avec d'autres projets arduino

chercher ici : http://wikidebrouillard.org/index.php/Catégorie:Arduino

Pour aller plus loin

http://www.generationrobots.com/fr/content/65-les-capteurs-a-ultrasons-pour-les-robots

Liens avec le quotidien

Les capteurs à ultrasons sont utilisés pour :

  • Les radars de recul sur les voitures.
  • Détecteurs d'obstacles à distance sur les robots.
  • etc.
Portail des ExplorateursWikidébrouillardLéon DitFLOGPhoto mystèreJ'ai FaitPortraits
FI

Ping lumineux piloté par Arduino.

Rechercher

Page Discussion Historique
Powered by MediaWiki
Creative Commons - Paternite Partage a l

© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique