Qualche tempo fa sponsorizzammo una interessante campagna su kickstarter (mBuino a mbed programmable keychain). Oggi vi propongo un piccolo progettino da provare. Scritto in linguaggio C e compilato con gli strumenti messi a disposizione dalla ST microsistem.
Questo è mBuino. Una scheda prodotta e commercializzata dalla Outranger Circuits. Un potente e piccolo circuito per tutti quelli che cercano un processore ARM® Cortex™ 50Mhz, UART, SPI, I2C. Programmabile usando il compilatore online di mbed™.
Il codice di cui stiamo parlando permette di creare un circuito che leggendo la luminosità ambientale, regola la velocità dell’animazione dei 7 led posti sulla sua superficie.
Il circuito Hardware è molto semplice. La fotoresistenza va collegata tra il pin 3,3 e il pin P0.15. E’ essenziale installare una resistenza di pulldown da 120 Ohm tra il pin P0.15 ed il GND. Il codice di controllo è il seguente:
#include "mbed.h"
DigitalOut LED[] = {(LED1),(LED2),(LED3),(LED4),(LED5),(LED6),(LED7)};
DigitalOut LEDB[] = {(LED7),(LED6),(LED5),(LED4),(LED3),(LED2),(LED1)};
AnalogIn lux(P0_15);
float photo;
int main()
{
while(1)
{
for (int i=0; i <7; i++) {
photo = (lux.read()*50)+0.05;
LED[i] = 1;
wait (photo);
}
for (int i=0; i < 7; i++) {
photo = (lux.read()*50)+0.05;
LEDB[i] = 0;
wait (photo);
}
}
}
La procedura per programmare il circuito è semplicissima. Basta infatti
- Collegare mBuino al computer.
- Schiacciare il pulsante di RESET.
- Il sistema operativo immediatamente legge mBuino come un dispositivo di archiviazione di massa.
- Aprire il dispositivo chiamato CRP_DISABLED.
- Cercare e cancellare il file firmware.bin.
- Scaricare il file del firmware desiderato all’interno del dispositivo.
- Disconnettere il dispositivo e sganciarlo dalla spina USB.
Adesso il nuovo firmware è perfettamente funzionante.