Sistema de Registro e Alerta de Fotocélula com Raspberry Pi – Construa um Sensor de Luz de Baixa Potência com Python
Este guia orienta você na construção de um fotossensor baseado em Raspberry Pi que registra níveis de luz e dispara alertas. Perfeito para monitorar espaços escuros como armários ou armários de equipamentos, ou simplesmente acompanhar a iluminação ambiente.
Usaremos LEDs como indicadores de saída, mas o circuito pode ser adaptado para controlar relés, buzzers ou até um serviço de notificação. Tudo que você precisa é um Kit Inicial RPi da Adafruit – um pacote econômico que inclui tudo necessário – ou você pode montar as peças você mesmo a partir da lista de materiais abaixo.
- 3 × LEDs difusos de 10 mm (vermelho, azul, verde)
- 1 × Capacitor de 1 µF
- 1 × Fotocélula (fotorresistor)
- 3 × Resistores de 560 Ω
- 1 × Breakout Pi Cobbler
- 10 × Fios jumper para protoboard
- 1 × Protoboard sem solda de tamanho completo
Diferente de um microcontrolador típico, o Raspberry Pi não possui conversor analógico-digital integrado. Superamos isso cronometrando a carga de um capacitor através da fotocélula – uma técnica de temporização RC barata que fornece leituras confiáveis.
Pré-requisitos
A programação é feita em Python. Recomendamos usar a distribuição Occidentalis da Adafruit, que inclui a biblioteca RPi.GPIO e módulos pré-compilados para o Pi. Se preferir uma configuração mínima, simplesmente instale RPi.GPIO via pip.
Como o circuito consome muito pouca corrente, uma fonte de alimentação padrão do Pi é suficiente. Para calibração, uma fonte de luz variável (ex: lâmpada de mesa com brilho ajustável) ajudará a ver como o sensor reage a diferentes níveis de iluminação.
Passo 1 – Fiação do Circuito RC
- Insira o Cobbler na protoboard, garantindo que nenhum pino toque o mesmo trilho de alimentação – caso contrário, você arrisca curto-circuitar o Pi.
- Conecte o pino 3.3 V ao trilho positivo da protoboard e o pino GND ao trilho negativo.
- Coloque a fotocélula no vão entre as duas metades da protoboard.
- Conecte um lado da fotocélula ao trilho de 3.3 V e o outro lado ao pino 18 no Pi.
- Conecte o capacitor de 1 µF do pino 18 ao GND. Isso completa a rede RC.
Neste ponto, você pode prosseguir para calibrar o sensor.
Passo 2 – Calibração e Teste
Execute o seguinte script Python. Ele mede continuamente quanto tempo leva para o capacitor carregar através da fotocélula. O valor retornado cai à medida que a intensidade da luz aumenta.
#!/usr/bin/env python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
RC_PIN = 18
def rc_time(pin):
GPIO.setup(pin, GPIO.OUT)
GPIO.output(pin, GPIO.LOW)
time.sleep(0.1) # descarrega totalmente o capacitor
GPIO.setup(pin, GPIO.IN)
count = 0
while GPIO.input(pin) == GPIO.LOW:
count += 1
return count
while True:
print(rc_time(RC_PIN))
time.sleep(0.5)
Conforme você varia a fonte de luz, observará uma tendência numérica clara: níveis de luz mais altos produzem leituras mais baixas. Capture algumas amostras no escuro e sob iluminação típica para estabelecer um limiar para disparar alertas.
Passo 3 – Implementando Alertas
Com o limiar definido, modifique o script para ligar ou desligar LEDs, registrar dados em arquivo ou enviar notificação via email ou MQTT. Por exemplo, para piscar um LED vermelho quando o ambiente ficar claro:
RED_LED = 17
GPIO.setup(RED_LED, GPIO.OUT)
while True:
level = rc_time(RC_PIN)
if level < THRESHOLD:
GPIO.output(RED_LED, GPIO.HIGH)
else:
GPIO.output(RED_LED, GPIO.LOW)
time.sleep(1)
Para fluxos de trabalho mais complexos, considere integrar com Home Assistant, Node-RED ou um serviço web Flask personalizado.
Segurança e Boas Práticas
- Sempre verifique as conexões dos pinos antes de alimentar o Pi.
- Use alimentação de 3.3 V para a rede RC; evite 5 V que poderia danificar o GPIO do Pi.
- Mantenha o valor do capacitor baixo (1 µF) para evitar tempos de carga longos que desaceleram o script.
- Documente seus dados de calibração; facilita solução de problemas e ajustes futuros.
Com esta configuração, você agora tem um sensor de luz confiável e de baixa potência que registra e reage a mudanças de iluminação. Sinta-se à vontade para expandir o projeto adicionando múltiplos sensores, registrando em banco de dados ou visualizando os dados em um dashboard web.
Processo de manufatura
- Integração MQTT Perfeita: Sensores NodeMCU DHT22 com Raspberry Pi 3 B+ como Broker
- Sistema de Aquaponia Controlado por Raspberry Pi: Guia de Construção e Código
- Registre e Gráfico Eventos de Termostato 24‑V com Optoacoplador e Raspberry Pi
- Construa um Sensor de Temperatura Remoto com Raspberry Pi e Python – Guia Passo a Passo
- Monitoramento Contínuo de Temperatura e Umidade no Raspberry Pi com EzTemp
- Monitoramento de Temperatura de Sala com Raspberry Pi: Gráficos Gnuplot e Alertas por Email
- Como Conectar Sensor de Temperatura DS1820 One‑Wire ao Raspberry Pi via GPIO
- Conectando Sensor Ultrassônico HC‑SR04 ao Raspberry Pi 3 – Guia Completo
- Meça Sensores Analógicos no Raspberry Pi sem ADC Nativo
- Construa um Sistema de Monitoramento de Temperatura e Luz Multi-Sensor com Raspberry Pi e DS18B20