Sadržaj:

Raspberry Pi Smart NightLight: 5 koraka
Raspberry Pi Smart NightLight: 5 koraka

Video: Raspberry Pi Smart NightLight: 5 koraka

Video: Raspberry Pi Smart NightLight: 5 koraka
Video: Обмен данными между Raspberry PI и Arduino UNO через I2C 2024, Novembar
Anonim
Raspberry Pi Smart NightLight
Raspberry Pi Smart NightLight

Nedavno sam ustao rano, mnogo dana vani je još uvijek mračno, ali ne želim paliti svjetla da utičem na odmor moje žene, pa sam razmišljao o kupovini noćnog svjetla. Tražio sam mnogo prodavnica noćnih svetiljki, ali mislim da to ne želim, ali sam video noćno svetlo pod imenom DockerPi u prodavnici u Amazonu, koju kontroliše Raspberry Pi. Vrlo je dobar i može pružiti DIY funkcije. Pročitao sam wiki opis ovog proizvoda, može se direktno kontrolisati komandnom linijom, kao programer koji koristi Linux sistem, mislim da je ovo super, pa sam ga otkupio i započeo ovaj projekat.

Korak 1: Korak 1: Pripremite sve stvari

Korak 1: Pripremite sve stvari
Korak 1: Pripremite sve stvari

Nakon raspakiranja, a zatim uklanjam zaštitni poklopac s akrilne ploče, a zatim montiram ovaj DockerPi -ov modul na moju Raspberry Pi pomoću štrcaljki i bakrenog štapa. stabilan.

Korak 2: Korak 2: Prenesite najnoviju sliku Rasbpian OS -a na SD karticu

Korak 2: Prenesite najnoviju sliku Rasbpian OS -a na SD karticu
Korak 2: Prenesite najnoviju sliku Rasbpian OS -a na SD karticu
Korak 2: Prenesite najnoviju sliku Rasbpian OS -a na SD karticu
Korak 2: Prenesite najnoviju sliku Rasbpian OS -a na SD karticu
Korak 2: Prenesite najnoviju sliku Rasbpian OS -a na SD karticu
Korak 2: Prenesite najnoviju sliku Rasbpian OS -a na SD karticu

Najnoviju Raspbian sliku preuzimam sa:

a zatim prebrišite sliku pomoću softvera pod nazivom: etcher

možete preuzeti ovdje:

raspakirajte datoteku slike iz gzip paketa i dobit ćete *.img datoteku, odaberite sliku i odaberite pogon koji je vaš računar prepoznao TF karticu, samo pritisnite "Flash" i pričekajte nekoliko minuta, to će biti učinjeno.

a zatim uklonite TF karticu i umetnite je u svoj Raspberry Pi i uključite je.

Korak 3: Korak 3: Uključite I2C funkciju iz Raspi-config

Korak 3: Uključite I2C funkciju iz Raspi-config
Korak 3: Uključite I2C funkciju iz Raspi-config
Korak 3: Uključite I2C funkciju iz Raspi-config
Korak 3: Uključite I2C funkciju iz Raspi-config
Korak 3: Uključite I2C funkciju iz Raspi-config
Korak 3: Uključite I2C funkciju iz Raspi-config
Korak 3: Uključite I2C funkciju iz Raspi-config
Korak 3: Uključite I2C funkciju iz Raspi-config

Kad se Raspberry pi pokrenuo, otvorio sam terminal i otkucao ovu naredbu: sudo raspi-config

i otišli do "Opcije sučelja" i odabrali "I2C" i omogućili ga. zašto bih trebao koristiti ovu naredbu?

Budući da modul noćnog svjetla DockerPija koristi I2C protokol, komunicirajte s Raspberry Pi.

Korak 4: Korak 4: Uključite akrilnu ploču u utor

Korak 4: Priključite akrilnu ploču u utor
Korak 4: Priključite akrilnu ploču u utor
Korak 4: Priključite akrilnu ploču u utor
Korak 4: Priključite akrilnu ploču u utor
Korak 4: Priključite akrilnu ploču u utor
Korak 4: Priključite akrilnu ploču u utor

Odlično se uklapao u utor i možete vidjeti sliku da akrilna ploča može ostati mirna u utoru.

sljedeći korak je pokretanje testnog koda da biste provjerili radi li ispravno.

Preuzeo sam primjer koda s github -a upisivanjem ove naredbe u terminal na malini Pi.

cd ~

git clone

cd dockerpi/Noćno svjetlo/

sudo./Nightligh.sh

a onda mi se noćno svjetlo upalilo i zasjalo.

Pročitao sam uputstva na wiki -ju i pronašao svu tablicu mapa registra LED svjetla.

sljedeći korak će biti najsmješniji dio, želim dodati infracrveni piroelektrični senzor ljudskog tijela, neka otkrije da sam upaljen da upalim ovo malo noćno svjetlo ~

Korak 5: Korak 5: Postavite infracrveni piroelektrični senzor

Korak 5: Postavite infracrveni piroelektrični senzor
Korak 5: Postavite infracrveni piroelektrični senzor
Korak 5: Postavite infracrveni piroelektrični senzor
Korak 5: Postavite infracrveni piroelektrični senzor
Korak 5: Postavite infracrveni piroelektrični senzor
Korak 5: Postavite infracrveni piroelektrični senzor

Ovdje koristimo PIR senzor pokreta. PIR znači pasivna infracrvena veza. Ovaj senzor pokreta sastoji se od fresnelovog sočiva, infracrvenog detektora i pomoćnih krugova detekcije. Objektiv na senzoru fokusira bilo koje infracrveno zračenje prisutno oko njega prema infracrvenom detektoru. Naša tijela stvaraju infracrvenu toplinu, a kao rezultat toga tu toplinu preuzima senzor pokreta. Senzor emitira 5V signal u trajanju od jedne minute čim otkrije prisutnost osobe. Nudi okvirni raspon detekcije od 6-7 metara i vrlo je osjetljiv. Kada PIR senzor pokreta detektira osobu, on šalje signal 5V na Raspberry Pi putem svog GPIO -a i definiramo što bi Raspberry Pi trebao učiniti dok detektira uljeza putem Python kodiranja. Ovdje upravo tiskamo "Otkriven je uljez".

Nakon što ste postavili svoj Raspberry Pi, sada možemo početi petljati s njegovim GPIO pinovima. Ovdje ćemo pokušati treptati LED pomoću Python skripte. Kopirajte i zalijepite sljedeći kôd u svoj Raspberry Pi. To možete učiniti otvaranjem uređivača teksta "leafpad" na vašem Raspberry Pi -u i kopiranjem ovog koda u njega te ga spremite kao Python datoteku: nightlight.py:

#import biblioteke.

uvezite RPi. GPIO kao GPIO

vreme uvoza

import smbus

DEVICE_BUS = 1

DEVICE_ADDR = 0x15

GPIO.setwarnings (False)

GPIO.setmode (GPIO. BOARD)

GPIO.setup (11, GPIO. IN) #Pročitajte izlaz sa PIR senzora pokreta

bus = smbus. SMBus (DEVICE_BUS) # instanca smbusa za i2c uređaj, znači noćno svjetlo.

dok je True:

probaj:

i = GPIO.input (11)

if i == 0: #Kad je izlaz sa senzora pokreta NISKA

print ("Bez uljeza", i)

za i u rasponu (1, 25):

bus.write_byte_data (DEVICE_ADDR, i, 0x00) #LED za isključivanje

vrijeme.spavanje (0,2)

time.sleep (0,1)

elif i == 1: #Kada je izlaz sa senzora pokreta VISOK

print ("Otkriven uljez", i)

za i u rasponu (1, 25):

bus.write_byte_data (DEVICE_ADDR, i, 0xFF) #LED za isključivanje

vrijeme.spavanje (0,2)

time.sleep (0,1)

osim KeyboardInterrupt kao e:

print ("Izađi iz petlje")

a zatim ga sačuvajte i pokrenite tokom podizanja programa malina pi.

sudo vim.tiny /etc/rc.local

i dodajte ovu liniju prije izlaza 0:

sudo python /home/pi/nightlight.py &

a zatim ga spremite i ponovo pokrenite svoj Pi, on će raditi ispravno …

Hvala na gledanju ~

Preporučuje se: