Corso C su Raspberry PI partendo da zero: Introduzione alle porte di Output

Il Raspberry Pi è stato utilizzato, sino ad ora, come un normale PC, con il quale abbiamo imparato e approfondito la programmazione in Linguaggio C. Da questa puntata del corso le cose cambiano: il dispositivo sarà visto, infatti, come un apparecchio elettronico programmabile. In questo modo lo potremo collegare a componenti esterni, per il loro pilotaggio o per l'acquisizione di dati ed informazioni. Questo articolo tratterà, in maniera approfondita, le porte in uscita, ossia quei pin di cui è dotato il RPi da cui può uscire, o meno, una tensione elettrica. Gli esempi e le argomentazioni trattate saranno di ordine crescente e facilmente realizzabili da tutti i lettori.

Introduzione

Il Raspberry Pi è un potente computer con una marcia in più: la sua piastra madre è dotata di alcune porte elettroniche di I/O da poter collegare a dispositivi esterni come LED, transistor, sensori ed altro. Il suo interfacciamento con il mondo esterno è, dunque, assicurato e le sue potenzialità di utilizzo sono pressoché infinite. Pensate un attimo ad un microcontrollore: si può programmare, è dotato di alcune porte di I/O ma manca la gestione di un sistema operativo e non può essere collegato normalmente ad un monitor o TV. Tutte queste lacune, a prima vista superabili, sono egregiamente risolte dal nostro gioiello, oggetto del presente corso.

Le porte GPIO

Si tratta di un insieme di porte presenti sul Raspberry Pi che fanno capo ad un connettore maschio. GPIO è l'acronimo di General Purpose I/O. La sua identificazione è semplice, in quanto si tratta di un insieme numeroso di pin numerati. La figura 1 mostra la dislocazione di tale connettore e la sua piedinatura.

 

Figura 1: La porta GPIO

Figura 1: La porta GPIO (Model B)

La piedinatura non è sequenziale ma alternata. Per evitare malfunzionamenti dei propri progetti o, addirittura, guasti al dispositivo, controllate sempre attentamente il datasheet di riferimento. Lavorare con la GPIO richiede, infatti, sempre la massima attenzione. Il collegamento con i vari pin deve essere effettuato con opportuni cavetti o jumper di tipo "femmina" da connettere alle varie porte, senza la possibilità di accidentali corto circuiti tra le stesse. Guardiamo un po' il connettore è descriviamo le funzionalità dei contatti di alimentazione:

  • Il pin 1 mette a disposizione una tensione positiva di 3.3V. La corrente massima prelevabile è di 50 mA;
  • Il pin 2 eroga una tensione positiva di 5V. Può anche servire per alimentare il Raspberry Pi;
  • Il pin 6 costituisce la massa comune del sistema.

La porta GPIO dispone, in totale, di diciassette contatti anche se quelle direttamente utilizzabili, quali input e output digitali, sono otto. Esse lavorano con una tensione di 3.3 Volt, sia come ingresso che uscita. In base alla loro numerazione sul bus, esse posseggono i seguenti nomi:

  • GPIO0
  • GPIO1
  • GPIO4
  • GPIO14
  • GPIO15
  • GPIO17
  • GPIO18
  • GPIO21
  • GPIO22
  • GPIO23
  • GPIO24
  • GPIO10
  • GPIO9
  • GPIO25
  • GPIO11
  • GPIO8
  • GPIO7

Vedremo adesso come si configurano le porte per l'output di un segnale digitale, come effettuare un collegamento elettrico di un diodo led su essi e come scrivere un adeguato [...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2680 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

5 Commenti

  1. Maurizio Di Paolo Emilio Maurizio 5 luglio 2016
  2. Giovanni Di Maria Giovanni Di Maria 5 luglio 2016
  3. Ernesto Sorrentino 5 luglio 2016
  4. Giovanni Di Maria Giovanni Di Maria 5 luglio 2016
  5. francesco87 15 gennaio 2017

Scrivi un commento