Sketch arduino pour mesurer une pression

Montage

Sortie série

Code à téléverser

/** * mesure_pression.ino * On utilise un capteur de pression MPX4250AP * La datasheet donne : tension (V) = Vréf * ( 0.004 P (kPa) - 0.04 ) * Soit, avec Vréf = 5.0 V : P (hPa) = 500 × tension (V) + 100 * On affiche la tension renvoyée par le capteur et la pression. */ // 1. Déclarations des constantes et variables globales // Capteur de pression const byte PRESSURE_SENSOR_PIN = A0; // Capteur Pin1 A0, Pin2 GND et Pin3 5 V. // La pression en hPa est P (hPa) = PENTE × tension (V) + OFFSET const float PENTE = 500.0; // Coefficient directeur PENTE (hPa/V) – Fourni par la datasheet const float OFFSET = 100.0; // Ordonnée à l'origine OFFSET (hPa) – Fourni par la datasheet // 2. Setup − Exécuté une seule fois void setup() { Serial.begin(9600); } // 3. Loop − Boucle infinie void loop() { // Détermination de la pression int pressureSensorRawValue = averageAnalogRead(PRESSURE_SENSOR_PIN, 30); // Moyenne de 30 valeurs entre 0 et 1023 float pressureSensorVoltage = pressureSensorRawValue * 5.0 / 1023.0; // Valeur de la tension en volts float pressure = PENTE * pressureSensorVoltage + OFFSET; // Pression en hPa // Affichage de la valeur Serial.print(pressureSensorVoltage,2); Serial.print('\t'); Serial.println(pressure,1); // On attend une seconde delay(1000); } // 4. Fonctions /* Cette fonction effectue une moyenne sur les sampleCount valeurs renvoyées par analogRead(pin) */ int averageAnalogRead(byte pin, byte sampleCount) { long sum = 0; for(byte i = 0; i < sampleCount; i++){ sum = sum + analogRead(pin); } return sum / sampleCount; }