Capitolo 1
Introduzione ad Arduino
Ma cos'è Arduino?
Arduino, è una scheda a microcontrollore: si tratta di un piccolo circuito che racchiude dentro di sé tutti i componenti tradizionali di un computer.
Processore, RAM, ROM... Tutto dentro un piccolo circuito.
La sua potenza è molto contenuta rispetto a un PC tradizionale: non ha bisogno di tanta potenza di calcolo e allo stesso tempo, deve avere costi contenuti.
Per poter realizzare progetti di domotica, IoT e wearable (che approfondiremo nei prossimi capitoli), è nata la necessità di interfacciarsi con il microcontrollore stesso in maniera semplice e funzionale.
È stato unito a una scheda, dotata di tanti connettori, per poter unire diversi componenti (tasti, display, interfacce radio come il Bluetooth, sensori) in tempi ridotti e in modo facile e rapido.
Tutto ciò, è Arduino: una scheda a microcontrollore pronta all’uso!
Per quale motivo è così di moda?
Arduino ha vinto sul mercato grazie ai suoi bassissimi costi e alla sua natura di “soluzione pronta all’uso”. Permette di realizzare prototipi in tempi veramente ridotti e senza spese grosse.
- Non bisogna realizzare circuiti stampati: la scheda stessa permette di interfacciarsi con qualsiasi componente elettronico in uno schiocco di dita!
- Non è necessario fare programmazione di basso livello: il mondo dell’elettronica viaggia con il linguaggio macchina.
Nel mondo dell’informatica, ci siamo evoluti di parecchio in nostro stesso aiuto. I linguaggi di programmazione, sono sì dei codici, ma la maggior parte di essi è stato pensato in modo tale da essere il più umanamente comprensibile!
Avere dei linguaggi simili a quelli umani però, ha i suoi contro.
I linguaggi di programmazione detti “di alto livello”, sono quelli più vicini al modo di comunicare che hanno gli umani.
La loro struttura è basata su linguaggi più criptici, noti come “di basso livello”.
A loro volta, si basano su quello che è il linguaggio macchina: pensa ai robot che comunicano con il codice binario, il livello è quello.
Affinchè sia possibile questa traduzione, sono necessarie molte risorse fisiche.
Più un linguaggio è “naturalizzato” (umanamente comprensibile), più memoria e velocità di processazione è necessaria!
Per questo motivo, la maggior parte dei sistemi elettronici, fa uso di linguaggio macchina o di basso livello. Per essere economici, sufficientemente miniaturizzabili e rapidi nell’esecuzione delle loro stesse funzionalità, si devono basare su codici altrettanto semplici e di rapida interpretazione per la macchina: quindi devono essere quanto più possibili vicini al linguaggio macchina.
Grazie ad Arduino, le cose si sono semplificate notevolmente grazie all’uso dei microcontrollori ATMega che permettono di programmare soluzioni in tempi brevi grazie all’uso del C, del JavaScript e, per i meno esperti, con pseudocodice (Scratch for Arduino ad esempio).