Pilaroid: Câmera Instantânea com Raspberry Pi 4

Você já deve ter ouvido falar da câmera instantânea Polaroid que teve seu auge no século 20. São câmeras que tiram uma foto e imprimem instantaneamente utilizando um tipo de revelação química.

Como toda moda fica esquecida por um tempo mas volta com tudo, a Polaroid hoje tem diversos modelos de câmeras instantâneas, com impressão colorida, tecnologia touch e muito mais.

Mas como nós da FILIPEFLOP temos o espírito maker e gostamos de projetos DIY, decidimos fazer a nossa versão de câmera instantânea utilizando uma Raspberry Pi e uma mini impressora térmica e a batizamos de Pilaroid. E o que é melhor, disponibilizamos todas as instruções neste post para você também desenvolver sua câmera instantânea.

Pilaroid Câmera Instantânea com Raspberry Pi

Material Utilizado

O sistema Linux utilizado na Raspberry foi o Raspbian Jessie Lite. As instruções de instalação do sistema podem ser encontradas no site da Raspberry Pi ou siga os primeiros passos com Raspberry Pi.

A impressora térmica embarcada nos possibilita a impressão em rolo comum de papel térmico de 57mm de largura, facilmente encontrado em papelarias. É possível imprimir dados de log, textos, gráficos, fotos, código de barras e etc. Sua comunicação via Serial/TTL facilita a integração dessa impressora com diversas plataformas como Arduino ou Raspberry Pi.

Detalhes câmera

Veja também como utilizar a impressora térmica com Arduino.

A câmera utilizada é da própria Raspberry Pi e pode ser facilmente conectada na entrada CSI usando um cabo flat. É uma câmera de 8MP que faz fotos e vídeos utilizando a aplicação raspistill já instalada no Raspbian. Veja o funcionamento da câmera em detalhes aqui.

Configuração do Sistema

Antes de montar e conectar os componentes na Raspberry Pi vamos fazer a configuração do sistema.

Para que a impressora funcione corretamente na UART é necessário desabilitar o Bluetooth da Raspberry Pi 3 que também utiliza a mesma porta. Para isso, adicione no final do arquivo:

A seguinte linha:

Use um editor de texto de sua preferência como vi ou nano.

Então, desabilite o serviço de bluetooth, para que não haja interferência na porta UART:

Usando a aplicação raspi-config, habilite a câmera e desabilite o terminal serial

Vá em Interfacing Options -> Camera -> Yes para habilitar a câmera.

raspi-config Interfacing Options

raspi-config Camera

raspi-config Camera Enable Yes

Para desabilitar o terminal serial vá em Interfacing Options -> Serial -> No -> Yes -> Ok

raspi-config Serial

raspi-config Login Shell No

raspi-config Hardware Serial Yes

raspi-config Serial No

Instalação dos Programas Necessários

Primeiramente vamos instalar o CUPS (Common UNIX Printing System) e alguns pacotes de dependência.

Então instale o raster-filters para CUPS, um programa que processa formatos bitmap para o formato nativo de impressora térmica.

Para adicionar a impressora térmica ao programa CUPS e utilizá-la como impressora padrão execute os seguintes comandos:

Código Shell Script da Câmera Instantânea

O repositório clonado do github nos passos anteriores já acompanha um script que é responsável por fazer a leitura do botão, tirar a foto e enviar para a impressora térmica. Você encontra esse script em ‘zj-58/extras/camera.sh’.

Para nosso projeto, foram feitas algumas mudanças e o resultado foi o seguinte:

As linhas mais importantes do programa são:

A primeira linha tira a foto em um formato 512×384 e joga via pipe para o programa lp.

A segunda imprime logo em seguida um pequeno cartão que fizemos especialmente para o evento TDC Florianópolis 2017.

Para que o programa inicie automaticamente edite com um editor de texto(vi ou nano) o arquivo ‘/etc/rc.local’, adicionando antes da linha “exit 0” o script camera.sh

Faça o reboot do sistema para que as mudanças tenham efeito.

Montagem do Circuito

Já que a impressora se comunica via UART, precisamos conectá-la nos pinos 6, 8 e 10 da Raspberry Pi da seguinte maneira:

Pinagem Raspberry Impressora Térmica

O LED de indicação pode ser conectado nos pinos 29 e 25 como na tabela a seguir:

Pinagem Raspberry LED

Lembre-se de usar um resistor com o LED. Pode ser de um valor pequeno como 220 ohms.

O botão é ligado em uma GPIO e Ground como na tabela a seguir:

Pinagem Raspberry Botão

Veja a montagem do circuito completo na figura a seguir:

Circuito Completo da Câmera Instantânea

Teste Final da Câmera Instantânea

Ligue o circuito nas fontes de energia. Quando o sistema iniciar você verá o LED piscar. Aperte o botão e veja sua foto sendo impressa:

Resultado da Impressão

Abaixo temos o vídeo da câmera em ação:

 

As instruções técnicas deste post e programa shell script são baseadas no projeto original de Phillip Burgess, engenheiro de criação da Adafruit. O post original em inglês pode ser encontrado aqui.

Gostou? Deixe seu comentário logo abaixo. Em caso de dúvidas, caso queira trocar uma ideia, ou até mesmo dividir seu projeto, acesse nosso Fórum!

Posts Relacionados

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

4 Comentários

  1. Opa, achei foda demais!
    Só recomendo mudar as cores dos blocos de código, por serem muito claras, fica difícil ler!
    té +

    1. Olá Lays,

      Que bom que gostou e obrigado pelo feedback! São sempre bem-vindos!

  2. Uowww….

    Excelente idéia.
    Gerou até uma outra aqui.

    Seria possível realizar a mesma montagem porém com adaptadores/transformadores de tensão equivalentes e baterias ao invés da eletricidade pela rede física e instalar um shield wifi para comunicação com a impressora que ficaria em solo equivalentes e a camera e RasPi estariam em um drone.
    O botão de disparo seria acionado em solo ou então implantado código para a altitude e longitude determinadas serem fotografadas criando um mapa em tempo real da localização.

    ideal para mapeamento de áreas com custo baixíssimo (em vista de outras alternativas) em tempo real.