Studio fattibilità progetto Animals' POV

Ciao a tutti. È la prima volta che scrivo sul forum per cui, per prima cosa, mi presento. Mi chiamo Raffaele, ho 27 anni, vivo in Romagna e lavoro come sviluppatore di videogame. Non avendo alcun tipo di esperienza con la piattaforma Arduino, chiedo a voi qualche consiglio sulla fattibilità di questo progetto.

Il primo passo è realizzare un dispositivo, da appendere al collo di un animale, che scatti delle foto ad intervalli regolari, ad esempio una ogni ora, da salvare in una memoria flash collegata ad Arduino. Spulciando il forum mi è sembrato di capire che una cosa del genere sia fattibile. Il secondo passo è invece trasferire, tramite bluetooth, wifi o qualche altro protocollo, le foto memorizzate ad un ricevitore posizionato vicino al luogo in cui l'animale è solito dormire. Il ricevitore, che può essere anche un semplice computer, si occuperà poi di fare l'upload delle foto ad un blog/sito. L'obiettivo finale del progetto è infatti creare un blog/sito su cui mostrare il mondo visto da una prospettiva diversa, per l'appunto il punto di vista (POV, acronimo di Point of View) di un animale.

Le prime problematiche che mi vengono in mente riguardano la miniaturizzazione del dispositivo e la durata della batteria. Nel primo caso vi chiedo un parere su quali possono essere, più o meno, le dimensioni e il peso di un dispositivo che contenga Arduino, una fotocamera, una memoria flash e una batteria. Nel secondo caso vi chiedo invece quanto può durare la batteria di un dispositivo di questo tipo considerando che si dovrebbe accendere/attivare solamente durante la fasi di scatto e di trasferimento delle foto.

Grazie a tutti, Raffaele.

L' Arduino é troppo poco potente da poter gestire la quantitá di dati generati da una foto. Per questo uso altre piattaforme con microcontroller e piú memoria sono piú adatti. A che animale stai pensando? gatto, cane piccolo, cane grande, cavallo, mucca, pesce, lama, alpacca? ;) ;) Ciao Uwe

Questo forse potrebbe fare al caso tuo! Potresti riuscire a scattare le foto (con scarsa qualità ma ci dovresti riuscire) e a salvare sulla micro sd, ma rimane sempre la trasmissione delle foto al tuo pc, per quella non so se ci fai qualcosa con l'arduino :\

Altrimenti stavo pensando ad un qualche software di automazione da passare su uno smartphone. Non so se esistono ma per windows pc c'è autoit !

Forse fai prima a prenderti una spy camera. Sono piccole e alcune sono dotate di connessione wireless.

Ad esempio una cosa molto cinese come questa: http://www.ebay.it/itm/VIDEOCAMERA-SPORT-MOTO-MINI-DV-MD80-MICROCAMERA-SPIA-VIDEO-ACTION-SPY-CAM-CASCO-/170798533461?pt=LH_DefaultDomain_101&hash=item27c462cb55#ht_16745wt_1110 L'appendi al collo e via...

Ciao, il tuo progetto mi ha fatto venire in mente uno studio fatto in modo analogo, di cui avevo sentito parlare alla radio. Da questo studio era emerso che il gatto, magari acciambellato e in dormivelgia, non appena il padrone esce di casa, inizia una fase di esplorazione della casa :grin:

Provando a ricercarlo in internet, mi so imbattuto in questo: http://www.katz23.de/

visto che si tratta sostanzialmente della stessa cosa che vuoi fare tu, magari potrebbe esserti di spunto.

EDIT guarda pure questi, chi l'avrebbe mai detto che ci fosse un tale business? http://www.japantrendshop.com/IT-wonderful-shot-cane-fotocamera-gatto-p-168.html http://www.originalstore.it/Foto-Camera-per-guardare-con-gli-occhi-dei-tuoi-animali_viewprod_785.html http://www.eyenimal.com/

EDIT 2 ..c'è un mondo, lì fuori, di gatti che vanno in giro a fare foto...:grin: http://www.mr-lee-catcam.de/pe_catcam1.htm http://www.photographercat.com/

sciorty: Questo forse potrebbe fare al caso tuo! Potresti riuscire a scattare le foto (con scarsa qualità ma ci dovresti riuscire) e a salvare sulla micro sd, ma rimane sempre la trasmissione delle foto al tuo pc, per quella non so se ci fai qualcosa con l'arduino :\

Altrimenti stavo pensando ad un qualche software di automazione da passare su uno smartphone. Non so se esistono ma per windows pc c'è autoit !

uhmm quel sistema usa una telecamera collegata ad un atmega, niente che non si possa fare con un normale arduino. Problema: arduino inpiega un sacco di tempo per registrare la foto, quindi verrebbero tutte mosse :-)

lesto:
uhmm quel sistema usa una telecamera collegata ad un atmega, niente che non si possa fare con un normale arduino. Problema: arduino inpiega un sacco di tempo per registrare la foto, quindi verrebbero tutte mosse :slight_smile:

Aaah ma io pensavo fosse una shield! Però, niente male per 29$ no? Vabbè che poi la fotocamera ne costa il doppio…

Comunque anche io a questo punto ti consiglio di prendere una spy camera, io l’ho comprata tempo fa e ogni tanto mi torna utile!
Probabilmente non ci sarebbe bisogno neanche di Arduino, prendi il segnale del rcevitore tramite un grabber video e fai tutto dal pc :slight_smile:

@uwefed

L' Arduino è troppo poco potente da poter gestire la quantità di dati generati da una foto.

Cosa intendi dire con questo? E' un problema di memoria? Se non ho capito male, Arduino dispone solo di pochi KB di memoria, insufficienti a memorizzare una foto nella sua totalità. Suppongo però che la fotocamera sia dotata di un proprio buffer sufficiente a contenere almeno uno scatto. Pertanto non si può sfruttare la memoria di Arduino solamente come area di swap, trasferendo la foto "a pezzi" dalla fotocamera alla memoria SD?

Tu che altra piattaforma/microcontroller consiglieresti? Ho preso in considerazione Arduino perché, non avendo esperienza su questo genere di cose, mi è sembrato un progetto ben supportato, documento e con una vasta comunità alle spalle.

Se riesco a realizzare il progetto, sicuramente la prima "cavia" sarà la mia cagnolona Heka, un incrocio tra un Labrador e uno Spinone di due anni. Inoltre, se le dimensioni e il peso del dispositivo lo consentono, mi piacerebbe applicarlo anche alla mia gatta. Non voglio però che il suo comportamento venga in alcun modo condizionato o disturbato dall'apparecchio. In linea di massima, il dispositivo è utilizzabile su qualsiasi animale semi-sedentario. L'importante è che questo vada a dormire sempre nello stesso posto in modo che l'apparecchio possa passare le foto al ricevitore che provvederà poi a effettuare il loro upload sul sito.

@sciorty

Il link che hai postato lo avevo già visto durante le mie precedenti ricerche, ma una risoluzione di 320x240 pixel è troppo poco per le mie esigenze. Mi servirebbe almeno il doppio, ma sarebbe meglio anche un po' di più. Girovagando per la rete, ho trovato anche questo sito http://www.elechouse.com/elechouse/index.php?main_page=index&cPath=168_169 che mi sembra venda fotocamere di qualità superiore, o almeno in grado di scattare foto ad una risoluzione maggiore. Mi resta il dubbio sulla loro compatibilità con Arduino, esiste qualche modo per verificarlo? C'è qualche caratteristica a cui devo prestare particolare attenzione? Un'altra possibile idea che è quella di utilizzare la fotocamera di una smartphone, su ebay si trovano a 15/20 $. Anche in questo caso però non so nulla sulla loro compatibilità con Arduino.

@pitusso

Eh sì, è pieno di gatti che vanno in giro a fare foto ;) Gli ultimi due link, in particolare, corrispondono grosso modo a quello che vorrei realizzare. Con la differenza che lì si tratta di gatti lasciati in giro "a scattare foto" solamente per un paio d'ore. Io invece vorrei che le fotografie venissero raccolte e uploadate sul sito ogni giorno, senza che sia necessario alcun mio intervento manuale. L'ideale sarebbe che dovessi solamente occuparmi di sostituire la batteria del dispositivo.

@lesto

Problema: arduino inpiega un sacco di tempo per registrare la foto, quindi verrebbero tutte mosse

Correggimi se sbaglio, ma la velocità con cui vengono scattate le foto non è legata alle caratteristiche dell'otturatore della fotocamera? Voglio dire, una volta che Arduino manda alla fotocamera l'input di scattare una foto, il tempo necessario per catturare l'immagine credo dipenda dalla velocità dell'otturatore, o sbaglio?

Non voglio utilizzare fotocamere che si trovano in commercio per due motivi:

1) Se non imparo nulla su Arduino e non costruisco il mio dispositivo da solo, dov'è il divertimento? :) 2) Le spy camere sono customizzabili poco o nulla e non adatte per il mio progetto. Uno dei fattori chiave è infatti ridurre al minimo il mio intervento, automatizzando tutto o quasi. Se ogni giorno devo prendere la fotocamera, attaccarla al computer, fare l'upload delle foto, metterla in carica e infine rimetterla al collo del cane, il progetto diventa insostenibile già nel breve periodo.

Cosa intendi dire con questo? E' un problema di memoria? Se non ho capito male, Arduino dispone solo di pochi KB di memoria, insufficienti a memorizzare una foto nella sua totalità. Suppongo però che la fotocamera sia dotata di un proprio buffer sufficiente a contenere almeno uno scatto. Pertanto non si può sfruttare la memoria di Arduino solamente come area di swap, trasferendo la foto "a pezzi" dalla fotocamera alla memoria SD?

Correggimi se sbaglio, ma la velocità con cui vengono scattate le foto non è legata alle caratteristiche dell'otturatore della fotocamera? Voglio dire, una volta che Arduino manda alla fotocamera l'input di scattare una foto, il tempo necessario per catturare l'immagine credo dipenda dalla velocità dell'otturatore, o sbaglio?

allora, partiamo dal fatto che ho guardato le 2 più economiche, niente buffer interno e uscita con segnali nell'ordine dei nanosecondi, quindo il micro già arranca con i microsecondi.

poi ce ne usa RS232 (seriale per PC) esempio: http://www.elechouse.com/elechouse/index.php?main_page=product_info&cPath=168_169&products_id=809 facile da interfacciare ma...

with default baud rate 38400 (maximum 115200)

quindi al massimo 115200 byte/s... un'immagine VGA (640x480) diciamo a 256 colori (1byte), risoluzione che non mi sembra permessa, fa esattamente 640x480 = 307200 che diviso la velocità di trasmissione (consideriamo nulli i ritardi di scrittura su SD cosa assolutamente NON vera...) fa 2.6 secondi per foto.

prendiamo la risoluzione maggiore della camera: VGA (640x480) a 16! colori. Quindi un byte contiene 2 colori (4 bit), e scendi a 1.6secondi per foto. La telecamera non sembra avere un buffer interno, quindi avrai il primo pixel che rappresenta l'immagine all'istante t, e l'ultimo all'istante t+1.6secondi. Questo problema capita anche ai videogiochi che non sincronizzano bene grafica e fisica ;-)

la MT9D111 sembra l'unica con un buffer interno, che usa per convertire la foto in jpeg. sta a te capire se la cosa possa funzionare. Dai un'occhiata al datasheet e vedi se il clock di output può essere rallentato fino a livelli decenti. Io ci ho dato un'occhiata, ma ci ho capito ben poco :-)

Alla fine secondo me è più semplice collegare i pin dell'arduino ai pulsanti (e anche al posto della batteria) della keychan tipo http://www.ebay.it/itm/Car-Key-Chain-Mini-Camera-DV-DVR-macchina-fotografica-AUDIO-VIDEO-01-/251021628534?pt=Videocamere&hash=item3a720e1476 così con arduino puoi accenderla, simulare la pressione tasti per far partire un video o una foto.

quello che vuoi fare è rissunto in questo progetto: http://www.elechouse.com/elechouse/index.php?main_page=product_info&cPath=&products_id=795

edit: per quel progetto usa la http://www.elechouse.com/elechouse/index.php?main_page=product_info&cPath=168_169&products_id=803, la cosa mi lascia perplesso, ma d'altronde...

Grazie @lesto, sei stato molto chiaro nella tua spiegazione. Quando parlavo di velocità dell'otturatore, davo per scontato il fatto che la fotocamera avesse un proprio buffer di memoria in cui salvare lo scatto. Considerata la bassa velocità di clock di Arduino, sospettavo ci fosse un problema del genere, ma tu me l'hai confermato numeri alla mano ;) Infatti, oltre che per la bassa risoluzione, un altro motivo per cui non reputavo questa fotocamera adatta al mio progetto era il fatto che non avesse un buffer di memoria interno.

In questi giorni di festa, ho letto un po' della documentazione della fotocamera MT9D111. Se non vado errato, la frequenza di output, con cui vengono trasmessi i dati della foto scattata, dovrebbe essere configurabile a piacimento come multipla del clock di ingresso. Considerando che la fotocamera funziona in un range che va dai 6 agli 80 MHz, dovrebbe quindi essere supportata Arduino. Non avendoci però capito granché, chiederò maggiori delucidazioni anche sul forum internazionale.

A proposito di questo, mi sono reso conto che le mie nozioni di elettronica, derivanti dalle scuole superiori, sono piuttosto vaghe, carenti e probabilmente anche sbagliate. Avete del buon materiale da consigliarmi? Attualmente sto leggendo questi tutorial, ma sono più orientati alla parte di programmazione che non a quella elettronica. Io invece sono proprio carente su quest'ultima. Mi hanno suggerito anche i seguenti libri: Make: electronics e Getting started with Arduino, li conoscete?