Mündəricat:

Python və Raspberry Pi -nin GPIO pinləri ilə birdən çox LED -ə nəzarət: 4 addım (şəkillərlə)
Python və Raspberry Pi -nin GPIO pinləri ilə birdən çox LED -ə nəzarət: 4 addım (şəkillərlə)

Video: Python və Raspberry Pi -nin GPIO pinləri ilə birdən çox LED -ə nəzarət: 4 addım (şəkillərlə)

Video: Python və Raspberry Pi -nin GPIO pinləri ilə birdən çox LED -ə nəzarət: 4 addım (şəkillərlə)
Video: GPIO Basics with LED light - Raspberry Pi and Python tutorials p.6 2024, Iyul
Anonim
Python və Raspberry Pi -nin GPIO pinləri ilə birdən çox LED -ə nəzarət
Python və Raspberry Pi -nin GPIO pinləri ilə birdən çox LED -ə nəzarət

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

Ehtiyacınız olacaq
Ehtiyacınız olacaq
Ehtiyacınız olacaq
Ehtiyacınız olacaq

- 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

Dövrənizi qurun
Dövrənizi qurun
Dövrənizi qurun
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

LEDləri idarə etmək və yoxlamaq üçün bir skript yaradın
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ə: