Mündəricat:

Bir Pin Klaviatura Raspberry Pi İstifadə Kılavuzu: 9 addım
Bir Pin Klaviatura Raspberry Pi İstifadə Kılavuzu: 9 addım

Video: Bir Pin Klaviatura Raspberry Pi İstifadə Kılavuzu: 9 addım

Video: Bir Pin Klaviatura Raspberry Pi İstifadə Kılavuzu: 9 addım
Video: Как собрать ПЛК Raspberry Pi Pico || Редактор OpenPLC 2024, Noyabr
Anonim
Bir Pin Klaviatura Raspberry Pi İstifadə Kılavuzu
Bir Pin Klaviatura Raspberry Pi İstifadə Kılavuzu

DISCLAIMER: BU AÇIQ KAYNAK MƏHSULU ÜÇÜN KULLANIM KILAVUZUDUR: BİR PİN KEYPAD. BU DIY DIY PROJESİ DEYİL. Lövhələri özünüz etmək istəsəniz, təlimin sonunda qartal faylları tapıla bilər

Bir pinli klaviatura nədir?

Bir Pin Klaviatura, matrisli bir klaviatura istifadə etməyi çox asanlaşdırır və qiymətli I/O sancaqlarınızı başqa məqsədlər üçün saxlamağa imkan verir. 16 düyməli matrisli bir klaviatura adətən bir mikrokontrolördə və ya tək lövhəli kompüterdə 8 rəqəmsal giriş tələb edir. Ən populyar Arduinos, sizi yalnız 14 rəqəmsal pinlə məhdudlaşdırır, buna görə də 16 düyməli bir klaviatura, layihənizin qalan hissəsi üçün sizə yalnız 6 sancaq qoyur. Bu qaynaq çatışmazlığı baha başa gələn dizayn dəyişikliyinə və ya daha bahalı mikrokontrolörün təkmilləşdirilməsinə səbəb ola bilər. One Pin Keypad modulu bütün bu rəqəmsal girişlərə olan ehtiyacı aradan qaldırır. Adından da göründüyü kimi, bir pinli klaviatura yalnız bir pin (analoq giriş) üstəgəl GND və VCC əlaqələrindən istifadə edir, buna görə də klaviaturanızın naqillərini çəkmək bir anlıqdır! Raspberry Pi istifadəçiləri üçün (bu dərs üçün hədəf auditoriya) eyni zamanda tel etmək çox asan olan ADS1115 rəqəmsal çeviriciyə ehtiyac var. Bir Pin Klaviatura Python Paketi (daxil olmaqla), klaviatura girişlərini emal etmək üçün lazım olan proqramlaşdırmanı asanlaşdıraraq daha çox vaxtınıza və səyinizə qənaət edir.

Arduino İstifadə Kılavuzu üçün bura vurun.

Addım 1: Bütün hissələri toplayın

Bütün hissələri toplayın!
Bütün hissələri toplayın!

Bir pinli klaviatura lövhənizlə işə başlamaq üçün sizə lazım olacaq:

  • Bir pinli klaviatura lövhəsi
  • Bir növ arduino (bu vəziyyətdə bir Arduino Nano istifadə edildi)
  • 3 M/F keçid kabeli,
  • Raspberry Pi -də hansı tip başlıqların olduğuna görə 4 M/M OR 4 əlavə M/F keçid kabeli
  • 16 düyməli membran klaviatura
  • Çörək lövhəsi (Burada həqiqətən kiçik bir istifadə olunur)
  • ADS1115 Modulu (Adafruit və ya klondan)
  • İnternet bağlantısı olan bir Raspberry Pi və Raspbian OS (Stretch istifadə etdim)
  • Raspberry Pi Aksesuarları (HDMI Kabeli, enerji təchizatı, dongles, monitor və s. Raspberry Pi -nin dadından asılıdır)

Addım 2: Kabel çəkmə

Kablolama!
Kablolama!
Kablolama!
Kablolama!

Bir pinli klaviaturanı Fritzing diaqramına, fotoşəkilə və ya hər ikisinə, istədiyiniz kimi bağlayın.

Diqqət yetirin: Fritzing diaqramındakı qeyd One Pin Klaviaturanı təmsil edir (və GND VCC və AOUT kısaltmaları Bir Pin Klaviatura lövhəsinin pinoutlarını təyin edir)

Addım 3: Python Paketinin Quraşdırılması

Python Paketinin Quraşdırılması!
Python Paketinin Quraşdırılması!
Python Paketinin Quraşdırılması!
Python Paketinin Quraşdırılması!

Bir terminal pəncərəsi açın və aşağıdakı əmrləri yazın:

sudo apt-get yeniləməsi

sonra

pip3 Progetto-One-Pin-Keypad qurun

paketi və lazımi asılılıqları qurmaq

Addım 4: Nümunələrin Qurulması

Nümunələrin Quraşdırılması
Nümunələrin Quraşdırılması

Eyni şeyi etmək istəyirsinizsə (bu tamamilə isteğe bağlıdır), home/pi altında bir depo yerləşdirmək üçün bir qovluq yaratdım:

mkdir dev

sonra qovluğa getmək üçün yazın:

cd dev

Nəhayət, depo klonlaşdırmaq üçün aşağıdakı əmri daxil edin:

git klonu

Addım 5: I2C -nin aktivləşdirilməsi

I2C -nin aktivləşdirilməsi
I2C -nin aktivləşdirilməsi
I2C -nin aktivləşdirilməsi
I2C -nin aktivləşdirilməsi
I2C -nin aktivləşdirilməsi
I2C -nin aktivləşdirilməsi

ADS1115 ADC (Analogdan Rəqəmsal Dönüştürücü), Raspberry Pi ilə əlaqə qurmaq üçün I2C (İnteqrasiya edilmiş Dövrə) protokoluna əsaslanır, standart olaraq I2C avtobusu söndürülür, onu aktivləşdirmək üçün yazın:

sudo raspi-config

sizi mavi bir konfiqurasiya pəncərəsinə aparacaq, oradan ox düymələrini və giriş düyməsini istifadə edərək seçin

  1. İnterfeys Seçimləri
  2. I2C
  3. Sonra aşağı en

İpucu: Yuxarıdakı ekran görüntülərinə müraciət etmək bir az kömək edə bilər! Hələ də sıxışmısınızsa, qorxmayın! Sparkfun-dan bu heyrətamiz üsula baxın!

Addım 6: Calibratethresholds'u işə salın

Calibratethresholds'u işə salın!
Calibratethresholds'u işə salın!

Hələ etməmisinizsə, depoya gedin və bu əmrləri istifadə edərək nümunələr qovluğuna gedin:

İpucu: 'cd Prog' yazın, sonra Tab vurun, depo adını avtomatik tamamlamalıdır!

cd Progetto_One_Pin_Keypad_Python_Package

sonra yazın:

cd nümunələri

Sonra, bu əmri istifadə edərək calibratethresholds nümunəsini işə salın:

python3 kalibrləmə həddi

lövhənizi kalibr etmək üçün konsolda göstərilən təlimatları izləyin. Kalibrləmə bütün düymələri gəzdikdən sonra, "Başla" istədikdə bəzi düymələrə basaraq işlədiyini yoxlamaq üçün yeni analoq dəyərlərinizi sınayın. Yeni dəyərlərin qeyri -dəqiq olduğunu sübut edirsə, proqramı öldürmək və işə salmaq üçün Ctrl C istifadə edin. yenidən.

Kalibrləmə nümunəsi, növbəti nümunədə ehtiyac duyacağınız 2 kod xətti ilə təmin etməlidir, konsolu açıq saxladığınızdan və/və ya hər ikisini kopyaladığınızdan əmin olun!

Addım 7: dəyişdirin və sonra Readkeypadwithtimeout işləyin

Dəyişdirin və sonra Readkeypadwithtimeout çalıştırın
Dəyişdirin və sonra Readkeypadwithtimeout çalıştırın
Dəyişdirin və sonra Readkeypadwithtimeout çalıştırın
Dəyişdirin və sonra Readkeypadwithtimeout çalıştırın
Dəyişdirin və sonra Readkeypadwithtimeout işləyin
Dəyişdirin və sonra Readkeypadwithtimeout işləyin

İndi bir pinli klaviaturanız kalibrləndikdən sonra onu istifadəyə verməyin vaxtıdır. Bunu vi istifadə edərək əmr satırından edə bilsən də, şəxsən IDLE kimi bir IDE istifadə etməyi üstün tuturam.

IDLE -ni açın (python3 versiyasını istəyəcəksiniz) və aşağıdakı sətirləri dəyişdirin:

Kopyaladığınız analoq dəyər dizisini xatırlayırsınız? 13 -cü sətri (aşağıya baxın) yeni kalibrlənmiş analoq dəyərlərlə əvəz edin.

# ex: my_thresholds = [kalibr edilmiş dəyərlər burada olardı]

bununla əvəz olunur:

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

Sonra, 23 -cü sətirdən sonra növbəti kod satırını əlavə edin (aşağıya baxın):

keypad.useCalibratedThresholds (my_thresholds)

23 -cü sətirdən sonra əlavə olunur:

# ex: keypad.use_calibrated_thresholds (serial adınız)

22 ilə 24 -cü sətirlərin sonunda belə görünməsi:

# Əgər kalibrlənmiş dəyərlər istifadə olunursa, aşağıda_kalibrasiya edilmiş eşiklərdən istifadə edin:

# ex: keypad.use_calibrated_thresholds (serial adınız)

keypad.use_calibrated_thresholds (my_thresholds)

Bunu etdikdən sonra kodu işə salın və bəzi düymələrə basaraq sınayın! Nümunə eskizini layihələrinizə uyğunlaşdırmaqdan çekinmeyin! Read_keypad_with_timeout -un basıldığı düyməni simvol olaraq geri qaytardığını və zaman aşımının milisaniyələrdə qurulduğunu unutmayın! Bir fasilə istəmirsinizsə, klaviatura istifadə edin. NO_TIMEOUT sabit.

Addım 8: Bir pinli klaviatura necə işləyir

Bir pinli klaviatura necə işləyir
Bir pinli klaviatura necə işləyir
Bir pinli klaviatura necə işləyir
Bir pinli klaviatura necə işləyir

Bir Pin Klaviatura dizaynının çoxu, Hari Wiguna'nın 16 pinli klaviaturada hər bir düymə üçün bənzərsiz bir analog dəyər əldə etmək üçün bir gərginlik bölücü tətbiqinə əsaslanır. Bir Pin Klaviatura dizaynı, bir neçə düzəlişlə böyük ölçüdə eyni olaraq qalır. Bir Pin Klaviaturanın necə işlədiyinə dair böyük bir dərs istəsəniz, burada Hari Wiguna'nın zəhmli videosunu yoxlamaqdan çekinmeyin!

Addım 9: Nəticə

Nəticə
Nəticə

Bu təlimatda, bir pinli klaviatura lövhənizlə necə başlayacağınızı izah etdik. İndi aranızdakı maraqlananlar, ReadKeypadInstantaneous nümunə eskizinin niyə heç vaxt istifadə edilmədiyini, bunun o qədər də faydalı olmaması ilə maraqlanırsınız, çünki düymə çağırıldıqda ona basmaq lazımdır, readKeypadInstantaneous () funksiyası əsasən sadələşdirmək üçün istifadə olunur. kitabxanada readKeypadWithTimeout (). Gözünüzə dəyirsə, onu fırlatmaq üçün çekinmeyin. Xoşbəxt Hacking!

Hər hansı bir sualınız varsa, aşağıda bir şərh buraxın və ya [email protected] ünvanına bizə e -poçt göndərin. Hər vaxtınız xeyir, Progetto Company P. S. Söz verildiyi kimi, idarə heyətinin Qartal Fayllarına bir keçid.

Tövsiyə: