The following warnings occurred:
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 864 - File: showthread.php PHP 7.2.23 (Linux)
File Line Function
/showthread.php 864 errorHandler->error




Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Problème avec BMP280
29-11-2017, 08:17 PM, (This post was last modified: 30-11-2017, 02:25 PM by Techno.)
#1
Problème avec BMP280
Bonjour à tous,
Encore un problème à vous soumettre.
J'utilise une carte basée sur le pic32MX250
La compilation s'effectue sans problème pour le pic 32MX250 (Il y a un problème de compilation pour le pic4550 mais  là n'est pas le soucis pour le moment...).
Ensuite, l'affichage LCD indique "Lecture BMP" puis reste bloqué (affichage d'un signe chinois...), la LEDD0 reste éteinte (donc le programme ne tourne pas...)
Je dispose d'un analyseur de protocole i2c, il n'y a pas de dialogue... entre le pic et le BMP280....
Sur quelle carte ce programme a été testé ?

Code:
/*-----------------------------------------------------

Utilisation d'un BMP280 : capteur de température, pression et d'altitude  i2c

   auteur          Régis Blanchot
   modif           Thierry Lancelot

Carte perso 32MX250
IDE            Pinguino version V12 (avec mis à jour de p32)

Date:       nov 2017

Compilation OK uniquement pour Pic32
Fonctionnement sur la plaque perso 32MX250
L'afficheur LCD est cablé comme ceci :  lcd.pins(11, 10, 0, 0, 0, 0, 9, 8, 7, 6); (RS, E, D0, D1, D2, D3, D4, D5, D6, D7)

Fonctionnement BMP280
SDA connection à D3
SCL connection à D4
Address i2c du module BMP = x76
Alimentation en +3.3V
-----------------------------------------------------*/

#define LED0 0  // redifinition LED0 sur D0 pour plaque 32MX250
const u8 MODULE = BMP280SPI1;


void setup()
{
   pinMode(LED0, OUTPUT);

   lcd.pins(11, 10, 0, 0, 0, 0, 9, 8, 7, 6);  // lcd.pins(RS, E, D0, D1, D2, D3, D4, D5, D6, D7)
   lcd.begin(16, 2); //Afficheur 16 x 2 lignes
   lcd.print("Lecture BMP");
   delay(1000); // Attente 1 sec  
   lcd.clear();
   

  if(!BMP280.begin(MODULE))
 {
      lcd.setCursor(2,0);  //Position2 , ligne0
      lcd.print("PB init BMP!");
   while(1);
 }
 else
      lcd.setCursor(2,0);  //Position2 , ligne0
      lcd.print("Init BMP OK!");    

}



void loop()
{
 float TC, TF, P, A, S;
//  float  P = 12.38;
 float P0 = 1013.25; // Pression de référence au niveau de la mer

 // Oversampling: 0 to 4
 // the higher the number, the higher the resolution outputs
 // the higher the number, the slower the measurment
 BMP280.startMeasurment(MODULE, 4); // max. resolution
 TC = BMP280.getTemperatureCelsius(MODULE);  // Température en °C
 TF = BMP280.getTemperatureFahrenheit(MODULE);  // Température en °F
 P  = BMP280.getPressure(MODULE);  // Pression en mBar
 A  = BMP280.getAltitude(MODULE, P, P0); // Altitude en m
 P0 = BMP280.getPressureAtSealevel(MODULE, P, A);


lcd.setCursor(0,1); //Position0 , ligne1
lcd.printf("Pres= %6f\ mB", P);            


 delay(1000);    // Attente 1 sec
 toggle(LED0);  // Clignotement de LED0 pour vérification du fonctionnement
}
A bientôt
Techno
Reply


Messages In This Thread
Problème avec BMP280 - by Techno - 29-11-2017, 08:17 PM
RE: Problème avec BMP280 - by regis - 04-12-2017, 06:18 PM
RE: Problème avec BMP280 - by Techno - 05-12-2017, 06:05 PM
RE: Problème avec BMP280 - by regis - 08-12-2017, 02:35 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)