Bonjours a tous, je viens demander de l'aider. J'écume depuis des semaine les forums afin de pouvoir incorporer plusieurs sketch arduino en un, pour créer mon propre sketch.
Cependant je ne comprend pas comment afficher a l'écran de mon nextion, les informations obtenu par mon arduino.
par exemple dans ce cas je voudrais afficher l'heure dans une fenêtre.
HEURE dans la fenetre "timeheure".
MINUTE dans la fenetre "timeminute".
lorsque je met en route le moniteur série de l'arduino j'ai bien l'heure qui s'affiche mais comment l'envoyer au nextion.
voici mon debut de code qui a pour le moment des informations qui parte du nextion vers l'arduino et la réception des donnés pour une sonde DHT22.
si une âme charitable peu m'aider ca serai cool.
//declaration des librairies.
#include "DHT.h"
#include <Wire.h>
#include "RTClib.h"
//declaration des constante.
const int LUMMIERE=8;
const int CHIHIROS=7;
const int POMPE=6;
const int CO2=5;
const int CHAUFFAGE=4;
DHT dht(DHTPIN, DHTTYPE);
RTC_DS3231 rtc;
#define DHTPIN 2 // on declare DHTPIN sur 2.
#define DHTTYPE DHT11 // on declare le type de sonde DHT.
float temperature = 0.00f;
float humidity = 0.00f;
String STRrecu = " " ; // déclaration de variable
void setup() // partie setup qui ne sera executé qu'une fois
{
Serial.begin(9600); // initialisation du port serie à 9600 bits par seconde
Serial.setTimeout(100); // définition du temps de scrutation quant on utilise Serial.readString()par défaut à 1000ms (le programme et en pause pendant la scutation).
pinMode(8, OUTPUT); // définition de la pin 8 comme port de sortie.
pinMode(7, OUTPUT); // définition de la pin 7 comme port de sortie.
pinMode(6, OUTPUT); // définition de la pin 6 comme port de sortie.
pinMode(5, OUTPUT); // définition de la pin 5 comme port de sortie.
pinMode(4, OUTPUT); // définition de la pin 4 comme port de sortie.
dht.begin();
digitalWrite( POMPE , HIGH ); //demarrage de la pompe au demmarage du programme en cas de coupure de courrant la pompe repart seul sans toucher lécran.
digitalWrite( CHAUFFAGE , HIGH ); //demarrage du chauffage au demmarage du programme en cas de coupure de courrant le chauffage repart seul sans toucher lécran.
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
while (1);
}
}
void loop() // partie programme qui sera lu en boucle
{
STRrecu = Serial.readString(); // recevoir une chaine de characters (le programme attend 100ms que la chaine ce finisse à partir de la reception du 1er character)
//--------------------statut lummiere-----------------------------------------------------
if (( ( STRrecu ) == ("lummiereon") )) // si la chaine de characters ="ledon"
{
digitalWrite( LUMMIERE , HIGH ); // alors mettre le pin 8 au niveau haut (5v)
}
if (( ( STRrecu ) == ("lummiereoff") )) // si la chaine de characters ="ledoff"
{
digitalWrite( LUMMIERE , LOW ); // alors mettre le pin 8 au niveau bas (0v)
}
//----------------------------------------------------------------------------------------
//--------------------statut chihiros-----------------------------------------------------
if (( ( STRrecu ) == ("chihiroson") )) // si la chaine de characters ="ledoff"
{
digitalWrite( CHIHIROS , HIGH ); // alors mettre le pin 7 au niveau haut (5v)
}
if (( ( STRrecu ) == ("chihirosoff") )) // si la chaine de characters ="ledoff"
{
digitalWrite( CHIHIROS , LOW ); // alors mettre le pin 7 au niveau bas (0v)
}
//----------------------------------------------------------------------------------------
//--------------------statut pompe--------------------------------------------------------
if (( ( STRrecu ) == ("pompeon") )) // si la chaine de characters ="ledoff"
{
digitalWrite( POMPE , HIGH ); // alors mettre le pin 6 au niveau haut (5v)
}
if (( ( STRrecu ) == ("pompeoff") )) // si la chaine de characters ="ledoff"
{
digitalWrite( POMPE , LOW ); // alors mettre le pin 6 au niveau bas (0v)
}
//----------------------------------------------------------------------------------------
//--------------------satut co2-----------------------------------------------------------
if (( ( STRrecu ) == ("co2on") )) // si la chaine de characters ="ledoff"
{
digitalWrite( CO2 , HIGH ); // alors mettre le pin 6 au niveau haut (5v)
}
if (( ( STRrecu ) == ("co2off") )) // si la chaine de characters ="ledoff"
{
digitalWrite( CO2 , LOW ); // alors mettre le pin 6 au niveau bas (0v)
}
//----------------------------------------------------------------------------------------
//--------------------statut chauffage----------------------------------------------------
if (( ( STRrecu ) == ("chauffageon") )) // si la chaine de characters ="ledoff"
{
digitalWrite( CHAUFFAGE , HIGH ); // alors mettre le pin 6 au niveau haut (5v)
}
if (( ( STRrecu ) == ("chauffageoff") )) // si la chaine de characters ="ledoff"
{
digitalWrite( CHAUFFAGE , LOW ); // alors mettre le pin 6 au niveau bas (0v)
}
//----------------------------------------------------------------------------------------
DateTime now = rtc.now();
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.println();
delay(100);
}
void readSensor()
{
humidity = dht.readHumidity();
temperature = dht.readTemperature();
}
void sendHumidityToNextion()
{
String command = "humidity.txt=\""+String(humidity,0)+"\"";
Serial.print(command);
endNextionCommand();
}
void sendTemperatureToNextion()
{
String command = "temperature.txt=\""+String(temperature,0)+"\"";
Serial.print(command);
endNextionCommand();
}
void endNextionCommand()
{
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
}
// retour au début de la boucle
a_l_aide.ino.ino (5.15 KB)