Colleghiamo Arduino in LAN con l’ENC28J60

Diciamolo, una delle migliori caratteristiche di Arduino è la facilità di interfacciarlo con qualsiasi dispositivo. La sua notorietà lo porta ad avere una vasta community di sviluppo che lo rende davvero un dispositivo “plug-and-play”. Inoltre il mondo dell’elettronica hobbystica si sta spostando sempre più verso quello che viene definito “l’Internet delle cose”.
Quest’oggi vedremo come collegare Arduino alla nostra rete LAN utilizzando una scheda NIC Ethernet esterna.

La scheda in questione è molto diffusa in giro ed è acquistabile ad esempio su eBay per pochi euro. E’ composta da una porta Ethernet RJ-45 con led di stato ed è pilotato da un integrato della Microchip, l’ENC28J60. Questo controller ha integrato in hardware sia il layer MAC che il layer PHY, ma bisogna implementare lo stack TCP/IP via software ed è possibile comunicare con esso tramite SPI. La scheda è la seguente:

ENC28j60 Ethernet Interface Module1

Leggi il resto di questo articolo »

Tracciamento oggetti con OpenCV

Poco tempo fa mi era venuta l’ossessione del tracciamento visivo di oggetti dopo aver visto vari video su youtube. Con l’intento di realizzare qualcosa di simile, mi sono armato di pazienza e di amore verso Google. Ho scovato tutorial qua e la e soprattutto l’ambiente ideale per sviluppare applicazioni con le librerie OpenCV.

Così ho scaricato l’SDK delle OpenCV, installato eclipse galileo e il compilatore C++ chiamato MinGW per applicazioni Windows.
Dopo vari tentativi ed insuccessi, sono riuscito a tracciare il movimento di una pallina gialla (color detection).
Per il riconoscimento vengono usati appositi filtri che eliminano dai frame provenienti dalla webcam (io ho usato una webcam virtuale free di nome ManyCam) eventuali disturbi e rumori visivi. In sostanza, per eliminare ciò che non serve per il riconoscimento di uno specifico colore, si usa la tecnica del threshold, ovvero della “soglia”. Se un particolare pixel appartiene ed è contenuto dentro ad una certa soglia (come un comparatore a finestra), allora quel pixel verrà colorato di bianco, viceversa di nero. Si avrà così un’immagine che sarà bianca solo nei punti in cui si trova in quel momento la nostra pallina. Questa tecnica è chiamata anche “binarizzazione immagine” per via dei soli due bit (bianco e nero) usati per l’immagine.


Esempio di applicazione del filtro di THRESHOLD

Leggi il resto di questo articolo »