Che brutta notizia. Ieri non ci volevo credere e mi dicevo “è uno scherzo”. Per ricordare Mauro Gasparini, ripropongo un piccolo video registrato a Torino durante il LitCamp del 2009.
Arduino server: sempre meglio
Dal mio nuovo server su Arduino (che lascerò attivo qualche giorno), non solo puoi vedere lo stato delle mie luci e la temperatura di camera mia, ma puoi anche comandare tre pin che per ora sono collegati a tre led colorati, ma che domani potrei associare tramite relè a qualsiasi apparecchio elettrico.
Tutto questo grazie alla libreria WebServer.h, che aggiunge funzionalità molto interessati e facili da programmare anche per un ignorante come me (che si diverte come un bambino).
Come sempre, critiche consigli e suggerimenti sono bene accetti.
Come sempre, il codice è dopo il salto. Leggi tutto “Arduino server: sempre meglio”
Arduino al pomodoro
Per trasformare il mio Arduino in un conta-pomodori ho seguito le facili istruzioni di Mike Stok, grazie al quale ho scoperto l’esistenza di Fritzing, un tool di prototipazione dedicato al mondo Arduino che mi permette di disegnare queste cose:
Per adesso mi limito ad accendere il led rosso per 25 minuti alla pressione del bottone, con lampeggio nel minuto finale e passaggio al giallo per i 5 minuti successivi; quindi il led verde.
Prossimi passi: regolare automaticamente l’intansità del led in base alla luminosità dell’ambiente. Il codice l’ho messo dopo il salto. Leggi tutto “Arduino al pomodoro”
Il Gatto nell’Appartamento Vuoto
Die — You can’t do that to a cat.
Since what can a cat do
in an empty apartment?
Climb the walls?
Rub up against the furniture?
Nothing seems different here,
but nothing is the same.
Nothing has been moved,
but there’s more space.
And at nighttime no lamps are lit.
Footsteps on the staircase,
but they’re new ones.
The hand that puts fish on the saucer
has changed, too.
Something doesn’t start
at its usual time.
Something doesn’t happen
as it should. Someone was always, always here,
then suddenly disappeared
and stubbornly stays disappeared.
Wislawa Szymborska, Poznan 1923 – Kracow 2012
La mia lampadina twitta
“Tutto ciò che è alimentato elettricamente è anche connesso a internet.”
(Tom Igoe)
La lampada del mio comodino twitta automaticamente i suoi cambiamenti di stato, grazie a
- Arduino 2009
- Ethernet Shield
- Sensore luce
Bisognarà che le crei un account dedicato su twitter. Se sei interessato al codice, è qui sotto.
Essendo una prova, tengo aperta la porta seriale per controllare dalla consolle quel che succede, ma in produzione i vari Serial.print vengono tolti.
Se trovi errori o difetti e vuoi segnalarmeli, te ne sarò grato.
/* Twitter Light Client 0.2 created on jan 28 2012 modified on jan 30 2012 by Gaspar Torriero with many thanks to the Arduino community at http://arduino.cc/en/Tutorial/HomePage */ #include <SPI.h> #include <Ethernet.h> #include <Twitter.h> boolean oldStatus = 0; boolean newStatus = 0; int tPin = 0; // Temperature sensor pin int lPin = 5; // Light sensor pin float temp = 0.0; // Temperature in C° int luce = 0; // light in Lux byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; byte ip[] = { 192, 168, XXX, XXX }; // IP address of your Arduino byte gateway[] = { 192, 168, XXX, XXX }; // IP address of your router byte subnet[] = { 255, 255, 255, 0 }; Twitter twitter("XXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); // Your Twitter API code String stringOne="La luce sul comodino è stata spenta"; String stringTwo="La luce sul comodino è stata accesa"; char msg[140]; void setup() { Ethernet.begin(mac, ip, gateway, subnet); // Serial.begin(9600); luce = (analogRead(lPin) * 10000.0) / 1024.0; //Conversione voltaggio sensore in Lux if(luce < 201) { oldStatus=0; } else if(luce > 200) { oldStatus=1; } } void loop() { delay(50000); Serial.print(oldStatus); Serial.print(newStatus); Serial.println(); Serial.println(luce); temp = ( 5.0 * analogRead(tPin) * 100.0) / 1024.0; // Conversione voltaggio sensore in temperatura luce = (analogRead(lPin) * 10000.0) / 1024.0; //Conversione voltaggio sensore in Lux if(luce < 201) { newStatus=0; stringOne.toCharArray(msg, 140); } else if(luce > 200) { newStatus=1; stringTwo.toCharArray(msg, 140); } if(newStatus != oldStatus) { Serial.println("connecting ..."); if (twitter.post(msg)) { int status = twitter.wait(&Serial); if (status == 200) { Serial.println("OK."); } else { Serial.print("failed : code "); Serial.println(status); } } else { Serial.println("connection failed."); } delay(10000); oldStatus = newStatus; Serial.print(oldStatus); Serial.print(newStatus); Serial.println(); Serial.println(luce); } }


