Progetto di una libreria per LCD 16×2 compatibile con Arduino M0 PRO

Questo articolo è stato scritto con lo scopo di provare a dare le nozioni fondamentali per la creazione di una libreria Arduino, in particolare analizzeremo una libreria da me creata e non ancora esistente che permette di gestire un display LCD 16x2 con controller Hitachi HD44780 compatibile. Le librerie vengono più volte usate in file sorgente, ed hanno lo scopo di semplificare di molto il listato di un programma rendendolo più snello e comprensibile, queste sono costituite da funzioni o strutture di dati ed hanno la caratteristica fondamentale di essere riutilizzabili evitando così al programmatore di riscrivere il codice ogni qualvolta si ha la necessità di eseguire quelle determinate operazioni.

L'idea di sviluppare la libreria è nata da una mia esigenza di progettazione, visto che quella messa a disposizione dall'IDE di Arduino non era ancora stata resa compatibile con il controller di Arduino M0 Pro, avendo la necessità di controllare un display di questo tipo ho deciso di crearla da zero.

Componenti utilizzati

  • Board Arduino M0 Pro
  • LCD Data Vision DV-16275  compatibile con i segnali di dato a 3.3 Volt provenienti dalla M0 Pro (da notare che il display va comunque alimentato a 5 Volt, ma riconosce perfettamente i segnali d'ingresso a 3.3 Volt come visibile a pagina 21 del datasheet scaricabile dal link seguente  Datasheet dv-12765.
  • Resistenza 220 Ohm 1/4 Watt per impostazione contrasto standard LCD tra pin 3 e GND

 

PREPARAZIONE DI UNA NUOVA LIBRERIA

Una libreria per Arduino è costituita da due file fondamentali che sono un file .h ed un file .cpp, ed un file opzionale che è il keywords.txt.

Il file .h o header file contiene la dichiarazione della classe, tutte le funzioni usate nella stessa e le definizioni delle variabili necessarie, il file .cpp contiene il codice vero e proprio di ogni funzione , mentre il file keywords.txt, che ripeto  è opzionale, contiene le parole chiave e permette di visualizzare le chiamate alla libreria di colore diverso ogni qualvolta si invoca una singola funzione nello sketch.

Di fondamentale importanza è che sia la cartella che il file .h  ed il file .ccp abbiano lo stesso nome, come vedremo di seguito, quindi dovremo innanzitutto creare una cartella con un nome che descriva intuitivamente per questione di comodità il nome della libreria,  che contenga sia il file .h che il file .cpp ed eventualmente anche il keyword.txt tutti con lo stesso nome.

Nel mio caso ho nominato libreria "LCD_m0" e di conseguenza, come accennato precedentemente, ho creato una cartella con lo stesso nome e con all’interno i tre file di cui abbiamo discusso prima, ottenendo il risultato seguente (Fig.1):

Creazione cartella di libreria

Fig.1

 

Nella cartella si nota una sottocartella con nome examples, della quale parleremo in seguito e che sostanzialmente contiene gli esempi della libreria sviluppata che vengono messi a disposizone da chi la progetta, per facilitare la comprensione d’utilizzo della stessa.

File LCD_m0.h

Entriamo a questo punto in merito al file LCD_m0.h e vediamo come è strutturato [...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2884 parole ed è riservato agli abbonati PLATINUM. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici PREMIUM e PLATINUM e potrai fare il download (PDF) di tutti gli EOS-Book, Firmware e degli speciali MONOTEMATICI. ABBONATI ORA con PAYPAL è semplice e sicuro.

Abbonati alle riviste di elettronica

17 Commenti

  1. Ernesto Sorrentino 10 novembre 2015
  2. Emanuele Bonanni Emanuele 11 novembre 2015
    • Mario Mottula 17 novembre 2015
  3. Giulio Giulio 16 novembre 2015
    • Mario Mottula 17 novembre 2015
  4. Mario Mottula 17 novembre 2015
    • Giulio Giulio 18 novembre 2015
  5. Mario Mottula 18 novembre 2015
  6. Emanuele Bonanni Emanuele 18 novembre 2015
  7. Giulio Giulio 19 novembre 2015
  8. domenico.condemi 31 maggio 2016
    • Mario Mottula 5 giugno 2016
  9. Silv59 10 agosto 2016
    • Mario Mottula 10 agosto 2016

Scrivi un commento