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, Studeni
Anonim
Raspberry Pi Smart NightLight
Raspberry Pi Smart NightLight

Nedavno sam ustao rano, mnogo je dana vani još uvijek mračno, ali ne želim paliti svjetla kako bih utjecao na odmor moje žene, pa sam razmišljao o kupnji noćnog svjetla. Tražio sam puno prodavaonica noćnih svjetiljki, ali mislim da to ne želim, ali vidio sam noćno svjetlo pod nazivom DockerPi u trgovini u Amazonu, koju kontrolira Raspberry Pi. Vrlo je dobar i može pružiti značajke "uradi sam". Pročitao sam wiki opis ovog proizvoda, može se izravno kontrolirati naredbenom linijom, kao programer koji koristi Linux sustav, mislim da je ovo super, pa sam ga kupio i započeo ovaj projekt.

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 je.

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

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

Najnoviju Raspbian sliku preuzimam s:

a zatim bljesnuti sliku putem softvera pod nazivom: etcher

možete preuzeti ovdje:

raspakirajte slikovnu datoteku iz gzip paketa i dobit ćete *.img datoteku, odaberite sliku i odaberite pogon koji je vaše računalo prepoznalo 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 te je uključite.

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 upisao ovu naredbu: sudo raspi-config

i otišli do "Opcije sučelja", 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

Vrlo je dobro pristajao 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.

Primjer koda preuzeo sam s githuba upisivanjem ove naredbe u terminal na malini Pi.

cd ~

git klon

cd dockerpi/Noćno svjetlo/

sudo./Nightligh.sh

a onda mi se noćno svjetlo upali i zasja.

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

sljedeći korak bit će najsmješniji dio, želim dodati infracrveni piroelektrični senzor ljudskog tijela, neka otkrije da sam osvijetljen 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 fresnelove leće, 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 odašilje 5V signal u trajanju od jedne minute čim otkrije prisutnost osobe. Nudi okvirni raspon detekcije od oko 6-7 metara i vrlo je osjetljiv. Kad PIR senzor pokreta detektira osobu, on putem svog GPIO -a šalje signal 5V na Raspberry Pi i definiramo što bi Raspberry Pi trebao učiniti jer detektira uljeza kroz Python kodiranje. Ovdje upravo tiskamo "Otkriven je uljez".

Nakon što ste postavili Raspberry Pi, sada se možemo početi petljati s njegovim GPIO iglama. 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 tako da otvorite uređivač teksta "leafpad" na svom Raspberry Pi -u i kopirate ovaj kod u njega te ga spremite kao Python datoteku: nightlight.py:

#uvozne biblioteke.

uvezite RPi. GPIO kao GPIO

vrijeme uvoza

uvoz smbus

DEVICE_BUS = 1

DEVICE_ADDR = 0x15

GPIO.setwarnings (False)

Način rada GPIO.set (GPIO. BOARD)

GPIO.setup (11, GPIO. IN) #Pročitajte izlaz s PIR osjetnika pokreta

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

dok je istina:

probati:

i = GPIO.ulaz (11)

ako je i == 0: #Kad je izlaz iz 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)

vrijeme.spavanje (0,1)

elif i == 1: #Kad je izlaz 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)

vrijeme.spavanje (0,1)

osim KeyboardInterrupt kao e:

print ("Izađi iz petlje")

a zatim ga spremite i pokrenite tijekom podizanja maline pi.

sudo vim.tiny /etc/rc.local

i dodajte ovaj redak prije izlaza 0:

sudo python /home/pi/nightlight.py &

a zatim ga spremite i ponovno pokrenite Pi, ispravno će raditi …

Hvala na gledanju ~

Preporučeni: