Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
wiki:projets:rfid:capteur_particules_fines:reverseeng [2015/04/09 17:04] plume_louis créée |
wiki:projets:rfid:capteur_particules_fines:reverseeng [2020/10/05 14:39] (Version actuelle) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | **reverse engineering | + | ====== SHARP GP2Y1010 ====== |
+ | | ||
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. | ||
- | {{ : | + | {{ : |
{{ : | {{ : | ||
- | {{ : | + | {{ : |
- | {{ : | + | {{ : |
{{ : | {{ : | ||
Le faisceau collimaté de l' | Le faisceau collimaté de l' | ||
+ | |||
+ | **Code** | ||
< | < | ||
Ligne 27: | 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 < | #include < | ||
#include < | #include < | ||
Ligne 61: | Ligne 64: | ||
</ | </ | ||
- | **reverse engineering | + | |
+ | ====== SHINYEI PPD42NS ====== | ||
+ | |||
+ | | ||
{{ : | {{ : | ||
{{ : | {{ : | ||
+ | |||
+ | **Code** | ||
+ | |||
+ | < | ||
+ | /* | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | 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, | ||
+ | starttime = millis(); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | duration = pulseIn(pin, | ||
+ | lowpulseoccupancy = lowpulseoccupancy+duration; | ||
+ | |||
+ | if ((millis()-starttime) > sampletime_ms) | ||
+ | { | ||
+ | ratio = lowpulseoccupancy/ | ||
+ | concentration = 1.1*pow(ratio, | ||
+ | Serial.print(lowpulseoccupancy); | ||
+ | Serial.print("," | ||
+ | Serial.print(ratio); | ||
+ | Serial.print("," | ||
+ | Serial.println(concentration); | ||
+ | lowpulseoccupancy = 0; | ||
+ | starttime = millis(); | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ |