Índice:
- Etapa 1: O que você precisa
- Etapa 2: Conectando o Módulo da Câmera
- Etapa 3: Configurando a câmera
- Etapa 4: Testar o módulo da câmera
- Etapa 5: Criando o circuito com código
Vídeo: Cabine de fotos Raspberry Pi: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
O objetivo:
- Aprenda a codificar e instalar uma câmera Pi
- Usando instruções define e if na codificação
- Aprendendo a usar novas tecnologias como LEDs RGB
Etapa 1: O que você precisa
- 1 Raspberry Pi 3
- Tábua de pão
- Jumpers
- 1 resistor dependente de luz
- 1 capacitor
- 1 botão de pressão
- 6 resistores de 220 Ohm
- 2 LEDs RGB
- 1 câmera Raspberry Pi
Etapa 2: Conectando o Módulo da Câmera
Em primeiro lugar, com o Pi desligado, você precisará conectar o Módulo da câmera à porta da câmera do Raspberry Pi, em seguida, inicie o Pi e verifique se o software está ativado.
- Localize a porta da câmera que está entre a porta HDMI e 3,5 mm
- Puxe o clipe da câmera pelas bordas de plástico até que o clipe esteja na diagonal
- Agora insira o cabo da câmera com o azul voltado para a porta de 3,5 mm
Etapa 3: Configurando a câmera
Abrindo a ferramenta Raspberry Pi Configuration no menu principal e desabilitando e habilitando todas as interfaces acima
No menu Principal, abra o Terminal e digite as seguintes linhas de código:
Sudo Raspi-config
Agora, a partir daqui, use as setas do teclado para operar através do sistema e clique na opção de conexão periférica e a partir deles clique em P1 Camera e habilite a câmera, em seguida, selecione terminar. Voltando ao tipo de terminal nas seguintes linhas de código:
pip install picamera
ou Sudo pip instalar Picamera
Etapa 4: Testar o módulo da câmera
A partir daqui podemos testar se a câmera está funcionando ou não porque temos todo o software e hardware habilitado.
Abra o Python 3 a partir do menu
A partir daí, abra um novo arquivo do shell e salve-o em cameratest.py.
Insira o seguinte código:
from picamera import PiCamera #imported module criado a partir do comando pip install pi camerafrom time import sleep #imported sleep para garantir que nossa câmera permaneça na câmera = PiCamera () # Configuração da câmera
camera.start_preview () # inicia a câmera e mostra como é a saída da câmera
sleep (10) # deixa a visualização ligada por 10 segundos
camera.stop_preview () # finalmente sai da visualização
Execute o código por F5
Se você receber este erro ao executar o código:
(mmal: mmal_vc_component_create: falha ao criar o componente 'vc.ril.camera' (1: ENOMEM)
mmal: mmal_component_create_core: não foi possível criar o componente 'vc.ril.camera' (1) Traceback (última chamada mais recente): Arquivo "", linha 1, no Arquivo "/usr/lib/python2.7/dist-packages/picamera /camera.py ", linha 257, em _init_ self._init_camera () File" /usr/lib/python2.7/dist-packages/picamera/camera.py ", linha 288, em _init_camera prefix =" Falha ao criar câmera componente ") Arquivo" /usr/lib/python2.7/dist-packages/picamera/exc.py ", linha 112, em mmal_check levantar PiCameraMMALError (status, prefixo) picamera.exc. PiCameraMMALError: Falha ao criar o componente da câmera: Out de memória)
Vá para a configuração do Raspberry Pi na coluna de desempenho e aumente a memória da GPU até que o erro desapareça (é necessário reinicializar).
Agora, para criar uma foto que será salva na área de trabalho, usaremos o seguinte código:
from picamera import PiCamera #Módulo importado criado a partir do comando pip install pi camerafrom time import sleep #Imported sleep para garantir que nossa câmera permaneça ligada
camera = PiCamera () #Setup para a câmera
camera.start_preview () #Inicia a pré-visualização em espera (5) #Deixa a pré-visualização ligada por 5 segundos
camera.capture ('/ home / pi / Desktop / image.jpg') # Do
camera.stop_preview () # Pára a visualização
Etapa 5: Criando o circuito com código
Como visto acima nos diagramas de circuito, precisamos configurar um botão, um LDR e, finalmente, dois LEDs RGB. Primeiro, vamos configurar o botão no lado esquerdo inferior da placa de ensaio. Durante a configuração do botão, usaremos as linhas ferroviárias comuns, o que significa que conectaremos nossos 3,3V no positivo e o aterramento no negativo. Depois de concluir a configuração do circuito apenas para o botão.
Vamos testar nosso circuito para ver se podemos fazer com que, se o botão for pressionado, liguemos o led usando o seguinte código:
#Imported Modulesfrom gpiozero import Button from Picamera import PiCamera from time import sleep
#Configurar
Câmera = PiCamera () Botão = Botão (22)
#Função de captura de fotos, decidi colocá-la em uma função de definição, pois ela nos ajuda a limpar o código principal
def photocap ():
Camera.start_preview ()
sleep (5) Camera.capture ('/ home / pi / Desktop / image.jpg') print ("A foto foi tirada") Camera.stop_preview ()
#Código principal:
enquanto True: if Button.is_pressed: print ("O botão foi pressionado") photocap ()
# Por que isso funciona: o código principal funciona, pois tudo o que estamos fazendo é usar o comando if button.is_pressed em um momento de instrução true, portanto, é atualizado constantemente quando o botão é pressionado para tirar a foto
Agora vamos configurar 2 LEDs RGB até o topo do circuito e separá-los no meio da placa de ensaio e fazer o simétrico. Se você não tiver resistores de 220 ohms para este projeto, você pode configurá-los em paralelo dependendo da sua resistência para os resistores que você tem. O segundo pino do LED RGB de 4 pinos (o mais longo deve ser conectado ao aterramento através da ferrovia. Os outros pinos devem ser todos conectados aos seus próprios pinos GPIO. (Primeiro pino = vermelho, Segundo pino = terra, Terceiro pino = verde, Quarto pino = azul).
Testaremos um de nossos LEDs RGB em nosso circuito de botão com o código abaixo:
#Imported Modulesfrom gpiozero import Button from Picamera import PiCamera
de gpiozero import RGBLED
do tempo importar dormir
#Configurar
Câmera = PiCamera () Botão = Botão (22)
TimedLED = RGBLED (vermelho = 21, verde = 20, azul = 16)
#Função de captura de fotos com LED RGB, decidi colocá-la em uma função de definição, pois nos ajuda a limpar o código principal
def photocap (): Camera.start_preview () sleep (4)
timedled.color (1, 0, 0)
dormir (2)
timedled.color (0, 1, 0)
dormir (1)
Camera.capture ('/ home / pi / Desktop / image.jpg') print ("A foto foi tirada") Camera.stop_preview ()
#Código principal:
enquanto verdadeiro:
se Button.is_pressed:
print ("O botão foi pressionado") photocap ()
# Por que isso funciona: A razão pela qual esse código funciona é porque agora temos o RGBLED para funcionar como um cronômetro para quando a foto vai ser tirada
Agora configure o resistor Light Dependent no lado direito inferior da placa de ensaio usando o diagrama no topo e as ferrovias comuns discutidas antes. Lembre-se de que ambas as pernas longas do LDR e do capicitador devem ser conectadas ao pino GPIO.
Depois de conectar o LDR, usaremos o seguinte código:
# Módulos importados
do botão de importação do gpiozero
de picamera import PiCamera de gpiozero import RGBLED
de gpiozero import LightSensor
do tempo importar dormir
#Configurar
Câmera = PiCamera () Botão = Botão (22) TimedLED = RGBLED (vermelho = 21, verde = 20, azul = 16)
LightSensor = LightSensor (23)
#Função de captura de fotos com LED RGB, decidi colocá-la em uma função de definição, pois nos ajuda a limpar o código principal
def photocap (): Camera.start_preview () sleep (4) timedled.color (1, 0, 0) sleep (2) timedled.color (0, 1, 0) sleep (1) Camera.capture ('/ home / pi / Desktop / image-j.webp
#Código principal:
enquanto verdadeiro:
if Button.is_pressed: print ("O botão foi pressionado") photocap ()
if Button.is_pressed e Lightsensor.when_dark:
imprimir ("Botão pressionado")
imprimir ("Está escuro")
fotocap ()
# Por que isso funciona: a maneira como adicionei o sensor de luz ao meu código é por meio de outra instrução if que contém a função importada do sensor de luz. Quando escuro, configurando-nos perfeitamente para nossa próxima etapa
Agora, a etapa final neste projeto seria ativar o outro RGBLED simétrico ao outro para funcionar como uma luz de flash, O código final:
do botão de importação do gpiozero
de picamera import PiCamera
de gpiozero import RGBLED
de gpiozero import LightSensor
do tempo importar dormir
#Configurar
Camera = PiCamera ()
Botão = Botão (22)
TimedLED = RGBLED (vermelho = 21, verde = 20, azul = 16)
FlashLED = RGBLED (vermelho = 19, verde = 13, azul = 6)
LightSensor = LightSensor (23)
#Função de captura de foto com LED RGB, decidi colocá-la em uma função de definição, pois ela nos ajuda a limpar o código principal def photocap (): Camera.start_preview () sleep (4) timedled.color (1, 0, 0) sleep (2) timedled.color (0, 1, 0) sleep (1) Camera.capture ('/ home / pi / Desktop / image.jpg') print ("A foto foi tirada") Camera.stop_preview () # Código principal: enquanto True: if Button.is_pressed:
imprimir ("O botão foi pressionado")
fotocap ()
if Button.is_pressed e Lightsensor.when_dark:
print ("Botão pressionado") print ("Está escuro")
FlashLED.color (1, 1, 1)
fotocap ()
# Por que isso funciona: A maneira que adicionei minha lanterna é usando o led RGB para produzir a cor branca que é 1, 1, 1 e só faz efeito se a declaração if for verdadeira.
Recomendado:
Cabine de gravação doméstica faça você mesmo ($ 66,00): 11 etapas (com fotos)
DIY Home Recording Booth ($ 66,00): Cerca de quatro anos atrás, eu escrevi um livro didático de Astronomia e um audiolivro que tratava dos 110 Objetos Messier que podem ser vistos por um telescópio. O visualizador é capaz de ouvir os fatos interessantes e a história desses objetos celestes sem ter que
Cabine de fotos de casamento Arduino - peças impressas em 3D, automatizadas e de baixo orçamento: 22 etapas (com fotos)
Arduino Wedding Photo Booth - peças impressas em 3D, automatizadas e de baixo orçamento: Recentemente fui convidado para o casamento do irmão do meu parceiro e eles perguntaram se poderíamos construir uma cabine fotográfica para eles, pois seu aluguel é muito caro. Isso é o que nós pensamos e depois de vários elogios, decidi transformá-lo em um instrutivo
Cabine de história oral em um telefone público antigo: 11 etapas (com fotos)
Cabine de história oral em um telefone público antigo: É engraçado como um projeto incrível leva a outro. Depois de exibir meu Baú de Memória de Áudio no Boston Makers (minha cidade natal), um dos artistas residentes de 2018 da cidade me perguntou se eu estaria interessado em construir um " telefone de história oral
Cabine de fotos para casamento / evento: 6 etapas (com fotos)
Casamento / Evento Photobooth: Olá a todos, casei-me no ano passado, quando procurávamos a preparação do dia D, participámos em várias convenções de casamento. Em todas as convenções há um aluguer de Photobooth, pensei que fosse um photobooth foi uma ótima ideia para um casamento, cada convidado c
Cabine de fotos DIY: 7 etapas (com fotos)
Cabine de fotos DIY: Este é um tutorial sobre como construir sua própria cabine de fotos, muito parecida com as tradicionais vistas em shoppings, parques de diversões e centros comerciais em todo o mundo. Este estande, entretanto, é totalmente digital e é muito mais barato / fácil de fazer em casa. I wr