Che cos’è una libreria e come si utilizza in Arduino

Una volta entrati nel mondo di Arduino e più in generale delle schede programmabili ci si accorge rapidamente dell’importanza delle librerie.

Cosa sono le librerie, come si utilizzano e come si utilizzano nei propri sketch?

 

Le librerie sono delle componenti di codice aggiuntivo che vengono richiamate all’inizio dello sketch e che servono per consentire alla nostra scheda di comunicare con hardware terzi attraverso i pin di input e quelli do output.

Più nello specifico una libreria per Arduino è un codice contenente delle funzioni  per consentire al prodotto di connettersi / interfacciarsi con Arduino senza che l’utente finale (noi) implementi ogni volta decine di righe di codice. Il concetto è molto simile a quello che nell’informatica tradizionale è il driver per una stampante.

Ogni componente aggiuntivo come: motori, display lcd, servo hanno una propria libreria che dev’essere implementata nel codice (sketch) per gestire la connessione tra questo componente e la scheda Arduino Uno o ESP8266 o qualsiasi altra scheda.

Esistono diverse famiglie di librerie, vediamole nel dettaglio:

  • librerie di sistema: queste librerie sono presenti in “nativamente” nella scheda e sono quelle che consentiranno alla scheda di comprendere lo sketch. Si tratta di una componenti di basso livello che di fatto fa parte del firmware.  Se non esistessero dovremmo scrivere il codice in linguaggio macchina.
  • librerie esterne: queste librerie sono quello che appunto comunemente chiamiamo “librerie” e che servono all’IDE per comunicare con altri prodotti. Possiamo a loro volta dividere in due grandi famigliare: quelle preinstallate e quelle di terze parti che dobbiamo installare direttamente noi. Le librerie pre-istallate sono state già installate da chi ha sviluppato l’IDE  perche’ considerate di utilizzo comune. In questo modo si facilita la “vita all’utente”. Le librerie da installare invece sono tutti quei componenti di codice che invece dobbiamo prodigarci di caricare direttamente noi nell’IDE per supportare funzioni e oggetti meno diffusi o che in origine non erano stati previsti. Il loro utilizzo è cmq molto comune.

Finita questa parte di categorizzazione andiamo invece a vedere più ad vicino qual’è il vantaggio delle librerie nella programmazione. 

  • risparmio di memoria sulla scheda: carichiamo e richiamiamo sulla nostra scheda solo le librerie che ci servono risparmiando memoria sul dispositivo. Le schede sono dispositivi molto meno potenti dei computer ed è fondamentale allocare la memoria nel miglior modo possibile
  • modularità: internet of think evolve a velocità impressionanti non sarebbe possibile avere tutte le librerie già installate nel microcontrollore; servirebbe oltre ad una memoria enorme anche un continuo processo di aggiornamento
  • tempo: usare una libreria significa poter collegare un oggetto in pochi istanti ppoichè tutto la tematica di connessione è già stata sviluppata da programmatori professionisti che hanno testato il tutto prima di mettere il prodotto sul mercato.
  • sicurezza: la libreria è sviluppata solitamente dal produttore del componente che conosce in modo completo l’oggetto che si dovrà connettere. Lo sviluppo è affidato a programmatori interni all’azienda sviluppatrice.

Ora che abbiamo delle basi solide ed abbiamo compreso a pieno che cos’è una libreria nel prossimo articolo vedremo le diverse modalità in cui  installare e implementare una libreria nel nostro sketch, nel frattempo armatevi dell’IDE di Arduino, sarà fondamentale.