To try to be more clear and more “Rules complient”
#include <Nextion.h>
int variable1 = 0;
int counter = 0;
int CurrentPage = 0;
NexButton b1 = NexButton(0, 9, "b1"); // Button added
NexButton b0 = NexButton(0, 1, "b0"); // Button added
NexButton b4 = NexButton(0, 11, "b4"); // Button added
NexDSButton bt0 = NexDSButton(0, 8, "bt0"); // Dual state button added
NexSlider h0 = NexSlider(0, 4, "h0"); // Slider added
NexText t5 = NexText(2, 12, "t5"); // Text box added, so we can read it
NexText t6 = NexText(2, 13, "t6"); // Text box added, so we can read it
NexText t7 = NexText(2, 14, "t7"); // Text box added, so we can read it
NexRadio r0 = NexRadio(2, 4, "r0"); // Radio checkbox added
NexRadio r1 = NexRadio(2, 5, "r1"); // Radio checkbox added
NexRadio r2 = NexRadio(2, 6, "r2"); // Radio checkbox added
NexCheckbox c0 = NexCheckbox(2, 3, "c0"); // Checkbox added
NexButton j0 = NexButton(2, 2, "j0"); // Progress bar as a button added, so if we press the progress bar we can create an action
NexButton b21 = NexButton(2, 10, "b21"); // Button added
NexButton b22 = NexButton(2, 16, "b22"); // Button added
NexButton b23 = NexButton(2, 18, "b23"); // Button added
NexButton b24 = NexButton(2, 19, "b24"); // Button added
// Declare pages:
NexPage page0 = NexPage(0, 0, "page0"); // Page added as a touch event
NexPage page1 = NexPage(1, 0, "page1"); // Page added as a touch event
NexPage page2 = NexPage(2, 0, "page2"); // Page added as a touch event
// End of declaring objects
char buffer[100] = {0};
NexTouch *nex_listen_list[] =
{
&b1, // Button added
&b0, // Button added
&b4, // Button added
&b21, // Button added
&b22, // Button added
&b23, // Button added
&b24, // Button added
&bt0, // Dual state button added
&h0, // Slider added
&r0, // Radio checkbox added
&r1, // Radio checkbox added
&r2, // Radio checkbox added
&c0, // Checkbox added
&j0, // Progress bar as a button added
&page0, // Page added as a touch event
&page1, // Page added as a touch event
&page2, // Page added as a touch event
NULL // String terminated
};
void b1PushCallback(void *ptr)
{
digitalWrite(13, HIGH);
}
void b1PopCallback(void *ptr)
{
digitalWrite(13, LOW);
}
void b0PushCallback(void *ptr)
{
counter = counter - 1;
Serial.print("n3.val=");
Serial.print(counter);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
}
void b4PushCallback(void *ptr)
{
counter = counter + 1;
Serial.print("n3.val=");
Serial.print(counter);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
}
void bt0PopCallback(void *ptr)
{
uint32_t number5 = 0;
bt0.getValue(&number5);
if(number5 == 1){
digitalWrite(13, HIGH);
}else{
digitalWrite(13, LOW);
}
}
void h0PopCallback(void *ptr)
{
uint32_t number2 = 0;
h0.getValue(&number2);
if(number2==0){
h0.getValue(&number2);
}
if(number2==0){
h0.getValue(&number2);
}
if(number2==0){
h0.getValue(&number2);
}
if(number2==0){
h0.getValue(&number2);
}
if(number2==0){
h0.getValue(&number2);
}
if(number2==0){
h0.getValue(&number2);
}
if(number2==0){
h0.getValue(&number2);
}
if(number2==0){
h0.getValue(&number2);
}
if(number2==0){
h0.getValue(&number2);
}
if(number2==0){
h0.getValue(&number2);
}
if(number2==0){
h0.getValue(&number2);
}
if(number2==0){
h0.getValue(&number2);
}
if(number2==0){
h0.getValue(&number2);
}
if(number2==0){
h0.getValue(&number2);
}
if(number2==0){
h0.getValue(&number2);
}
if(number2==0){
h0.getValue(&number2);
}
if(number2==0){
h0.getValue(&number2);
}
if(number2==0){
h0.getValue(&number2);
}
if(number2==0){
h0.getValue(&number2);
}
if(number2==0){
h0.getValue(&number2);
}
if(number2==0){
h0.getValue(&number2);
}
Serial.print("n4.val=");
Serial.print(number2);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
}
void r0PushCallback(void *ptr)
{
Serial.print("n9.val=");
Serial.print(1);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
}
void r1PushCallback(void *ptr)
{
Serial.print("n9.val=");
Serial.print(2);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
}
void r2PushCallback(void *ptr)
{
Serial.print("n9.val=");
Serial.print(3);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
}
void c0PushCallback(void *ptr)
{
uint32_t number3 = 0;
c0.getValue(&number3);
Serial.print("n1.val=");
Serial.print(number3);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
}
void j0PushCallback(void *ptr)
{
Serial.print("j0.pco=");
Serial.print(63488);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
}
void b21PushCallback(void *ptr)
{
Serial.print("page 0");
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
}
void b22PushCallback(void *ptr)
{
memset(buffer, 0, sizeof(buffer));
t5.getText(buffer, sizeof(buffer));
Serial.print("t23.txt=");
Serial.print("\"");
Serial.print(buffer);
Serial.print("\"");
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
}
void b23PushCallback(void *ptr)
{
memset(buffer, 0, sizeof(buffer));
t6.getText(buffer, sizeof(buffer));
Serial.print("t23.txt=");
Serial.print("\"");
Serial.print(buffer);
Serial.print("\"");
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
}
void b24PushCallback(void *ptr)
{
memset(buffer, 0, sizeof(buffer));
t7.getText(buffer, sizeof(buffer));
Serial.print("t23.txt=");
Serial.print("\"");
Serial.print(buffer);
Serial.print("\"");
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
}
void page0PushCallback(void *ptr)
{
CurrentPage = 0;
}
void page1PushCallback(void *ptr)
{
CurrentPage = 1;
}
void page2PushCallback(void *ptr)
{
CurrentPage = 2;
}
void setup() {
Serial.begin(512000);
b1.attachPush(b1PushCallback);
b1.attachPop(b1PopCallback);
b0.attachPush(b0PushCallback);
b4.attachPush(b4PushCallback);
b21.attachPush(b21PushCallback);
b22.attachPush(b22PushCallback);
b23.attachPush(b23PushCallback);
b24.attachPush(b24PushCallback);
bt0.attachPop(bt0PopCallback);
h0.attachPop(h0PopCallback);
r0.attachPush(r0PushCallback);
r1.attachPush(r1PushCallback);
r2.attachPush(r2PushCallback);
c0.attachPush(c0PushCallback);
j0.attachPush(j0PushCallback);
page0.attachPush(page0PushCallback);
page1.attachPush(page1PushCallback);
page2.attachPush(page2PushCallback);
pinMode(13, OUTPUT);
}
void loop() {
delay(30);
variable1++;
if(variable1 > 240){
variable1 = 0;
}
Serial.print("n0.val=");
Serial.print(variable1);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
Serial.print("np.val=");
Serial.print(CurrentPage);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
if(CurrentPage == 0){
Serial.print("t1.txt=");
Serial.print("\"");
Serial.print("Hello!");
Serial.print("\"");
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
}
if(CurrentPage == 1){
Serial.print("add 2,0,");
Serial.print(variable1);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
}
Serial.print("z0.val=");
Serial.print(variable1);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
}
nexLoop(nex_listen_list);
It’s the code in the descriptions of the video i use to try to understand my problem. I also use the HMI file give by the guy. I try the “Custom library” from Author also, without result.
So, my problem is, i think my screen don’t send data to arduino.
I check voltage, 5V.
I use debug to test HMI solution, work well. If i use debug with MCU input and my arduino, the debug send data to arduino, arduino do the tricks and send back data to debug screen. It work well.
If i connect the screen at the same time as debug, on screen the page change, values changes etc… But, if i click on the screen button nothing happen (except change page)…
For details, i try with 3 diffrents Nano and One Mega (only on serial, others serial doesn’t work…).
My Connection was good also.
Is it more clear you think Perry ?
Thank you in advance 