Come già detto più volte, il microcontrollore è un circuito digitale programmabile.
Programmabile vuol dire che il suo comportamento elettrico può essere pilotato attraverso una sequenza di istruzioni, più o meno articolata, chiamata programma.
Le istruzioni che un microcontrollore è in grado di riconoscere, e in conseguenza effettuare operazioni aritmetiche o impostazioni di valori binari sui suoi PIN, sono codici numerici.
Un programma per un microcontrollore ha quindi la forma di una sequenza di numeri, ovviamente rappresentabili in formato binario, che vengono memorizzati all’interno di una memora permanente presente nel suo circuito interno (realizzato sul chip di silicio).
Nel chip del microcontrollore è integrata una memoria FLASH del tipo di quelle che si trovano all’interno delle normali chiavette USB.
Tutte le possibili istruzioni, ciascuna corrispondente ad un diverso codice numerico, costituiscono il “linguaggio macchina” specifico per quel modello di microcontrollore.
Oltre al fatto che ogni microcontrollore ha un diverso set di istruzioni, quindi un diverso linguaggio macchina, scrivere un programma a questo livello non è un compito facile nenache per un professionista del settore.
Per questo motivo, i programmi per microcontrollori vengono scritti usando un linguaggio di programmazione di più alto livello, le cui istruzioni somigliano a parole in lingua inglese.
Il linguaggio più utilizzato per i microcontrollori Atmel è il C++.
Il processo è il seguente: il programmatore scrive sul suo PC il programma in linguaggio C++ utilizzando un editor di testo, successivamente viene richiamato uno strumento software, denominato compilatore, che trasforma il linguaggio C++ in una sequenza di istruzioni equivalenti in linguaggio macchina e infine viene richiamato un altro strumento software che trasferisce questo programma all’interno della memoria flash del microcontrollore sfruttando il collegamento via cavo tra il microcontrollore e il computer.
Tutto questo non è un processo semplice, adatto a persone inesperte. In ogni caso, i diversi strumenti software, come editor, compilatore e caricatore, sono incorporati in un unico prodotto chiamato IDE, cioè Integrated Development Environment.
Il programma in linguaggio macchina, che viene caricato all’interno della memoria flash del microcontrollore prende il nome di firmware.
Spesso, con un brutto inglesismo, si definisce l’operazione di caricamento del firmware nella memoria del microcontrollore: flashare il firmware.
Uno dei grandi contributi del progetto Arduino è stato la semplificazione di questo processo, la definizione di una versione semplificata del linguaggio C++, specifica per Arduino e la realizzazione di un IDE intuitivo e semplice da usare.
Nel video vedrai come procurarti questo software gratuito e installarlo sul tuo computer.