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:
Smart Display da 4,3 pollici con CAN Bus
Arduino Mega 2560
CAN Bus Shield
Rotary Angle Sensor
CAN Bus Dongle
GUI Builder
Schema del sistema
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.
1.2 Nel pannello Resource, selezionare il file immagine con sfondo nero per Background Style 0.
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.
►Una volta selezionato, nella finestra Gauge Editor viene visualizzata un'anteprima dell'indicatore, come mostrato di seguito.
►Selezionare la casella "Show Details" per visualizzare maggiori informazioni sulla rotazione della lancetta.
►Gli angoli minimo e massimo della lancetta possono essere regolati utilizzando i pulsanti +/- nell'area Degree, come mostrato di seguito.
►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.
►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.
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:
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.
Passaggio 3: programmazione dell'host Arduino
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.
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.
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