HW projects week #5: Netduino multithreaded LEDs

December 17, 2011 | 2 Minute Read

Netduino

Netduino

Finalmente, dopo alcuni ritardi dovuti a casini vari con UPS, è arrivato il Netduino. Argh!, direte voi: tradire così l’Arduino, passare a Visual Studio… bè, e allora? Sperimentare è giusto! (senza contare il fatto che qui a casa il secondo vince ancora sul primo, per 5 boards a 1)

La prima caratteristica che salta all’occhio è il fatto che il microcontrollore qui incluso è più potente rispetto agli altri Atmel: innanzitutto è a 32 bit, ed inoltre ha quantitativi di RAM e ROM superiori (anche se non di molto) rispetto al normale Arduino (e per questo sarà interessante sperimentare con il futuro Arduino Due, quando verrà messo in vendita). L’oggetto inoltre si programma usando .NET Framework Micro Edition, quindi le applicazioni sono scritte in C#.

La cosa che in realtà mi ha incuriosito particolarmente e mi ha spinto a prendere un Netduino ed a provarlo è il supporto al multithreading, ed è su questa caratteristica che ho costruito l’esempio riportato qui sotto: usando un prototipying shield preparato quest’estate, ho mandato in esecuzione due thread che accendevano un LED ciascuno, usando tempistiche differenti; in particolare, in un lasso di tempo di 1.5 secondi, il LED di destra lampeggia 2 volte (idealmente, due crome facendo un paragone musicale), mentre quello di sinistra lampeggia 3 volte (terzina di crome, mantenendo il medesimo paragone). Come potete vedere, la cosa funziona.