Modifications

Sauter à la navigation Sauter à la recherche
Ligne 33 : Ligne 33 :  
* Modifier Rs peut profondément altérer les résultats... à modifier avec précaution.
 
* Modifier Rs peut profondément altérer les résultats... à modifier avec précaution.
 
* [http://df.mchobby.be/datasheet/gp2y1010au_e.pdf Fiche technique du senseur Sharp GP2Y1010AU0F] (pdf)
 
* [http://df.mchobby.be/datasheet/gp2y1010au_e.pdf Fiche technique du senseur Sharp GP2Y1010AU0F] (pdf)
 +
 +
=== Tension de sortie / densité ===
 +
Le graphique suivant affiche l'évolution de la tension de sortie en fonction de la densité de poussière/particule.
 +
 +
[[Fichier:SENSEUR-PARTICULE-GP2Y1010AU0F-tech-00.jpg]]
    
== Comment Brancher ==
 
== Comment Brancher ==
Ligne 88 : Ligne 93 :  
[[Fichier:SENSEUR-PARTICULE-GP2Y1010AU0F-Code-Pulse.jpg]]
 
[[Fichier:SENSEUR-PARTICULE-GP2Y1010AU0F-Code-Pulse.jpg]]
   −
  <nowiki>int dustPin=A0; # Lecture analogique du senseur (A0)
+
  <nowiki>#define dustPin A0 // Lecture analogique du senseur (A0)
float dustVal=0; # Valeur retournée par le senseur
+
#define ledPower 2 // Commande de la LED IR du senseur (digital 2)
int ledPower=2; # Commande de la LED IR du senseur (digital 2)
     −
# Delai avant la mesure analogique (0.28 ms, soit 280 microsecondes)  
+
// Delai avant la mesure analogique (0.28 ms, soit 280 microsecondes)  
int delayTime=280;
     −
# Délai d'impulsion IR sur le senseur.
+
#define delayTime 280
0.32ms actif sur 10ms au total.
+
 
#  Dans ce cas, nous
+
// Délai d'impulsion IR sur le senseur.
#
+
//    0.32ms actif sur 10ms au total.
# Note: 280 + 40 + 9680 = 10000 micro-secondes, soit 10ms  
+
//
int delayTime2=40;
+
// Note: 280 + 40 + 9680 = 10000 micro-secondes, soit 10ms  
float offTime=9680;
+
 
 +
#define delayTime2 40  
 +
#define offTime   9680
    
void setup(){
 
void setup(){
Ligne 110 : Ligne 115 :     
void loop(){
 
void loop(){
 +
    float dustVal=0; // Valeur retournée par le senseur
 +
   
 
     // Activation de la LED IR (en passant au niveau bas)
 
     // Activation de la LED IR (en passant au niveau bas)
 
     digitalWrite(ledPower,LOW);
 
     digitalWrite(ledPower,LOW);
     // Attendre 0.28ms (280 micro secondes) avant lecture analogique 
+
     // Attendre 0.28ms (280 micro secondes) avant lecture analogique
 
     delayMicroseconds(delayTime);
 
     delayMicroseconds(delayTime);
     dustVal=analogRead(dustPin); 
+
     dustVal=analogRead(dustPin);  
    
     // Attendre encore 40 microseconde pour atteindre
 
     // Attendre encore 40 microseconde pour atteindre
     // 230 microsecondes (soit 0.32ms). Il est temps d'éteindre
+
     // 320 microsecondes (soit 0.32ms). Il est temps d'éteindre
 
     // la LED IT
 
     // la LED IT
 
     delayMicroseconds(delayTime2);
 
     delayMicroseconds(delayTime2);
Ligne 123 : Ligne 130 :     
     // Attendre la fin du cycle de 10ms  
 
     // Attendre la fin du cycle de 10ms  
     // (soit 10000 microsecondes au total)  
+
     // (soit 10000 microsecondes au total)  
 
     delayMicroseconds(offTime);
 
     delayMicroseconds(offTime);
       +
    // pause de 1 seconde entre chaque capture
 
     delay(1000);
 
     delay(1000);
 +
 +
    // Transformation de la lecture analogique + affichage
 
     if (dustVal>36.455)
 
     if (dustVal>36.455)
 
         Serial.println((float(dustVal/1024)-0.0356)*120000*0.035);
 
         Serial.println((float(dustVal/1024)-0.0356)*120000*0.035);
    }</nowiki>
+
}</nowiki>
    
== Où acheter ==
 
== Où acheter ==
29 917

modifications

Menu de navigation