Outils pour utilisateurs

Outils du site


wiki:projets:rfid:capteur_particules_fines:reverseeng

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wiki:projets:rfid:capteur_particules_fines:reverseeng [2015/04/09 17:16]
plume_louis
wiki:projets:rfid:capteur_particules_fines:reverseeng [2020/10/05 14:39] (Version actuelle)
Ligne 1: Ligne 1:
 ====== SHARP GP2Y1010 ====== ====== SHARP GP2Y1010 ======
-**reverse engineering**+  **reverse engineering**
  
 Afin de mettre au point notre propre détecteur de particules fines, nous avons commencé par une phase de reverse engineering sur 2 capteurs low-cost du marché : le SHARP GP2Y1010 et le SHINYEI PPD42NS. Afin de mettre au point notre propre détecteur de particules fines, nous avons commencé par une phase de reverse engineering sur 2 capteurs low-cost du marché : le SHARP GP2Y1010 et le SHINYEI PPD42NS.
 Ci-dessous les photos du Sharp désossé avec légendes. Ci-dessous les photos du Sharp désossé avec légendes.
  
-{{ :wiki:projets:plume_sharp_all.png?400 |plume_sharp_all}}+{{ :wiki:projets:plume_sharp_all.png?300 |plume_sharp_all}}
 {{ :wiki:projets:plume_sharp_scattered.jpg?400 |plume_sharp_scattered}} {{ :wiki:projets:plume_sharp_scattered.jpg?400 |plume_sharp_scattered}}
-{{ :wiki:projets:plume_sharp_circuit.jpg?400 |plume_sharp_circuit}} +{{ :wiki:projets:plume_sharp_circuit.jpg?500 |plume_sharp_circuit}} 
-{{ :wiki:projets:plume_sharp_casing.jpg?400 |plume_sharp_casing}}+{{ :wiki:projets:plume_sharp_casing.jpg?500 |plume_sharp_casing}}
 {{ :wiki:projets:plume_sharp_optics.jpg?400 |plume_sharp_optics}} {{ :wiki:projets:plume_sharp_optics.jpg?400 |plume_sharp_optics}}
  
 Le faisceau collimaté de l'émetteur est diffusé par les particules fines. Le flux diffusé par les particules situées dans la champ optique collimaté du récepteur à un certain angle constitue la mesure. 
En pratique, ce flux est très faible. Il est le paramètre contraignant le dispositif. Le faisceau collimaté de l'émetteur est diffusé par les particules fines. Le flux diffusé par les particules situées dans la champ optique collimaté du récepteur à un certain angle constitue la mesure. 
En pratique, ce flux est très faible. Il est le paramètre contraignant le dispositif.
 +
 +  **Code**
  
 <code=cpp> <code=cpp>
Ligne 28: Ligne 30:
  Sharp pin 5 (Vo)      => Arduino A0 pin  Sharp pin 5 (Vo)      => Arduino A0 pin
  Sharp pin 6 (Vcc)     => 5V  Sharp pin 6 (Vcc)     => 5V
- */+  */
 #include <SPI.h> #include <SPI.h>
 #include <Ethernet.h> #include <Ethernet.h>
Ligne 65: Ligne 67:
 ====== SHINYEI PPD42NS ====== ====== SHINYEI PPD42NS ======
  
-**reverse engineering**+  **reverse engineering**
  
 {{ :wiki:projets:plume_shinyei_all.jpg?400 |plume_shinyei_all}} {{ :wiki:projets:plume_shinyei_all.jpg?400 |plume_shinyei_all}}
 {{ :wiki:projets:plume_shinyei_scattered.png?400 |plume_shinyei_scattered (aqicn.org)}} {{ :wiki:projets:plume_shinyei_scattered.png?400 |plume_shinyei_scattered (aqicn.org)}}
 +
 +  **Code**
 +
 +<code=cpp>
 +/*
 + Interface to Shinyei Model PPD42NS Particle Sensor
 + Program by Christopher Nafis 
 + Written April 2012
 + 
 + http://www.seeedstudio.com/depot/grove-dust-sensor-p-1050.html
 + http://www.sca-shinyei.com/pdf/PPD42NS.pdf
 + 
 + JST Pin 1 (Black Wire)  => Arduino GND
 + JST Pin 3 (Red wire)    => Arduino 5VDC
 + JST Pin 4 (Yellow wire) => Arduino Digital Pin 8
 +  */
 +
 +int pin = 8;
 +unsigned long duration;
 +unsigned long starttime;
 +unsigned long sampletime_ms = 30000;
 +unsigned long lowpulseoccupancy = 0;
 +float ratio = 0;
 +float concentration = 0;
 +
 +void setup() {
 +  Serial.begin(9600);
 +  pinMode(8,INPUT);
 +  starttime = millis();
 +}
 +
 +void loop() {
 +  duration = pulseIn(pin, LOW);
 +  lowpulseoccupancy = lowpulseoccupancy+duration;
 +
 +  if ((millis()-starttime) > sampletime_ms)
 +  {
 +    ratio = lowpulseoccupancy/(sampletime_ms*10.0);  // Integer percentage 0=>100
 +    concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62; // using spec sheet curve
 +    Serial.print(lowpulseoccupancy);
 +    Serial.print(",");
 +    Serial.print(ratio);
 +    Serial.print(",");
 +    Serial.println(concentration);
 +    lowpulseoccupancy = 0;
 +    starttime = millis();
 +  }
 +}
 +</code>
 +
wiki/projets/rfid/capteur_particules_fines/reverseeng.1428599805.txt.gz · Dernière modification: 2016/09/11 11:01 (modification externe)