Tirando fotos com Arduino Mega e OV7670 com chip AL422.

Este tutorial ensinará como tirar fotos coloridas com o Arduino Mega e a câmera OV7670 com chip AL422. 

Caso você não tenha a câmera OV7670, poderá adquiri-la na minha página do Mercado Livre  https://produto.mercadolivre.com.br/MLB-1024083585-cmera-ov7670-com-al422-para-arduino-_JM

Os 5 passos abaixo são simples e podem ser finalizados em poucos minutos. Então, mãos à obra!
Figura 1 - Material Necessário

Figura 2 - Câmera à venda no Mercado Livre
Componentes Necessários
1 Arduino Mega 2530
1 módulo leitor de cartão microSD
1 cartão microSD (não incluso no kit)
1 câmera OV7670 com AL422
24 jumpers macho-fêmea

Passo 1 – Conexão entre o Arduino e o módulo de cartão microSD
Conecte o pino VCC do módulo de cartão microSD ao pino de 5 V no Arduino.
Conecte o pino CS ao pino 48 no Arduino.
Conecte o pino MOSI ao pino 51 no Arduino.
Conecte o pino SCK ao pino 52 no Arduino.
Conecte o pino MISO ao pino 50 no Arduino.
Conecte o pino GND ao pino GND no Arduino

Passo 2 – Conexão entre o Arduino e a câmera OV7670
Conecte o pino 3V3 da câmera ao pino 3.3V do Arduino.
Conecte o pino GND da câmera a um dos pinos GND do Arduino.
Conecte o pino SIOC da câmera ao pino 21 do Arduino.
Conecte o pino SIOD da câmera ao pino 20 do Arduino.
Conecte o pino WRST da câmera ao pino 22 do Arduino.
Conecte o pino RRST da câmera ao pino 23 do Arduino.
Conecte o pino WR da câmera ao pino 24 do Arduino.
Conecte o pino VSYNC da câmera ao pino 25 do Arduino.
Conecte o pino RCLK da câmera ao pino 26 do Arduino.
Conecte o pino OE da câmera a um dos pinos GND do Arduino.
Conecte o pino D7 da câmera ao pino 28 do Arduino.
Conecte o pino D6 da câmera ao pino 29 do Arduino.
Conecte o pino D5 da câmera ao pino 30 do Arduino.
Conecte o pino D4 da câmera ao pino 31 do Arduino.
Conecte o pino D3 da câmera ao pino 32 do Arduino.
Conecte o pino D2 da câmera ao pino 33 do Arduino.
Conecte o pino D1 da câmera ao pino 34 do Arduino.
 Conecte o pino D0 da câmera ao pino 35 do Arduino.

Figura 3 - Montagem final

Figura 4 - Montagem final
 
Passo 3 – Upload do programa de captura e armazenamento de imagem.
Faça o download do programa que se encontra neste link http://www.psycho-sphere.com/BeginningArduinoov7670CameraDevelopment.zip
Inicie o Arduino IDE e abra o programa baixado no passo anterior.
Conecte o Arduino Mega ao seu computador e clique no botão Upload. Aguarde o término da transferência do código para o Arduino.
Na IDE, clique em Ferramentas >> Monitor Serial ou aperte Ctrl + Shift + M.
No Monitor Serial, digite t e clique no botão enviar. Será retirada uma foto na resolução QQVGA (modo padrão) e esta será salva no cartão microSD.

Importante: talvez seja necessário ajustar o foco da câmera. Após tirar a primeira foto, remova o cartão micro SD do módulo e transfira o arquivo com a extensão yuv para seu computador. Converta o arquivo para o formato png usando o programa ffmpeg (instruções no Passo 5). Se a foto parecer sem foco, faça o ajuste rotacionando a lente no sentido horário ou anti-horário. Retire uma nova foto e a converta para png. Se a foto estiver menos borrada do que a anterior, você rotacionou no sentido correto. Se não, realize a rotação no sentido contrário. Repita o movimento de rotação e tirar foto até conseguir o foco desejado.

Passo 4 – Selecionando o formato de saída da imagem.
Figura 5 - Monitor Serial
Digite qvga no Monitor serial e aperte ENTER. Os novos parâmetros da câmera serão mostrados. Digite t e pressione ENTER para tirar uma foto no modo QVGA e salvá-la no cartão micro SD.
Digite vga no Monitor serial e aperte ENTER. Os novos parâmetros da câmera serão mostrados. Digite t e pressione ENTER para tirar uma foto no modo VGA e salvá-la no cartão micro SD.
A saída padrão é no formato qqvga.
Passo 5– Convertendo as fotos para o formato PNG
Baixe a última versão do programa ffmpeg em https://www.ffmpeg.org
Dezipe e renomeie a pasta para ffmpeg. Recorte-a e cole para o c:\. Insira uma nova variável de ambiente apontando para c:\ffmpeg\bin.
Insira o cartão microSD em seu computador e copie os arquivos *.yuv ou *.raw para a pasta c:\ov7670 (crie caso ela não exista).
Abra o prompt de comando e digite cd c:\ov7670
Para converter foto QQVGA para PNG, rode o comando:
QQVGA
ffmpeg –f rawvideo –s 160x120 –pix_fmt yuyv422 –i INPUTFILE.YUV –f image2 –vcodec png OUTPUTFILE.PNG
Para converter foto QVGA para PNG, rode o comando:
QVGA
ffmpeg –f rawvideo –s 320x240 –pix_fmt yuyv422 –i INPUTFILE.YUV –f image2 –vcodec png OUTPUTFILE.PNG
Para converter foto VGA para PNG, rode o comando:
VGA
ffmpeg –f rawvideo –s 640x480 –pix_fmt bayer_bggr8 –i VGA1.RAW –f image2 –vcodec png OUTPUTFILE.PNG

A Figura 6 mostra uma imagem obtida no modo VGA.
Figura 6 - imagem VGA (640x480 pixels)


Fonte : Chin, Robert. Beginning Arduino ov7670 Camera Development. Edição do Kindle.

Comentários

Postar um comentário