Aviso

El foro está en modo de sólo lectura.

ARCHIVOS .INO/HMI

Más
7 años 1 mes antes #10 por raiker
ARCHIVOS .INO/HMI Publicado por raiker
hola a todos
me sorprente que no se pueda subir archivos .ino o incluso los .hmi del editor de nextion de los ejemplos que se van gererando con las dudas, si existe alguna otra forma para dejarlos en el foro lo agradeceria.
un saludo
Más
7 años 1 mes antes #11 por jlcamba
Respuesta de jlcamba sobre el tema ARCHIVOS .INO/HMI
Tienes razón, no se puede directamente por que generalmente o se postea como si fuera un trozo de código o bien se sube en un archivo .rar o .zip que si están permitidos
Más
7 años 1 mes antes - 7 años 1 mes antes #12 por jlcamba
Respuesta de jlcamba sobre el tema ARCHIVOS .INO/HMI
Si no me equivoco e codigo del arduino es este :
#include <RTCLib.h>

#include "DHT.h"  //Añadimos la libreria con la cual trabaja nuestro sensor
#include <Wire.h>
#include <SoftwareSerial.h>
SoftwareSerial NexSerial(10,11);// RX,amarillo TX,azul en pines 10 y 11 respectivamente
int h1;
int t1;
int h2;
int t2;
//#define DHTPIN 13     // Indicamos el pin donde conectaremos la patilla data de nuestro sensor
// Conecta el pin 1 (izquierda) de los sensores +5V
// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
// to 3.3V instead of 5V!
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Conecta el pin 4 (izquierda) de los sensores a GROUND
// Conecta una resistencia de 10K entre el pin 2 y el 1 de los sensores
#define HT1 2
#define HT2 3

// El sensor que vas a emplear. En este caso usamos el DHT11
#define DHTTYPE DHT11   // DHT 11
#define DHTTYPE DHT22   //DHT 22
DHT dht1 (2, DHT22);  //Indica el pin con el que trabajamos y el tipo de sensor
DHT dht2 (3, DHT11);  //Indica el pin con el que trabajamos y el tipo de sensor

void setup() {
  Serial.begin(9600);
  Serial.println("Testeando sensores");
  NexSerial.begin(9600);
  dht1.begin();  //Iniciamos el sensor exterior
  dht2.begin();  //Iniciamos el sensor interior
  
  }

void loop()
{
  // espera 2 segundos a que se chequee los sensores
  delay(2000);
  float h1, h2, t1, t2;
  // La lectura de la temperatura o de la humedad lleva sobre 250 milisegundos 
  // La lectura del sensor tambien puede estar sobre los 2 segundos (es un sensor muy lento)
  h1 = dht1.readHumidity();  //Guarda la lectura de la humedad en la variable float h
  t1 = dht1.readTemperature();  //Guarda la lectura de la temperatura en la variable float t

  h2 = dht2.readHumidity();  //Guarda la lectura de la humedad en la variable float h
  t2 = dht2.readTemperature();  //Guarda la lectura de la temperatura en la variable float t
  if (isnan(h1) || isnan(t1)) {
    Serial.println("Fallo lectura sensor temperatura exterior!"); //imprime si hay fallo de cable cortado sensor ext
    return;
  }
    if (isnan(h2) || isnan(t2)) {
    Serial.println("Fallo lectura sensor temperatura interior!"); //imprime si hay fallo de cable cortado sensor int
    return;
  }
 

  //Mostramos mensaje con valores actuales de humedad y temperatura, 
  Serial.print("Humedad exterior: ");
  Serial.print(h1);
  Serial.print(" %\t");
  Serial.print("Temperatura exterior: ");
  Serial.print(t1);
  Serial.println(" °C ");
  Serial.print("Humedad interior: ");
  Serial.print(h2);
  Serial.print(" %\t");
  Serial.print("Temperatura interior: ");
  Serial.print(t2);
  Serial.println(" °C ");
}
void Screens ()  // Subrutina,cambia de pagina durate 3 segundos
 {
  NexSerial.print("page 4");
  NexSerial.write(0xff);
  NexSerial.write(0xff);
  NexSerial.write(0xff); 
  Serial.print(" page 1");
  delay(3000);
  NexSerial.print("page 0"); 
  NexSerial.write(0xff);
  NexSerial.write(0xff);
  NexSerial.write(0xff);
 } 


Estoy en lo cierto? Si no actualizaste el codigo, este es el que me enviaste al correo.

Hay una serie de cosas que no entiendo.

1 .- Si estas usando una placa con 3conexiones serial, ¿Para que simular una conexion serial si puedes tener una fisica?
2.- La conexion serial que estaria en la pantalla seria la virtual, no?
3.- No hay ninguna llamada al proceso Screens con lo cual no envia nada a la pantalla.

Si me equivoco en algo, corrigeme.
Última Edición: 7 años 1 mes antes por jlcamba.
Más
7 años 1 mes antes #13 por raiker
Respuesta de raiker sobre el tema ARCHIVOS .INO/HMI
hola jose luis
a ver estoy utilizando el mega, cierto tengo varios puertos para la nextion,el codigo no ha sido modificado, la parte del proceso screen esta en pruebas y ya casi la tengo funcionando, necesito saber que comando usar por ejemplo para decirle al mega que use el serial 1 para que envie y reciba datos de la nextion y en la parte de serial print (imprimir valores de la captura de datos) no se como se hace me he perdido, gracias
Más
7 años 1 mes antes #14 por jlcamba
Respuesta de jlcamba sobre el tema ARCHIVOS .INO/HMI
Sencillo, para usar el serial 2 de tu arduindi solo has de poner eso, en vez de Serial.print .. que estaría con el serial 1, pondrías Serial2.print .. asi de secillo, creo que tu placa tiene tres seriales.

Luego para enviar desde serial 2 hacia nextion es fácil, si lo que quieres es enviar un dato numérico, por ejemplo la temperatura, debes hacer como hacíamos nosotros en el video 4 de la nextion, es decir, enviando una parte entera y otra decimal. Ahí hicimos un ejemplo. Si lo que quieres es solo representar en valor en pantalla de nextion, lo puedes mandar como string y entonces no es necesario enviar los datos numéricos. Por eemplo, imagínate que tu etiqueta en la tarjeta nextion es t0, y vamos enviar desde serial 2, el código seria :

Serial2.print("t0.txt="\");
Serial2.print(variablemedidatemperatura);
Serial2.print("\"");
Serial2.write(0xff);
Serial2.write(0xff);
Serial2.write(0xff);

Con esto que acabas de ver, te enviaría por el serial 2, el valor correspondiente a variablemedidatemperatura.
Si en la pantalla existe la etiqueta t0, se iria actualizando con el valor de esa variable.
Más
7 años 1 mes antes - 7 años 1 mes antes #16 por raiker
Respuesta de raiker sobre el tema ARCHIVOS .INO/HMI

Archivo Adjunto:

Nombre del Archivo: ibiza.rar
Tamaño del Archivo:1 KB


Hola jose luis, me has aclarado bastante pero sigue sin funcionar, he probado con los tres puertos, conectandolos donde tx de nextion a rx del mega y viceversa, no se si el tema esta en iniciar el serial1 begin en el void setup, de todas formas te mando el archivo modificado a ver en que me he equivocado, el ejemplo de mi nextion es el que usaste para mostrar numero t texto muy simple n0 y t0, en este ejemplo que lo he conectado al serial1 me aparece en el monitor serial del editor de arduino estos valores
n0.val=23.00ÿÿÿn0.val=23.00ÿÿÿ

por lo que creo que si esta enviando datos a la nextion
Adjuntos:
Última Edición: 7 años 1 mes antes por raiker. Razón: completar informacion
Tiempo de carga de la página: 0.108 segundos
Gracias a Foro Kunena