Feeds:
Posts
Comments

Archive for the ‘Virtual world’ Category

2011 in review

The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.

Here’s an excerpt:

A New York City subway train holds 1,200 people. This blog was viewed about 7,300 times in 2011. If it were a NYC subway train, it would take about 6 trips to carry that many people.

Click here to see the complete report.

Read Full Post »

A couple of weeks ago, a new major version of the Erlang runtime system and libraries has been released, and after its inclusion in the Experimental branch of Debian, I have ported it to Ubuntu 11.10 and published the packages on my PPA.

The packages are the same of the Debian release, I have not changed anything; I don’t know if I will have time to backport it to the previous Ubuntu releases, especially because I am not using them anymore. As usual, IWFM:  if you experience any problems, you can report them to me, but as I am not an official maintainer, I don’t know if I will be able to solve them 🙂

Read Full Post »

Wave Shield

Wave Shield

Come prima parte di un progettino “da ufficio”, ho passato la serata a saldare il Wave Shield di Adafruit, ed ho testato il tutto con il brano “Europa” di Santana, codificato a 16 bit e 22050 Hz mono (quindi un po’ distorto sugli acuti rispetto all’originale).

Qui sotto, il video con tale test: verso 0:30 si può sentire in lontananza la canzone di cui sopra, col volume piuttosto basso dato che veniva riprodotta tramite auricolari.

Read Full Post »

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.

Read Full Post »

SooperLooper è un simpatico programmino per Linux, compatibile con Jack, che permette di registrare loop e riprodurli istantaneamente; è piuttosto utile quando volete suonare qualcosa ad esempio con una chitarra, ma ha ovviamente il difetto di aver bisogno di un supporto hardware con cui attivare la registrazione, dato che se state suonando avete probabilmente le mani occupate.

Bè, nulla di più facile: basta avere un pedale “vergine” (come quelli per il sustain delle tastiere), che generalmente ha un’uscita con un jack da 6.3″, da collegare (con un circuito piuttosto semplice, in cui il pedale di fatto funge da interruttore) ad un Arduino. A questo punto, con una decina di righe di codice ed il firmware MIDI, l’Arduino stesso sarà in grado di trasmettere i messaggi CC giusti al looper, che ad ogni pressione del pedale avvierà alternativamente la registrazione di un loop o la sua riproduzione.

Nel video vedete un esempio del circuito e del looper (escludendo un momento di defiance del tutto nella parte centrale, forse dovuto alla poca pressione che si esercita con una mano rispetto ad un piede); non ho una chitarra con me, ma l’insieme nel complesso sta comunque funzionando correttamente.

Read Full Post »

E’ arrivata la strip di LED (3 metri!) da Adafruit, e nel video potete vedere l’esecuzione del programmino di esempio pubblicato tra le istruzioni per l’uso; il circuito è piuttosto semplice, l’unica necessità è avere un alimentatore per Arduino in grado di produrre un’adeguata corrente (quello qui usato può arrivare a 1.5 A). Ora devo solo decidere dove piazzare questi metri di luci in casa…

Read Full Post »

Ho progettato una sorta di “shield” per il Telos B, all’interno di un progetto universitario, obiettivo: misurazione di temperatura tramite termoresistori, precisione di almeno un quarto di grado; non darò molti dettagli per ora (anche perchè manca ancora il lato software della cosa), ma per il momento ho le immagini.

Prototipo breadboard

Prototipo breadboard

Il primo qui in alto è il prototipo sviluppato su breadboard (e mi sto salvando la storia dello sviluppo per un’eventuale talk in conferenza embedded).

Prototipo PCB

Prototipo PCB

Ed ecco il prototipo su PCB, preparato dal gruppo di elettronici, che hanno applicato le giuste correzioni laddove io avevo peccato nello schema 😉

Read Full Post »

ADK DemoKit

ADK DemoKit

Con l’aggiornamento del mio HTC Wildfire S ad Android 2.3.5, finalmente ho la possibilità di sfruttare le possibilità offerte dall’Open Accessory kit (ADK), ed ho quindi testato subito l’applicazione demo (ridotta) supportata dalle librerie ufficiali per l’USB Host Shield per Arduino. Il sistema completo richiederebbe un Arduino Mega ed il kit ufficiale distribuito da Google, ma è possibile effettuare qualche progetto più “in piccolo” anche con il semplice Arduino Uno e lo shield offerto da SparkFun, con qualche leggero aggiustamento hardware per rendere compatibile il tutto.

Nella foto il risultato del primissimo esperimento: l’applicazione Android riconosce l’accessorio collegato via USB, anche se nessuno degli elementi previsti (LED, pulsanti etc) non sono collegati al momento… è stato un test rapido, l’esplorazione più approfondita verrà più avanti (appena ho un po’ di tempo da dedicarci).

Read Full Post »

Escape

You know what? There is no escape.

Yesterday you told yourself: well, you know, if I’m not gonna make it here in my country, I’m going to Spain: good place, good people, good food, many youngsters going there for work. But then Spain got 21% unemployment, and it didn’t look that good anymore. And the whole Europe looks like it is going to be torn apart, so maybe there are no European countries really better than ours.

So today you tell yourself: well, if I’m not gonna make it here in my country, I’m going to the US. The dear, old US. But then US handle jobs in a way too different from ours, always on the verge of being fired if you’re not good enough; no middle class, you become a loser way too quick. Then you watch a Lawrence Lessig recent talk and decide that America has lots of problems. Ok, no US.

So tomorrow you will be telling yourself: well, if I’, not gonna make it here in my country, I’m going to Iceland: yes, it’s quite cold in there, and there are active volcanos all over the place, but their economy looks better than many others (or, at least, some posts on the Internet claim so), and maybe they are gonna make it (among all the other countries in the world).

But, how long will it take before things change there, too? Humanity must face the inevitable changes that are happening everywhere: the economy, the old jobs, the new jobs, the climate (speaking of which: at some point in time, we will have to pay the piper); it was too easy to get away to avoid problems here, and it is becoming harder to do it again. And I’m not speaking about just moving out to get more money in a job, I still can agree with it (especially in my profession), but in general on the quality of life that it is awaiting us in the next few years. And the one of the next generations.

So, there is no escape. Face the problems and solve them. Now.

P.S.: too much Battlestar Galactica today…

Read Full Post »

E’ uscita da qualche settimana (un paio se non ho visto male) la seconda release candidate di Arduino 1.0 (scaricabile da qui), ma per poter utilizzare il layer di rete su Ubuntu 11.10 è necessario patchare il file w5100.h, che si trova sotto /libraries/Ethernet/utility; alla riga 271 va modificata la seguente define:

static uint16_t read##name(SOCKET _s) { \
uint16_t res = readSn(_s, address); \
res = (res << 8) + readSn(_s, address + 1); \
return res; \
}

in questo modo:

static uint16_t read##name(SOCKET _s) { \
uint16_t res = readSn(_s, address); \
uint16_t res2 = readSn(_s, address+1); \
res = (res << 8); \
res2 = res2 & 0xFF; \
res = res | res2; \
return res; \
}

GCC-AVR in Oneiric, infatti, per qualche motivo (che non sto ad indagare) non digerisce l’altra definizione, e rende inutilizzabili i socket aperti (esperimenti con Wireshark infatti mostrano pacchetti malformati). Questa modifica peraltro vale anche per le versioni precedenti di Arduino, eccetto quelle pacchettizzate, che già includono la patch (ma chi usa Arduino pacchettizzato…).

Read Full Post »

« Newer Posts - Older Posts »