Arduino per principianti - Il Cuore della scheda
Prima di parlare del progetto Arduino è indispensabile parlare del suo "cuore": l' ATmega328 di ATMEL.
ATmega328-P
L' ATmega328 è un microcontrollore a chip singolo, creato da ATMEL, della famiglia megaAVR, ha un core basato su RISC AVR a 8 bit e combina una memoria flash ISP da 32 kB con capacità di lettura e scrittura, una EPROM da 1 kB, una SRAM da 2 kB, 23 linee di INPUT/OUTPUT, 32 registri di lavoro generici, tre timer flessibili, contatori, interrupt, interfaccia seriale a 2 fili (BUS), un convertitore analogico/digitale a 6 canali, un oscillatore interno e cinque modalità di risparmio energetico selezionabili da software. Funziona fornendogli una tensione tra i 1.8 e 5.5 Volt.
La programmazione di questo microcontrollore, soprattutto per i principianti, può sembrare un operazione molto complicata, ma possiamo riassumerla in tre semplici passi: scrivere il codice sorgente, compilarlo e caricarlo sul chip.
I linguaggi di programmazione sono distinti in due "livelli":
Basso Livello - o "linguaggio macchina" composto da 1 o 0, linguaggio binario.
Alto Livello - Linguaggi tipo Basic, C, C+ o VISUAL (programmazione con schema a blocchi).
I microcontrollori conoscono una sola lingua, quella binaria ma, in quale modo un umano potrebbe mai scrivere centinaia di istruzioni basandosi su tale linguaggio?
La risposta è l' ambiente IDE (Integrated development environment) ovvero ambiente di sviluppo integrato, un software che ci aiuta, in fase di programmazione, nello sviluppo del codice sorgente. Spesso l' IDE interviene segnalandoci eventuali errori di sintassi del codice olre ad offrirci una vasta serie di strumenti e funzionalità di supporto in fase di sviluppo.
Nella figura seguente è riportata la piedinatura del chip.
ATmega328- Pin-OUT
Tra i più noti IDE per AVR distinguiamo:
- AVRStudio della Atmel
- AVR-GCC Free GNU
- CodeVision AVR
- FastAVR
- mikroBasic for AVR
- BASCOM-AVR della MCSELEC
IDE BASCOM-AVR
Non occorre addentrarci nella programmazione diretta del microcontrollore, nella seconda parte dell' articolo, infatti, parleremo del progetto ARDUINO.