İçindekiler:
- Adım 1: Neye İhtiyacınız Olacak?
- Adım 2: Devrenizi Oluşturun
- 3. Adım: LED'leri Kontrol Etmek ve Test Etmek İçin Bir Komut Dosyası Oluşturun
- Adım 4: Parametreleri ve Koşullu İfadeleri Kullanarak Esneklik Ekleme
Video: Birden Fazla LED'i Python ve Raspberry Pi'nizin GPIO Pinleriyle Kontrol Etme: 4 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
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?
- 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
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
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:
Arduino Birden Fazla Servo Motor Nasıl Bağlanır - PCA9685 Eğitimi: 6 Adım
Arduino Çoklu Servo Motorlar Nasıl Bağlanır - PCA9685 Eğitimi: Bu dersimizde PCA9685 modülünü ve arduino kullanarak birkaç servo motorun nasıl bağlanacağını öğreneceğiz. Birkaç motor bağlamanız gerektiğinde PCA9685 modülü çok iyidir, bununla ilgili daha fazla bilgiyi buradan okuyabilirsiniz https ://www.adafruit.com/product/815Videoyu İzle
4'ten Fazla Motor Kullanma - Birden Fazla Motor Kalkanını İstifleme: 3 Adım
4'ten Fazla Motor Kullanma - Birden Fazla Motor Kalkanını İstifleme: Eğitilebilir Vibrotactile Duyusal Yer Değiştirme ve Artırma Cihazı (https://www.instructables.com/id/Vibrotactile-Sens…) titreşimli uyaranlara giriş. Bu titreşimli uyaranlar p
BİRDEN FAZLA SENSÖRÜ BİR ARDUINO UNO SERİ PORTUNA BAĞLAMA: 4 Adım
BİRDEN FAZLA SENSÖRÜ BİR ARDUINO UNO SERİ PORTUNA BAĞLAMA: Bu eğitimde, birden fazla Atlas sensörünün bağlanabilmesi için tek bir Arduino UNO UART (Rx/Tx) seri portunu genişleteceğiz. Genişletme, 8:1 Seri Bağlantı Noktası Genişletici kartı kullanılarak yapılır. Arduino'nun bağlantı noktası, aşağıdakilerden sonra genişleticiye bağlanır
BİRDEN FAZLA SENSÖRÜ RASPBERRY PI'YE BAĞLAMA: 6 Adım (Resimlerle)
BİRDEN FAZLA SENSÖRÜ RASPBERRY PI'YE BAĞLAMA: Bu projede, Atlas Scientific'in üç EZO sensörünü (pH, çözünmüş oksijen ve sıcaklık) bir Raspberry Pi 3B+'ya bağlayacağız. Devreleri Raspberry Pi'ye bağlamak yerine Whitebox Labs Tentacle T3 kalkanını kullanacağız. T
Arduino Üzerindeki Tek Bir Pine Birden Fazla Buton Bağlama: 4 Adım
Arduino'da Tek Bir Pine Birden Çok Düğme Bağlama: Herkese Merhaba, Arduino projelerinizde yanıp sönen LED'ler fazla büyüdüğünde, kendinizi bazı ekstra pimlere ihtiyaç duyabilirsiniz. Hepsi aynı analog pime bağlı birden fazla düğmenin olduğu yerlerde kullanabileceğiniz bir numara göstereceğim