Sensor de luz Raspberry Pi:um tutorial LDR simples
Neste tutorial do sensor de luz Raspberry Pi, mostro como conectar corretamente o sensor de foto resistor aos pinos GPIO. Por último, mostro como ele pode ser usado em um script Python simples para que você possa coletar e usar os dados dele.
Este é mais um sensor que irei incorporar em projetos futuros, como um despertador ativado por luz.
Explico um pouco mais abaixo cada uma das partes que irei usar neste circuito. Certifique-se de ler sobre ele se precisar de mais informações sobre eles. É importante observar que neste tutorial estou usando apenas um sensor de fotocélula simples, embora sejam perfeitos para algumas tarefas, podem não ser tão precisos quanto você gostaria.
Se você quiser ver visualmente o passo a passo de como configurar o circuito e código do sensor de luz, certifique-se de verificar o vídeo logo abaixo da lista de equipamentos.
Equipamento:
Você precisará do equipamento a seguir para concluir este tutorial do sensor de luz Raspberry Pi. Você pode fazer isso sem nenhum equipamento de placa de ensaio, mas eu recomendo investir em alguns se você planeja fazer muitos trabalhos de circuito.
Recomendado:
Raspberry Pi
Cartão SD de 8 GB ou cartão Micro SD se você estiver usando um Raspberry Pi 2 ou B +
Cabo Ethernet ou dongle Wifi
Sensor de luz (sensor LDR)
1 capacitor 1uF
Opcional:
Capa Raspberry Pi
Teclado USB
Mouse USB
GPIO Breakout Kit
Tábua de pão
Fio de tábua de pão
Vídeo
O vídeo contém quase tudo que a versão em texto deste tutorial faz. É perfeito se você prefere ver as coisas feitas visualmente. Você também verá como o circuito deve funcionar quando terminar.
Você pode encontrar instruções de texto e informações logo abaixo do vídeo.
O circuito sensor de luz Raspberry Pi
O circuito que vamos fazer para este tutorial é super simples e é ótimo para quem está começando com circuitos.
O resistor dependente de luz ou também conhecido como sensor LDR é a peça mais importante do equipamento em nosso circuito (obviamente). Sem ele, não seríamos capazes de detectar se está escuro ou claro. À luz, esse sensor terá uma resistência de apenas algumas centenas de ohms, enquanto no escuro pode ter uma resistência de vários megaohms.
O capacitor em nosso circuito está lá para que possamos medir a resistência do sensor LDR. Um capacitor atua essencialmente como uma bateria que carrega enquanto recebe energia e, em seguida, descarrega quando não está mais recebendo energia. Usando isso em série com o LDR, podemos calcular quanta resistência o LDR está emitindo, seja claro ou escuro.
Para obter o circuito do sensor de luz construído corretamente, siga as etapas abaixo ou verifique o diagrama do circuito logo abaixo das etapas. Nas etapas a seguir, estou me referindo aos números físicos dos pinos (ordem lógica).
- Primeiro conecte o pino 1 (3v3) ao trilho positivo na placa de ensaio.
- Em seguida, conecte o pino 6 (aterramento) ao trilho de aterramento na placa de ensaio.
- Agora coloque o sensor LDR na placa e faça com que um fio vá de uma extremidade ao trilho positivo.
- No outro lado do sensor LDR, coloque um fio que leva de volta ao Raspberry Pi. Conecte-o ao pino nº 7.
- Por fim, coloque o capacitor do fio ao trilho negativo na placa de ensaio. Certifique-se de ter o pino negativo do capacitor no trilho negativo.
Agora estamos prontos para avançar para o código Python. Se você tiver algum problema com o circuito, consulte o diagrama abaixo.
O Código
O código para este projeto é bastante simples e nos dirá aproximadamente se é claro, sombreado ou completamente escuro.
O maior problema que enfrentamos com este circuito é o fato de que o Pi não tem pinos analógicos. Eles são todos digitais, então não podemos medir com precisão a variação na resistência em nossa entrada. Esta falta de pinos analógicos não foi um problema no tutorial do sensor de movimento, uma vez que a saída dele era alta ou baixa (digital). Em vez disso, mediremos o tempo que leva para o capacitor carregar e enviar o pino para cima. Este método é uma maneira fácil, mas imprecisa de saber se está claro ou escuro.
Explicarei brevemente o código do sensor de luz Raspberry Pi e o que ele faz. Se você quiser o código, poderá copiá-lo e colá-lo abaixo ou baixá-lo do meu GitHub.
Para começar, importamos o pacote GPIO de que precisaremos para nos comunicarmos com os pinos GPIO. Também importamos o pacote de tempo, então podemos colocar o script para hibernar quando precisarmos.
#! / usr / local / bin / pythonimport RPi.GPIO como GPIOimport time
Em seguida, definimos o modo GPIO como GPIO.BOARD, isso significa que toda a numeração que usamos neste script se refere à numeração física dos pinos. Uma vez que temos apenas um pino de entrada / saída, precisamos definir apenas uma variável. Defina esta variável para o número do pino que você tem atuando como pino de entrada / saída.
GPIO.setmode (GPIO.BOARD) #define o pino que vai para o circuitpin_to_circuit =7
A seguir, temos uma função chamada rc_time isso requer um parâmetro que é o número do pino do circuito. Nesta função, inicializamos uma variável chamada contagem, retornaremos esse valor assim que o pino ficar alto.
Em seguida, configuramos nosso pino para atuar como uma saída e, em seguida, configuramos para baixo, então temos o script hibernando por 10 ms.
Depois disso, definimos o pino para se tornar a entrada e, em seguida, entramos em um loop while. Ficamos neste loop até que o pino vá para alto, é quando o capacitor carrega cerca de 3/4. Assim que aumentar, retornamos o valor de contagem para a função principal. Você pode usar este valor para ligar e desligar um LED, ativar outra coisa ou registrar os dados e manter estatísticas sobre qualquer variação na luz.
def rc_time (pin_to_circuit):count =0 #Output no pino para GPIO.setup (pin_to_circuit, GPIO.OUT) GPIO.output (pin_to_circuit, GPIO.LOW) time.sleep (0.1) #Mude o pino de volta para entrada GPIO.setup (pin_to_circuit, GPIO.IN) #Contar até que o pino fique alto enquanto (GPIO.input (pin_to_circuit) ==GPIO.LOW):contagem + =1 retorno contagem # Captura quando o script é interrompido, limpeza tente corretamente:# Loop principal enquanto True:print rc_time (pin_to_circuit) exceto KeyboardInterrupt:passfinally:GPIO.cleanup ()
Implantando e executando o código no seu Raspberry Pi
Essa etapa é incrivelmente fácil, mas irei rapidamente percorrer as etapas para que você possa colocá-lo em execução no seu Pi o mais rápido e sem problemas possível. Como todos os tutoriais neste site, estou usando o Raspbian se você precisar de ajuda para instalar o Raspbian, verifique meu guia para instalar o Raspbian.
Embora todos os pacotes de software já devam estar instalados em alguns casos, pode não estar. Se você quiser saber mais sobre os pinos GPIO e como atualizar e instalar o software, certifique-se de verificar meu tutorial sobre como configurar os pinos GPIO no Raspberry Pi.
Você pode baixar o código usando git clone. O seguinte comando fará exatamente isso:
clone git https://github.com/pimylifeup/Light_Sensor/cd ./Light_Sensor
Como alternativa, você pode copiar e colar o código, apenas certifique-se de que o arquivo é um script Python.
sudo nano light_sensor.py
Assim que terminar o arquivo, basta usar ctrl x então y para salvar e sair.
Por fim, execute o código usando o seguinte comando:
sudo python light_sensor.py
Espero que agora você tenha o script funcionando e esteja recebendo dados que refletem corretamente as mudanças na luz do sensor. Se você estiver tendo problemas, por favor, não hesite em deixar um comentário abaixo.
Melhoria da precisão e possíveis usos
Existem inúmeras utilizações para um sensor de luz em um circuito. Vou citar apenas alguns em que pensei enquanto escrevia este tutorial.
- Alarme ativado por luz - Eu mencionei isso antes, mas você pode usar o LDR para detectar quando começa a clarear, então você pode soar um alarme para acordar. Se o programa e o sensor forem precisos, o alarme pode aumentar lentamente à medida que fica mais claro.
- Monitor de jardim - Um sensor de luz pode ser usado em um jardim para verificar a quantidade de sol que uma determinada área do jardim está recebendo. Essa pode ser uma informação útil se você estiver plantando algo que precise de muito sol ou vice-versa.
- Monitor de sala - Quer ter certeza de que as luzes estão sempre apagadas em uma determinada sala? Você pode usar isso para alertá-lo sempre que uma luz for detectada onde não deveria estar.
Há tanta coisa que você pode fazer com este pequeno sensor legal, mas lembre-se também se você precisa de algo um pouco mais preciso do que a fotocélula, então olhe para algo como o sensor de luz digital de alta faixa dinâmica Adafruit.
Espero que você tenha conseguido configurar este sensor de luz Raspberry Pi sem problemas. Se você encontrar um problema, tiver feedback, perdi algo ou qualquer coisa que você gostaria de dizer, sinta-se à vontade para deixar um comentário abaixo.
Fonte:Sensor de luz Raspberry Pi:um tutorial de LDR simples
Processo de manufatura
- Registrador de temperatura Raspberry Pi
- Sensor de temperatura Python e Raspberry Pi
- Estação meteorológica Raspberry Pi
- Sensor de temperatura de 1 fio DS1820 em Raspberry Pi (GPIO diretamente)
- Sensor ultrassônico (HC-SR04) + Raspberry Pi
- Sensor de movimento, alarme, gravação de vídeo em HA no Raspberry Pi
- Sensor de movimento usando Raspberry Pi
- Sensor de umidade do solo Raspberry Pi
- Sensor digital Hall Raspberry Pi em JAVA
- Temperatura do Raspberry Pi e sensor de luz