Durante un mio recente corso presso l’Universit� di Padova ho spiegato come installare e creare librerie in Arduino utilizzando le informazioni che scrissi tempo fa nel tutorial: Arduino � lezione 08: display a 7 segmenti e creazione di librerie
aggiungo a quanto gi� scritto alcuni approfondimenti e precisazioni che credo possano essere utili per chi incomincia ad utilizzare Arduino.
Esistono due modi per installare una libreria in Arduino:
Modo 1
Dalla versione 1.0.5 in avanti � possibile l�installazione automatica delle librerie all�interno della cartella sketchbook.
La posizione esatta della cartella �libraries� � funzione del sistema operativo. Tipicamente la libreria � costituita�da un�gruppo di file compressi in formato .zip da importare dal men� principale.
A titolo di esempio supponiamo di voler installare la libreria per la gestione del Real Time Clock DS1307 dal sito PJRC e installiamola importandola come�file .zip
Sul sito indicato prelevate il file facendo click sul link che vi indica l�ultima versione, cos� come riportato nell�immagine che segue, sarete reindirizzati sul sito GitHub da cui potrete prelevare l�intera libreria.
Importare il file .ZIP attraverso il men�:
Sketch -> Include Library -> Add .ZIP Library…
Selezionate la cartella o il file .zip che contiene tutti i file che costituiscono la libreria.
Dopo l�installazione � necessario riavviare l�IDE.
Troverete nella cartella library la libreria appena installata:
Le ultime versioni dell�IDE permettono l�aggiunta di librerie in una modalit� leggermente diversa e tutte le funzioni di gestione delle librerie sono racchiuse sotto �Include Library�, inoltre nelle ultime versioni vengono riconosciute in automatico le nuove versioni delle librerie che si stanno utilizzando e il loro riconoscimento avviene senza il riavvio dell�IDE.
Nel caso in cui si volesse aggiungere la libreria sopra � possibile verificare se � fra quelle riconosciute immediatamente dall�IDE Arduino.
Procedete in questo modo:
- effettuare una ricerca per DS1307
- selezionate la libreria di vostro interesse
- click su install
In fondo alla finestra verr� visualizzata la barra di avanzamento installazione:
a fine installazione comparir� di fianco al nome della libreria: “INSTALLED”
All’interno della cartella “libraries” troverete la cartella DS1307RTC appena installata:
Metodo 2
Questo metodo, gi� spiegato nel mio precedente post, consiste nell�aggiunta manuale della libreria.
- Chiudere l�IDE di Arduino
- Scompattate i file .zip che contiene tutti i file della libreria in una cartella temporanea
- All�interno della cartella scompattata�dovranno essere presenti almeno due file:
- un file .c o .cpp (il programma)
- un file .h (un include o file header)
- Posizionatevi nella �libraries� /sketchbookj/libraries e create in essa una cartella che ha lo stesso nome dei due file (.c e .h)
- Copiare�tutto il contenuto della cartella temporanea all�interno della nuova cartella collocata in �libraries�
Al successivo riavvio dell�IDE la nuova cartella apparir� nell�elenco Sketch > Include Library
A titolo di esempio di seguito le immagini dell�installazione della libreria precedente eseguendo i passi del Metodo 2. Ovviamente questa procedura � da eseguire quando la libreria non � tra quelle riconosciute dall�IDE di Arduino in modalit� installazione automatica.
Convenzione per l�organizzazione di una libreria
A titolo di esempio una struttura di libreria:
DotBotControl/DotBotControl.cpp /DotBotControl.h /keyword.txt /README /utility/DotBotLineFollower.cpp /DotBotLineFollower.h /DotBotDebounce.cpp /DotBotDebounce.h /DotBotTracker.cpp /DotBotTracker.h /Examples/move/move.ino /LineFollower/LineFollower.ino
Come nell�esempio precedente una libreria pu� contenere sottocartelle per ulteriori funzioni e all�interno possono essere collocati altri file .c o cpp e .h
Nel caso della libreria DS1307 troverete nella cartella:
All�interno della libreria trovate:
- un file�readme.txt in cui trovare�informazioni in merito all’utilizzo della libreria e dove reperire informazioni utili ed aggiornamenti;
- Una cartella examples�che raccoglie esempi di utilizzo della libreria
- il file keyword.txt all�interno ci sono definizioni che servono all�IDE in fase di utilizzo della libreria:
Il carattere #�indica�che tutto ci� che segue, fino alla fine della riga � un commento ed andr� ignorato in fase di compilazione. All�interno si troveranno una serie di parole chiavi: funzioni o variabili, classi, strutture, costanti letterali (macro). Di seguito un elenco dei principali tipi che potreste trovare all�interno del file keyword.txt
KEYWORD1: Classi, parole chiavi in C++, tipi di dati
KEYWORD2: Metodi e funzioni
KEYWORD3: Strutture: setup, loop, ecc…
LITERAL1: Costanti letterali
LITERAL2:�Variabili (in genere non usato)
Ulteriori informazioni sul file keyword.txt potete trovarlo direttamente:
- in Windows: c:\Program Files\Arduino\lib
- in Linux /usr/share/arduino/lib
- in MacOSX Contents/Java/lib
In MacOSX si raggiunge la cartella indicata facendo click con tasto destro sull�applicazione e selezionando �Show Package Contents�
Ulteriori informazioni sulla creazioni di librerie potete trovarle anche ai seguenti link:
- Writing a Library for Arduino
- Arduino Style Guide for Writing Libraries
- arduino.cc Library Reference
Buona sperimentazione a tutti