Raspberry Pi Smart NightLight: 5 etapas
Raspberry Pi Smart NightLight: 5 etapas
Anonim
Raspberry Pi Smart NightLight
Raspberry Pi Smart NightLight

Recentemente, acordei cedo, muitas vezes os dias lá fora ainda estão escuros, mas não quero acender as luzes para prejudicar o descanso da minha esposa, por isso estou pensando em comprar uma luz noturna. Procurei muitas lojas de lanternas noturnas, mas não acho que seja o que eu quero, mas vi uma luz noturna chamada DockerPi em uma loja na Amazon, que é controlada pelo Raspberry Pi. É muito bom e pode fornecer recursos de DIY. Eu li a descrição wiki desse produto, ele pode ser controlado diretamente pela linha de comando, como um programador usando sistema Linux, acho isso muito legal, então comprei de volta e iniciei este projeto.

Etapa 1: Etapa 1: preparar todas as coisas

Etapa 1: preparar todas as coisas
Etapa 1: preparar todas as coisas

Depois de desempacotar e remover a tampa protetora da placa de acrílico, então monto este módulo DockerPi no meu Raspberry Pi com screews e vareta de cobre. ele ficou estável.

Etapa 2: Etapa 2: atualizar a imagem mais recente do Rasbpian OS para o cartão SD

Etapa 2: atualizar a imagem mais recente do Rasbpian OS para o cartão SD
Etapa 2: atualizar a imagem mais recente do Rasbpian OS para o cartão SD
Etapa 2: atualizar a imagem mais recente do Rasbpian OS para o cartão SD
Etapa 2: atualizar a imagem mais recente do Rasbpian OS para o cartão SD
Etapa 2: atualizar a imagem mais recente do Rasbpian OS para o cartão SD
Etapa 2: atualizar a imagem mais recente do Rasbpian OS para o cartão SD

Eu baixei a imagem Raspbian mais recente em:

e, em seguida, flash da imagem por meio de um software chamado: etcher

você pode baixar aqui:

descompacte o arquivo de imagem do pacote gzip e você obterá um arquivo *.img, selecione a imagem e selecione a unidade que seu PC reconheceu o cartão TF, basta pressionar "Flash" e esperar alguns minutos, estará feito.

e, em seguida, remova o cartão TF e insira-o no seu Raspberry Pi e ligue-o.

Etapa 3: Etapa 3: ativar a função I2C no Raspi-config

Etapa 3: Ative a função I2C em Raspi-config
Etapa 3: Ative a função I2C em Raspi-config
Etapa 3: Ative a função I2C em Raspi-config
Etapa 3: Ative a função I2C em Raspi-config
Etapa 3: Ative a função I2C em Raspi-config
Etapa 3: Ative a função I2C em Raspi-config
Etapa 3: Ative a função I2C em Raspi-config
Etapa 3: Ative a função I2C em Raspi-config

Quando o Raspberry pi foi inicializado, abri um terminal e digitei este comando: sudo raspi-config

e navegou até "Opções de interface" e selecione "I2C" e habilitou-o. por que devo usar este comando?

Como o módulo nightlight do DockerPi está usando o protocolo I2C, comunique-se com o Raspberry Pi.

Etapa 4: Etapa 4: conecte o painel de acrílico ao slot

Etapa 4: conecte o painel de acrílico ao slot
Etapa 4: conecte o painel de acrílico ao slot
Etapa 4: conecte o painel de acrílico ao slot
Etapa 4: conecte o painel de acrílico ao slot
Etapa 4: conecte o painel de acrílico ao slot
Etapa 4: conecte o painel de acrílico ao slot

Encaixou-se muito bem no slot, e você pode ver a imagem de que o painel de acrílico pode ficar parado no slot.

a próxima etapa é executar o código de teste para verificar se ele funciona corretamente.

Baixei o código de exemplo do github digitando este comando no terminal do raspberry Pi.

cd ~

git clone

cd dockerpi / Nightlight /

sudo./Nightligh.sh

e então minha luz noturna acendeu e brilhou.

Eu li as instruções em seu wiki e encontrei todo o gráfico do mapa de registro da luz LED.

o próximo passo será a parte mais divertida, eu quero adicionar um sensor piroelétrico infravermelho do corpo humano, deixe-o detectar que estou aceso para iluminar esta pequena luz noturna ~

Etapa 5: Etapa 5: configurar o sensor piroelétrico infravermelho

Etapa 5: configurar o sensor piroelétrico infravermelho
Etapa 5: configurar o sensor piroelétrico infravermelho
Etapa 5: configurar o sensor piroelétrico infravermelho
Etapa 5: configurar o sensor piroelétrico infravermelho
Etapa 5: configurar o sensor piroelétrico infravermelho
Etapa 5: configurar o sensor piroelétrico infravermelho

Aqui, estamos usando um sensor de movimento PIR. PIR significa infravermelho passivo. Este sensor de movimento consiste em uma lente de fresnel, um detector infravermelho e um circuito de detecção de suporte. A lente do sensor focaliza qualquer radiação infravermelha presente ao seu redor em direção ao detector infravermelho. Nossos corpos geram calor infravermelho e, como resultado, esse calor é captado pelo sensor de movimento. O sensor emite um sinal de 5 V por um período de um minuto assim que detecta a presença de uma pessoa. Ele oferece uma faixa de detecção provisória de cerca de 6–7 metros e é altamente sensível. Quando o sensor de movimento PIR detecta uma pessoa, ele envia um sinal de 5 V para o Raspberry Pi por meio de seu GPIO e definimos o que o Raspberry Pi deve fazer ao detectar um intruso por meio da codificação Python. Aqui estamos apenas imprimindo "Intruso detectado".

Depois de configurar seu Raspberry Pi, podemos começar a mexer nos pinos GPIO. Aqui, tentaremos piscar um LED usando um script Python. Copie e cole o código a seguir em seu Raspberry Pi. Você pode fazer isso abrindo o editor de texto "leafpad" no seu Raspberry Pi e copiando o código para ele e salve-o como um arquivo Python: nightlight.py:

#import libararies.

importar RPi. GPIO como GPIO

tempo de importação

import smbus

DEVICE_BUS = 1

DEVICE_ADDR = 0x15

GPIO.setwarnings (False)

GPIO.setmode (GPIO. BOARD)

GPIO.setup (11, GPIO. IN) #Leia a saída do sensor de movimento PIR

bus = smbus. SMBus (DEVICE_BUS) # instância de smbus para dispositivo i2c, significa a luz noturna.

enquanto verdadeiro:

Experimente:

i = GPIO.input (11)

if i == 0: #Quando a saída do sensor de movimento é BAIXA

imprimir ("Sem intrusos", i)

para i no intervalo (1, 25):

bus.write_byte_data (DEVICE_ADDR, i, 0x00) #Turn OFF LED

tempo.sono (0,2)

tempo.sono (0,1)

elif i == 1: #Quando a saída do sensor de movimento é ALTA

imprimir ("Intruso detectado", i)

para i no intervalo (1, 25):

bus.write_byte_data (DEVICE_ADDR, i, 0xFF) #Turn OFF LED

tempo.sono (0,2)

tempo.sono (0,1)

exceto KeyboardInterrupt como e:

imprimir ("Sair do loop")

e, em seguida, salve-o e execute-o durante a inicialização do raspberry pi.

sudo vim.tiny /etc/rc.local

e adicione esta linha antes da saída 0:

sudo python /home/pi/nightlight.py &

e depois salve-o e reinicie seu Pi, ele funcionará corretamente …

Obrigado por assistir ~