Home

SEZIONE 4 – Le cucine

Negli scorsi post abbiamo visto che l’hardware può essere reso flessibile ed adattabile unendolo al software. Questa operazione sta divenendo sempre più semplice e alla portata di tutti, grazie alla diffuzione di schede a microcontrollore come arduino.
Il codice utilizzato in arduino sembra molto semplice e si sarebbe portati a dire che sia un dialetto di java o javascript. In effetti è C. I listati (sketches) sono molto semplici, ma poi Arduino (l’IDE) compie un’opera di riassemblaggio completando il codice e compilandolo con il compilatore avr-gcc.
Il semplice listato del led lampeggiante:

 void setup() {
 pinMode(13, OUTPUT);
 }
void loop() {
 digitalWrite(13, HIGH);
 delay(1000);
 digitalWrite(13, LOW);
 delay(1000);
 }

Scritto in C diverrebbe:

#include <avr/io.h>
 #include <util/delay.h>
int main(void)
 {
 DDRB = _BV(PB0);
 for(;;){
 PORTB = _BV(PB0);
 _delay_ms(500);
 PORTB = 0;
 _delay_ms(1500);
 }
 return 0;
 }

Arduino non fa la traduzione del codice ma aggiunge gli include e fornisce un set di funzioni e macro ‘user-friendly’.
I programmatori noteranno subito la mancanza di un debugger. Se varchiamo la soglia della cucina (o alziamo l’angolo del tappeto), ci accorgiamo che possiamo lavorare direttamente in C. Potrebbe risultare più ostico, ma in questo modo potete utilizzare il vostro IDE preferito (eclipse o netbeans), poter contare su di un simulatore, fare debug e perfino TDD (io ho fatto degli esperimenti con seatest).
Varcata la soglia scopriamo un mondo meraviglioso, in cui possiamo abbandonare arduino per sviluppare su tutta la famiglia di microcontrollori della Atmel. Se volete realizzare piccoli prototipi, potete utilizzare i piccoli attiny (il 44, l’85 o il microscopico 10).
La programmazione avviene utilizzando arduino stesso come programmatore o costruendo un apposito cavo da collegare ad una porta seriale (cavo DASA).
Al FrankensteinGarage / FabLab Milano abbiamo fatto qualche esperimento con attiny e il cavo DASA: una piccola schedina che abbiamo chiamato ABNormal.

La schedina ABNormal con Attiny85

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...