Altimètre BMP180

Bonjour,

Je viens de réaliser cet altimètre, mais hélas les valeurs fournies sont fausses.

L’altitude ne correspond en rien à la réalitée.

Le lien est celui-ci : How to Build an Electronic Barometer: BMP180 Pressure Sensor + Arduino Tutorial | Arduino | Maker Pro

Il ne semble pas y avoir d’adaptation au lieu, ni appel à la pression du bord de mer, enfin me semble-t-il

Comptant sur vos avis,

Alain

La bibliothèque tient compte de la pression au niveau de la mer

Regardez leur exemple et les commentaires

Bonjour

// you can get a more precise measurement of altitude

// if you know the current sea level pressure which will

// vary with weather and such. If it is 1015 millibars

// that is equal to 101500 Pascals.

Serial.print("Real altitude = ");

Serial.print(bmp.readAltitude(101500));

En ce moment la pression atmosphérique est très élevée sur la France,

Si je devais exécuter ton programme je mettrai cet après midi du 17/12/2025, 1029 mbar (ou hPa) , pas 1015 mbar
(1023 est la valeur donnée en ce moment par le METAR de LFPO, Aéroport d’Orly proche de mon domicile…….valeur qui je le suppose permet aux pilotes d’ajuster leur altimètre)

Les 1015 mbar présents en paramètre d’appel de la méthode readAltitude() ne correspondent pas à la réalité du moment , il n’est donc pas suprenant que l’altitude donnée par le programme soit fausse.

Bonsoir,

Excusez-moi, c’est un peu du chinois pour un débutant.

A quel endroit dois-je modifier la valeur de la pression au niveau de la mer, valeur indiquée par al1fch svp.

Si vous écrivez

bmp.readAltitude(101500);

ça calcule l'altitude en prenant la pression a! niveau de la mer à 101500 Pascals au lieu de 101325 Pascal qui sont couramment utilisés.

donc dans le code du tuto, au lieu de

  // Calculate altitude assuming 'standard' barometric
  // pressure of 1013.25 millibar = 101325 Pascal
  *altitude = bmp.readAltitude();
  Serial.print("Altitude = ");
  Serial.print(*altitude);
  Serial.println(" meters");

il faut faire

  // calcul de l'altitude en considérant la pression au niveau de la mer = xxxxxx
  *altitude = bmp.readAltitude(xxxxxx); // <<===== mettre la bonne pression à la place de xxxxx
  Serial.print("Altitude = ");
  Serial.print(*altitude);
  Serial.println(" meters");

cet après midi, en France métropolitaine

remplacer bmp.read.Altitude(101500);
par bmp.readAltitude(102900);

1029 hPa étant une valeur réaliste au moment présent, du moins en région parisienne (valeurs pour Roissy, le Bourget, Orly…)

@retraite dans quelle région es-tu ?
Sur cette page cliquer pour un aéroport voisin METAR TAF : Base aérienne 113 Saint-Dizier-Robinson, Saint-Dizier France

Cette modification doit bien être faite sur mon programme ?

Car une fois faite, j’ai le message suivant : avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00

Désormais, ça fonctionne, je suis dans le grand est, à Bar le Duc en Meuse

Merci à tous pour votre aide, bonne fin d’année.

bonne fin d'année (la check box solution est plutôt à mettre sur la réponse qui vous donne la solution plutôt que sur le dernier post)

Bonjour,

Merci pour l’info, j’y veillerai la prochaine fois.

Cordialement,

Alain

Bonsoir,

J’aurais encore un petite question.

Comme la pression varie en permanence, l’altitude va faire de même sans pour autant s’élever ou descendre.

Comment alors pour gérer ce souci svp ?

Alain

Bonsoir

une solution serait d’utilser un ESP32 pour :

-récupérer en ligne la pression locale ramenée au niveau de la mer en interrogeant périodiquement le rapport METAR d’un aérodrome voisin

-reporter la valeur dans le programme gétant le BMP180

Un BMP180 seul avec la bibliothèque d’Adafruit ne peut donner qu’une altitude relative

Il faudrait modifier la pression aussi au niveau de la mer …

Dans la pratique ce n’est qu’une estimation assez générale - vous ne pouvez pas vous y fier puisque l’on est rarement dans les conditions idéales de température et pression.

Un « GPS » serait plus utile pour des infos de position.

Bonjour,

Je me doutais un peu de la réponse, merci encore pour vos informations.

Bonne fin d’année,

Alain