Home Soluzioni Come controllare Smart Display da un host tramite CANopen: esempio di controllo gauge

Come controllare Smart Display da un host tramite CANopen: esempio di controllo gauge

May 04,2022

Introduzione

Nelle precedenti presentazioni degli Smart Display ci siamo concentrati principalmente sulle funzioni e sulle caratteristiche del prodotto, dedicando meno spazio alle modalità di controllo da parte dell'host nell'applicazione finale del cliente. In questo articolo utilizziamo un indicatore come esempio per mostrare come i dati provenienti da un controllo fisico e dall'host (Arduino) possano essere trasmessi al modulo Smart Display per aggiornare la visualizzazione.

In questo esempio, uno Smart Display da 4,3 pollici con CAN Bus visualizza un indicatore a 240 gradi controllato da un host. L'host è costituito da una scheda Arduino Mega 2560, un CAN Bus Shield e un Rotary Angle Sensor. I componenti necessari sono i seguenti:

  1. Smart Display da 4,3 pollici con CAN Bus
  2. Arduino Mega 2560
  3. CAN Bus Shield
  4. Rotary Angle Sensor
  5. CAN Bus Dongle
  6. GUI Builder
 

Schema del sistema

Schema del sistema di controllo host tramite CANopen per Smart Display

Passaggio 1: progettazione del progetto con GUI Builder

1.1 Creare un nuovo progetto e selezionare in GUI Builder il template vuoto per il display da 4,3 pollici.

Creazione di un nuovo progetto per Smart Display da 4,3 pollici in GUI Builder

1.2 Nel pannello Resource, selezionare il file immagine con sfondo nero per Background Style 0.

Selezione dell'immagine di sfondo nero per Background Style 0 in GUI Builder

1.3 Nella finestra Gauge Edit, impostare l'angolo di rotazione della lancetta.

►Per prima cosa, fare clic sul pulsante Modify relativo a Gauge Style 6.

Modifica di Gauge Style 6 in GUI Builder

►Una volta selezionato, nella finestra Gauge Editor viene visualizzata un'anteprima dell'indicatore, come mostrato di seguito.

Anteprima dell'indicatore nella finestra Gauge Editor di GUI Builder

►Selezionare la casella "Show Details" per visualizzare maggiori informazioni sulla rotazione della lancetta.

Impostazioni Show Details per la rotazione della lancetta in GUI Builder

►Gli angoli minimo e massimo della lancetta possono essere regolati utilizzando i pulsanti +/- nell'area Degree, come mostrato di seguito.

Regolazione degli angoli minimo e massimo della lancetta in GUI Builder

►Il Value Range è definito da un valore minimo e uno massimo. Quando viene ricevuto un valore tramite CAN Bus, questo viene associato agli angoli minimo e massimo di rotazione della lancetta.

Configurazione del Value Range dell'indicatore in GUI Builder

►Una volta completata la configurazione dell'indicatore, è possibile verificarne il funzionamento trascinando verso destra il cursore Test Value. All'aumentare del Test Value aumenta anche l'angolo della lancetta, fino a raggiungere il valore e l'angolo massimi impostati.

Verifica della rotazione della lancetta tramite Test Value in GUI Builder

Passaggio 2: compilazione e caricamento del progetto

2.1 Dopo aver completato le impostazioni precedenti, passare alla scheda Page Info e trascinare Gauge Style 6 al centro dello schermo.

2.2 Collegare il PC allo Smart Display tramite USB2CAN, quindi fare clic sulle icone "Connect Device" e "Upload the Project". Le risorse e le impostazioni della pagina vengono caricate sul modulo Smart Display tramite GUI Builder, come mostrato di seguito:

Connessione allo Smart Display e caricamento del progetto tramite GUI Builder

Avanzamento del caricamento del progetto in GUI Builder

2.3 Lo schermo passa dalla schermata di avvio alla schermata operativa. Quando sullo Smart Display da 4,3 pollici con CAN Bus viene visualizzata la schermata seguente, il caricamento è stato completato correttamente.

Indicatore a 240 gradi visualizzato sullo Smart Display da 4,3 pollici dopo il caricamento

Passaggio 3: programmazione dell'host Arduino

Programmazione dell'host Arduino per il controllo CANopen dello Smart Display

3.1 Passare alla scheda Page di GUI Builder. Nella struttura CANopen, l'indice di Gauge Style 6 corrisponde all'object 0 (0x2000). È importante conoscere l'indice dell'oggetto: una volta identificato, l'host Arduino può eseguire il polling o modificare lo stato dell'oggetto, come illustrato nel codice di esempio seguente.

3.2 L'host Arduino può utilizzare la funzione "ConfigSmartDisplay" per impostare type, posizione x/y, style, configuration e immagine di sfondo dell'object 0. In alternativa, senza ulteriori configurazioni da parte dell'host Arduino, lo Smart Display può leggere i dati dell'oggetto già presenti nella memoria Flash onboard (precedentemente caricati tramite GUI Builder) e visualizzare sullo schermo gli oggetti configurati.

Codice Arduino per la configurazione dei parametri degli oggetti dello Smart Display

Esempio della funzione Arduino ConfigSmartDisplay per la configurazione degli oggetti

3.3 Quando l'host Arduino rileva una variazione del valore del Rotary Angle Sensor, invia il valore corrispondente allo Smart Display tramite CANopen.

Nel programma seguente sono riportati gli ID e i sub-index principali della struttura dei comandi. Il programma aggiorna il valore dell'indicatore (object index 0) in base al valore ricevuto dal Rotary Angle Sensor.

Codice Arduino CANopen per l'aggiornamento del valore dell'indicatore sullo Smart Display

Appendice: configurazione del progetto

Per maggiori dettagli sul programma, consultare il seguente repository GitHub: https://github.com/Smart-Display-Series/SmartDisplay_CANbus_Arduino_Examples. Il video seguente mostra la configurazione e il funzionamento dell'hardware utilizzato.

 

Prova gratuitamente WINSTAR GUI Builder. Compila il modulo di richiesta per ricevere via e-mail il link per scaricare GUI Builder.

Qualche domanda sulle soluzioni di visualizzazione per la propria azienda? Contatti!

Iscrizione

Ricevere e-mail sugli aggiornamenti delle notizie da Winstar

Contatti

Prezzo/Scheda tecnica/Richiesta generale

Supporto tecnico

Si prega di contattarci per qualsiasi informazione tecnica

go top
Contatti
close

Valorizziamo la tua privacy

Facendo clic su "Consenti tutti i cookie", accetti la memorizzazione dei cookie sul tuo dispositivo per migliorare la navigazione del sito, analizzare l'utilizzo del sito e assistere nei nostri sforzi di marketing e prestazioni. Puoi trovare ulteriori informazioni su questo argomento nella nostra politica. Informativa sulla privacy

Valorizziamo la tua privacy

Winstar e alcune terze parti utilizzano i cookie su www.winstar.com.tw. I dettagli relativi ai tipi di cookie, al loro scopo e alle terze parti coinvolte sono descritti di seguito e nella nostra Informativa sui cookie. Fare clic su "Consenti tutti" per acconsentire all'uso dei cookie e ottenere la migliore esperienza possibile sui nostri siti web. Puoi anche impostare le tue preferenze o rifiutare i cookie (ad eccezione dei cookie strettamente necessari).

Gestisci le preferenze di consenso

Sempre attivo
Cookie essenziali

Questi cookie sono essenziali per permetterti di navigare nel sito web e utilizzare le sue funzionalità, come impostare le tue preferenze sulla privacy, effettuare il login o compilare moduli.

Cookie di analisi

Questi sono noti anche come "cookie statistici"; raccolgono informazioni su come utilizzi un sito web, come quali pagine hai visitato e quali link hai cliccato. Vedi dettagli.