Ahududu Pi Projenize Düğme Eklemenin 2 Yolu

  • Lesley Fowler
  • 0
  • 4406
  • 1219
reklâm

Raspberry Pi'nizdeki GPIO pinlerini kullanmayı öğrenmek, bir dizi olanak sunar. Başlangıç ​​projeleriyle öğrenilen temel prensipler, hem DIY elektroniği hem de programlama hakkında faydalı bilgiler edinmenin yolunu açıyor.

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şenlerin bulunduğundan emin olun:

  • 1 x Ahududu Pi (Bu öğreticide herhangi biri yapacak, model 3B kullanılacaktı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ık olacaktır)
  • 1 x Breadboard
  • Kanca telleri

Bir kez toplandıktan sonra, şuna benzeyen bileşenlere sahip olmalısınız:

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

Devre Kurma

Devreyi yapmak için Pi'nin GPIO pinlerini kullanacaksınız ve onlara aşina değilseniz, Raspberry Pi GPIO pinlerine olan rehberimiz size yardımcı olacaktır. Buradaki devre, önceki Raspberry Pi LED projemizle neredeyse aynıdır, bugün kullanacağınız düğmenin eklenmesiyle.

Devrenizi bu şemaya göre ayarlayın:

  • 5v ve GND pinler breadboard'un güç raylarına bağlanır.
  • Pin 12 (GPIO 18) LED'in pozitif ayağına bağlanır.
  • Bir ayağı rezistans LED'in negatif ayağına tutturulur ve diğer bacak breadboard'un zemin rayına tutturulur.
  • Pin 16 (GPIO 23) düğmenin bir tarafına tutturulur, diğer taraf breadboard'un toprak rayına tutturulur.

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 Kütüphanesi

Pi açıldığında, menüye gidin ve Programlama> Thonny Python IDE. Yeni bir Python betiği açılacak. Python'da tamamen yeniyseniz, yeni başlayanlar için mükemmel bir dildir ve bu öğretici ile işiniz bittikten sonra Python hakkında daha fazla bilgi edinmek için pek çok harika yer vardır.!

RPi.GPIO kütüphanesini içe aktararak ve tahta modunu ayarlayarak başlayın..

RPI.GPIO'yu GPIO GPIO.setmode (GPIO.BOARD) olarak içe aktarın 

Şimdi LED ve düğme pin numaraları için değişkenleri bildirin..

ledPin = 12 düğmesiPin = 16 

Pano modunu seçtiğimizden beri YAZI TAHTASI GPIO numaraları yerine pin numaralarını kullanıyoruz. Bu sizin için kafa karıştırıcıysa, bir Raspberry Pi pinout grafiği temizlemeye yardımcı olabilir.

Düğmeyi Ayarlama

GPIO pinlerini ayarlama zamanı. LED pimi çı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’dan sonraki metin dahili çekme direnci Ahududu Pi'nin Düğmeden temiz bir okuma almak için bunu etkinleştirmeniz gerekir. Düğme topraklama pimine gittiğinden, siz girişe kadar HIGH giriş pimini tutmak için bir çekme direncine ihtiyacımız var..

Devam etmeden önce, yukarı çekme ve aşağı çekme dirençlerine bakalım.

Intermission: Yukarı çekin / dirençleri çekin

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

Yüzen bir pim yüksek ve düşük arasında bir değere sahiptir, bu da girişin öngörülemeyen şekilde hareket etmesine neden olur. Yukarı çekme / aşağı çekme dirençleri bunu çözer.

Yukarıdaki görüntü, bir düğme ve bir Ahududu Pi'nin basitleştirilmiş bir diyagramıdır. GPIO pimi düğmeyle toprağa bağlanır. Dahili çekme direnci GPIO pimini dahili Pi güç kaynağına bağlar. Bu akım akar ve pim güvenle YÜKSEK'e kadar çekilir.

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

Açma dirençleri, anahtar güç pimine bağlı olduğunda kullanılır. Bu kez dahili direnç GPIO pimini toprağa bağlar ve düğmeye basana kadar DÜŞÜK olarak tutun.

Pull-up ve Pull-down direnç teorisi ilk bakışta kafa karıştırıcıdır, ancak mikrodenetleyicilerle çalışırken önemli bilgiler. Şimdilik, eğer 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:

true iken: buttonState = GPIO.input (buttonPin), buttonState == Yanlış: GPIO.output (ledPin, GPIO.HIGH) başkası: GPIO.output (ledPin, GPIO.LOW) 

Doğru iken Döngü, programı sonlandırana kadar sürekli olarak içindeki kodu çalıştırır. Döngüler her güncellediğinde buttonState girişi okuyarak buttonPin. Düğmeye basılmadığında, YÜKSEK.

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

Komut Dosyasını Kaydet ve Çalıştır

Komut dosyanızı tıklatarak kaydedin Dosya> Farklı Kaydet ve bir dosya adı seçme. Yeşilin üzerine tıklayarak eskizi çalıştırabilirsiniz Oyun Thonny araç çubuğundaki düğmesi.

Şimdi düğmeye basın, LED'iniz yanmalı! Kırmızı basın durdurmak programı durdurmak için herhangi bir zamanda düğmesine

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

Yöntem 2: GPIO Sıfır Kütüphanesi

RPi.GPIO kütüphanesi harika, ama blokta yeni bir çocuk var. GPIO Zero Kütüphanesi, Raspberry Pi topluluk yöneticisi Ben Nuttall tarafından, kodu daha basit ve okunması ve yazması kolaylaştırma amacıyla oluşturuldu..

Yeni kütüphaneyi test etmek için yeni bir Thonny dosyası açın ve kütüphaneyi alın.

gpiozero ithalat LED'i, sinyal alım duraklatmasından Düğme 

Kütüphanenin tamamını almadığınızı fark edeceksiniz. Yalnızca bir LED ve düğme kullandığınız için, komut dosyasında yalnızca bu modülleri gerektirir. Ayrıca ithalat Duraklat olay yönetimi için bir Python kütüphanesi olan sinyal kütüphanesinden.

Pimleri ayarlamak GPIO Zero ile daha kolaydır:

led = LED (18) düğmesi = Düğme (23) 

GPIO Zero kütüphanesinde LED ve buton modülleri bulunduğundan, daha önce olduğu gibi giriş ve çıkış yapmanız gerekmez. Pimlerin değişmemiş olmasına rağmen, buradaki sayıların yukarıdakinden farklı olduğunu fark edeceksiniz. Bunun nedeni, GPIO Zero’nun yalnızca GPIO pin numaralarını kullanmasıdır (Broadcom veya BCM numaraları olarak da bilinir).

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

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

Duraklat() Buradaki çağrı, betiğin en altına ulaştığında çıkmasını engeller. 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.!

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

Düğmeyi ayarlamanın iki yolundan GPIO Zero yöntemi en kolay yöntem gibi görünüyor. Çoğu yeni başlayan Raspberry Pi projesinde kullanıldıkça, RPi.GPIO kütüphanesi hakkında bilgi edinmeye değer. Bu proje kadar basit, bilgi bir çok şey için kullanılabilir.

GPIO pinlerini kullanmak, kendi cihazlarınızı öğrenmek ve icat etmek için harika bir yoldur, ancak Pi ile yapabileceğiniz her şeyden uzaktır. Raspberry Pi için resmi olmayan rehberimiz Raspberry Pi: Resmi olmayan Eğitim Raspberry Pi: Resmi olmayan Eğitim Tutarı Daha fazla bilgi edinmek isteyen ya da bu kredi kartı boyutunda cihazın potansiyel bir sahibi olmak isteyen mevcut bir Pi sahibi olsanız da, bu bir rehber değil özlemek istiyorsun Kendinizi deneyebileceğiniz yaratıcı fikirler ve öğreticilerle doludur! Buna benzer başka bir eğitim için, bir Wi-Fi bağlantılı düğmenin nasıl yapıldığını kontrol edin ESP8266 ile Kendi Wi-Fi Bağlantılı Düğmenizi Nasıl Yapabilirsiniz ESP8266 ile Kendi Wi-Fi Bağlantılı Düğmenizi Nasıl Yapacağınızı Öğrenin NodeMCU ve IFTTT kullanarak Wi-Fi etkin bir düğme oluşturmak için. .




Henüz no comments

Modern teknoloji hakkında basit ve uygun fiyatlı.
Modern teknoloji dünyasında rehberiniz. Her gün bizi çevreleyen teknolojileri ve araçları nasıl kullanacağınızı ve Internet'te ilginç şeyleri nasıl keşfedeceğinizi öğrenin.