Mündəricat:
- Addım 1: Nə lazımdır
- Addım 2: Dövrənizi qurun
- Addım 3: LEDləri idarə etmək və yoxlamaq üçün bir skript yaradın
- Addım 4: Parametrlərdən və Şərtli İfadələrdən istifadə edərək Elastiklik Əlavə edin
Video: Python və Raspberry Pi -nin GPIO pinləri ilə birdən çox LED -ə nəzarət: 4 addım (şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Bu Təlimat 4 LED -i gücləndirmək üçün RaspberryPi -də birdən çox GPIO pinini necə idarə edəcəyinizi göstərir. Python -da parametrlər və şərti ifadələr ilə də sizi tanış edəcək.
Bir LED -i idarə etmək üçün Raspberry Pi -nin GPIO pinlərindən istifadə etməklə əvvəlki təlimatımız GPIO.output əmrindən istifadə edərək tək bir LED -in necə açılacağını və söndürülməsini göstərir. Bu Təlimat, dövrə üzərində daha çox nəzarət əldə etməyi öyrətmək üçün bu biliklərə əsaslanır.
Addım 1: Nə lazımdır
- Artıq Raspbian quraşdırılmış RaspberryPi. Bir Monitör, Siçan və Klaviatura istifadə edərək və ya Uzaq Masaüstü vasitəsilə Pi -yə daxil ola bilməlisiniz. İstənilən Raspberry Pi modelindən istifadə edə bilərsiniz. Pi Zero modellərindən biriniz varsa, bəzi başlıq pinlərini GPIO portuna lehimləmək istəyə bilərsiniz.
- Qırmızı, Mavi, Sarı və Yaşıl LEDlər
- Lehimsiz Prototipləşdirmə Breadboard
- 4 x 330 ohm rezistorlar
- Bəzi kişilərdən qadınlara keçid telləri
Addım 2: Dövrənizi qurun
Çörək lövhənizdə yuxarıdakı dövrə qurun ki, heç bir komponentə toxunmayın və LED -lərin düzgün şəkildə bağlandığından əmin olun.
LED -lərinizdəki müsbət və mənfi potensialları (polariteyi) necə müəyyənləşdirirsiniz? Bir LED -ə yaxından baxsanız, rəngli korpusun içərisində iki kiçik metal parçası olduğunu görərsiniz. Bunlara Anod və Katod deyilir. Katod, ikisinin ən böyüyüdür və LED -lərin mənfi qurğusuna da bağlıdır.
Dövrünüzü yoxladıqdan sonra, yuxarıdakı diaqramı izləyərək, Raspberry Pi -nin GPIO pinlərini tullanan kabellərə bağlayın.
Addım 3: LEDləri idarə etmək və yoxlamaq üçün bir skript yaradın
Raspberry Pi -də IDLE -ni açın (Menyu> Proqramlaşdırma> Python 2 (IDLE)).
Yeni bir layihə açın, Fayl> Yeni Fayl bölməsinə keçin. Sonra aşağıdakı kodu yazın (və ya kopyalayıb yapışdırın):
GPO olaraq RPi. GPIO idxal edin
idxal vaxtı GPIO.setmode (GPIO. BCM) GPIO.setup (17, GPIO. OUT) GPIO.setup (18, GPIO. OUT) GPIO.setup (22, GPIO. OUT) GPIO.setup (23, GPIO. OUT) GPIO.çıxış (17, Doğru) vaxt.yuxu (3) GPIO.çıxış (17, Yanlış) vaxt.yuxu (1) GPIO.çıxış (18, Doğru) vaxt.yuxu (3) GPIO.çıxış (18, Yanlış) time.sleep (1) GPIO.output (22, True) time.sleep (3) GPIO.output (22, False) time.sleep (1) GPIO.output (23, True) time.sleep (3) GPIO. çıxış (23, Yanlış)
Layihənizi Raspberry Pis Documents qovluğunda multilights.py (Fayl> Farklı Saxla) olaraq qeyd edin.
Raspberry Pi -də Terminalı açın (Menyu> Aksesuarlar> Terminal) və aşağıdakıları yazaraq Sənədlər qovluğuna gedin:
cd/home/pi/Sənədlər
İndi aşağıdakıları yazaraq yeni skriptinizi işlədə bilərsiniz:
python multilights.py
İşıqlar onu açmaq və söndürmək üçün öz növbəsində aparacaq. Yuxarıdakı skript, hər bir işığın 3 saniyə ərzində yanmasını təmin etmək və növbəti işığı yandırmazdan əvvəl 1 saniyə gözləmək üçün time.sleep əmrindən istifadə edir.
Addım 4: Parametrlərdən və Şərtli İfadələrdən istifadə edərək Elastiklik Əlavə edin
Parametrləri və Şərti Şərhləri istifadə edərək yuxarıdakı skripti daha çevik edə bilərik.
Parametr, daha sonra skriptdə istifadə edə biləcəyiniz bir dəyəri saxlamağa imkan verir. Ən çox yayılmış dəyərlər sətirlər (mətn), tam ədədlər (tam ədədlər) və ya üzənlər (ondalık ədədlər) dir.
Şərti Bəyanat, müəyyən bir şərtin yerinə yetirilib -yetirilmədiyini yoxlayaraq bir kod seqmentinin icra edilməli olub -olmadığını müəyyən edəcək. Vəziyyət parametrləri də əhatə edə bilər.
Raspberry Pi -də IDLE -ni açın və yeni bir layihə açın (Fayl> Yeni Fayl). Sonra aşağıdakıları yazın. Nişan düyməsini istifadə edərək bütün girintilərin (nişanələrin) daxil olmasını təmin etmək üçün diqqətli olun:
GPO olaraq RPi. GPIO idxal edin
sys import argv olan idxal zamanı = argv [1] ledaction = argv [2] LEDa = 17 LEDb = 18 LEDc = 22 LEDd = 23 GPIO.setmode (GPIO. BCM) GPIO.setup (LEDa, GPIO. OUT) GPIO. setmode (GPIO. BCM) GPIO.setup (LEDb, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDc, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDd, GPIO. ÇIKIŞ) əgər ledaction == "off": if if == "a": ifledilmiş == "a": GPIO.output (LEDa, False) if if == "b": GPIO.output (LEDb, False) thatled if == "c": GPIO.output (LEDc, Yanlış) == "d" ifşa edildikdə: GPIO.output (LEDd, Yanlış) == "hamısı" ifa olunursa: GPIO.output (LEDa, False) GPIO.output (LEDb, False) GPIO. çıxış (LEDc, Yanlış) GPIO.output (LEDd, Yanlış) əgər ledaction == "on" olarsa: əgər == "a" çalınarsa: GPIO.output (LEDa, True) əgər == "b" olarsa: GPIO.output (LEDb, Doğru), əgər == "c" yanarsa: GPIO. Doğru) GPIO. çıxışı (LEDb, Doğru) GPIO. çıxışı (LEDc, Doğru) GPIO. çıxışı (LEDd, Doğru)
Layihənizi Documents qovluğunda controllight.py (Fayl> Farklı Saxla) olaraq qeyd edin. İndi Terminalı açın (Menyu> Aksesuarlar> Terminal) və aşağıdakı əmri yazın:
python nəzarət işığı. py b
İkinci LED yanmalıdır. İndi aşağıdakıları yazın:
python controllight.py b off
İkinci LED sönməlidir.
5, 6, 7 və 8 sətirlərində, hansı LED -ə bağladığımız GPIO pinini saxlamaq üçün LEDa, LEDb, LEDc və LEDd parametrlərini yaradırıq. Bu, skriptdə əhəmiyyətli dəyişikliklər etmədən alternativ GPIO pinlərindən istifadə etməyimizə imkan verir.
Məsələn, ilk LEDləri Pin 3 -ə (GPIO 2) bağlasaq, 5 -ci xətti aşağıdakı kimi dəyişdirməliyik:
LEDa = 2
4 -cü sətir, controllight.py -dən sonra yazdığınız dəyərləri (c) və ledaction (on) parametrlərində saxlayır. Ssenari, daha sonra hansı LED -in idarə olunacağına və onu yandırıb -söndürməyəcəyinə qərar vermək üçün bir sıra Şərti Bəyanatlarla yanaşı bu parametrləri də istifadə edir.
16 -cı sətir (əgər ledaction == "on" olarsa:) şərti bir ifadədir. Bu ifadəni izləyən girintili xətlər yalnız bəyanatın şərti yerinə yetirildikdə işləyəcək. Bu ssenaridə, şərt budur ki, ledaction üzərindəki mətni ehtiva etsin.
Ssenarinin digər Şərti Bəyanatlarını oxuyaraq aşağıdakı əmri Terminala yazanda nə olacağını təxmin edə bilərsinizmi?
python controllight.py hər şey açıqdır
Niyə bir cəhd göstərməyin və cavabınızı aşağıdakı şərhlər hissəsinə yazmayın.
Tövsiyə:
I2C: 9 Adım (Şəkillərlə) Bir çox Nixie Borularına Nəzarət Etmək üçün Çox Yönlü G/Ç Genişləndirici PCB
I2C ilə Bir çox Nixie Borularına Nəzarət Etmək üçün Çox Yönlü I/O Extender PCB: Hal -hazırda vintage nixie borularını canlandırmaq üçün çox maraq var. Bazarda çoxlu nixie borulu saat dəstləri mövcuddur. Köhnə rus nixie borular stokunda hətta canlı bir ticarət olduğu ortaya çıxdı. Həm də burada Instructables -da
Təlimat: Arduino, TCA9548A I2C Multiplexer istifadə edərək birdən çox Eyni Ünvan Cihazına Necə Nəzarət Edir: 3 Addım
Təlimat: Arduino, TCA9548A I2C Multiplexer istifadə edərək Birdən çox Eyni Ünvan Cihazına Necə Nəzarət Edir: Təsvir: TCA9548A I2C Multiplexer Modulu eyni I2C ünvanlı (8 eyni ünvana qədər I2C) cihazları bir mikro nəzarətçiyə bağlamağı təmin etməkdir. Multiplexer, əmrləri seçilmiş dəstə bağlayaraq qapıçı kimi çıxış edir
Birdən çox PZEM 004T -ni Nodemcu Modulu ilə qoşun: 3 addım
Birdən çox PZEM 004T -ni Nodemcu Modulu ilə bağlayın: Güc oğurluğu aşkarlama sistemi və ya enerji izləmə sistemi kimi bəzi layihələrdə birdən çox PZEM 004T moduluna ehtiyac var, buna görə burada Nodemcu kodunu və 3 PZEM 004T modulunun Nodemcu.if ilə əlaqəsini təmin etdim. sonra k
4 -dən çox mühərrikdən istifadə - Birdən çox mühərrikin yığılması: 3 addım
4 -dən çox mühərrikdən istifadə etmək - Birdən çox mühərrik qalaqlamaq: Təlim olunan Vibrotaktil Həssas Dəyişdirmə və Artırma Cihazı (https: //www.instructables.com/id/Vibrotactile-Sens …), həssaslığı tərcümə edən bir qurğunun necə qurulacağını göstərir. vibrasiya stimullarına giriş. Bu titrəmə stimulları p
CloudX Microcontroller ilə Birdən çox 7 Segment Ekran Sayğacı: 4 Addım
CloudX Microcontroller ilə Birdən çox 7 Segment Ekran Sayğacı: Bu Layihə, CloudX mikro nəzarətçi istifadə edərək iki 7 Segmentdə məlumatların necə göstəriləcəyini izah edir