Raspberry Pi Projenize Düğme Eklemenin 2 Yolu

Raspberry Pi Projenize Düğme Eklemenin 2 Yolu

Raspberry Pi'nizde GPIO pinlerini kullanmayı öğrenmek, bir olasılıklar dünyasının kapılarını açar. Başlangıç ​​düzeyindeki projeler aracılığıyla öğrenilen temel ilkeler, hem kendin yap elektroniği hem de programlama hakkında faydalı bilgilere giden yolu açar.





Bu eğitim size Raspberry Pi projenize bir düğme eklemenin iki yolunu gösterecektir. Düğme bir LED'i kontrol etmek için kullanılacaktır. Yazılı talimatlar videonun altında mevcuttur.





İhtiyacın olacak

Başlamak için aşağıdaki bileşenlere sahip olduğunuzdan emin olun:





  • 1 x Raspberry Pi (Herhangi bir şey yapar, bu eğitimde model 3B kullanılır)
  • 1 x Basma Düğmesi
  • 1 x LED
  • 1 x 220 Ohm Direnç (Daha yüksek değerler iyidir, LED'iniz daha kısılır)
  • 1 x Ekmek Tahtası
  • Kabloları bağlayın

Toplandıktan sonra, şuna benzeyen bileşenlere sahip olmalısınız:

Ayrıca Raspbian işletim sisteminin kurulu olduğu bir SD karta da ihtiyacınız olacak. Bunu yapmanın en hızlı yolu NOOBS (Kutudan Çıkan Yeni Yazılım) görüntüsüdür. Bunun nasıl yapılacağına ilişkin talimatlar bu videoda mevcuttur:



Devreyi Kurmak

Devreyi yapmak için Pi'nin GPIO pinlerini kullanacaksınız ve eğer onlara aşina değilseniz, bizim Raspberry Pi GPIO pinleri kılavuzu yardım edecek. Buradaki devre, önceki devremiz ile hemen hemen aynıdır. Raspberry Pi LED projesi , bugün kullanacağınız düğmenin eklenmesiyle.

Devrenizi bu şemaya göre kurun:





  • NS 5v ve GND pinler, breadboard'un güç raylarına bağlanır.
  • Pim 12 (GPIO 18) LED'in pozitif ayağına bağlanır.
  • Bir bacağı direnç LED'in negatif ayağına, diğer ayak ise devre tahtasının toprak rayına bağlanır.
  • Pim 16 (GPIO 23) düğmenin bir tarafına, diğer tarafı breadboard'un zemin rayına bağlanır.

Kurulduktan sonra, nasıl görünmesi gerektiği:

Doğru olduğundan emin olmak için devrenizi kontrol edin ve ardından Raspberry Pi'nizi açın.





Yöntem 1: RPI.GPIO Kitaplığı

Pi başlatıldığında, menüye gidin ve Programlama> Thonny Python IDE . Yeni bir Python betiği açılacaktır. Python'da tamamen yeniyseniz, yeni başlayanlar için harika bir dildir ve bu öğreticiyi tamamladıktan sonra Python hakkında daha fazla bilgi edinmek için birçok harika yer vardır!

RPi.GPIO kitaplığını içe aktararak ve kart modunu ayarlayarak başlayın.

import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)

Şimdi LED ve buton pin numaraları için değişkenleri tanımlayın.

ledPin = 12
buttonPin = 16

Pano modunu ayarladığımızdan beri unutmayın. YAZI TAHTASI GPIO numaraları yerine pin numaralarını kullanıyoruz. Bu sizin için kafa karıştırıcıysa, bir Raspberry Pi pinout tablosu onu temizlemeye yardımcı olabilir.

Düğmeyi Ayarlama

GPIO pinlerini kurmanın zamanı geldi. LED pimini çıkışa ve düğme pimini bir çekme direnci ile girişe ayarlayın

GPIO.setup(ledPin, GPIO.OUT)
GPIO.setup(buttonPin, GPIO.IN, pull_up_down=GPIO.PUD_UP)

GPIO.IN'den sonraki metin, dahili pull-up direnci Raspberry Pi'nin fotoğrafı. Düğmeden temiz bir okuma elde etmek için bunu etkinleştirmeniz gerekir. Düğme topraklama pimine gittiğinden, siz basana kadar giriş pimini YÜKSEK tutmak için bir çekme direncine ihtiyacımız var.

Devam etmeden önce, pull-up ve pull-down dirençlerine bakalım.

Ara Verme: Yukarı Çekme/Aşağı Çekme Dirençleri

Bir GPIO pinini giriş yapacak şekilde yapılandırdığınızda, durumunu belirlemek için o pini okur. Bu devrede bir pinin olup olmadığını okumanız gerekir. YÜKSEK veya DÜŞÜK Düğmeye basıldığında LED'i tetiklemek için. Bir pinin sahip olabileceği tek durumlar bunlar olsaydı bu basit olurdu, ancak ne yazık ki üçüncü bir durum var: YÜZER .

Kayan pim, yüksek ve düşük arasında bir değere sahiptir ve girişin tahmin edilemez şekilde hareket etmesine neden olur. Yukarı çekme/aşağı çekme dirençleri bunu çözer.

Yukarıdaki görüntü, bir düğmenin ve bir Raspberry Pi'nin basitleştirilmiş bir diyagramıdır. GPIO pimi, düğme aracılığıyla toprağa bağlanır. Dahili çekme direnci, GPIO pinini dahili Pi güç kaynağına bağlar. Bu akım akar ve pim güvenli bir şekilde YÜKSEK'e çekilir.

Düğmeye bastığınızda, GPIO pimi doğrudan toprak pimine bağlanır ve düğme düşük okur.

Aşağı çekme dirençleri, anahtarın güç pimine bağlı olduğu durumlar içindir. Bu sefer, dahili direnç, siz düğmeye basana kadar DÜŞÜK'te tutarak GPIO pimini toprağa bağlar.

Pull-up ve Pull-down direnç teorisi ilk bakışta kafa karıştırıcıdır, ancak mikrodenetleyicilerle çalışırken sahip olunması gereken önemli bilgiler. Şimdilik, tam olarak anlamadıysanız, endişelenmeyin!

Kaldığımız yerden devam edelim.

Program Döngüsü

Ardından, program döngüsünü ayarlayın:

while True:
buttonState = GPIO.input(buttonPin)
if buttonState == False:
GPIO.output(ledPin, GPIO.HIGH)
else:
GPIO.output(ledPin, GPIO.LOW)

NS Doğru iken döngü, programı sonlandırana kadar içindeki kodu sürekli olarak çalıştırır. Her döngüde günceller düğmeDurum gelen girişi okuyarak düğmePin . Düğmeye basılmazken, kalır YÜKSEK .

Düğmeye basıldığında, düğmeDurum olur DÜŞÜK . Bu tetikler if ifadesi , dan beri YANLIŞ aynıdır DÜŞÜK ve LED yanar. NS Başka deyimi buttonPin False olmadığında LED'i kapatır.

Komut Dosyanızı Kaydedin ve Çalıştırın

Komut dosyanızı tıklayarak kaydedin Dosya > Farklı Kaydet ve bir dosya adı seçin. Yeşile tıklayarak taslağı çalıştırabilirsiniz. Oynamak Thonny araç çubuğundaki düğmesine basın.

Şimdi düğmeye basın ve LED'iniz yanmalıdır! kırmızıya basın Durmak programı durdurmak için herhangi bir zamanda düğmesine

Zorluk yaşıyorsanız, kodunuzu ve devre kurulumunuzu hatalar için iyice kontrol edin ve tekrar deneyin.

Yöntem 2: GPIO Sıfır Kitaplığı

RPi.GPIO kitaplığı harika, ancak blokta yeni bir çocuk var. GPIO Sıfır Kitaplığı (önceki değeri) Raspberry Pi topluluk yöneticisi Ben Nuttall tarafından oluşturuldu kodu daha basit, okunması ve yazılması daha kolay hale getirmek amacıyla.

Yeni kitaplığı test etmek için yeni bir Thonny dosyası açın ve kitaplığı içe aktarın.

from gpiozero import LED, Button
from signal import pause

Tüm kitaplığı içe aktarmadığınızı fark edeceksiniz. Yalnızca bir LED ve düğme kullandığınız için, komut dosyasında yalnızca bu modüllere ihtiyacınız vardır. Biz de ithal ediyoruz Duraklat olay yönetimi için bir Python kitaplığı olan sinyal kitaplığından.

GPIO Zero ile pinleri ayarlamak çok daha kolay:

led = LED(18)
button = Button(23)

GPIO Zero kitaplığında LED ve buton için modüller bulunduğundan, giriş ve çıkışları eskisi gibi ayarlamanıza gerek yoktur. Pinler değişmese de buradaki sayıların yukarıdakinden farklı olduğunu fark edeceksiniz. Bunun nedeni, GPIO Zero'nun yalnızca GPIO pin numaralarını (Broadcom veya BCM numaraları olarak da bilinir) kullanmasıdır.

iso'dan önyüklenebilir bir usb sürücü oluşturma

Komut dosyasının geri kalanı sadece üç satırdır:

button.when_pressed = led.on
button.when_released = led.off
pause()

NS Duraklat() buraya çağrı, betiğin dibe ulaştığında çıkmasını durdurur. Düğmeye her basıldığında ve bırakıldığında iki düğmeli olaylar tetiklenir. Komut dosyanızı kaydedin ve çalıştırın, öncekiyle aynı sonucu göreceksiniz!

Raspberry Pi'ye Düğme Eklemenin İki Yolu

Düğmeyi kurmanın iki yolundan GPIO Zero yöntemi en kolayı gibi görünüyor. Yine de RPi.GPIO kitaplığı hakkında bilgi edinmeye değer. en acemi Raspberry Pi projeleri onu kullan. Bu proje ne kadar basit olursa olsun, bilgi birçok şey için kullanılabilir.

GPIO pinlerini kullanmak, kendi cihazlarınızı öğrenmenin ve icat etmenin harika bir yoludur, ancak Pi ile yapabileceğiniz her şeyden çok uzaktır. Raspberry Pi'ye yönelik resmi olmayan rehberimiz, kendi başınıza deneyebileceğiniz yaratıcı fikirler ve öğreticilerle dolup taşıyor! Bunun gibi başka bir eğitim için, göz atın Wi-Fi bağlantılı düğme nasıl yapılır .

Paylaş Paylaş Cıvıldamak E-posta VirtualBox Linux Makinelerinizi Güçlendirmek için 5 İpucu

Sanal makinelerin sunduğu düşük performanstan bıktınız mı? İşte VirtualBox performansınızı artırmak için yapmanız gerekenler.

Sonrakini Oku
İlgili konular
  • kendin yap
  • Ahududu Pi
  • piton
  • GPIO
  • Kendin Yap Projesi Eğitimleri
Yazar hakkında Ian Buckley(216 Makale Yayınlandı)

Ian Buckley, Berlin, Almanya'da yaşayan serbest gazeteci, müzisyen, sanatçı ve video yapımcısıdır. Yazmadığı veya sahnede olmadığı zamanlarda, çılgın bir bilim insanı olma umuduyla kendin yap elektroniği veya koduyla uğraşıyor.

Ian Buckley'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın