- Mensajes: 1
- Gracias recibidas: 0
Aviso
El foro está en modo de sólo lectura.
control de temperatura con arduino y nextion
- Alex_MG
- Autor del tema
- Fuera de línea
- Navegador Iniciado
Menos
Más
6 años 9 meses antes #501
por Alex_MG
control de temperatura con arduino y nextion Publicado por Alex_MG
hola tengo este programa en arduino el cual lee el sensor dht 11 mostrando humedad y temperatura, el caso es que yo quiero que el usuario pueda controlar la temperatura mediante la pantalla nextion (actualmente solo lee el valor del sensor y lo muestra en pantalla) simule la salida de un boton que activara unaresistencia pero no puedo hacer que funcione espero me puedas ayudar, asi mismo ver como poner varios leds o salidas para controlar mas parametros de antemano gracias saludos.
- Jose Luis
- Fuera de línea
- Navegador Platino
Menos
Más
- Mensajes: 620
- Karma: 6
- Gracias recibidas: 68
6 años 9 meses antes #502
por Jose Luis
Respuesta de Jose Luis sobre el tema control de temperatura con arduino y nextion
Ya veo que intentas leer el botón, siento no poder ayudarte ya que yo personalmente aun no comencé a usar la librería oficial, con lo que poco puedo aportar en tu ayuda. Espero alguien pueda decirte si haces algo mal.
- Jose Luis
- Fuera de línea
- Navegador Platino
Menos
Más
- Mensajes: 620
- Karma: 6
- Gracias recibidas: 68
6 años 9 meses antes #503
por Jose Luis
Respuesta de Jose Luis sobre el tema control de temperatura con arduino y nextion
Cuando solo quieres mostar un codigo, se ve mejor si lo pones aqui, en vez de un fichero adjunto :
#include "Nextion.h"
#include "DHT.h"
// Arduino -> Nextion
// Pino 5v -> Vermelho
// Pino GND -> Preto
// Pino 0 -> azul
// Pino 1 -> Amarelo
/*
* Definicao
* objeto [page id:0, id componente:1, nome do componente: "bt0"].
*/
NexProgressBar j0 = NexProgressBar(0, 6, "j0");
NexText txt_temp = NexText(0, 3, "t0");
NexText txt_umid = NexText(0, 5, "t2");
NexDSButton bt0 = NexDSButton(0, 7, "bt0");
// Configuracao do modulo DHT11
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
// Variaveis
int temp = 0;
int temp_perc = 0;
char buffer[100] = {0};
char buffer2[100] = {0};
int led = 13;
uint32_t dual_state;
void setup(void){
nexInit();
pinMode(led, OUTPUT);
}
void loop(void){
// Atualiza os valores do Nextion
j0.setValue(temp_perc);
txt_temp.setText(buffer);
txt_umid.setText(buffer2);
// Leitura do sensor DHT
int temp = dht.readTemperature();
int umid = dht.readHumidity();
// Conversao dos valores de inteiro para string
memset(buffer, 0, sizeof(buffer));
itoa(temp, buffer, 10);
memset(buffer2, 0, sizeof(buffer2));
itoa(umid, buffer2, 10);
// Conversao da temperatura para percentual (0 a 50)
temp_perc=(temp/0.5);
// Faz a leitura do valor do botao
bt0.getValue(&dual_state);
if(dual_state>0) {
digitalWrite(led, HIGH);
} else {
digitalWrite(led, LOW);
}
}
- Gustavo_Fabian
- Fuera de línea
- Navegador Junior
Menos
Más
- Mensajes: 21
- Gracias recibidas: 0
5 años 9 meses antes #1473
por Gustavo_Fabian
Respuesta de Gustavo_Fabian sobre el tema control de temperatura con arduino y nextion
Hola Jose Luis/Alex, me engancho a este post, para consultarles a ustedes si me pueden decir como puedo visualizar los valores con los decimales ya que hasta ahora solo he logrado de mostrar valores enteros.
uso la misma expresión del código anterior.
txt_temp.setText(buffer);
y entiendo que me trae la cadena de char buffer[100] = {0};
es por eso que no entiendo como expresar los decimales
desde ya muchas gracias
uso la misma expresión del código anterior.
txt_temp.setText(buffer);
y entiendo que me trae la cadena de char buffer[100] = {0};
es por eso que no entiendo como expresar los decimales
desde ya muchas gracias
- Jose Luis
- Fuera de línea
- Navegador Platino
Menos
Más
- Mensajes: 620
- Karma: 6
- Gracias recibidas: 68
5 años 9 meses antes #1474
por Jose Luis
Respuesta de Jose Luis sobre el tema control de temperatura con arduino y nextion
Con el ejemplo que indicas, efectivamente enviarias el contenido del buffer, pero no creo que te acepte como lo tienes puesto, ya que si es char no seria 0, sino "0".
- Gustavo_Fabian
- Fuera de línea
- Navegador Junior
Menos
Más
- Mensajes: 21
- Gracias recibidas: 0
5 años 9 meses antes #1475
por Gustavo_Fabian
Respuesta de Gustavo_Fabian sobre el tema control de temperatura con arduino y nextion
gracias Jose Luis, claro es lo que entiendo pero ¿como debería hacer para colocar el dato numérico (con digito)?
txt_temp.setText(numero digital);
txt_temp.setText(numero digital);
Tiempo de carga de la página: 0.119 segundos