Scrolling Immagini

 

 

Preparazione di due immagini da 480x700 apartire daun'unicaimmagine da 480x2000.

  • Con Adobe Photoshop apro l'immagine da 480x2000
  • Seleziono "Selezione rettangolare" sulla barra in alto imposto Stile: "Dimensione fissa"
  • Clicco su un punto qualsiasi ad es alla x=0 e y=0 comparirà il tratteddio della selezione
  • Menù "Selezione/Trasforma selezione"
  • Barra in attivo l'icona a forma di triangolo "Usa posizionament relativo per punto di riferimanto"
  • Imposta la x=0 e la y=700 la selezione si osterà in questa posizione
  • Fai dopio click sulla selezione
  • Menù "Immagine /Ritaglia" l'immagine verrà ritagliata
  • Fai Ctrl + D per eliminare il tratteggiato della selezione
  • Ora "Salva con nome" e salva il ritaglio con il nome che desideri

Le due immagini ritaglio ora sono perfettamente combacianti.

Creazione progettto HMI

 

Siamo alla pagina 0

andiamo in Program.s ed impostiamo così "baud=921600//Configure baudrate"

inseriamo due oggetti ExPicture exp0 e exp1 questi hanno entrambe la dimensione di 480 x 700. La exp0 viene posizionata a x=0 e y=0, l'exp1 viene posizionata a x=0 e y=700. L'exp0 visualizzerà solo la porzione dell'immagine Alta che va da y=0 a y=271,mentre la exp1 sarà completamente fuori schermo.

Aggiungiamo un oggetto Timer tm0 nella pagina 0, con tim=50 (millisecondi) e en=1. Nell'TimerEvent inseriamo:

 

if(tch1>0)
{
print "H"
print tch1
}

 

quessto farà si che il Nextion invii ogni 50 millisecondi un messaggio del genere:

48 9F 00 00 00

Dove:

48 "H" ASCII

9F LSB

00 MSB

00 Padding

00 Padding

Questo lo chiameremo pacchetto H

il secondo ed il terzo byte contengono la coordinata y

Inseriamo nell'evento release dell'exp0  questo: print "R". Così pure nell'evento release dell'exp1 print "R"

 

Ora dobbiamo scrivere uno sketch in Arduino ESP32.

l'Arduino e il Nextion comunicano trame porta seriale hardware UART2

 

#include <Arduino.h>
#include <HardwareSerial.h>

 

void setup() {
Serial.begin(115200);
delay(2000);
nextion.begin(921600, SERIAL_8N1, 7, 6);
}

 

CopiaQui

 

CopiQui