Estou fazendo um projeto de robo controlado via internet, inspirado nesse:

http://labdegaragem.com/profiles/blogs/robo-wifi-controlado-via

 

Atualmente estou usando uma camera IP Wireless, funciona beleza, mas ela pesa um pouco e drena bateria demais, diminuindo muito a autonomia dele...

pensei em por uma daquelas baterias de nobreak, mas aí o peso do robo vai ser muito grande...

 

 

estao estive pensando, alguem sabe como integrar uma camera dessas:

http://www.seeedstudio.com/depot/electronic-brick-serial-ccd-camera...

 

no arduino + ethernet shield pra transmitir um stream

se alguem sabe fazer, ja fez, ou ja leu sobre alguem que fez, me de uma luz, ehehehe

 

valeu, abraços

Exibições: 11895

Responder esta

Respostas a este tópico

Wagner,

 

Fizemos umas contas aqui, e para qualidade máxima, a imagem terá por volta de 500K (colorida 640x480). Se no UART usarmos 115.200Kbps ou 14.400KBps, teríamos em torno de 35 segundos por imagem.

Embora a comunicação que você deseja seja via Ethernet, entre a câmera e o Arduino, será UART mesmo, pelas especificações que vi no wiki do site que você indicou.

Para atingir coisa de 1 frame por segundo, cada imagem deve ter no máximo 14.4K. Será que dá para ver o suficiente com isso?

 

De qualquer forma, curti bastante essa câmera, e para aplicações que não dependam de velocidade ou de grande qualidade, pode ser muito bacana, e parece fácil.

 

Abraço!!

 

na verdade eu penso em imagens menores até, 320x240... E mem precisam de tanta qualidade, a imagem vai servir só como navegação guiada...

o lance funciona bem com a camera wi-fi atual, mas, como eu disse, não é eficiente pra um robo, pelo consumo de energia.

 

Eu estava lendo, outro problema de usar essa camera é que, enquanto eu estiver transferindo a imagem via ethernet, as outras comunicações(recebimento de comando, envio de status dos sensores, etc) vão ficar dormentes... estou começando a achar que não é uma saida muito boa, hehehe... Mas pelo menos serve como aprendizado, eu vou tentar fazer, porque no estágio atual eu não faço nem ideia de como transformar os dados de uma camera dessse tipo em imagens apresentaveis sequencialmente num browser(como video)....


No site da empresa tem um código de exemplo usando esta camera com o arduino:

 

http://garden.seeedstudio.com/index.php?title=Electronic_brick_-_Se...

Poisé Paulo, só que nesses exemplos aí nao esta transmitindo via  ethernet shield um video "entendivel" pelo browser... ta transmitindo via uart com um shield proprio, via usb pro PC...

 

Eu ainda nao achei um exemplo, e tb nao estou querendo comprar a camera sem saber que pode ser feito, saca?

Camera<->arduino<->ethernet shield<->roteador<->..................nuvem..........<->cliente http

Olha se o problema é a bateria, exitem bateria de Lithum Polimero que usamos em helicópteros elétricos cuja a capacidade é alta e pesa pouco.

Tenho packs de 5000ma que da para voar mais de meia hora em um heli acrobatico.

 

 

 

Então, para fazer um vídeo é bem simples, já que você pode obter as imagens em JPG da camera.

Você pode usar por exemplo o FFMPEG, exemplo:
http://electron.mit.edu/~gsteele/ffmpeg/

Será algo +/- assim:

ffmpeg -r 1 -f image2 -i jpeg\*.jpg video.avi


Ou a cada vez que você obter uma imagem da camera, faz um DRAW na sua picture box no c# por exemplo.

O que acha?

É uma boa... eu só nao sei como fazer o stream até um lugar que o ffmpeg leia... lembrando que o arduino nao esta plugado a nada alem de uma bateria e o ethernet shield

Ele não vai estar plugado no PC?  Digo, conectado via rede você pode enviar para uma pasta compartilhada onde um programa fique monitorando estas pastas ou já que você tem um shield eth também pode fazer via socket o envio desses dados e receber do outro lado por um programa desktop que exibirá as imagens.

 

Aqui você tem como criar um servidor e cliente:

http://arduino.cc/en/Reference/Ethernet

 

 

Nao Paulo, hehehe... esta na descriçao do problema :P

nao tem nenhum pc ligado nele... o "diagrama" de controle/acesso é exatamente esse: arduino<->ethernet shield<->roteador<->..................nuvem..........<->cliente http

a ideia é que tenha menos intermediarios(pcs, conversores, whatever) possiveis, e que o stream tenha delay de no maximo 1 segundo, ja que é um robo controlado em tempo real...

 

atualmente eu to usando uma camera wi-fi independente do arduino, so que ela nao é eficiente do ponto de vista energetico... requer 2A a 5v, por isso estou PENSANDO em usar uma dessas cameras seriais, mas a falta de exemplos de uso pra esse fim esta me desestimulando.

Mas o exemplo que dei pode ser trocado por um upload para seu servidor http, não importa para onde vai a imagem, se você tem uma conexão ETH então vc tem acesso externo, é só usar socket para fazer um upload transformando os bytes em base64 e colocando os headers necessário para o upload da imagem, dá no mesmo.

 

O que exemplifiquei é somente para mostrar que não é tão difícil assim.

use a câmera da  sparkfun ela e melhor

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço