İçindekiler:

Birden Fazla LED'i Python ve Raspberry Pi'nizin GPIO Pinleriyle Kontrol Etme: 4 Adım (Resimlerle)
Birden Fazla LED'i Python ve Raspberry Pi'nizin GPIO Pinleriyle Kontrol Etme: 4 Adım (Resimlerle)

Video: Birden Fazla LED'i Python ve Raspberry Pi'nizin GPIO Pinleriyle Kontrol Etme: 4 Adım (Resimlerle)

Video: Birden Fazla LED'i Python ve Raspberry Pi'nizin GPIO Pinleriyle Kontrol Etme: 4 Adım (Resimlerle)
Video: Raspberry Pi Egitim Serisi - Led Baglantisi (Temel GPIO Komutlari) 2024, Temmuz
Anonim
Python ve Raspberry Pi'nizin GPIO Pinleriyle Birden Fazla LED'i Kontrol Etme
Python ve Raspberry Pi'nizin GPIO Pinleriyle Birden Fazla LED'i Kontrol Etme

Bu Eğitilebilir Tablo, 4 LED'e güç sağlamak için RaspberryPi'nizdeki birden fazla GPIO pininin nasıl kontrol edileceğini gösterir. Ayrıca Python'daki parametreleri ve koşullu ifadeleri size tanıtacaktır.

Bir LED'i Kontrol Etmek için Raspberry Pi'nizin GPIO Pinlerini Kullanma konusundaki önceki Talimatımız, GPIO.output komutunu kullanarak tek bir LED'in nasıl açılıp kapatılacağını gösterir. Bu Eğitilebilirlik, devreniz üzerinde nasıl daha fazla kontrol elde edeceğinizi öğretmek için bu bilgi üzerine kuruludur.

Adım 1: Neye İhtiyacınız Olacak?

Neye ihtiyacınız olacak
Neye ihtiyacınız olacak
Neye ihtiyacınız olacak
Neye ihtiyacınız olacak

- Raspbian yüklü bir RaspberryPi. Ayrıca bir Monitör, Fare ve Klavye kullanarak veya Uzak Masaüstü aracılığıyla Pi'ye erişebilmeniz gerekir. Raspberry Pi'nin herhangi bir modelini kullanabilirsiniz. Pi Zero modellerinden birine sahipseniz, bazı başlık pinlerini GPIO bağlantı noktasına lehimlemek isteyebilirsiniz.

- Kırmızı, Mavi, Sarı ve Yeşil LED'ler

- Lehimsiz Prototip Oluşturma Breadboard

- 4 x 330 ohm Dirençler

- Bazı Erkek - Dişi atlama telleri

Adım 2: Devrenizi Oluşturun

Devrenizi Oluşturun
Devrenizi Oluşturun
Devrenizi Oluşturun
Devrenizi Oluşturun

Yukarıdaki devreyi, bileşen uçlarından hiçbirinin dokunmadığından ve LED'lerin doğru şekilde bağlandığından emin olarak devre tahtanıza kurun.

LED'lerinizdeki pozitif ve negatif uçları (polarite) nasıl tanımlarsınız? Bir LED'e yakından bakarsanız, renkli kasasının içinde iki küçük metal parçası olduğunu görürsünüz. Bunlara Anot ve Katot denir. Katot, ikisinin en büyüğüdür ve ayrıca LED'lerin negatif ucuna da bağlıdır.

Devrenizi kontrol ettikten sonra yukarıdaki şemayı takip ederek Raspberry Pi'nizin GPIO pinlerine jumper kablolarını bağlayınız.

3. Adım: LED'leri Kontrol Etmek ve Test Etmek İçin Bir Komut Dosyası Oluşturun

LED'leri Kontrol Etmek ve Test Etmek İçin Bir Komut Dosyası Oluşturun
LED'leri Kontrol Etmek ve Test Etmek İçin Bir Komut Dosyası Oluşturun

Raspberry Pi'nizde IDLE'yi açın (Menü > Programlama > Python 2 (IDLE)).

Yeni bir proje açın Dosya > Yeni Dosya'ya gidin. Ardından aşağıdaki kodu yazın (veya kopyalayıp yapıştırın):

RPi. GPIO'yu GPIO olarak içe aktar

alma zamanı 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.output(17, True) time.sleep(3) GPIO.output(17, False) time.sleep(1) GPIO.output(18, True) time.sleep(3) GPIO.output(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. çıktı(23, Yanlış)

Projenizi, Raspberry Pis Documents klasörünüze multilights.py (Dosya > Farklı Kaydet) olarak kaydedin.

Raspberry Pi'nizde Terminal'i (Menü > Aksesuarlar > Terminal) açın ve aşağıdakileri yazarak Belgeler klasörünüze gidin:

cd /home/pi/Belgeler

Artık aşağıdakileri yazarak yeni komut dosyanızı çalıştırabilirsiniz:

python multilights.py

Işıklar açmak ve kapatmak için sırayla alacaktır. Yukarıdaki komut dosyası, her adım arasında bir duraklama oluşturmak için time.sleep komutunu kullanarak her ışığın 3 saniye açık kalmasını ve sonraki ışığı açmadan önce 1 saniye beklemesini sağlar.

Adım 4: Parametreleri ve Koşullu İfadeleri Kullanarak Esneklik Ekleme

Parametreler ve Koşullu İfadeler kullanarak yukarıdaki betiği çok daha esnek hale getirebiliriz.

Parametre, komut dosyasında daha sonra kullanabileceğiniz bir değeri saklamanıza olanak tanır. En yaygın değer türleri, dizeler (metin), tam sayılar (tam sayılar) veya kayan sayılardır (ondalık sayılar).

Bir Koşullu İfade, belirli bir koşulun karşılanıp karşılanmadığını kontrol ederek bir kod parçasının yürütülüp yürütülmeyeceğini belirler. Koşul, parametreleri de içerebilir.

Raspberry Pi'nizde IDLE'yi açın ve yeni bir proje açın (Dosya > Yeni Dosya). Ardından aşağıdakini yazın. Sekme tuşunu kullanarak tüm girintilerin (sekmelerin) dahil edildiğinden emin olun:

RPi. GPIO'yu GPIO olarak içe aktar

sys'den içe aktarma zamanı import argv thatled=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. OUT) ise ledaction=="off" ise: thatled=="a" ise: GPIO.output(LEDa, False) ise wholed=="b" ise: GPIO.output(LEDb, False) ise wholed=="c" ise: GPIO.output(LEDc, False) thatled=="d" ise: GPIO.output(LEDd, False) thatled=="all" ise: GPIO.output(LEDa, False) GPIO.output(LEDb, False) GPIO. output(LEDc, False) GPIO.output(LEDd, False) eğer ledaction=="on" ise: thatled=="a" ise: GPIO.output(LEDa, True) ise thatled=="b" ise: GPIO.output(LEDb, True) thatled=="c" ise: GPIO.output(LEDc, True) ise thatled=="d": GPIO.output(LEDd, True) thatled=="tümü" ise: GPIO.output(LEDa, True) GPIO.output(LEDb, True) GPIO.output(LEDc, True) GPIO.output(LEDd, True)

Projenizi Controllight.py (Dosya > Farklı Kaydet) olarak Belgeler klasörünüze kaydedin. Şimdi Terminal'i açın (Menü > Donatılar > Terminal) ve aşağıdaki komutu yazın:

python controllight.py b açık

İkinci LED yanmalıdır. Şimdi aşağıdakini yazın:

piton controllight.py b kapalı

İkinci LED sönmelidir.

5, 6, 7 ve 8. satırlarda hangi GPIO pinini hangi LED'e bağladığımızı saklamak için LEDa, LEDb, LEDc ve LEDd parametrelerini oluşturuyoruz. Bu, komut dosyasında önemli değişiklikler yapmak zorunda kalmadan alternatif GPIO pinlerini kullanmamızı sağlar.

Örneğin, bunun yerine ilk LED'leri Pin 3'e (GPIO 2) bağlayacak olsaydık, 5. satırı aşağıdaki şekilde değiştirmemiz gerekirdi:

LEDa=2

Satır 4, controllight.py'den sonra yazdığınız değerleri olan (c) ve ledaction (on) parametrelerine kaydeder. Komut dosyası daha sonra hangi LED'in kontrol edileceğine ve açılıp kapatılmayacağına karar vermek için bir dizi Koşullu İfadenin yanı sıra bu parametreleri kullanır.

16. satır (if ledaction=="on":) koşullu bir ifadedir. Bu ifadeyi izleyen girintili satırlar, yalnızca ifadenin koşulu karşılandığında çalışır. Bu senaryoda, koşul, ledaction'ın açık metnini içermesidir.

Komut dosyasının diğer Koşullu İfadelerini okuyarak, Terminal'e aşağıdaki komutu yazdığınızda ne olacağını tahmin edebilir misiniz?

python controllight.py hepsi açık

Neden bir şans vermiyorsunuz ve cevabınızı aşağıdaki yorumlar bölümüne göndermiyorsunuz.

Önerilen: