Fusionner 3 programmes arduinos en un pour un écran LCD sparfun

Bonjour, j’aimerais savoir si vous savez comment je pourrais fusionner mes 3 programmes arduino en un pour que les valeurs s’affiche sur mon écran lcd Sparfun
Les 3 programmes sont les programmes pour afficher la valeur de la luminosité, ensuite celle du capteur de température et d’humidité, et enfin celui de l’horloge

Programme du capteur de lumière:

#include <ColorLCDShield.h>
#include “DHT.h”
int DHTPIN = A0;//DHT11 connecté à la broche A0
float h;
float t;
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
#define BACKGROUND CYAN
#define C_COLOR RED
#define H_COLOR BLUE
#define M_COLOR GREEN
#define S_COLOR YELLOW
#define W_COLOR WHITE
#define B_COLOR BLACK

LCDShield lcd;

int LDR = A1;
float luminosite;
char affichageluminosite [16];
char affichagetemperature[16];
char affichagehumidite[16];
char mystring = “Luminosite:”;
char Text1 = “temperature:”;
char Text2 = “humidite:”;
void setup()
{
Serial.begin(9600);
lcd.init(PHILIPS);
lcd.contrast(-70);
pinMode(LDR, INPUT);
afficheText();
dht.begin();
}

void loop()
{
lcd.clear(YELLOW);
h = dht.readHumidity();
t = dht.readTemperature();
luminosite = analogRead(LDR);
Serial.print("Analog reading = ");
Serial.print(luminosite);
Serial.println("temp: ");
Serial.println(t);
Serial.println("hum: ");
Serial.println(h);
afficheText();
delay(3000);
}

void afficheText()
{
sprintf (affichageluminosite, “%d”, ((int)luminosite));
sprintf (affichagetemperature, “%d”, ((int)t));
sprintf (affichagehumidite, “%d”, ((int)h));

lcd.setStr(mystring, 0, 0, B_COLOR, BACKGROUND);
lcd.setStr(affichageluminosite, 0, 90, B_COLOR, BACKGROUND);
lcd.setStr(Text1, 20, 0, B_COLOR, BACKGROUND);
lcd.setStr(affichagetemperature, 20, 100, B_COLOR, BACKGROUND);

}

Programme du capteur de température et d’humidité:

#include “DHT.h”

#define DHTPIN A0 // what pin we’re connected to

// Uncomment whatever type you’re using!
//#define DHTTYPE DHT11 // DHT 11
#define DHTTYPE DHT22 // DHT 22 (AM2302)
//#define DHTTYPE DHT21 // DHT 21 (AM2301)

// Connect pin 1 (on the left) of the sensor to +5V
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

DHT dht(DHTPIN, DHTTYPE);

void setup()
{
Serial.begin(9600);
Serial.println(“DHTxx test!”);

dht.begin();
}

void loop()
{
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds ‘old’ (its a very slow sensor)
float h = dht.readHumidity();
float t = dht.readTemperature();

// check if returns are valid, if they are NaN (not a number) then something went wrong!
if (isnan(t) || isnan(h))
{
Serial.println(“Failed to read from DHT”);
}
else
{
Serial.print(“Humidity: “);
Serial.print(h);
Serial.print(” %\t”);
Serial.print(“Temperature: “);
Serial.print(t);
Serial.println(” *C”);
}
}

Bonjour,
Commence par ce point

Non, mais j’ai déjà fait un programme mais je n’arrive pas a faire afficher l’humidité sur mon écran LCD

Programme Capteurs de lumières, températures et humidités

#include <ColorLCDShield.h>
#include “DHT.h”
int DHTPIN = A0;//DHT11 connecté à la broche A0
float h;
float t;
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
#define BACKGROUND CYAN
#define C_COLOR RED
#define H_COLOR BLUE
#define M_COLOR GREEN
#define S_COLOR YELLOW
#define W_COLOR WHITE
#define B_COLOR BLACK

LCDShield lcd;

int LDR = A1;
float luminosite;
char affichageluminosite [16];
char affichagetemperature[16];
char affichagehumidite[16];
char mystring = “Luminosite:”;
char Text1 = “temperature:”;
char Text2 = “humidite:”;
void setup()
{
Serial.begin(9600);
lcd.init(PHILIPS);
lcd.contrast(-70);
pinMode(LDR, INPUT);
afficheText();
dht.begin();
}

void loop()
{
lcd.clear(YELLOW);
h = dht.readHumidity();
t = dht.readTemperature();
luminosite = analogRead(LDR);
Serial.print("Analog reading = ");
Serial.print(luminosite);
Serial.println("temp: ");
Serial.println(t);
Serial.println("hum: ");
Serial.println(h);
afficheText();
delay(3000);
}

void afficheText()
{
sprintf (affichageluminosite, “%d”, ((int)luminosite));
sprintf (affichagetemperature, “%d”, ((int)t));
sprintf (affichagehumidite, “%d”, ((int)h));

lcd.setStr(mystring, 0, 0, B_COLOR, BACKGROUND);
lcd.setStr(affichageluminosite, 0, 90, B_COLOR, BACKGROUND);
lcd.setStr(Text1, 20, 0, B_COLOR, BACKGROUND);
lcd.setStr(affichagetemperature, 20, 100, B_COLOR, BACKGROUND);

}

icare:
Bonjour,
Commence par ce point

Tony748:
Non, mais j’ai déjà fait un programme mais je n’arrive pas a faire afficher l’humidité sur mon écran LCD

La remarque concernait la façon de présenter un morceau de programme dans un message. Si tu n’utilises pas les balises code (bouton </>) la mise en forme du texte est modifiée et certains caractères se perdent.

de plus,
ou est la ligne pour afficher l'humidité?

  lcd.setStr(mystring, 0, 0, B_COLOR, BACKGROUND);
  lcd.setStr(affichageluminosite, 0, 90, B_COLOR, BACKGROUND);
  lcd.setStr(Text1, 20, 0, B_COLOR, BACKGROUND);
  lcd.setStr(affichagetemperature, 20, 100, B_COLOR, BACKGROUND);