EOS

Corso C su Raspberry PI partendo da zero: introduzione

Inizia con questo articolo una lunga serie di puntate, dedicate alla programmazione del Raspberry PI con il linguaggio C. Si tratta, a tutti gli effetti, di un corso completo, pensato e dedicato, soprattutto, ai principianti e ai neofiti. Semplici lezioni, esempi e tanto altro chiariranno perfettamente le idee ed illustreranno, in maniera estremamente semplice e chiara, i fondamenti della programmazione, abbinata agli utilizzi pratici dei sistemi embedded. Si consiglia vivamente di seguire cronologicamente le lezioni che seguiranno, senza fretta e impazienza nel terminare subito il corso, ma con la consapevolezza di maturare i concetti gradatamente nel tempo.

Introduzione

La tecnologia e l'elettronica hanno seguito continui progressi. Inizialmente esistevano due sole figure professionali legate ad esse, dedicate allo sviluppo dei sistemi e delle automazioni:

  • Una figura di progettista elettronico, con mansioni di creatore dei prototipi;
  • Una figura di programmatore informatico, con mansioni di ideatore di software.

Le due figure erano diametralmente opposte e senza alcun legame tra loro. Le esigenze del mercato e, soprattutto, quelle dei sistemi, hanno portato gradatamente alla fusione e all'integrazione delle due figure. Ai giorni d'oggi non si può progettare un sistema elettronico senza conoscere la programmazione algoritmica. L'elettronica moderna è basata interamente su dispositivi intelligenti e programmabili. A questo grandioso risultato si è arrivati nel corso di vari decenni di ricerca e sviluppo.

Le esigenze delle porte di I/O

Dalla comparsa dell'elettronica digitale, le porte logiche di comunicazione hanno avuto un'importanza enorme. Anche questo aspetto ha dovuto transitare negli anni, adattandosi a ciò che la tecnologia offriva. Possiamo dire che ci sono stati quattro momenti differenti, in cui le porte di comunicazione (I/O) hanno subito un diverso trattamento, secondo diversi metodi di utilizzo.

Primo periodo: porte logiche non intelligenti

Nel primo periodo (dal 1950 circa in poi) le porte logiche erano pilotate esclusivamente da altre porte logiche o da componenti discreti. Le scelte decisionali dei comportamenti dei vari sistemi erano effettuate elettronicamente e, in pratica, l'intero circuito elettronico sovrintendeva a tutto. Non esistevano firmware e nemmeno sistemi operativi che comunicavano con la circuiteria. Se occorreva cambiare il comportamento del prototipo, anche di poco, si doveva modificare l'intero schema elettrico o alcuni valori dei componenti utilizzati. Inoltre erano richiesti numerosissimi componenti elettronici, anche per semplici applicazioni (Figura 1).

periodo01

Figura 1: Circuito elettronico con diversi IC come porte logiche

Secondo periodo: computer con porte adattate

Dal 1980 in poi, i computer erano dotati di alcune porte logiche che avevano scopi esclusivi. Ad esempio, esse potevano azionare e scambiare dati con stampanti, scanner, modem, ecc. Ma non esistevano vere e proprie porte dedicate alle applicazioni personalizzate. Ad esempio, un PC non poteva essere collegato direttamente ad una lampada esterna per venir comandata a piacimento tramite un software. Si potevano utilizzare le suddette porte, adattandole eccezionalmente ai propri scopi, per poter raggiungere il risultato (chi ricorda come si pilotava con il GW-Basic la porta parallela 0D888 (ox378) alla quale c'era un diodo Led collegato?). Tutto ciò causava alcuni svantaggi:

  1. Il numero di I/O era estremamente limitato;
  2. Un problema al carico (o un suo corto circuito) avrebbe causato irrimediabilmente la distruzione della scheda madre del PC.

In ogni caso, anche con i PC obsoleti,  si riusciva a realizzare dei piccoli sistemi di "domotica" capaci di pilotare le periferiche più disparate.

Terzo periodo: porte logiche intelligenti

Con l'alta integrazione dei circuiti, dal 1990 in poi le aziende sono riuscite a produrre dispositivi programmabili, con tanto di RAM e CPU. Parliamo dei microcontrollori (MCU), piccoli circuiti integrati dotati di tutta la logica di controllo. Con gli MCU l'utente non solo aveva a disposizione tante porte di I/O, ma poteva deciderne il funzionamento, semplicemente modificando il firmware in esso contenuto (Figura 2).

periodo03

Figura 2: Microcontrollore PIC16F677A

Quarto periodo: i sistemi Embedded

E finalmente, ai nostri giorni, si affacciano i sistemi embedded: veri e propri computer, di dimensioni estremamente ridotte, dotati di un Sistema Operativo, di una memoria molto grande (sia volatile che non), di periferiche di Input e di Output ma, soprattutto, di tante porte logiche elettriche di I/O, dedicate all'utilizzo personalizzato. Ognuna di queste porte può venir pilotata da un programma scritto ad-hoc e può comandare un Led, un display o un carico maggiore, attraverso opportuni transistor o relè (Figura 3).

periodo04

Figura 3: Esempio di scheda Raspberry collegata ad un LED

Chissà cosa ci riserva il futuro: sicuramente dispositivi fantascientifici, comandati direttamente dal cervello o altre diavolerie simili. Al momento gustiamoci questo interessantissimo corso, sicuri di far piacere a tutti gli hobbisti, principianti e, perché no, ai tecnici più esperti ed esigenti.

Panoramica generale sul Raspberry Pi

Non sprecheremo pagine e pagine di trattazione sulla teoria del Raspberry Pi e sulle sue caratteristiche tecniche, la Rete ne è colma. Ovviamente qualche piccola delucidazione è d'obbligo, semplicemente per non costringere il lettore a cercare altrove alcune informazioni tecniche. Il Raspberry Pi è un computer a tutti gli effetti. Quando uscì sul mercato il primo modello era praticamente impossibile entrarne in possesso [...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2273 parole ed è riservato agli abbonati PLATINUM. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici MAKER e PLATINUM e potrai fare il download (PDF) di tutti gli EOS-Book, Firmware e degli speciali MONOTEMATICI. ABBONATI ORA, è semplice e sicuro.

Abbonati alle riviste di elettronica

30 Commenti

  1. Maurizio Di Paolo Emilio Maurizio 5 gennaio 2016
  2. ThiTamTan 5 gennaio 2016
  3. fabio.stranieri.1 fabio.stranieri.1 5 gennaio 2016
    • Emanuele Bonanni Emanuele 6 gennaio 2016
  4. Ik4mec 5 gennaio 2016
  5. Fabrizio Bianchini Fabrizio Bianchini 6 gennaio 2016
  6. L0cutus L0cutus 6 gennaio 2016
  7. Giovanni Di Maria Giovanni Di Maria 7 gennaio 2016
  8. alessandro.riva27 7 gennaio 2016
  9. AndreaBrozzetti 10 gennaio 2016
  10. taddeus 17 gennaio 2016
  11. arx 19 gennaio 2016
  12. Massimo Spiezia Massimo Spiezia 25 gennaio 2016
  13. William 30 gennaio 2016
  14. fabrizio1966 2 febbraio 2016
  15. fabrimor fabrimor 2 febbraio 2016
  16. adriano51it 7 febbraio 2016
  17. William 8 febbraio 2016
  18. William 8 febbraio 2016
  19. adriano51it 8 febbraio 2016
  20. elettrone800 3 maggio 2016
  21. Andrea1965 5 settembre 2019
    • Giovanni Di Maria Giovanni Di Maria 8 settembre 2019
      • Andrea1965 8 settembre 2019
        • Giovanni Di Maria Giovanni Di Maria 9 settembre 2019

Scrivi un commento

EOS