Bonjour à tous.
J'ai acheté ce genre de capteur de gaz (à base de MQ-2) sur le web :
Tout les spcecs (datasheet, code, câblage...) sont visible dans les 2 liens suivants :
http://netdrive.envell.com/pic/ebay/SEN-000004/SEN-000004_Datasheet.pdf
http://netdrive.envell.com/pic/ebay/SEN-000004/MQ-2.pdf
La platine est somme toute assez simple, un capteur MQ-2, un potentiomètre, une résistance SMD de 4.7Kohms et un connecteur.
Il y a des points qui sont encore un peut flou, donc si quelqu'un peut m'éclairer.
Car j'aimerais que ce code fonctionne, il affiche les valeurs en ppm pour 3 sortes de gaz (même si le le LPG je m'en tape un peut).
Ok, alors :
#define MQ_PIN (0) //define which analog input channel you are going to use
Ok, c'est la valeur de la pin d'entrée analogique sur laquelle la platine est branchée.
#define RL_VALUE (5) //define the load resistance on the board, in kilo ohms
C'est la valeur de la résistance qui ce trouve sur la platine !?
Chez moi c'est 4.7Kohms, je remplace 5 par 4.7
#define RO_CLEAN_AIR_FACTOR (9.83) //RO_CLEAR_AIR_FACTOR=(Sensor resistance in clean air)/RO,
//which is derived from the chart in datasheet
Là je sais pas quoi mettre ?
#define CALIBARAION_SAMPLE_TIMES (50) //define how many samples you are going to take in the calibration phase
#define CALIBRATION_SAMPLE_INTERVAL (500) //define the time interal(in milisecond) between each samples in the
//cablibration phase
#define READ_SAMPLE_INTERVAL (50) //define how many samples you are going to take in normal operation
#define READ_SAMPLE_TIMES (5) //define the time interal(in milisecond) between each samples in
//normal operation
C'est les temporisations pour les mesures, j'ai pas besoin de les changer normalement !?
#define GAS_LPG (0)
#define GAS_CO (1)
#define GAS_SMOKE (2)
C'est des constantes définies pour les différents types de gaz, à ne pas changer donc !?
float LPGCurve[3] = {2.3,0.21,-0.47}; //two points are taken from the curve.
//with these two points, a line is formed which is "approximately equivalent"
//to the original curve.
//data format:{ x, y, slope}; point1: (lg200, 0.21), point2: (lg10000, -0.59)
float COCurve[3] = {2.3,0.72,-0.34}; //two points are taken from the curve.
//with these two points, a line is formed which is "approximately equivalent"
//to the original curve.
//data format:{ x, y, slope}; point1: (lg200, 0.72), point2: (lg10000, 0.15)
float SmokeCurve[3] ={2.3,0.53,-0.44}; //two points are taken from the curve.
//with these two points, a line is formed which is "approximately equivalent"
//to the original curve.
//data format:{ x, y, slope}; point1: (lg200, 0.53), point2: (lg10000, -0.22)
float Ro = 10; //Ro is initialized to 10 kilo ohms
Là, j'ai rien compris
Je dois y toucher ?
Et le potentiomètre, il sert à quoi, je dois le régler comment ?
Quand je teste j'ai toujours 0ppm, y compris pour le smoke quand je lui balance de la fumé
Merci de m'aider.