Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Bu yaxınlarda erkən qalxdım, çox vaxt çöldəki günlər hələ də qaranlıqdır, amma həyat yoldaşımın istirahətinə təsir etmək üçün işıqları yandırmaq istəmirəm, buna görə də gecə işığı almaq barədə düşünürəm. Bir çox gecə işığı mağazası axtardım, amma istədiyimi düşünmürəm, amma Amazonda Raspberry Pi tərəfindən idarə olunan bir mağazada DockerPi adlı bir gecə işığı gördüm. Çox yaxşıdır və DIY xüsusiyyətlərini təmin edə bilər. Bu məhsulun wiki təsvirini oxudum, Linux sistemindən istifadə edən bir proqramçı olaraq birbaşa komanda xətti ilə idarə oluna bilər, düşünürəm ki, bu çox gözəldir, buna görə onu geri alıb bu layihəyə başladım.
Addım 1: Adım 1: Bütün Əşyaları Hazırlayın
Qutusundan çıxardıqdan sonra akril lövhədəki qoruyucu örtüyü çıxarıram və sonra bu DockerPi modulunu qoz və mis çubuqla Raspberry Pi -yə bağlayıram. dayanıqlı oldu.
Addım 2: Addım 2: Ən son Rasbpian OS görüntüsünü SD karta yandırın
Ən son Raspbian görüntüsünü buradan yükləyirəm:
və sonra: etcher adlı bir proqram vasitəsi ilə görüntüyü yandırın
buradan yükləyə bilərsiniz:
gzip paketindən görüntü faylını açın və *.img faylı alacaqsınız, şəkli seçin və kompüterinizin TF kartını tanıdığı sürücünü seçin, sadəcə "Flash" düyməsini basın və bir neçə dəqiqə gözləyin, tamamlanacaq.
və sonra TF kartını çıxarın və Raspberry Pi -yə daxil edin və onu işə salın.
Addım 3: Adım 3: Raspi-config-dən I2C Function-ı yandırın
Raspberry pi işə başlayanda bir terminal açdım və bu əmri yazdım: sudo raspi-config
və "İnterfeys Seçimləri" nə gedin və "I2C" seçin və onu aktivləşdirin. bu əmri niyə istifadə etməliyəm?
DockerPi -nin gecə işığı modulu Raspberry Pi ilə ünsiyyət qurmaq üçün I2C protokolundan istifadə edir.
Adım 4: Adım 4: Akril Paneli yuvaya bağlayın
Yuvaya çox yaxşı uyğun gəlir və akril panelin yuvada qala biləcəyini görə bilərsiniz.
Növbəti addım düzgün işlədiyini yoxlamaq üçün test kodunu işə salmaqdır.
Bu əmri moruq Pi -dəki terminala yazaraq github -dan nümunə kodu yüklədim.
cd ~
git klonu
cd dockerpi/Gecə işığı/
sudo./Nightligh.sh
sonra gecə işığım yanır və parlayır.
Vikidəki təlimatı oxudum və bütün LED işığının qeyd xəritəsini tapdım.
Növbəti addım ən əyləncəli hissə olacaq, insan bədəninə infraqırmızı piroelektrik sensoru əlavə etmək istəyirəm, bu kiçik gecə işığına işıq saçdığımı aşkar etsin ~
Addım 5: Adım 5: İnfraqırmızı Şüa Piroelektrik Sensorunu Qurun
Burada PIR hərəkət sensoru istifadə edirik. PIR passiv infraqırmızı deməkdir. Bu hərəkət sensoru fresnel lens, infraqırmızı detektor və dəstəkləyici aşkarlama sistemindən ibarətdir. Sensorun lensi ətrafındakı infraqırmızı radiasiyanı infraqırmızı detektora yönəldir. Vücudumuz infraqırmızı istilik istehsal edir və nəticədə bu istilik hərəkət sensoru tərəfindən alınır. Sensor, bir insanın varlığını algıladığı anda bir dəqiqə ərzində 5V siqnal verir. Təxminən 6-7 metr məsafədə aşkarlama diapazonu təklif edir və çox həssasdır. PIR hərəkət sensoru bir insanı algıladıqda GPIO vasitəsi ilə Raspberry Pi -yə 5V siqnal verir və Raspberry Pi -nin Python kodlaşdırma yolu ilə daxil olanı aşkar edərkən nə etməli olduğunu təyin edirik. Burada yalnız "Daxil olan aşkarlandı" yazırıq.
Raspberry Pi qurduqdan sonra GPIO pinləri ilə qarışmağa başlaya bilərik. Burada bir Python skriptindən istifadə edərək bir LED -in yanıb -sönməsinə çalışacağıq. Aşağıdakı kodu kopyalayın və Raspberry Pi -yə yapışdırın. Bunu Raspberry Pi -də "leafpad" mətn redaktorunu açaraq bu kodu oraya kopyalayaraq və bunu Python faylı olaraq saxlaya bilərsiniz: nightlight.py:
#libararies idxal edin.
GPO olaraq RPi. GPIO idxal edin
idxal vaxtı
smbus idxal edin
DEVICE_BUS = 1
DEVICE_ADDR = 0x15
GPIO.setwarnings (Yanlış)
GPIO.setmode (GPIO. BOARD)
GPIO.setup (11, GPIO. IN) #PIR hərəkət sensorundan oxu çıxışı
bus = smbus. SMBus (DEVICE_BUS) #22 cihazı üçün smbus nümunəsi gecə işığı deməkdir.
Doğru halda:
cəhd edin:
i = GPIO. giriş (11)
əgər i == 0: #Hərəkət sensorundan çıxış LOW olduqda
çap et ("Daxil olan yoxdur", i)
i üçündür (1, 25):
bus.write_byte_data (DEVICE_ADDR, i, 0x00) #LED -i söndür
vaxt.yuxu (0.2)
vaxt.yuxu (0.1)
elif i == 1: #Hərəkət sensorundan çıxış YÜKSƏK olduqda
çap et ("Təcavüzkar aşkarlandı", i)
i üçündür (1, 25):
bus.write_byte_data (DEVICE_ADDR, i, 0xFF) #LED -i söndürün
vaxt.yuxu (0.2)
vaxt.yuxu (0.1)
e kimi KeyboardInterrupt istisna olmaqla:
çap et ("Döngədən çıx")
və sonra qeyd edin və moruq pi açılışında işləsin.
sudo vim.tiny /etc/rc.local
və 0 çıxışından əvvəl bu xətti əlavə edin:
sudo python /home/pi/nightlight.py &
sonra qeyd edin və Pi -ni yenidən başladın, düzgün işləyəcək …
İzlədiyiniz üçün təşəkkürlər ~