Aggiungere librerie nell’IDE Arduino

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

02-arduino-library

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.

03-arduino-library

04-arduino-library

Importare il file .ZIP attraverso il men�:

Sketch -> Include Library -> Add .ZIP Library…

01-arduino-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:

05-arduino-library

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.

06-arduino-library

07-arduino-library

08-arduino-library

09-arduino-library

Nel caso in cui si volesse aggiungere la libreria sopra � possibile verificare se � fra quelle riconosciute immediatamente dall�IDE Arduino.

Procedete in questo modo:

  1. effettuare una ricerca per DS1307
  2. selezionate la libreria di vostro interesse
  3. click su install

10-arduino-library

In fondo alla finestra verr� visualizzata la barra di avanzamento installazione:

11-arduino-library

a fine installazione comparir� di fianco al nome della libreria: “INSTALLED”

12-arduino-library

All’interno della cartella “libraries” troverete la cartella DS1307RTC appena installata:

13-arduino-library

Metodo 2

Questo metodo, gi� spiegato nel mio precedente post, consiste nell�aggiunta manuale della libreria.

  1. Chiudere l�IDE di Arduino
  2. Scompattate i file .zip che contiene tutti i file della libreria in una cartella temporanea
  3. 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)
  4. Posizionatevi nella �libraries� /sketchbookj/libraries e create in essa una cartella che ha lo stesso nome dei due file (.c e .h)
  5. 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.

14-arduino-library

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:
15-arduino-library

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:

16-arduino-library

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�

17-arduino-library

18-arduino-library

 

Ulteriori informazioni sulla creazioni di librerie potete trovarle anche ai seguenti link:

Buona sperimentazione a tutti 🙂

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.