Mundarija:

Raspberry Pi Smart NightLight: 5 qadam
Raspberry Pi Smart NightLight: 5 qadam

Video: Raspberry Pi Smart NightLight: 5 qadam

Video: Raspberry Pi Smart NightLight: 5 qadam
Video: sasur bahu ki kahani 1 |sasur bahu|sasur aur bahu ki kahani| kahani | 2024, Noyabr
Anonim
Raspberry Pi aqlli tungi yorug'lik
Raspberry Pi aqlli tungi yorug'lik

Men yaqinda erta turdim, ko'p marta tashqaridagi kunlar hali ham qorong'i, lekin men xotinimni dam olishiga ta'sir qilish uchun chiroqni yoqishni xohlamayman, shuning uchun men tungi chiroq sotib olishni o'ylardim. Men juda ko'p tungi yorug'lik do'konlarini qidirdim, lekin men xohlamayman deb o'ylayman, lekin Amazondagi Raspberry Pi tomonidan boshqariladigan do'konda DockerPi deb nomlangan tungi chiroqni ko'rdim. Bu juda yaxshi va DIY xususiyatlarini ta'minlay oladi. Men ushbu mahsulotning wiki tavsifini o'qidim, uni Linux tizimidan foydalanadigan dasturchi sifatida to'g'ridan -to'g'ri buyruq satri boshqarishi mumkin, menimcha, bu juda zo'r, shuning uchun men uni qaytarib sotib oldim va bu loyihani boshladim.

1 -qadam: 1 -qadam: Hamma narsani tayyorlang

1 -qadam: hamma narsani tayyorlang
1 -qadam: hamma narsani tayyorlang

Qutini ochgandan so'ng, men akril plastinka ustidagi himoya qopqog'ini olib tashlayman, so'ngra bu DockerPi modulini Raspberry Pi -ga chayqalishlar va mis tayoq bilan o'rnataman. u barqaror o'rnatildi.

2 -qadam: 2 -qadam: Rasbpian OS -ning so'nggi rasmini SD -kartaga o'tkazing

2 -qadam: Rasbpian OS -ning so'nggi rasmini SD -kartaga o'tkazing
2 -qadam: Rasbpian OS -ning so'nggi rasmini SD -kartaga o'tkazing
2 -qadam: Rasbpian OS -ning so'nggi rasmini SD -kartaga o'tkazing
2 -qadam: Rasbpian OS -ning so'nggi rasmini SD -kartaga o'tkazing
2 -qadam: Rasbpian OS -ning so'nggi rasmini SD -kartaga o'tkazing
2 -qadam: Rasbpian OS -ning so'nggi rasmini SD -kartaga o'tkazing

Men Raspbian -ning so'nggi rasmini yuklab olaman:

va keyin tasvirni "etcher" deb nomlangan dastur yordamida o'chiring

bu yerdan yuklab olishingiz mumkin:

gzip paketidan rasm faylini oching va siz *.img faylini olasiz, rasmni tanlang va kompyuteringiz TF kartasini tanigan drayverni tanlang, "Flash" tugmasini bosing va bir necha daqiqa kutib turing.

keyin TF kartasini chiqarib oling va uni Raspberry Pi -ga joylashtiring va uni yoqing.

3-qadam: 3-qadam: Raspi-config-dan I2C funktsiyasini yoqing

3-qadam: Raspi-config dan I2C funktsiyasini yoqing
3-qadam: Raspi-config dan I2C funktsiyasini yoqing
3-qadam: Raspi-config dan I2C funktsiyasini yoqing
3-qadam: Raspi-config dan I2C funktsiyasini yoqing
3-qadam: Raspi-config dan I2C funktsiyasini yoqing
3-qadam: Raspi-config dan I2C funktsiyasini yoqing
3-qadam: Raspi-config dan I2C funktsiyasini yoqing
3-qadam: Raspi-config dan I2C funktsiyasini yoqing

Raspberry pi ishga tushganda, men terminalni ochdim va shu buyruqni yozdim: sudo raspi-config

"Interfacing Options" ga o'ting va "I2C" ni tanlang va uni yoqing. nima uchun men bu buyruqni ishlatishim kerak?

Chunki DockerPi tungi yorug'lik moduli I2C protokoli yordamida Raspberry Pi bilan aloqa o'rnatadi.

4 -qadam: 4 -qadam: Akril panelni uyaga ulang

4 -qadam: Akril panelni uyaga ulang
4 -qadam: Akril panelni uyaga ulang
4 -qadam: Akril panelni uyaga ulang
4 -qadam: Akril panelni uyaga ulang
4 -qadam: Akril panelni uyaga ulang
4 -qadam: Akril panelni uyaga ulang

U uyaga juda mos keladi va siz akril panel uyada harakatsiz qolishi mumkin bo'lgan rasmni ko'rishingiz mumkin.

Keyingi qadam, uning to'g'ri ishlashini tekshirish uchun sinov kodini ishga tushirish.

Men github -dan namuna kodini ushbu buyruqni raspberry Pi terminaliga yozib yukladim.

CD ~

git klon

CD dockerpi/Nightlight/

sudo./Nightligh.sh

va keyin mening tungi nuri yonadi va yonadi.

Men vikidagi ko'rsatmalarni o'qib chiqdim va LED yorug'lik registrining xaritalar jadvalini topdim.

Keyingi qadam, eng kulgili qism bo'ladi, men inson tanasiga infraqizil piroelektrik sensorni qo'shmoqchiman, bu kichkina tungi chiroq yonib turganimni aniqlasin ~

5 -qadam: 5 -qadam: Infraqizil piroelektrik sensorni o'rnating

5 -qadam: Infraqizil piroelektrik sensorni o'rnating
5 -qadam: Infraqizil piroelektrik sensorni o'rnating
5 -qadam: Infraqizil piroelektrik sensorni o'rnating
5 -qadam: Infraqizil piroelektrik sensorni o'rnating
5 -qadam: Infraqizil piroelektrik sensorni o'rnating
5 -qadam: Infraqizil piroelektrik sensorni o'rnating

Bu erda biz PIR harakat sensori ishlatamiz. PIR passiv infraqizil degan ma'noni anglatadi. Ushbu harakat sensori fresnel linzalari, infraqizil detektor va qo'llab -quvvatlovchi aniqlash sxemasidan iborat. Sensor linzalari uning atrofidagi infraqizil nurlanishni infraqizil detektorga qaratadi. Bizning tanamiz infraqizil issiqlikni ishlab chiqaradi va buning natijasida bu issiqlik harakat sensori tomonidan qabul qilinadi. Sensor 5V signalini odam borligini aniqlagandan so'ng bir daqiqa davomida chiqaradi. Taxminan 6-7 metrni aniqlashning taxminiy diapazonini taklif qiladi va juda sezgir. Qachonki PIR harakat sensori odamni aniqlasa, u Raspberry Pi -ga GPIO orqali 5V signal chiqaradi va biz Raspberry Pi nima qilishi kerakligini aniqlaymiz, chunki u Python kodlash orqali buzg'unchini aniqlaydi. Bu erda biz "Intruder aniqlandi" ni bosib chiqaramiz.

Raspberry Pi -ni o'rnatganingizdan so'ng, endi biz uning GPIO pinlari bilan aralashishni boshlashimiz mumkin. Bu erda biz Python skriptidan foydalanib, LEDni o'chirishga harakat qilamiz. Quyidagi kodni Raspberry Pi -ga nusxa ko'chiring va joylashtiring. Buni Raspberry Pi -dagi "leafpad" matn muharririni ochish va unga kodni nusxalash va buni Python fayli sifatida saqlash orqali amalga oshirish mumkin: nightlight.py:

#import libararies.

RPi. GPIO -ni GPIO sifatida import qilish

import vaqti

smbus import qilish

DEVICE_BUS = 1

DEVICE_ADDR = 0x15

GPIO.setwarnings (noto'g'ri)

GPIO.setmode (GPIO. BOARD)

GPIO.setup (11, GPIO. IN) #PIR harakat sensori orqali o'qish

avtobus = smbus. SMBus (DEVICE_BUS) # i2c qurilmasi uchun smbus misoli, tungi yorug'likni bildiradi.

rost bo'lsa:

harakat qilib ko'ring:

i = GPIO.input (11)

agar i == 0: #Harakat sezgichidan chiqish LOW bo'lsa

chop etish ("Bosqinchilar yo'q", i)

i uchun (1, 25):

bus.write_byte_data (DEVICE_ADDR, i, 0x00) #LEDni o'chirish

vaqt uyqu (0,2)

uyqu (0.1)

elif i == 1: #Harakat sensori chiqishi yuqori bo'lganda

chop etish ("Bosqinchi aniqlandi", i)

i uchun (1, 25):

bus.write_byte_data (DEVICE_ADDR, i, 0xFF) #LEDni o'chirish

vaqt uyqu (0,2)

uyqu (0.1)

KeyboardInterruptdan tashqari:

chop etish ("ko'chadan chiqish")

va keyin uni saqlang va malina pi ochilish vaqtida ishga tushiring.

sudo vim.tiny /etc/rc.local

va 0 chiqishidan oldin bu qatorni qo'shing:

sudo python /home/pi/nightlight.py &

keyin uni saqlang va Pi -ni qayta ishga tushiring, u to'g'ri ishlaydi …

Ko'rganingiz uchun tashakkur ~

Tavsiya: