Projet mega 2560 v3 aquarium avec ds3132 , ds18b20 et ws2812b

bonjour
j'aurai besoin de renseignement sur l'utilisation des bibliothèques Arduino car on trouve de tout et de rien (enfin pour moi).

je m'explique j'ai rassemble plusieurs code que j'ai commencé a mettre en œuvre mais j'ai déjà des soucis même en exécutant des exemples.
j'utilise enhanced nextion library et ça commence déjà mal.

//******************************************************************************************************************************************
//** Daylight simulator for Arduino with 2812 LED strip and DS18B20 and Nextion NX4832K011R                                              **
//** This code is part of a project on daylight/moonlight simulation with arduino Uno R3 and Nextion                                     **
//******************************************************************************************************************************************

#include <Nextion.h>
#include <SPI.h>
#include <Adafruit_NeoPixel.h>
#include <math.h>
#include <RTClib.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>


#ifdef ESP8266
// esp8266 / NodeMCU software serial ports
SoftwareSerial mySerial(D2, D1); // RX, TX
#else
SoftwareSerial mySerial(3,2); // RX, TX
#endif

#define ONE_WIRE_BUS 5 //pin 5 for DS18B20
// var DS18B20
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
float Celcius=0;
float Fahrenheit=0;

//Used vars
const int blocktime = 9000;   //Cycles of 0.2 seconds of each color block (there are max 48 blocks) (9000 = 30 minutes)
const int amountOfLeds = 432; //The amount of 2812 LED's to be addressed 144led/M X3
SoftwareSerial NexSerial(10,11);// RX, TX on pins 10 and 11 (A5, A4) for Nextion
RTC_DS3231 rtc;

//var ds3231 rtc
char daysOfTheWeek[7][4] = {"Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"};
int Day; 
int Month;
int Year; 
int Secs;
int Minutes;
int Hours;
 
String dofweek; // day of week
String myDate; 
String myTime;

//var KelvinRGB
int curRed;
int curGrn;
int curBlu;
int newRed;
int newGrn;
int newBlu;
int kelvin;
int brightness;
int setWhitePointRed;
int setWhitePointGrn;
int setWhitePointBlu;

int curTime = 0;
int block = 0;
int oldRed = 0;
int oldGrn = 0;
int oldBlu = 0;
int oldKelvin = 0;

int shiftToLeft(int number);


Adafruit_NeoPixel strip = Adafruit_NeoPixel(amountOfLeds, 6, NEO_GRB + NEO_KHZ800);

// Declare objects that we are going to read from the display. This includes buttons, sliders, text boxes, etc:
// Format: <type of object> <object name> = <type of object>(<page id>, <object id>, "<object name>");
/* ***** Types of objects:
 * NexButton - Button
 * NexDSButton - Dual-state Button
 * NexHotspot - Hotspot, that is like an invisible button
 * NexCheckbox - Checkbox
 * NexRadio - "Radio" checkbox, that it's exactly like the checkbox but with a rounded shape
 * NexSlider - Slider
 * NexGauge - Gauge
 * NexProgressBar - Progress Bar
 * NexText - Text box
 * NexScrolltext - Scroll text box
 * NexNumber - Number box
 * NexVariable - Variable inside the nextion display
 * NexPage - Page touch event
 * NexGpio - To use the Expansion Board add-on for Enhanced Nextion displays
 * NexRtc - To use the real time clock for Enhanced Nextion displays
 * *****
 */
NexButton b0 = NexButton(4, 1,"b0");  // Button added
NexButton b1 = NexButton(4, 3, "b1" );  // Button added
NexVariable va33 = NexVariable(4, 5, "va33");  // Variable added so we can read it
NexVariable vah = NexVariable(4, 6, "vah");  // Variable added so we can read it
NexVariable vam = NexVariable(4, 7, "vam");  // Variable added so we can read it
NexVariable vas = NexVariable(4, 8, "vas");  // Variable added so we can read it

tout ce qui concerne nexbutton ne fonctionne pas et me donne comme message.

Compiling .pio\build\uno\libc55\Wire\utility\twi.c.o
src\main.cpp:96:35: error: no matching function for call to 'NexButton::NexButton(int, int, const char [3])'
 NexButton b0 = NexButton(4, 1,"b0");  // Button added
                                   ^
In file included from .pio\libdeps\uno\Enhanced-Nextion-Library\include/Nextion.h:32:0,
                 from src\main.cpp:14:
.pio\libdeps\uno\Enhanced-Nextion-Library\include/NexButton.h:57:5: note: candidate: NexButton::NexButton(Nextion*, uint8_t, uint8_t, const char*, const 
NexObject*)
     NexButton(Nextion *nextion, uint8_t pid, uint8_t cid, const char *name, const NexObject* page=nullptr);
     ^~~~~~~~~
.pio\libdeps\uno\Enhanced-Nextion-Library\include/NexButton.h:57:5: note:   candidate expects 5 arguments, 3 provided
.pio\libdeps\uno\Enhanced-Nextion-Library\include/NexButton.h:41:7: note: candidate: constexpr NexButton::NexButton(const NexButton&)
 class NexButton: public NexTouch
       ^~~~~~~~~
.pio\libdeps\uno\Enhanced-Nextion-Library\include/NexButton.h:41:7: note:   candidate expects 1 argument, 3 provided
.pio\libdeps\uno\Enhanced-Nextion-Library\include/NexButton.h:41:7: note: candidate: constexpr NexButton::NexButton(NexButton&&)
.pio\libdeps\uno\Enhanced-Nextion-Library\include/NexButton.h:41:7: note:   candidate expects 1 argument, 3 provided
src\main.cpp:97:37: error: no matching function for call to 'NexButton::NexButton(int, int, const char [3])'
 NexButton b1 = NexButton(4, 3, "b1" );  // Button added

je comprend pas comment il peut y avoir une erreur vue que le nexbutton.h est bien dans la library.

edit: j'utilise vscode avec platformio

Bonjour,
Je ne conais pas ta lib mais il me semble que ces celle ci : GitHub - itead/ITEADLIB_Arduino_Nextion .

Utilise tu une version a jours ?
A tu essayer une des code de teste fournie ?

bonjour
toujours en erreur.
j'ai ete oblige a rajouté les librairies pour limité les erreurs
je n'est pas rajouté trop de librairie pour pas que des doublon cause d'erreur pour l'instant.

||itead/Nextion@^0.9.0|adafruit/Adafruit BusIO@^1.9.9|

> Executing task in folder test: C:\Users\jacqu\.platformio\penv\Scripts\platformio.exe run <

Processing uno (platform: atmelavr; board: uno; framework: arduino)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/uno.html
PLATFORM: Atmel AVR (3.4.0) > Arduino Uno
HARDWARE: ATMEGA328P 16MHz, 2KB RAM, 31.50KB Flash   
DEBUG: Current (avr-stub) On-board (avr-stub, simavr)
PACKAGES:
 - framework-arduino-avr 5.1.0
 - toolchain-atmelavr 1.70300.191015 (7.3.0)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 12 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <Nextion> 0.9.0       
|-- <Adafruit BusIO> 1.9.9
Building in release mode
Compiling .pio\build\uno\src\main.cpp.o
Compiling .pio\build\uno\lib172\Nextion\NexButton.cpp.o
Compiling .pio\build\uno\lib172\Nextion\NexCheckbox.cpp.o
Compiling .pio\build\uno\lib172\Nextion\NexCrop.cpp.o
Compiling .pio\build\uno\lib172\Nextion\NexDualStateButton.cpp.o
Compiling .pio\build\uno\lib172\Nextion\NexGauge.cpp.o
Compiling .pio\build\uno\lib172\Nextion\NexGpio.cpp.o
Compiling .pio\build\uno\lib172\Nextion\NexHardware.cpp.o
src\main.cpp: In function 'void b0PopCallback(void*)':
src\main.cpp:44:14: warning: unused variable 'len' [-Wunused-variable]
     uint16_t len;
              ^~~
Compiling .pio\build\uno\lib172\Nextion\NexHotspot.cpp.o
Compiling .pio\build\uno\lib172\Nextion\NexNumber.cpp.o
Compiling .pio\build\uno\lib172\Nextion\NexObject.cpp.o
Compiling .pio\build\uno\lib172\Nextion\NexPage.cpp.o
Compiling .pio\build\uno\lib172\Nextion\NexPicture.cpp.o
Compiling .pio\build\uno\lib172\Nextion\NexProgressBar.cpp.o
Compiling .pio\build\uno\lib172\Nextion\NexRadio.cpp.o
Compiling .pio\build\uno\lib172\Nextion\NexRtc.cpp.o
.pio\libdeps\uno\Nextion\NexPage.cpp: In member function 'bool NexPage::show()':
.pio\libdeps\uno\Nextion\NexPage.cpp:25:13: warning: unused variable 'buffer' [-Wunused-variable]
     uint8_t buffer[4] = {0};
             ^~~~~~
Compiling .pio\build\uno\lib172\Nextion\NexScrolltext.cpp.o
Compiling .pio\build\uno\lib172\Nextion\NexSlider.cpp.o
.pio\libdeps\uno\Nextion\NexRtc.cpp: In member function 'bool NexRtc::write_rtc_time(char*)':
.pio\libdeps\uno\Nextion\NexRtc.cpp:21:9: warning: unused variable 'i' [-Wunused-variable]
     int i;
         ^
.pio\libdeps\uno\Nextion\NexRtc.cpp: In member function 'bool NexRtc::write_rtc_time(uint32_t*)':
.pio\libdeps\uno\Nextion\NexRtc.cpp:78:9: warning: unused variable 'i' [-Wunused-variable]
     int i;
         ^
.pio\libdeps\uno\Nextion\NexRtc.cpp:123:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
.pio\libdeps\uno\Nextion\NexRtc.cpp: In member function 'uint32_t NexRtc::read_rtc_time(char*, uint32_t)':
.pio\libdeps\uno\Nextion\NexRtc.cpp:232:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0;i<len;i++)
                     ~^~~~
.pio\libdeps\uno\Nextion\NexRtc.cpp:238:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
.pio\libdeps\uno\Nextion\NexRtc.cpp: In member function 'uint32_t NexRtc::read_rtc_time(uint32_t*, uint32_t)':
.pio\libdeps\uno\Nextion\NexRtc.cpp:280:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<len;i++)
                 ~^~~~
.pio\libdeps\uno\Nextion\NexRtc.cpp:285:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
.pio\libdeps\uno\Nextion\NexRtc.cpp: In member function 'uint32_t NexRtc::read_rtc_time(char*, uint32_t*)':
.pio\libdeps\uno\Nextion\NexRtc.cpp:291:10: warning: unused variable 'buf' [-Wunused-variable]
     char buf[10] = {0};
          ^~~
.pio\libdeps\uno\Nextion\NexRtc.cpp: In member function 'bool NexRtc::write_rtc_time(char*)':
.pio\libdeps\uno\Nextion\NexRtc.cpp:72:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
Compiling .pio\build\uno\lib172\Nextion\NexText.cpp.o
Compiling .pio\build\uno\lib172\Nextion\NexTimer.cpp.o
Compiling .pio\build\uno\lib172\Nextion\NexTouch.cpp.o
Compiling .pio\build\uno\lib172\Nextion\NexUpload.cpp.o
Compiling .pio\build\uno\lib172\Nextion\NexVariable.cpp.o
Compiling .pio\build\uno\lib172\Nextion\NexWaveform.cpp.o
In file included from .pio\libdeps\uno\Nextion\NexUpload.cpp:16:0:
.pio\libdeps\uno\Nextion\NexUpload.h:19:10: fatal error: SPI.h: No such file or directory

*************************************************************
* Looking for SPI.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:SPI.h"
* Web  > https://platformio.org/lib/search?query=header:SPI.h
*
*************************************************************

 #include <SPI.h>
          ^~~~~~~
compilation terminated.
*** [.pio\build\uno\lib172\Nextion\NexUpload.cpp.o] Error 1
================================================================================================== [FAILED] Took 3.86 seconds ==================================================================================================
Arrêt du processus de terminal "C:\Users\jacqu\.platformio\penv\Scripts\platformio.exe 'run'". Code de sortie : 1.

j'ai tenter par arduino editor 2.0 et c'est pire, j'utilise toujours ton exemple pour l'instant.
as tu une librairie spécifique pour que cela fonction sur arduino uno v3 ?

bon,je suis repartie a zéro en bibliothèque et avec le strict minimum.
j'ai d'autre avertissement mais ça passe en rajoutant des includes

#include <SoftwareSerial.h>
#include <SD.h>
> Executing task in folder ws2812: C:\Users\jacqu\.platformio\penv\Scripts\platformio.exe run <

Processing uno (platform: atmelavr; board: uno; framework: arduino)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/uno.html
PLATFORM: Atmel AVR (3.4.0) > Arduino Uno
HARDWARE: ATMEGA328P 16MHz, 2KB RAM, 31.50KB Flash   
DEBUG: Current (avr-stub) On-board (avr-stub, simavr)
PACKAGES:
 - framework-arduino-avr 5.1.0
 - toolchain-atmelavr 1.70300.191015 (7.3.0)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 19 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <Nextion> 0.9.0
|   |-- <SoftwareSerial> 1.0.0
|   |-- <SD> 1.2.4
|   |   |-- <SPI> 1.0
|   |-- <SPI> 1.0
|-- <SD> 1.2.4
|   |-- <SPI> 1.0
|-- <Adafruit NeoPixel> 1.10.1
|-- <DallasTemperature> 3.9.1 
|   |-- <OneWire> 2.3.6       
|-- <OneWire> 2.3.6
|-- <RTClib> 2.0.1
|   |-- <Adafruit BusIO> 1.9.8
|   |   |-- <Wire> 1.0
|   |   |-- <SPI> 1.0
|   |-- <Wire> 1.0
|-- <SoftwareSerial> 1.0.0
|-- <SPI> 1.0
|-- <Wire> 1.0
Building in release mode
Compiling .pio\build\uno\src\main.cpp.o
Compiling .pio\build\uno\lib93a\SoftwareSerial\SoftwareSerial.cpp.o
Compiling .pio\build\uno\lib46f\SPI\SPI.cpp.o
Compiling .pio\build\uno\libe8c\SD\File.cpp.o
Compiling .pio\build\uno\libe8c\SD\SD.cpp.o
Compiling .pio\build\uno\libe8c\SD\utility\Sd2Card.cpp.o
Compiling .pio\build\uno\libe8c\SD\utility\SdFile.cpp.o
Compiling .pio\build\uno\libe8c\SD\utility\SdVolume.cpp.o
Archiving .pio\build\uno\lib46f\libSPI.a
Archiving .pio\build\uno\lib93a\libSoftwareSerial.a
Compiling .pio\build\uno\liba07\Nextion\NexButton.cpp.o
Compiling .pio\build\uno\liba07\Nextion\NexCheckbox.cpp.o
Compiling .pio\build\uno\liba07\Nextion\NexCrop.cpp.o
Compiling .pio\build\uno\liba07\Nextion\NexDualStateButton.cpp.o
Compiling .pio\build\uno\liba07\Nextion\NexGauge.cpp.o
Compiling .pio\build\uno\liba07\Nextion\NexGpio.cpp.o
Compiling .pio\build\uno\liba07\Nextion\NexHardware.cpp.o
Archiving .pio\build\uno\libe8c\libSD.a
Compiling .pio\build\uno\liba07\Nextion\NexHotspot.cpp.o
Compiling .pio\build\uno\liba07\Nextion\NexNumber.cpp.o
Compiling .pio\build\uno\liba07\Nextion\NexObject.cpp.o
Compiling .pio\build\uno\liba07\Nextion\NexPage.cpp.o
Compiling .pio\build\uno\liba07\Nextion\NexPicture.cpp.o
Compiling .pio\build\uno\liba07\Nextion\NexProgressBar.cpp.o
Compiling .pio\build\uno\liba07\Nextion\NexRadio.cpp.o
Compiling .pio\build\uno\liba07\Nextion\NexRtc.cpp.o
.pio\libdeps\uno\Nextion\NexPage.cpp: In member function 'bool NexPage::show()':
.pio\libdeps\uno\Nextion\NexPage.cpp:25:13: warning: unused variable 'buffer' [-Wunused-variable]
     uint8_t buffer[4] = {0};
             ^~~~~~
Compiling .pio\build\uno\liba07\Nextion\NexScrolltext.cpp.o
.pio\libdeps\uno\Nextion\NexRtc.cpp: In member function 'bool NexRtc::write_rtc_time(char*)':
.pio\libdeps\uno\Nextion\NexRtc.cpp:21:9: warning: unused variable 'i' [-Wunused-variable]
     int i;
         ^
.pio\libdeps\uno\Nextion\NexRtc.cpp: In member function 'bool NexRtc::write_rtc_time(uint32_t*)':
.pio\libdeps\uno\Nextion\NexRtc.cpp:78:9: warning: unused variable 'i' [-Wunused-variable]
     int i;
         ^
.pio\libdeps\uno\Nextion\NexRtc.cpp:123:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
.pio\libdeps\uno\Nextion\NexRtc.cpp: In member function 'uint32_t NexRtc::read_rtc_time(char*, uint32_t)':
.pio\libdeps\uno\Nextion\NexRtc.cpp:232:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0;i<len;i++)
                     ~^~~~
.pio\libdeps\uno\Nextion\NexRtc.cpp:238:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
.pio\libdeps\uno\Nextion\NexRtc.cpp: In member function 'uint32_t NexRtc::read_rtc_time(uint32_t*, uint32_t)':
.pio\libdeps\uno\Nextion\NexRtc.cpp:280:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<len;i++)
                 ~^~~~
.pio\libdeps\uno\Nextion\NexRtc.cpp:285:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
.pio\libdeps\uno\Nextion\NexRtc.cpp: In member function 'uint32_t NexRtc::read_rtc_time(char*, uint32_t*)':
.pio\libdeps\uno\Nextion\NexRtc.cpp:291:10: warning: unused variable 'buf' [-Wunused-variable]
     char buf[10] = {0};
          ^~~
.pio\libdeps\uno\Nextion\NexRtc.cpp: In member function 'bool NexRtc::write_rtc_time(char*)':
.pio\libdeps\uno\Nextion\NexRtc.cpp:72:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
Compiling .pio\build\uno\liba07\Nextion\NexSlider.cpp.o
Compiling .pio\build\uno\liba07\Nextion\NexText.cpp.o
Compiling .pio\build\uno\liba07\Nextion\NexTimer.cpp.o
Compiling .pio\build\uno\liba07\Nextion\NexTouch.cpp.o
Compiling .pio\build\uno\liba07\Nextion\NexUpload.cpp.o
Compiling .pio\build\uno\liba07\Nextion\NexVariable.cpp.o
Compiling .pio\build\uno\liba07\Nextion\NexWaveform.cpp.o
Compiling .pio\build\uno\lib081\Adafruit NeoPixel\Adafruit_NeoPixel.cpp.o
Compiling .pio\build\uno\lib081\Adafruit NeoPixel\esp.c.o
.pio\libdeps\uno\Nextion\NexUpload.cpp: In member function 'bool NexUpload::_downloadTftFile()':
.pio\libdeps\uno\Nextion\NexUpload.cpp:239:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
Compiling .pio\build\uno\lib081\Adafruit NeoPixel\esp8266.c.o
Compiling .pio\build\uno\lib081\Adafruit NeoPixel\kendyte_k210.c.o
Compiling .pio\build\uno\lib081\Adafruit NeoPixel\rp2040.c.o
Compiling .pio\build\uno\libd20\OneWire\OneWire.cpp.o
Compiling .pio\build\uno\libb3b\DallasTemperature\DallasTemperature.cpp.o
Archiving .pio\build\uno\liba07\libNextion.a
Compiling .pio\build\uno\libc55\Wire\Wire.cpp.o
Compiling .pio\build\uno\libc55\Wire\utility\twi.c.o
Compiling .pio\build\uno\lib9bc\Adafruit BusIO\Adafruit_BusIO_Register.cpp.o
Compiling .pio\build\uno\lib9bc\Adafruit BusIO\Adafruit_I2CDevice.cpp.o
Archiving .pio\build\uno\lib081\libAdafruit NeoPixel.a
Compiling .pio\build\uno\lib9bc\Adafruit BusIO\Adafruit_SPIDevice.cpp.o
Archiving .pio\build\uno\libd20\libOneWire.a
Archiving .pio\build\uno\libb3b\libDallasTemperature.a
Compiling .pio\build\uno\lib9e6\RTClib\RTC_DS1307.cpp.o
Compiling .pio\build\uno\lib9e6\RTClib\RTC_DS3231.cpp.o
Compiling .pio\build\uno\lib9e6\RTClib\RTC_Micros.cpp.o
Archiving .pio\build\uno\libc55\libWire.a
Compiling .pio\build\uno\lib9e6\RTClib\RTC_Millis.cpp.o
Compiling .pio\build\uno\lib9e6\RTClib\RTC_PCF8523.cpp.o
Compiling .pio\build\uno\lib9e6\RTClib\RTC_PCF8563.cpp.o
Archiving .pio\build\uno\lib9bc\libAdafruit BusIO.a
Compiling .pio\build\uno\lib9e6\RTClib\RTClib.cpp.o
Archiving .pio\build\uno\libFrameworkArduinoVariant.a
Compiling .pio\build\uno\FrameworkArduino\CDC.cpp.o
Compiling .pio\build\uno\FrameworkArduino\HardwareSerial.cpp.o
Compiling .pio\build\uno\FrameworkArduino\HardwareSerial0.cpp.o
Compiling .pio\build\uno\FrameworkArduino\HardwareSerial1.cpp.o
Compiling .pio\build\uno\FrameworkArduino\HardwareSerial2.cpp.o
Compiling .pio\build\uno\FrameworkArduino\HardwareSerial3.cpp.o
Compiling .pio\build\uno\FrameworkArduino\IPAddress.cpp.o
Archiving .pio\build\uno\lib9e6\libRTClib.a
Compiling .pio\build\uno\FrameworkArduino\PluggableUSB.cpp.o
Compiling .pio\build\uno\FrameworkArduino\Print.cpp.o
Compiling .pio\build\uno\FrameworkArduino\Stream.cpp.o
Compiling .pio\build\uno\FrameworkArduino\Tone.cpp.o
Compiling .pio\build\uno\FrameworkArduino\USBCore.cpp.o
Compiling .pio\build\uno\FrameworkArduino\WInterrupts.c.o
Compiling .pio\build\uno\FrameworkArduino\WMath.cpp.o
Compiling .pio\build\uno\FrameworkArduino\WString.cpp.o
Compiling .pio\build\uno\FrameworkArduino\abi.cpp.o
Compiling .pio\build\uno\FrameworkArduino\hooks.c.o
Compiling .pio\build\uno\FrameworkArduino\main.cpp.o
Compiling .pio\build\uno\FrameworkArduino\new.cpp.o
Compiling .pio\build\uno\FrameworkArduino\wiring.c.o
Compiling .pio\build\uno\FrameworkArduino\wiring_analog.c.o
Compiling .pio\build\uno\FrameworkArduino\wiring_digital.c.o
Compiling .pio\build\uno\FrameworkArduino\wiring_pulse.S.o
Compiling .pio\build\uno\FrameworkArduino\wiring_pulse.c.o
Compiling .pio\build\uno\FrameworkArduino\wiring_shift.c.o
Archiving .pio\build\uno\libFrameworkArduino.a
Linking .pio\build\uno\firmware.elf
Checking size .pio\build\uno\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [====      ]  44.3% (used 907 bytes from 2048 bytes)
Flash: [====      ]  40.2% (used 12980 bytes from 32256 bytes)
Building .pio\build\uno\firmware.hex
================================================================================================== [SUCCESS] Took 9.07 seconds ==================================================================================================

je ne sait pas si c'est avertissement sont très gênant plus tard ou pas ....
seul bibliothèques mise en place.

lib_deps = 
	itead/Nextion@^0.9.0
	arduino-libraries/SD@^1.2.4

Bonsoir,
Quand je lis vos posts, j’ai comme l’impression que vous essayez des trucs sans trop savoir ce que vous faites et bingo si ça fonctionne.
Pourquoi ne pas faire par étape : apprendre à gérer l’écran Nextion, puis quand vous maîtrisez la chose, ajoutez un élément de plus les sondes ds18b20 par exemple,puis les leds , ect.
Enfin c’est juste un conseil

1 Like

bonsoir
oui je sait que beaucoup de personne fonctionne comme ça et c'est normal et recommander, mais je suis plus compliquer que ca.
en général je rassemble tout ce que j'ai besoin et je construit autour en déconstruisant pour comprendre et l'adapter a mes besoin.
mais là ,je vois que les lib ne sont pas compatible entre elle car non harmoniser.
sur visual studio tout le monde a la même lib et personne ne sort de lib adapter a sois pour le même produit , et plus compatible, ni mis a jours.(enfin c'est mon avis ).
rien que pour nextion il y a pléthore de lib et pourtant ,ça match pas tout le temps ^^.

je comprend ce que je fait en général, mais faut que la base soit bonne et quand ça commence mal malgré des exemples qui devrai fonctionné, je voit qu'il faut adapter encore et encore.
mais j'y arriverai ma parti hmi est presque déjà terminé et fonctionnel.
je suis pas un habituer des librairies c'est pour ça.

Bonsoir
Bon courage à toi pour la suite

merci
j'essaye, mais j'ai remarquer que dés que ça parle nextion , on trouve pas grand chose de fini sur le forum (avec un ds18b20).

mais je creuse et je me perd un peu en ce moment car beaucoup de site anglais ...

Bonjour
Il y a le projet fini de DJBOUNS sur la gestion d.un récifal . C’est ultra complet et tu trouveras très certainement des informations.
Il utilise un Nextion et des ds18b20 entre autres.

oui je l'avais récupérer mais c'est une vrai usine a gaz lol, et il gère beaucoup trop de chose.
son projet n'est pas sur uno, ni nextion de 3.5" ,le minimum est de 5" ou plus.
honnêtement je comprend pas tout, mon niveau cpp est largement dépassé.

Bonjour

Je suis utilisateur de plusieurs Nextion depuis un moment, et je ne me suis jamais servi de la bibliothèque Nextion, qui m'a l'air bien bordeleuse.

J'utilise avec la plus grande satisfaction la méthode de Perry Bebbington sur le site anglophone.
Elle permet de tout faire, et cela sans bibliothèque.
Très bien fait, (même moi j'ai compris).

https://forum.arduino.cc/t/using-nextion-displays-with-arduino/580289

1 Like

bonsoir
merci pour les informations.
du coup j'ai tout effacer et recommencer a zéro car je me suis tellement acharné a faire fonctionné la transmission de l'arduino vers next nx4832k035 que je me suis mélangé les pinceaux et que le code devient illisible.
du coup j'ai découvert qu'il étais impossible sans faire d'autre boulette de changer les broche de rx tx de l'arduino vers nextion.(je suis rester sur le rx tx de base de l'arduino.
voilà le code actuel et fonctionnel qui m'envoie la température avec ça virgule sur mon nextion.
reste plus que passer au rtc et ensuite beaucoup de travail ^^.

#include "Nextion.h"
#include <SoftwareSerial.h>
#include <SPI.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <RTClib.h>




SoftwareSerial HMISerial(10, 11);// ne fonctionne pas sur arduino uno
#define ONE_WIRE_BUS 5 //pin 5 for DS18B20/
// var DS18B20
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

//**** Variable
float Celcius=0;
float Fahrenheit=0;


// Declare objects that we are going to read from the display. This includes buttons, sliders, text boxes, etc:
// Format: <type of object> <object name> = <type of object>(<page id>, <object id>, "<object name>");
/* ***** Types of objects:
 * NexButton - Button
 * NexDSButton - Dual-state Button
 * NexHotspot - Hotspot, that is like an invisible button
 * NexCheckbox - Checkbox
 * NexRadio - "Radio" checkbox, that it's exactly like the checkbox but with a rounded shape
 * NexSlider - Slider
 * NexGauge - Gauge
 * NexProgressBar - Progress Bar
 * NexText - Text box
 * NexScrolltext - Scroll text box
 * NexNumber - Number box
 * NexVariable - Variable inside the nextion display
 * NexPage - Page touch event
 * NexGpio - To use the Expansion Board add-on for Enhanced Nextion displays
 * NexRtc - To use the real time clock for Enhanced Nextion displays
 * *****
 */
NexText tempnexion = NexText(0, 5, "temp");
NexDSButton bt0 = NexDSButton(0, 1, "param1");
NexText date = NexText(0,2, "t0");


NexTouch *nex_listen_list[] = { &bt0, NULL};

void bt0PopCallback(void *ptr)
{
  uint32_t dual_state;
  NexDSButton *btn = (NexDSButton *)ptr;
  dbSerialPrintln("b0PopCallback");
  dbSerialPrint("ptr=");
  dbSerialPrintln((uint32_t)ptr);
  bt0.getValue(&dual_state);
  
  if (dual_state)               
  {
    digitalWrite(13, HIGH);           // if my dual state buton is pressed
  }
  else
  {
    digitalWrite(13, LOW);            // if not
  }

}

void setup(void)
{
  pinMode(13, OUTPUT);
  nexInit();
  bt0.attachPop(bt0PopCallback, &bt0);
  dbSerialPrintln("setup done");
}


void sondetemperature()
{
    // init temp DS18B20
 sensors.begin();
  // ds18b20 temp request
 sensors.requestTemperatures(); 
 Celcius=sensors.getTempCByIndex(0);
 Fahrenheit=sensors.toFahrenheit(Celcius);
 //number=Celcius;

 float t = Celcius;
 static char temperatureCTemp[6];
 dtostrf(t, 6, 2, temperatureCTemp);
 tempnexion.setText(temperatureCTemp);
 dbSerialPrintln(Celcius);
}

void loop(void)
{
  nexLoop(nex_listen_list);
  sondetemperature();

}

bonsoir
j'ai un soucis d'évènement bouton que je comprend pas.
lorsque j'appuis sur le bouton param1 qui doit me faire passer a la page 1 qui ne fonctionne pas.
quelqu'un pourrait m'aiguillé SVP.

#include "Nextion.h"
#include <SoftwareSerial.h>
#include <SPI.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <DS3231.h>




//SoftwareSerial HMISerial(10, 11);// ne fonctionne pas sur arduino uno
#define ONE_WIRE_BUS 5 //pin 5 for DS18B20/
// var DS18B20
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

//**** Variable
float Celcius=0;
float Fahrenheit=0;

// Declare objects that we are going to read from the display. This includes buttons, sliders, text boxes, etc:
// Format: <type of object> <object name> = <type of object>(<page id>, <object id>, "<object name>");
/* ***** Types of objects:
 * NexButton - Button
 * NexDSButton - Dual-state Button
 * NexHotspot - Hotspot, that is like an invisible button
 * NexCheckbox - Checkbox
 * NexRadio - "Radio" checkbox, that it's exactly like the checkbox but with a rounded shape
 * NexSlider - Slider
 * NexGauge - Gauge
 * NexProgressBar - Progress Bar
 * NexText - Text box
 * NexScrolltext - Scroll text box
 * NexNumber - Number box
 * NexVariable - Variable inside the nextion display
 * NexPage - Page touch event
 * NexGpio - To use the Expansion Board add-on for Enhanced Nextion displays
 * NexRtc - To use the real time clock for Enhanced Nextion displays
 * *****
 */

// page Nextion
NexPage p0 = NexPage(0,0,"menu");
NexPage p1 = NexPage(1,0,"kelvin");
NexPage p2 = NexPage(2,0,"home");
NexPage p3 = NexPage(3,0,"settings");
NexPage p4 = NexPage(4,0,"arduino");
// texte modifiable
NexText tempnexion = NexText(0, 5, "temp");
NexText date = NexText(0,2, "date");


//declaration des boutons
NexButton parametre = NexButton(0, 1, "param1");
NexButton boutonmenu = NexButton(1, 26, "bmenu");
NexButton next1 = NexButton(1,1,"b1next");
NexButton back2 = NexButton(2,26,"b2back");
NexButton next2 = NexButton(2,12,"b2next");

//liste de surveillance nextion
NexTouch *nex_listen_list[] = {&boutonmenu, &next1, &back2, &next2, &parametre, NULL};

// gestion des evenements
void parametrePopCallback(void *ptr)
{
 p1.show();
}
void boutonmenupopcallback(void *ptr)
{
 p0.show();
}
void next1popcallback(void *ptr)
{
  p2.show();
}
void next2popcallback(void *ptr)
{
 p3.show();
}
void back2popcallback(void *ptr)
{
 p2.show();
}

void setup(void)
{
  nexInit();
  parametre.attachPop(parametrePopCallback, &parametre);
  boutonmenu.attachPop(boutonmenupopcallback,&boutonmenu);
  next1.attachPop(next1popcallback,&next1);
  next2.attachPop(next2popcallback,&next2);
  back2.attachPop(back2popcallback,&back2);
}


void sondetemperature()
{
    // init temp DS18B20
 sensors.begin();
  // ds18b20 temp request
 sensors.requestTemperatures(); 
 Celcius=sensors.getTempCByIndex(0);
 Fahrenheit=sensors.toFahrenheit(Celcius);
 //number=Celcius;

 float t = Celcius;
 static char temperatureCTemp[6];
 dtostrf(t, 6, 2, temperatureCTemp);
 tempnexion.setText(temperatureCTemp);
 }

void loop(void)
{
  nexLoop(nex_listen_list);
  sondetemperature();

}

bonsoir
je me répond a moi même c'est sondetemperature() dans le loop qui bloque tout.
il s'actualise tout le temps et bloque l'ensemble.
faut que je trouve un moyen de mettre un timer pour actualiser toutes les 10 ou 15 secondes
faut juste que je trouve comment et où le mettre sans que ça bloque tout.

Bonjour

L'intérêt d"un nextion c'est de soulager l'arduino.

Pour changer de page (entre autres) cela se fait directement dans le nextion.

dans les propriétés de Param1
dans Touche Release Event, mettre Page 1.

Bonne journée

bonsoir
mon premier essai comme ça mais j'avais pas trouver comment savoir sur quel page nextion etait.
car je croit pas qu'il y est un getpage.
donc je pense que je vais rajouter et modifié pour qu'il y ai un truc comme ça pour savoir


NexPage p0 = NexPage(0,0,"menu"); //Page principale température et date
//rajouter dans le void setup
p0.attachPop(page0PopCallback);

//ajouter la page à l'événement à écouter
NexTouch *nex_listen_list[] = 
{
    &p0,
    NULL
};
//déclarer la page a surveillé
void p0PopCallback(void *ptr)
{
temperature()
date()

}

j'ai juste rajouter un timer sur le nextion en page 0 pour signaler qu'il est afficher pour que la température s'actualise toutes les 2 secondes.

je comprend rien a l'arduino et nextion ça m'enerve.

  nexInit();
  //surveillance des pages
  p0.attachPop(p0PopCallback);
  p1.attachPop(p1PopCallback);
  p2.attachPop(p2PopCallback);
  p3.attachPop(p3PopCallback);
  p4.attachPop(p4PopCallback);
 
  }

// boucle continue de l'arduino
void loop(void) 
{
  DateTime now = rtc.now(); // recupere l'heure
 // jour = now.day(); // copie le jour
 // mois = now.month(); // copie le mois
 // annee = now.year(); // copie l'annee
 // heure = now.hour(); //copie l'heure
 // minute = now.minute(); //copie des minutes
 // seconde = now.second(); //copie des secondes
 
  nexLoop(nex_listen_list);
 
}

en ne mettant que DateTime now = rtc.now(); // recupere l'heure
mon ecran ne fait que de scintillé et plus rien ne fonctionne correctement tout remet la page a p0.
peut importe où je le met .

Bonsoir
Je pense que c’est normal. Le scintillement est certainement dû au fait que tu affiches et ré affiche l’heure à la cadence de la boucle.
Pourquoi tu n’utilises pas la librairie Nextion, même si elle n’est pas top comme tu dis.
Au moins avec elle j’ai pu faire ce que je voulais sans trop de difficulté

bonsoir
quand j'ai que la température a afficher ça fonctionne bien avec nextion, mais dés qu'il faut que je touche au DS3231,c'est la cata.
que veut tu dire par utiliser la librairie nextion ?
pour afficher l'heure du DS3231? (dont je ne sait pas comment transmettre en settxt ou setvalue, il veut rien savoir, sauf si je lui envoie une date en direct.).