İçindekiler:

One Pin Keypad Raspberry Pi Kullanım Kılavuzu: 9 Adım
One Pin Keypad Raspberry Pi Kullanım Kılavuzu: 9 Adım

Video: One Pin Keypad Raspberry Pi Kullanım Kılavuzu: 9 Adım

Video: One Pin Keypad Raspberry Pi Kullanım Kılavuzu: 9 Adım
Video: Arduino Nedir? Nasıl Kurulur ve Neler Yapılabilir? #1 2024, Kasım
Anonim
Tek Pinli Tuş Takımı Raspberry Pi Kullanım Kılavuzu
Tek Pinli Tuş Takımı Raspberry Pi Kullanım Kılavuzu

SORUMLULUK REDDİ: BU, AÇIK KAYNAKLI BİR ÜRÜN İÇİN KULLANIM KILAVUZUDUR: TEK PİNLİ TUŞ TAKIMI. BU BİR KENDİ PROJESİ DEĞİLDİR. PANOLARI KENDİNİZ YAPMAK İSTİYORSANIZ, EAGLE DOSYALARI EĞİTİMİN SONUNDA BULABİLİRSİNİZ

Tek Pinli Tuş Takımı nedir?

Tek Pinli Tuş Takımı, matris tuş takımını kullanmayı çok daha kolay hale getirir ve değerli I/O pinlerinizi başka amaçlar için ayırmanıza olanak tanır. 16 düğmeli matris tuş takımı, tipik olarak bir mikro denetleyici veya tek kartlı bilgisayarda 8 dijital giriş gerektirir. En popüler Arduino'lar sizi yalnızca 14 dijital pimle sınırlar, bu nedenle 16 düğmeli bir tuş takımı, projenizin geri kalanı için size yalnızca 6 pim bırakır. Bu kaynak kıtlığı, maliyetli bir tasarım değiş tokuşuna veya daha maliyetli bir mikro denetleyici yükseltmesine yol açabilir. One Pin Keypad modülü, tüm bu dijital girişlere olan ihtiyacı ortadan kaldırır. Adından da anlaşılacağı gibi, Tek Pinli Tuş Takımı yalnızca bir pin (analog giriş) artı GND ve VCC bağlantıları kullanır, bu nedenle tuş takımınızı kablolamak çok kolaydır! Raspberry Pi kullanıcıları için (bu eğitimin hedef kitlesi) ayrıca kablolaması gerçekten kolay olan bir ADS1115 analogdan dijitale dönüştürücü gerektirir. Tek Pinli Tuş Takımı Python Paketi (dahil), tuş takımı girişlerini işlemek için gereken programlamayı da basitleştirerek zamandan ve emekten tasarruf etmenizi sağlar.

Arduino Kullanım Kılavuzu için buraya tıklayın.

Adım 1: Tüm Parçaları Toplayın

Tüm Parçaları Toplayın!
Tüm Parçaları Toplayın!

One Pin Keypad kartınızı kullanmaya başlamak için şunlara ihtiyacınız olacak:

  • Tek Pinli Tuş Takımı Kartı
  • Bir çeşit Arduino (Bu durumda bir Arduino Nano kullanıldı)
  • 3 M/F atlama kablosu,
  • Raspberry Pi'nizde ne tür başlıklar olduğuna bağlı olarak 4 M/M VEYA 4 M/F jumper kablosu daha
  • 16 düğmeli membran tuş takımı
  • Breadboard (Burada gerçekten küçük bir tane kullanılıyor)
  • Bir ADS1115 Modülü (Adafruit veya bir klondan)
  • İnternet bağlantısı ve Raspbian işletim sistemi olan bir Raspberry Pi (Stretch kullandım)
  • Raspberry Pi Aksesuarları (bir HDMI Kablosu, bir güç kaynağı, dongle'lar, monitör vb. Raspberry Pi'nizin tadına bağlıdır)

Adım 2: Kablolama

Kablolama!
Kablolama!
Kablolama!
Kablolama!

Tek Pinli Tuş Takımını Fritzing şemasına, fotoğrafa veya her ikisine göre hangisini tercih ederseniz ona göre bağlayın.

Lütfen dikkat: Fritzing diyagramındaki not Tek Pinli Tuş Takımını temsil eder (ve GND VCC ve AOUT kısaltmaları Tek Pinli Tuş Takımı kartının pin çıkışlarını belirtir)

Adım 3: Python Paket Kurulumu

Python Paket Kurulumu!
Python Paket Kurulumu!
Python Paket Kurulumu!
Python Paket Kurulumu!

Bir terminal penceresi açın ve aşağıdaki komutları yazın:

sudo apt-get güncellemesi

sonra

pip3 Progetto-One-Pin-Keypad'i kurun

paketi ve gerekli bağımlılıklarını kurmak için

Adım 4: Örnekleri Yükleme

Örnekleri Yükleme
Örnekleri Yükleme

Aynısını yapmak istiyorsanız (tamamen isteğe bağlıdır), depoyu home/pi altında barındırmak için bir dev klasörü oluşturdum, şu komutu çalıştırın:

mkdir dev

ardından, klasöre gitmek için şunu yazın:

cd dev

Son olarak, depoyu klonlamak için aşağıdaki komutu girin:

git klonu

Adım 5: I2C'yi Etkinleştirme

I2C'yi Etkinleştirme
I2C'yi Etkinleştirme
I2C'yi Etkinleştirme
I2C'yi Etkinleştirme
I2C'yi Etkinleştirme
I2C'yi Etkinleştirme

ADS1115 ADC (Analogdan Dijitale Dönüştürücü), Raspberry Pi ile iletişim kurmak için I2C (Inter-Integrated Circuit) protokolüne dayanır, varsayılan olarak I2C veri yolu devre dışıdır, etkinleştirmek için şunu yazın:

sudo raspi yapılandırması

bu sizi mavi bir yapılandırma penceresine götürecektir, oradan ok tuşlarını ve enter tuşunu kullanarak

  1. Arayüz Seçenekleri
  2. I2C
  3. Sonra aşağı git

İpucu: Yukarıdaki ekran görüntülerine başvurmak biraz yardımcı olabilir! Hala sıkışıp kaldıysanız, korkmayın! Sparkfun'dan bu harika nasıl yapılır bölümüne bakın!

Adım 6: Calibratethreshold'ları çalıştırın

Kalibre Eşiklerini Çalıştırın!
Kalibre Eşiklerini Çalıştırın!

Henüz yapmadıysanız depoya gidin ve şu komutları kullanarak örnekler klasörüne gidin:

İpucu: 'cd Prog' yazıp Sekme'ye basın, depo adını otomatik olarak tamamlamalıdır!

cd Progetto_One_Pin_Keypad_Python_Package

sonra şunu yazın:

cd örnekleri

sonra, bu komutu kullanarak calibratethresholds örneğini çalıştırın:

python3 kalibre eşikleri

ve kartınızı kalibre etmek için konsolda görüntülenen talimatları izleyin. Kalibrasyon tüm düğmelerden geçtikten sonra, "Başla" istendiğinde bazı düğmelere basarak çalışıp çalışmadıklarını görmek için yeni analog değerlerinizi test edin. Yeniden.

Kalibrasyon örneği size bir sonraki örnekte ihtiyaç duyacağınız 2 satırlık kod sağlamalıdır, konsolu açık tuttuğunuzdan ve/veya ikisini de kopyaladığınızdan emin olun!

Adım 7: Değiştirin ve Ardından Readkeypadwithtimeout'u Çalıştırın

Readkeypadwithtimeout'u Değiştirin ve Çalıştırın
Readkeypadwithtimeout'u Değiştirin ve Çalıştırın
Readkeypadwithtimeout'u Değiştirin ve Çalıştırın
Readkeypadwithtimeout'u Değiştirin ve Çalıştırın
Değiştirin ve Sonra Readkeypadwithtimeout'u Çalıştırın
Değiştirin ve Sonra Readkeypadwithtimeout'u Çalıştırın

Artık One Pin Keypad'iniz kalibre edildiğine göre, onu kullanmanın zamanı geldi. Bunu vi kullanarak komut satırından yapabilmenize rağmen, ben şahsen IDLE gibi bir IDE kullanmayı tercih ederim.

IDLE'yi açın (python3 sürümünü isteyeceksiniz) ve aşağıdaki satırları değiştirin:

Kopyaladığınız analog değer dizisini hatırlıyor musunuz? Satır 13'ü (aşağıya bakın) bu yeni kalibre edilmiş analog değerlerle değiştirin.

# ör: my_thresholds = [kalibre edilmiş değerler burada olur]

bununla değiştirilir:

my_thresholds = [225, 2116, 3904, 5200, 6300, 7350, 8450, 9325, 10000, 10750, 11500, 12100, 12550, 13100, 13800, 14250]

Ardından, 23. satırdan sonraki kod satırını ekleyin (aşağıya bakın):

keypad.useCalibratedThresholds(my_thresholds)

23. satırdan sonra eklenir:

# ör: keypad.use_calibrated_thresholds(dizi adınız)

22'den 24'e kadar olan satırların sonunda şöyle görünmesini sağlamak:

# Kalibre edilmiş değerler kullanılıyorsa, aşağıdaki use_calibrated_thresholds:

# ör: keypad.use_calibrated_thresholds(dizi adınız)

keypad.use_calibrated_thresholds(my_thresholds)

Bunu yaptıktan sonra kodu çalıştırın ve bazı düğmelere basarak test edin! Örnek taslağı projelerinize uyarlamaktan çekinmeyin! read_keypad_with_timeout öğesinin basılan düğmeyi karakter olarak döndürdüğünü ve zaman aşımının milisaniye cinsinden ayarlandığını unutmayın! Zaman aşımı istemiyorsanız keypad. NO_TIMEOUT sabitini kullanın.

Adım 8: Tek Pinli Tuş Takımı Nasıl Çalışır?

Tek Pinli Tuş Takımı Nasıl Çalışır?
Tek Pinli Tuş Takımı Nasıl Çalışır?
Tek Pinli Tuş Takımı Nasıl Çalışır?
Tek Pinli Tuş Takımı Nasıl Çalışır?

Tek Pinli Tuş Takımı tasarımının çoğu, Hari Wiguna'nın 16 pinli tuş takımındaki her tuş için benzersiz bir analog değer elde etmek için bir voltaj bölücü uygulamasına dayanmaktadır. One Pin Keypad'in tasarımı, birkaç ince ayar dışında büyük ölçüde aynı kalıyor. One Pin Keypad'in nasıl çalıştığına dair harika bir eğitim istiyorsanız, burada Hari Wiguna'nın harika videosunu izlemekten çekinmeyin!

9. Adım: Sonuç

Çözüm
Çözüm

Bu talimatta, One Pin Keypad kartınıza nasıl başlayacağınızı ele aldık. Şimdi merak edenler readKeypadInstantaneous örnek taslağının neden hiç kullanılmadığını merak etmiş olabilir, bunun nedeni o kadar kullanışlı olmamasıdır çünkü çağrıldığında butona basılması gerektiği için öncelikle basitleştirmek için readKeypadInstantaneous() işlevi kullanılır. kütüphanede readKeypadWithTimeout(). Gözünüze çarparsa, bir tur atmaktan çekinmeyin. Mutlu Hacking!

Herhangi bir sorunuz varsa, aşağıya bir yorum bırakın veya [email protected] adresinden bize e-posta gönderin. En iyisi, Progetto Company P. S. Söz verildiği gibi, yönetim kurulunun Eagle Files'ına bir bağlantı.

Önerilen: