Raspberry Pi'nin GPIO'su ile bir LED ışık

Bu yılın başlarında , Raspberry Pi'nin GPIO'sunu gezdiniz ve ayrıca pin numaralarını tanımlamak için gerçekten kullanışlı ara kartlar önerdin . Bugün bu temayı sürdürüyoruz ve bu pinleri kod ve donanımla birleştirmeye başlıyoruz.

GPIO, Raspberry Pi'nin dış dünyayla nasıl konuştuğudur - "gerçek şeyler" - 40-pinli başlıktan gelen sinyalleri ve voltajları programlamak için kod kullanarak.

Özellikle LED'ler ve buzzerler gibi yeni başlayan projelerde, GPIO ile kodlamanın başlaması oldukça basittir. Sadece birkaç bileşenle ve birkaç satır kodla projenizin bir parçası olarak bir LED'i yakabilir veya flaş edebilirsiniz.

Bu yazıda, geleneksel 'RPi.GPIO' yöntemini kullanarak Raspberry Pi'nizdeki Python kodunu kullanarak bir LED'i yakmak için neye ihtiyacınız olduğunu göstereceğiz.

01/04

Neye ihtiyacın var

Bu proje için sadece birkaç basit ve ucuz parça gereklidir. Richard Saville

İşte bu küçük başlangıç ​​projesi için ihtiyacınız olan her şeyin bir listesi. Bu öğeleri favori yapım mağazanızda veya çevrimiçi açık artırma sitelerinde bulabilmeniz gerekir.

02/04

Devre Oluştur - Adım 1

Her bir pimi jumper kablolarıyla breadboard'a bağlayın. Richard Saville

Bu proje için 2 GPIO pini kullanacağız, LED'in zemin ayağı için bir toprak pimi (fiziksel pim 39) ve LED'e güç vermek için genel bir GPIO pini (GPIO 21, fiziksel pim 40) kullanacağız. Buna karar veririz - kodun içeri girdiği yer.

İlk olarak, Raspberry Pi'nizi kapatın. Şimdi, jumper tellerini kullanarak, topraklama pimini breadboard'unuzdaki bir şeride bağlayın. Daha sonra, farklı bir şeride bağlanan GPIO pini için de aynısını yapın.

03/04

Devre Oluştur - Adım 2

LED ve direnç devreyi tamamlar. Richard Saville

Ardından LED ve direnci devreye ekleriz.

LED'ler polariteye sahiptir - yani belirli bir şekilde kablolanmaları gerekir. Genellikle anot (pozitif) bir bacak olan ve genellikle LED plastik kafanın katot (negatif) ayağını gösteren düz bir kenara sahip bir uzun bacakları vardır.

Her iki LED'in çok fazla akım almasını engellemek için bir direnç ve GPIO pini 'çok fazla' vererek - her ikisine de zarar verebilir.

Standart LED'ler için bir genel direnç derecesi var - 330ohm. Bunun arkasında bazı matematikler var, ama şimdilik projeye odaklanalım - o zaman her zaman ohm yasasına ve ilgili konulara bakabilirsiniz.

Direncin bir ayağını, dolabınızın üzerindeki GND şeridine ve diğer direnç ayağına, LED'inin kısa bacağına bağlı şeride bağlayın.

LED'in uzun ayağının şimdi GPIO pinine bağlı şeridi birleştirmesi gerekiyor.

04/04

Python GPIO Kodu (RPi.GPIO)

RPi.GPIO, GPIO pinlerini kullanmak için mükemmel bir kütüphanedir. Richard Saville

Şu anda kablolu ve kullanıma hazır bir devremiz var, ancak GPIO pinimize henüz herhangi bir güç göndermesini söylemedik, böylece LED'iniz yanmamalı.

GPIO pinimize 5 saniye güç vermesi ve sonra durması için bir Python dosyası yapalım. Raspbian’ın en son sürümü, yüklü olan GPIO kütüphanelerine sahip olacak.

Bir terminal penceresi açın ve aşağıdaki komutu girerek yeni bir Python betiği oluşturun:

sudo nano led1.py

Bu bizim kodumuza girmemiz için boş bir dosya açacak. Aşağıdaki satırları girin:

#! / usr / bin / python # İhtiyacımız olan kütüphaneleri içe aktarma İçe aktarma RPi.GPIO'nun GPIO içe aktarma süresi olarak # GPIO modunu ayarla GPIO.setmode (GPIO.BCM) # LED GPIO sayısını ayarla LED = 21 # LED GPIO pinini çıkış GPIO.setup (LED, GPIO.OUT) # GPIO.output'ta GPIO pinini döndürün (LED, True) # 5 saniye bekleyin. uyku (5) # GPIO pinini kapatın GPIO.output (LED, Yanlış)

Dosyayı kaydetmek için Ctrl + X tuşlarına basın. Dosyayı çalıştırmak için terminalde aşağıdaki komutu girin ve enter tuşuna basın:

sudo python led1.py

LED 5 saniye yanmalı ve ardından programı kapatınız.

Neden LED'i farklı zamanlarda aydınlatmak için 'time.sleep' numarasını değiştirmeyi denemeyin ya da 'GPIO.output (LED, True)' seçeneğini 'GPIO.output (LED, False)' olarak değiştirmeyi deneyin ve ne olduğunu görün.