Ciao, ho uno sketch già fatto e volevo "isolare" un comando, cioè quello che si occupa del bottone. Lo sketch originale è il seguente:
[code]
[code]
/* ===============================================================================
Vídeo Aula de Engenharia Eletrônica 188
Utilizando Display Nextion TFT com Arduino
Autor: Eng. Wagner Rambo
Data: Setembro de 2017
www.wrkits.com.br | facebook.com/wrkits | youtube.com/canalwrkits
=============================================================================== */
// ===============================================================================
// --- Biblioteca Auxiliar ---
#include "Nextion.h" //biblioteca Nextion
// ===============================================================================
// --- Mapeamento de Hardware ---
#define pot A0 //potenciômetro na analógica 0
#define led 13 //led onboard pino digital 13
// ===============================================================================
// --- Declaração de Objetos ---
//page id:0, id componente:1, nome do componente: "bt0"
NexProgressBar j0 = NexProgressBar(0, 4, "j0");
NexText pot_val = NexText(0, 2, "t0");
NexDSButton bt0 = NexDSButton(0, 5, "bt0");
// ===============================================================================
// --- Variáveis Globais ---
int pot_value = 0, //valor ad do potenciômetro
bar_value = 0; //valor da barra de progresso
char txt1[10], //texto para conversão e exibição
txt2[10];
uint32_t ds_var; //armazena o estado do botão
// ===============================================================================
// --- Configurações Iniciais ---
void setup()
{
nexInit(); //inicializa o tft
pinMode(led, OUTPUT); //defino saída para o led
digitalWrite(led, LOW); //inicia desligado
} //end setup
// ===============================================================================
// --- Loop Infinito ---
void loop()
{
//Atualização dos valores do Nextion
j0.setValue(bar_value);
pot_val.setText(txt1);
pot_value = analogRead(pot);
//Converte inteiros para string
memset(txt1, 0, sizeof(txt1));
itoa(pot_value, txt1, 10);
//Normaliza a barra animada de acordo com o valor do pot
bar_value = map(pot_value, 0, 1023, 0, 100);
bt0.getValue(&ds_var);
if(ds_var>0) digitalWrite(led, HIGH);
else digitalWrite(led, LOW);
} //end loop
Quello che ho isolato secondo le mia capacità e quello che riesco capire è il seguente:
#include "Nextion.h"
#define led 13
NexDSButton bt0 = NexDSButton(0, 5, "bt0");
uint32_t ds_var;
void setup()
{
nexInit();
pinMode(led, OUTPUT);
digitalWrite(led, LOW);
}
void loop()
{
bt0.getValue(&ds_var);
if(ds_var>0) digitalWrite(led, HIGH);
else digitalWrite(led, LOW);
}
me lo compila ma non funziona. Qualcuno sa dirmi dove sbaglio? grazie mille cosi apprendo meglio i comandi nextion