Go Down

Topic: BMP280 + LCD 1602A (Read 56 times) previous topic - next topic

shootingstar76

bonjour :)

je sollicite votre aide sur un montage que j'ai réalisé ...
un capteur de pression atmosphérique et température avec affichage LCD

sur ce site
https://simple-circuit.com/arduino-bmp280-sensor-lcd/

cablage modifé avec arduino Nano + problème :
https://mega.nz/#!NgknUKDb!UzuQUrOzQJwozfIHwGdAnXynEm-pth4k0gHEumbruRc

comme vous pourrez le voir sur l'image (via le lien)
cela ne marche pas ...
pour etre sur que le câblage était bon ...
je l'ai refais ...
cela m'a donné le même resultat ...

sur l'écran LCD il m'affiche sur la ligne du bas les digits pleins ... ??

j'avoue que je ne suis pas un expert en code :D
j'ai fais quelques montages assez simple (genre chenillards)
mais la c'est un peu trop compliqué pour moi ...

je ne vois pas ou ce situe le probleme ...
pourquoi ca ne marche pas ...

le code est le suivant :

merci  :)

/*
 * Interfacing Arduino with BMP280 temperature and pressure sensor.
 * Temperature and pressure values are displayed on 16x2 LCD.
 * This is a free software with NO WARRANTY.
 * https://simple-circuit.com/
 */
 
#include <Wire.h>             // include Wire library, required for I2C devices
#include <Adafruit_Sensor.h>  // include Adafruit sensor library
#include <Adafruit_BMP280.h>  // include adafruit library for BMP280 sensor
#include <LiquidCrystal.h>    // include LCD library
 
// define device I2C address: 0x76 or 0x77 (0x77 is library default address)
#define BMP280_I2C_ADDRESS  0x76
 
Adafruit_BMP280 bmp280;
 
// LCD module connections (RS, E, D4, D5, D6, D7)
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
 
void setup()

{
  Serial.begin(9600);
 
  // set up the LCD's number of columns and rows
  lcd.begin(16, 2);
 
  Serial.println(F("Arduino + BMP280"));
 
  if (!bmp280.begin(BMP280_I2C_ADDRESS))
  { 
    Serial.println("Could not find a valid BMP280 sensor, check wiring!");
    while (1);
  }
 
  lcd.setCursor(0, 0);
  lcd.print("Temp:");
  lcd.setCursor(0, 1);
  lcd.print("Pres:");
}
 
char text[14];
 
// main loop
void loop()
{
  // get temperature, pressure and altitude from library
  float temperature = bmp280.readTemperature();  // get temperature
  float pressure    = bmp280.readPressure();     // get pressure
  float altitude_   = bmp280.readAltitude(1013.25); // get altitude (this should be adjusted to your local forecast)
 
  // print data on the LCD screen
  // 1: print temperature
  sprintf(text, "%d.%02u%cC  ", (int)temperature, (int)(temperature * 100)%100, 223);
  lcd.setCursor(5, 0);
  lcd.print(text);
  // 2: print pressure
  sprintf(text, "%u.%02u hPa ", (int)(pressure/100), (int)((uint32_t)pressure % 100));
  lcd.setCursor(5, 1);
  lcd.print(text);
 
  // print data on the serial monitor software
  // 1: print temperature
  Serial.print("Temperature = ");
  Serial.print(temperature);
  Serial.println(" °C");
  // 2: print pressure
  Serial.print("Pressure    = ");
  Serial.print(pressure/100);
  Serial.println(" hPa");
  // 3: print altitude
  Serial.print("Approx Altitude = ");
  Serial.print(altitude_);
  Serial.println(" m");
   
  Serial.println();  // start a new line
  delay(2000);       // wait 2 seconds
 
}
// end of code.




al1fch

#1
Mar 27, 2020, 12:44 am Last Edit: Mar 27, 2020, 12:49 am by al1fch
Bonsoir

Pour  avoir des réponses et éviter que ce message aille à la poubelle,  il faut de toute urgrence prendre connaissance des Règles du Forum,
-ou poser ses questions ?
-comment publier du code dans le corps d'un message
-quelles informations fournir ?

Demandes au Modérateur  (lien report to moderator) le déplacement du message dans le Fourm général , içi il encombre l'espace réservé aux projets F I N I S comme indiqué dans le nom de ce sous-forum.

Go Up