Go Down

Topic: ALLA RICERCA DEL SENSORE (Read 1 time) previous topic - next topic

Alessio

Salve a tutti,
vi dico subito cosa ho in mente: vorrei ottenere un output per azionare un qualsiasi attuatore, magari per azionare un motorino passo-passo, tramite un sensore che, "visualizzi" un'immagine statica come per esempio un simbolo, successivamente "la codifichi" in qualche modo, e la "confronti" con un simbolo "pre-codificato".

Per esempio se il simbolo da verificare è quello impostato, arduino darà un imput all'attuatore, se invece non lo è non fornirà niente.

Specifiche: é sufficiente che il sensore verifichi un simbolo al massimo di grandezza di 2 cm^2 e riesca a riconoscere almeno due colori.

Io avevo pensato ad una cosa simile ad un lettore di codici qr, ma in merito non non ho trovato grandi cose, per esempio non sono riuscito a capire se riesce a distinguere i colori, e se esiste un lettore in commercio.

Avevo pensato anche ad una CMUcam, sinceramente però mi sembra esagerata; sia perchè il monitoraggio che dovrà effettuare come abbiamo detto è statico di simboli di solo 2 cm^2 e al massimo di due colori uniformi, sia perchè il costo è elevato.

Chiedo se qualcuno può aiutarmi indicandomi un sensore adatto alle esigenze esposte, o un metodo che mi permetta di fare il mio progettino.

N.B. = Il tutto dovrà essere PC INDIPENDENTE, cioè solo arduino+sensore+attuatore.

Grazie per l'attenzione.

BrainBooster

ciao, sò che esistono dei sensori di colore che danno in uscita i tre valori di R G B.
ma è più divertente sperimentare...
Usa una semplice fotoresistenza ed un led rgb...
devi illuminare l'oggetto separatamente con i 3 colori del led e leggere sulla fotoresistenza i valori di luce riflessa...
Naturalmente la fotoresistenza deve essere schermata dalla luce diretta del led.
Il simbolo avrà un suo valore RGB più o meno preciso....
è un idea... prova! (i materiali necessari sono poco costosi)

Alessio

con questo metodo riesco solo a individuare il colore, o riesco a distiguere anche la geometria del simbolo per confrontarla?

BrainBooster

il "trucco" sarebbe riconoscere la "miscela" di RGB unica per ogni simbolo (sempre che le variazioni fra un simbolo e l'altro siano significative).

Alessio

date le piccole dimensioni del simbolo circa 2 cm^2, e le geometrie molto simili dei simboli, credo sia mettere un led RGB e una fotoresistenza che legga il colore e le differenze geometriche tramite la miscela RGB sia molto difficile, cmq farò delle prove.
Sai dove posso prendere spunto, sia software, sia per quanto riguarda i collegamenti?

La cosa più importante, forse non l' ho specificato nel primo mess, e quella che il sensore mi distingua la geometria, perchè per quanto riguarda il colore credo sia più di facile rilevamento, dato che si trattera di simboli a colore uniforme.

Siccome sono un neofita, voglio iniziare piano piano, magari con il riconoscimento di soli due colori, e al massimo di una decina di simboli.

BrainBooster

purtroppo non esistono "sensori di geometrie" tranne le webcam+processing.
per i colori invece puoi guardare qui:
http://itp.nyu.edu/physcomp/sensors/Reports/DIYColorSensor

uwefed

ciao Alessio
Vedo dura la cosa con un arduino.
Vedo necessario che prendi una telecamera a colori e elabori l'immagine per capire cosa sta vedendo.
Per questo l' arduino non é adatto. Dovresti usare dei processori piú potenti.
Ciao Uwe

Alessio

avevo pensato anche ad una webcam senza processing, perchè come ho detto volevo fare una cosa PC indipendente, però non sò proprio come iniziare.

continuerò con le ricerche

grazie dell'aiuto

BrainBooster

Per riprendere un'idea di un vecchio amico, puoi usare i sensori dei mouse come telecamera lowres in bianco e nero.....

uwefed

#9
Jul 23, 2010, 04:47 pm Last Edit: Jul 23, 2010, 04:49 pm by uwefed Reason: 1
Una Webcam oggigiorno ha un interfaccia USB; L arduino non puó essere collegato direttamente perché la sua USB é di tipo slave e non host. Ci sono schedine che fanno da Host ma ti resta comunque il problema che devi scriverti il programma per gestire il trasferimento dei dati dalla webcam all'arduino.
Poi devi avere un programma che ti interpreta le  immagini. Il ATmega non é concepito per questo; hai giá problemi per tenere i dati in memoria visto che ne hai solo 2048 Byte di RAM che in parte saranno giá utilizzati per le variabili.
Se vuoi farlo o usi un sistema piú potente con un processore ( non microcontroller come il ATmega) oppure adatti un organizer con winmobile o android per farti l' elaborazione.
Poi dovresti inviare dei comandi per azionare le cose; potresti farlo attraversa una seriale. questo non so come si puó fare ma alla fine sará il problema minore perché devi risolvere prima Gli problemi di elaborazione immagini.

@brainbooster: per la cronaca un sensore del mouse rileva un immagine monocromatica di 16x16 fino a 20x20 pixel a secondo il modello.

Ciao Uwe

BrainBooster

#10
Jul 23, 2010, 04:54 pm Last Edit: Jul 23, 2010, 05:23 pm by brainbooster Reason: 1
uwe hai ragione, parzialmente...
l'immagine è in scala di grigi (se non ricordo male 64 tonalità)..
se si illumina il simbolo con un led rgb e si processano le informazioni forse ne vengono fuori anche dei colori....
guardate questo sistema di posizionamento che riconosce dei pattern con un sensore da mouse:
http://tim.cexx.org/?p=613

uwefed

#11
Jul 23, 2010, 08:01 pm Last Edit: Jul 23, 2010, 08:28 pm by uwefed Reason: 1
ok; ma facciamo 2 calcoli. prendiamo l'esempio da quel link che mi hai mandato:

Il sensore é a 18x18 pixel a 6 bit di risoluzione (manteniamo un Byte per pixel per elaborare con piú semplicitá) sono poi 324 Byte per ogni colore e 972 Byte per un immagine a 3 colori. Questo é metá della memoria RAM del Atmega 328.  Qua non hai poi tanto spazio per definire altre variabili e fare calcoli per riconoscere un immagine.
O prendi un ATmega1280 che ne ha 8 kByte, ma anche quá arrivi velocemente ai limiti del microcontroler.

ciao Uwe

Alessio

stento a credere che il mio progettino non sia attuabile con arduino, ma non essendo tanto esperto devo fidarmi  :(

curiosando nel web, guardate cosa ho trovato http://www.youtube.com/watch?v=2rAtST60LeA

qui e stata utilizzata una CMU cam + arduino, cosa ne pensate?? sapete darmi qualche delucidazione in più?

volevo lasciare per ultima questa opzione, ma sembra che non resti altro da fare....

vi ringrazio

Alessio

a dimenticavo, riguardo ai codici qr, che ne pensate? , potrei prendere spunto da li, ma non so se ne esistono a colori , e lettori quindi che riescano a valutarli.

vi ricordo che devo distinguere solo tra due colori rosso e nero, e  devo riuscire riconoscere simboli, come triangoli rettangoli, quadrati, di colore uniforme.

uwefed

#14
Jul 23, 2010, 10:43 pm Last Edit: Jul 23, 2010, 10:56 pm by uwefed Reason: 1
ciao Alessio

leggiti il progetto http://www.cmucam.org/ che é un progetto con un processore dedicato alla elaborazione delle immagini riprese. L' arduino viene poi usato per muovere i motori a secondo delle informazioni che riceve dal CMUcam3.
Ho cercato il prezzo; su un sito tedesco ho trovato 178 ?, uno americano $ 239.00 .

Penso che questa combinazione é una via praticabile per il Tuo progetto.

Cosa sono i codici qr?

Ciao Uwe


Go Up