Utilizza STONE Il touch screen crea una semplice bilancia elettronica

STONE display touch screen seriale

STONE il touch screen seriale ha un'ampia gamma di USI, che copre strumenti di misura civili, medici, di precisione e altri campi. Ora userò un 5 pollici STONE schermo HMI seriale per realizzare una semplice bilancia elettronica.

Sono necessari i seguenti moduli

  1. STONE STVC050WT-01 modulo display porta seriale touch screen
  2. Scheda di sviluppo STM32F103RC
  3. Modulo di acquisizione della pressione
  4. Modulo di conversione ADC

Lo schema a blocchi della connessione hardware è il seguente:

schema a blocchi di connessione hardware(1)

Tutti i nostri moduli hardware sono collegati secondo il principio di connessione di questo schema a blocchi.

I contenuti visualizzati sono i seguenti:

  • Visualizza il peso degli articoli attualmente posizionati sul vassoio tramite il STONE modulo di visualizzazione.
  • L'utente può eseguire tre operazioni, ovvero: pelatura, cambio unità e azzeramento.

Modulo bilancia elettronica acquistato tramite il centro commerciale online

schema a blocchi di connessione hardware

schema a blocchi di connessione hardware

È principalmente diviso in due parti, una delle quali è il modulo quasi sostitutivo HX711.
Uno è il modulo sensore di pressione.
L'effetto dopo che queste due parti sono state collegate può fare riferimento all'immagine seguente. Ho aggiunto un altro pallet:

schema a blocchi di connessione hardware

STONE STVI050WT-01 Visualizza la descrizione del modulo

In questo progetto, ho utilizzato il display della porta seriale touch screen di STONE STVC050WT-01 come interfaccia utente.
Questa STONE il display è stato integrato con il chip del driver e il computer superiore può essere utilizzato dagli utenti, gli utenti devono solo progettare immagini dell'interfaccia utente tramite il computer per aggiungere pulsanti, casella di testo e quindi generare file di configurazione da scaricare sullo schermo può essere eseguito.
Lo schermo di visualizzazione di STVC050WT-01 comunica con l'MCU tramite il segnale UART-TTL e anche l'UART di STM32 MCU è a livello logico TTL, quindi il STONE schermo e STM32 possono comunicare direttamente con UART.
Inoltre, il sito ufficiale di STONE vende anche il display touch seriale che supporta il livello logico uart-232. Quando si utilizza lo schermo di visualizzazione che supporta uart-232, dobbiamo solo aggiungere un chip MAX232 per eseguire la conversione del livello logico, quindi possiamo comunicare con l'SCM.
Se non sei sicuro di come utilizzare il MAX3232, fai riferimento alle seguenti immagini:

schema a blocchi di connessione hardware

Se la conversione del livello è troppo problematica, è possibile utilizzare altri tipi di schermi di visualizzazione. Alcuni modelli possono emettere direttamente il segnale uart-ttl.
Il sito web contiene informazioni dettagliate e introduzione: https://www.stoneitech.com/
Se vuoi utilizzare il video tutorial e il tutorial, puoi anche scaricare il sito ufficiale.

Cosa è necessario per sviluppare il STONE modulo display porta seriale touch screen?

Ci sono tre fasi principali nello sviluppo del STONE modulo di visualizzazione:

  • Usa il STONE Software TOOL per progettare la logica di visualizzazione e la logica dei pulsanti e scaricare il file di progettazione nel modulo display.
  • MCU comunica con il STONE Modulo display LCD tramite porta seriale.
  • Con i dati ottenuti nel passaggio 2, MCU esegue altre azioni.

Naturalmente, uno dei prerequisiti è progettare un bel set di interfacce UI, solitamente in formato JPEG.

Nei tre passaggi precedenti, dobbiamo installare diversi software sul nostro PC:

  • STONE STRUMENTO 2019
  • Photoshop o altri software di grafica

Usa il STONE UTENSILE software

Scarica l'ultima versione del STONE TOOL dal sito Web ufficiale (attualmente TOOL2019) e installarlo.
Al termine dell'installazione del software, verrà aperta la seguente interfaccia:

schema a blocchi di connessione hardware

Fare clic sul pulsante "File" nell'angolo in alto a sinistra per creare un nuovo progetto, che verrà descritto in seguito.
Mentre Photoshop viene utilizzato principalmente per creare un'interfaccia utente. Nel STONE display della porta seriale touch screen, tutte le interfacce utente vengono caricate e visualizzate sotto forma di immagini, mentre i caratteri sono i caratteri integrati nello schermo.

Come si usa STONE software STRUMENTO?

Innanzitutto, dobbiamo progettare una serie di interfacce dell'interfaccia utente con Photoshop. La seguente interfaccia è un'immagine dell'interfaccia utente molto semplice che ho progettato con Photoshop:

schema a blocchi di connessione hardware schema a blocchi di connessione hardware

La prima immagine è l'interfaccia di visualizzazione principale. Dopo che l'utente ha scaricato l'immagine nel file STONE display touch screen seriale, lo schermo continuerà a visualizzare l'immagine dopo l'alimentazione. Ci sono una casella di visualizzazione del testo e tre pulsanti nell'immagine. Il software TOOL 2019 può configurare quali dati il STONE schermo invia attraverso la porta seriale quando si premono i pulsanti.

Lo stesso software TOOL2019 consente inoltre di configurare come verrà visualizzata la finestra di visualizzazione del testo.

In questo progetto, viene premuto il pulsante "Pelato", il STONE lo schermo invierà un'istruzione all'MCU STM32 tramite UART, Microcontrollore STM32 dopo aver ricevuto l'istruzione, ignorerà il sensore di pressione raccolto nei valori correnti.

Il pulsante "Cancella" è la funzione di azzeramento e il pulsante "Unità" serve per cambiare l'unità di visualizzazione.

Progetta la logica dell'interfaccia utente nel software TOOL 2019

Dopo aver progettato l'interfaccia utente per visualizzare l'immagine, salvala come JPG.
Aprire il STONE TOOL2019 e crea un nuovo articolo:

schema a blocchi di connessione hardware

schema a blocchi di connessione hardware

Elimina le immagini che il nuovo progetto carica per impostazione predefinita, quindi aggiungi le nostre immagini dell'interfaccia utente.
Possiamo vedere che le due immagini dell'interfaccia utente che abbiamo appena progettato sono già caricate.
Logica del pulsante di progettazione

schema a blocchi di connessione hardware

Il componente è rappresentato da frecce verso l'esterno un componente pulsante, aggiungerlo all'area Pelati, relative alle proprietà del componente sono le seguenti:

schema a blocchi di connessione hardware

Coordinate X: la X coordina la posizione del componente nell'interfaccia utente complessiva

Coordinate Y: la posizione in direzione y del componente nell'interfaccia utente complessiva

Larghezza altezza: la larghezza e la lunghezza del componente

Blocco mobile: posizione fissa

Nome definire: il Nome del componente

Effetto pulsante: l'effetto della pressione di un pulsante

Cambio pagina: premere il pulsante per passare alla Pagina successiva, o null se non ce n'è una

File audio: il file audio da riprodurre quando si preme il pulsante

Indirizzo di memoria variabile: l'indirizzo di un componente sul display

Ho cambiato principalmente due posti:

schema a blocchi di connessione hardware

Dopo questa modifica, significa che quando il pulsante viene premuto, l'effetto del pulsante è l'effetto della pagina "1_effetto", quindi il STONE lo schermo invia "000A" all'MCU tramite la porta seriale del touch screen.
Gli altri due pulsanti vengono aggiunti in modo simile.

Aggiungi il componente di testo dei dati

Abbiamo solo bisogno di visualizzare due serie di dati in totale, vale a dire i dati di peso e le unità della bilancia elettronica.
Questi due dati sono numeri e lettere, quindi devono essere visualizzati separatamente.

3-diagramma-a-blocchi-connessione-hardware(17)

3-diagramma-a-blocchi-connessione-hardware(18)

L'"Impostazione proprietà" a destra è l'impostazione Proprietà per il componente, in cui vengono impostati la posizione del componente, le dimensioni, il nome, il valore iniziale, la lunghezza dei dati, l'indirizzo del componente e così via.
Quello che deve essere spiegato qui è l'indirizzo del componente. Ogni componente ha un indirizzo di componente indipendente. L'indirizzo del componente mostrato nella figura è 0x0133.
Questo è determinato dall'indirizzo del componente.

Esecuzione di simulazione

Fare clic sul profilo genera e simula la corsa per vedere l'effetto.

L'area rossa è l'effetto della pressione del pulsante.

Modificare il baud rate UART del STONE display touch screen seriale

Il display supporta la modifica del baud rate UART nella seguente interfaccia:

La velocità di trasmissione massima è 921600 e, in questo caso, sto usando 115200.
La modifica del baud rate sta effettivamente modificando i valori dei registri R1, R5 e R9 nel file STONE modulo display touch screen seriale:

Quando R1 è 0x00-0x10, R5 e R9 non sono validi.
Quando R1 è uguale a 0x11, il baud rate è determinato da R5 e R9.
Genera il file di configurazione e scaricalo nel file STONE schermo.
Una volta completata la progettazione dell'interfaccia dell'interfaccia utente di cui sopra, il file di configurazione può essere generato e quindi scaricato sul modulo display STVC050WT-01. Questa parte dell'operazione è descritta nei materiali di sviluppo di STONE.

 

Dopo aver eseguito il passaggio 1 e inserito un'unità USB nel computer, il disco verrà visualizzato. Quindi fare clic su "Scarica su u-disk” per scaricare i file di configurazione sull'unità USB e inserire l'unità USB in STVC050WT-01 per completare l'aggiornamento.

Quindi fare clic su download online e seguire le istruzioni per aggiornare il file di configurazione al file STONE modulo di visualizzazione.

Dopo aver scaricato il file di configurazione in STONE display touch seriale, possiamo avviare la programmazione dell'MCU STM32.

Qui annotiamo gli indirizzi di diversi componenti:

Indirizzo di visualizzazione del valore di testo: 0x000d
Indirizzo di visualizzazione del valore dell'unità: 0x000e
L'indirizzo del pulsante spellato: 0 x000a
L'indirizzo del pulsante "cancella": 0x000b
Indirizzo del pulsante "Unità": 0x000c

Modulo HX711

Una semplice introduzione

L'HX711 è un chip convertitore A/D a 24 bit progettato per bilance elettroniche ad alta precisione. Il sensore di pressione è in realtà la variazione del valore di resistenza e, infine, la conversione dell'acquisizione HX711, nell'acquisizione STM32.
In questo progetto, abbiamo solo bisogno di sapere quali sono i dati di output di HX711 e come raccogliere i dati di HX711 tramite STM32.
Il modulo HX711 ha quattro interfacce:
1, il CC
2, GND
Questa parte dei principi di programmazione si rifletterà nella seguente programmazione STM32.

Il principio dell'hardware

Il diagramma schematico del modulo HX711 è il seguente:

Sulla sinistra c'è un sensore a ponte composto da quattro resistori. Il peso di diversi oggetti cambierà il valore di resistenza corrispondente, quindi possiamo convertire il peso effettivo tramite HX711.
In 51 MCU, il software Proteus può essere utilizzato per la simulazione:

STM32F103RCT6

STM32 SCM con cui abbiamo molta familiarità qui non è per fare troppe presentazioni.
Quella che segue è la scheda di sviluppo STM32 che ho usato:

Architettura dell'applicazione

Il codice principale è il seguente:

#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "hx711.h"
#define KEY_PEELED           0x0a
#define KEY_CLEAR            0x0b
#define KEY_UINT             0x0c
#define DISPLYER_ADDR0           0x0d
#define DISPLYER_ADDR1           0x0e
extern u8 USART_RX_END;
u8 data_send[8]= {0xA5, 0x5A, 0x05, 0x82, 0x00, 0x00, 0x00,0x00};
void UART1_Send_Array(u8 *send_array,unsigned char num)
{
u8 i=0;
while( USART_GetFlagStatus(USART1,USART_FLAG_TC)!= SET);
while(i<num)< span=""></num)<>
{
USART_SendData(USART1,send_array[i]);
while( USART_GetFlagStatus(USART1,USART_FLAG_TC)!= SET);
i++;
}
}
int main(void)
{
int cm,peeled;
u16 time=0;
delay_init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
uart_init(115200);  //UART INIT
ADInit();//HX711 INIT
delay_ms(1000);
while(1)
{
delay_ms(5);
time++;
if(time>=60)
{
cm=11270-Get_Weight();//»ñȡʵÎïÖØÁ¿
//if(cm<=0)cm=0;
if(peeled)
{
cm=cm-peeled;
}
time=0;
data_send[5]=DISPLYER_ADDR0;
data_send[6] = cm >> 8;//hight
data_send[7] = cm & 0x00ff;//low
UART1_Send_Array(data_send,8); //Send display data
}
if(USART_RX_END)
{
switch (USART_RX_BUF[5])
{
case KEY_PEELED:
peeled=cm;
break;
case KEY_CLEAR:
peeled=0;
break;
case KEY_UINT:
break;
default:
USART_RX_END=0;
USART_RX_STA=0;
break;
}
USART_RX_END=0;
USART_RX_STA=0;
}
}
}

STONE visualizzare la descrizione del formato dei dati UART

La seguente istruzione significa scrivere 00 04 all'indirizzo 0x0020 dell'area di memorizzazione dei dati:

0xA5 0x5A 0x05 0x82 0x01 0x33 0x00 0x04
0xA55A: intestazione del frame di dati
0x05: lunghezza dei dati validi, a partire da 0x82
0x82: istruzione di scrittura del registro
0x0133: scrive l'indirizzo di memoria
0x0004: i dati da scrivere

Basta programmare in Arduino e inviare i dati in questo formato al STONE modulo display touch seriale per completare la visualizzazione dei dati.
Quando l'utente preme il pulsante sul display della porta seriale touch screen, STM32 riceverà 8 byte di dati. Abbiamo solo bisogno di determinare il quinto byte di dati per determinare quale pulsante è stato premuto dall'utente, quindi scrivere il codice per l'MCU per eseguire l'operazione corrispondente.

Semplice effetto bilancia elettronica

3-diagramma-a-blocchi-connessione-hardware(29)

Scorrere fino a Top