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 ? Ajude-nos a melhorar o blog atribuindo uma nota a este tutorial (estrelas no final do artigo), comente e visite nossa loja FILIPEFLOP!

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!

      Giovanni Bauermeister
  2. Muito bom!!

  3. 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.