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
cablage modifé avec arduino Nano + problème :
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 ![]()
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.