Python ile GPIO'yu kontrol etmek için Raspberry Pi nasıl kullanılır

Raspberry Pi, hobiler, eğitimciler ve profesyoneller arasında favori haline gelen çok yönlü bir tek tahtalı bilgisayardır. En güçlü özelliklerinden biri, genel amaçlı girdi/çıkış (GPIO) pimleri ile fiziksel dünyayla etkileşim kurma yeteneğidir. Yeni başlayan ve güçlü bir programlama dili olan Python'dan yararlanarak, bu GPIO pinlerini basit LED yanıp sönenlerden karmaşık ev otomasyon sistemlerine kadar çok çeşitli projeler oluşturmak için kontrol edebilirsiniz. Bu blog yazısında, GPIO'yu Python ile kontrol etmek için Raspberry Pi'yi kullanmanın temellerinde size yol göstereceğiz.

GPIO pimlerini anlamak

GPIO pinleri, LED'ler, sensörler, motorlar ve daha fazlası gibi harici cihazları bağlamanıza ve kontrol etmenize olanak tanıyan Raspberry Pi'de çok yönlü arayüzlerdir. Raspberry Pi modeline bağlı olarak, belirli bir desende düzenlenmiş çeşitli sayıda GPIO pimi bulacaksınız. Bu pimler giriş veya çıkış olarak yapılandırılabilir:

  • Giriş: Harici cihazlardan sinyalleri okuyun (ör. Düğmeler, sensörler).
  • Çıktı: Harici cihazlara sinyaller gönderin (ör. LED'ler, röleler).

Programlama yönüne dalmadan önce, Raspberry Pi'nizin pim düzenini anlamak önemlidir. Modelinize özgü doğru bilgiler için resmi Raspberry Pi GPIO Pinout diyagramına bakın.

Raspberry Pi'nizi kurmak

Python ile GPIO pimlerini kontrol etmeye başlamak için Raspberry Pi'nizin doğru ayarlandığından emin olun:

  1. En son Raspberry Pi işletim sistemini yükleyin: Raspberry Pi'nizin Raspberry Pi OS'nin en son sürümünü çalıştırdığından emin olun. Resmi Raspberry Pi web sitesinden indirebilir ve SD kartınıza yanıp sönmek için Raspberry Pi Imager gibi araçları kullanabilirsiniz.
  2. Sisteminizi güncelleyin: Terminali açın ve sistem paketlerinizi güncellemek için aşağıdaki komutları çalıştırın:
sudo apt update
sudo apt upgrade -y
  • Python GPIO Kütüphanesi Yükle: RPI.GPIO Kütüphanesi, Python'daki GPIO pimleri ile etkileşim kurmak için popüler bir seçimdir. PIP kullanarak yükleyin:
  • sudo apt install python3-rpi.gpio
    

    İlk GPIO Python betiğinizi yazıyorum

    Basit bir projeyle başlayalım: bir LED'i yanıp sönüyor. Aşağıdaki bileşenlere ihtiyacınız olacak:

    • Ahududu pi
    • NEDEN OLMUŞ
    • 220-ohm direnç
    • Breadboard ve jumper telleri

    LED'i kablolama:

    1. LED'in uzun bacağını (anot) dirençten GPIO pim 17'ye bağlayın.
    2. LED'in kısa bacağını (katot) Raspberry Pi'deki bir zemin (GND) pimine bağlayın.

    Şimdi, LED'i kontrol etmek için Python komut dosyasını yazalım.

    Python ile bir LED'i yanıp sönmek

    import RPi.GPIO as GPIO
    import time
    
    # Use BCM GPIO numbering
    GPIO.setmode(GPIO.BCM)
    
    # Set GPIO pin 17 as output
    LED_PIN = 17
    GPIO.setup(LED_PIN, GPIO.OUT)
    
    try:
        while True:
            GPIO.output(LED_PIN, GPIO.HIGH)  # Turn LED on
            time.sleep(1)                     # Wait for 1 second
            GPIO.output(LED_PIN, GPIO.LOW)   # Turn LED off
            time.sleep(1)                     # Wait for 1 second
    except KeyboardInterrupt:
        pass
    finally:
        GPIO.cleanup()  # Reset GPIO settings
    

    Açıklama:

    • import RPi.GPIO as GPIO: Rpi.gpio kütüphanesini içe aktarın.
    • import time: Uyku işlevselliği için zaman modülünü içe aktarın.
    • GPIO.setmode(GPIO.BCM): GPIO PIN numaralandırma şemasını BCM (Broadcom SOC kanalı) olarak ayarlar.
    • GPIO.setup(LED_PIN, GPIO.OUT): GPIO PIN 17'yi bir çıkış pimi olarak yapılandırır.
    • . try Blok, LED'i her saniyeyi açıp kapatan sonsuz bir döngü içerir.
    • GPIO.cleanup(): Temiz bir çıkış sağlamak için GPIO ayarlarını temizler.

    Senaryanı Çalıştırma

    Komut dosyasını şu şekilde kaydedin blink_led.py ve aşağıdaki komutu kullanarak çalıştırın:

    python3 blink_led.py
    

    GPIO PIN 17'ye bağlı LED'i her saniyede açıp kapalı olarak görmelisiniz. Komut dosyasını durdurmak için basın Ctrl + C.

    Projenizi Genişletme

    Bir LED'i yanıp sönerken ustalaştıktan sonra, farklı sensörleri ve aktüatörleri birleştirerek daha karmaşık projeleri keşfedebilirsiniz. İşte başlamanız için birkaç fikir:

    • Düğme Etkileşimi: Fiziksel bir düğme kullanarak LED'i kontrol edin. Bu, bir GPIO pimi bir giriş olarak kurmayı ve Python betiğinizde durumunu okumayı içerir.
    • Sensör Veri Günlüğü: Veri toplamak ve analiz için kaydetmek için sıcaklık veya hareket dedektörleri gibi sensörleri kullanın.
    • Ev Otomasyonu: GPIO kontrolünü web arayüzleri veya mobil uygulamalarla entegre ederek cihazları uzaktan kontrol edin.

    Bir Düğmeyi Kontrol Etme

    LED'i kontrol etmek için bir düğme ekleyerek önceki örneğimizi genişletelim. İhtiyacınız olacak:

    • Pushbutton
    • 10k-ohm direnç
    • Ek jumper telleri

    Düğmeyi kablolama:

    1. Düğmenin bir ayağını GPIO PIN 27'ye bağlayın.
    2. Diğer bacağı 10k-ohm'luk bir dirençten bir toprak (GND) pimine bağlayın.

    İşte LED'i düğmeyle kontrol etmek için Python komut dosyası:

    import RPi.GPIO as GPIO
    import time
    
    # Use BCM GPIO numbering
    GPIO.setmode(GPIO.BCM)
    
    # Define GPIO pins
    LED_PIN = 17
    BUTTON_PIN = 27
    
    # Set up GPIO pins
    GPIO.setup(LED_PIN, GPIO.OUT)
    GPIO.setup(BUTTON_PIN, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
    
    try:
        while True:
            button_state = GPIO.input(BUTTON_PIN)
            if button_state == GPIO.HIGH:
                GPIO.output(LED_PIN, GPIO.HIGH)  # Turn LED on
            else:
                GPIO.output(LED_PIN, GPIO.LOW)   # Turn LED off
            time.sleep(0.1)
    except KeyboardInterrupt:
        pass
    finally:
        GPIO.cleanup()
    

    Açıklama:

    • GPIO pimi 27, düğmeye basılmadığında kararlı bir durum sağlamak için bir aşağı dirençli bir giriş olarak ayarlanır.
    • Komut dosyası sürekli olarak düğmenin durumunu okur ve düğmeye basıldığında LED'i açar.

    En iyi uygulamalar ve güvenlik ipuçları

    GPIO pinleri ile çalışırken, Raspberry Pi'nize veya bağlı bileşenlerinize zarar vermekten kaçınmak için en iyi uygulamalara uymak çok önemlidir:

    • Donanımı bağlarken güç kapalı: Kısa devreleri önlemek için donanımı bağlamadan veya bağlantıyı kesmeden önce her zaman Raspberry Pi'nizi kapatın.
    • Akım sınırlayıcı dirençleri kullanın: Özellikle LED'lerle çalışırken uygun dirençleri kullanarak bileşenlerinizi koruyun.
    • Kablolama: GPIO pimlerine kazara hasarı önlemek için tüm bağlantıların doğru olduğundan emin olun.
    • Dikkatle kullanın: Ahududu Pi ve bileşenleri dikkatli bir şekilde ele alarak statik deşarjdan kaçının.

    Çözüm

    Raspberry Pi'de Python ile GPIO pimlerini kontrol etmek, etkileşimli ve otomatik projeler oluşturmak için bir olasılık dünyası açar. Yanıp sönen LED'ler gibi basit görevlerden, birden fazla sensör ve aktüatör içeren daha karmaşık sistemlere kadar, GPIO kontrolüne hakim olmak, herhangi bir Raspberry Pi meraklısı için temel bir beceridir. Bu kılavuzda özetlenen adımları izleyerek ve en iyi uygulamalara uyarak, heyecan verici ve yenilikçi projeler oluşturma yolunda iyi olacaksınız.

    Mutlu Tinkering!

    Yorum bırak

    Notice an Issue? Have a Suggestion?
    If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.