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 linstallazione automatica delle librerie allinterno della cartella sketchbook.
La posizione esatta della cartella libraries funzione del sistema operativo. Tipicamente la libreria costituitada ungruppo 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 comefile .zip

02-arduino-library

Sul sito indicato prelevate il file facendo click sul link che vi indica lultima versione, cos come riportato nellimmagine che segue, sarete reindirizzati sul sito GitHub da cui potrete prelevare lintera 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 linstallazione necessario riavviare lIDE.

Troverete nella cartella library la libreria appena installata:

05-arduino-library

Le ultime versioni dellIDE permettono laggiunta 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 dellIDE.

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 dallIDE 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 nellaggiunta manuale della libreria.

  1. Chiudere lIDE di Arduino
  2. Scompattate i file .zip che contiene tutti i file della libreria in una cartella temporanea
  3. Allinterno della cartella scompattatadovranno 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. Copiaretutto il contenuto della cartella temporanea allinterno della nuova cartella collocata in libraries

Al successivo riavvio dellIDE la nuova cartella apparir nellelenco Sketch > Include Library

A titolo di esempio di seguito le immagini dellinstallazione della libreria precedente eseguendo i passi del Metodo 2. Ovviamente questa procedura da eseguire quando la libreria non tra quelle riconosciute dallIDE di Arduino in modalit installazione automatica.

14-arduino-library

Convenzione per lorganizzazione 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 nellesempio precedente una libreria pu contenere sottocartelle per ulteriori funzioni e allinterno possono essere collocati altri file .c o cpp e .h

Nel caso della libreria DS1307 troverete nella cartella:
15-arduino-library

Allinterno della libreria trovate:

  • un filereadme.txt in cui trovareinformazioni in merito all’utilizzo della libreria e dove reperire informazioni utili ed aggiornamenti;
  • Una cartella examplesche raccoglie esempi di utilizzo della libreria
  • il file keyword.txt allinterno ci sono definizioni che servono allIDE in fase di utilizzo della libreria:

16-arduino-library

Il carattere #indicache tutto ci che segue, fino alla fine della riga un commento ed andr ignorato in fase di compilazione. Allinterno 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 allinterno 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 sullapplicazione 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 🙂

Questa voce è stata pubblicata in arduino, i miei allievi, tutorial e contrassegnata con , , , . Contrassegna il permalink.

Lascia un commento

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

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.