Isi kandungan:

Panduan Penggunaan Satu Pin Keypad Raspberry Pi: 9 Langkah
Panduan Penggunaan Satu Pin Keypad Raspberry Pi: 9 Langkah

Video: Panduan Penggunaan Satu Pin Keypad Raspberry Pi: 9 Langkah

Video: Panduan Penggunaan Satu Pin Keypad Raspberry Pi: 9 Langkah
Video: Belajar Berbagi - Pengenalan GPIO Pin Dasar Pada Raspberry Pi 2024, Julai
Anonim
Panduan Penggunaan Satu Pin Keypad Raspberry Pi
Panduan Penggunaan Satu Pin Keypad Raspberry Pi

PENAFIAN: INI ADALAH PANDUAN PENGGUNAAN UNTUK PRODUK SUMBER TERBUKA: KEYPAD SATU PIN. INI BUKAN PROJEK DIY. JIKA ANDA INGIN MEMBUAT DEWAN DIRI SENDIRI, FILEM EAGLE BOLEH DITEMUKAN PADA AKHIR TUTORIAL

Apakah Pad Kekunci Satu Pin?

One Pin Keypad menjadikan penggunaan papan kekunci matriks menjadi lebih mudah dan membolehkan anda menempah pin I / O berharga anda untuk tujuan lain. Pad kekunci matriks 16 butang biasanya memerlukan 8 input digital pada mikrokontroler atau komputer papan tunggal. Arduino yang paling popular mengehadkan anda untuk hanya 14 pin digital, jadi pad kekunci 16 butang memberi anda hanya 6 pin untuk keseluruhan projek anda. Kekurangan sumber ini boleh menyebabkan pertukaran reka bentuk yang mahal atau peningkatan mikrokontroler yang lebih mahal. Modul Satu Pin Keypad menghilangkan keperluan untuk semua input digital ini. Seperti namanya, Satu Pin Keypad hanya menggunakan satu pin (input analog) ditambah sambungan GND dan VCC, jadi kabel papan kekunci anda adalah sekejap! Untuk pengguna Raspberry Pi (sasaran audiens untuk tutorial ini) ia juga memerlukan penukar analog ke digital ADS1115, yang sangat mudah untuk disambungkan. Pakej One Pin Keypad Python (termasuk) juga memudahkan pengaturcaraan yang diperlukan untuk memproses input pad kekunci, menjimatkan lebih banyak masa dan usaha.

Untuk Panduan Penggunaan Arduino, klik di sini.

Langkah 1: Kumpulkan Semua Bahagian

Kumpulkan Semua Bahagian!
Kumpulkan Semua Bahagian!

Untuk memulakan papan Papan Kekunci Satu Pin, anda memerlukan:

  • Papan Kekunci Satu Pin
  • Arduino beberapa rasa (An Arduino Nano digunakan dalam kes ini)
  • 3 kabel pelompat M / F,
  • 4 M / M ATAU 4 lagi kabel jumper M / F, bergantung pada jenis header pada Raspberry Pi anda
  • Pad kekunci membran 16 butang
  • Papan roti (Yang sangat kecil digunakan di sini)
  • Modul ADS1115 (dari Adafruit atau klon)
  • Raspberry Pi dengan sambungan internet dan OS Raspbian (saya menggunakan Stretch)
  • Aksesori Raspberry Pi (Kabel HDMI, bekalan kuasa, dongle, monitor, dll. Bergantung pada rasa Raspberry Pi anda)

Langkah 2: Pendawaian

Pendawaian!
Pendawaian!
Pendawaian!
Pendawaian!

Wire One Pin Keypad mengikut gambar rajah Fritzing, foto atau kedua-duanya, mana yang anda mahukan.

Harap maklum: nota pada rajah Fritzing mewakili Pad Kekunci Satu Pin (dan singkatannya GND VCC dan AOUT menetapkan pinout papan kekunci One Pin)

Langkah 3: Pemasangan Pakej Python

Pemasangan Pakej Python!
Pemasangan Pakej Python!
Pemasangan Pakej Python!
Pemasangan Pakej Python!

Buka tetingkap terminal dan ketik arahan berikut:

sudo apt-get kemas kini

kemudian

pip3 memasang Progetto-One-Pin-Keypad

untuk memasang pakej dan pergantungannya yang diperlukan

Langkah 4: Memasang Contoh

Memasang Contoh
Memasang Contoh

Saya membuat folder dev untuk menempatkan repositori di bawah rumah / pi jika anda ingin melakukan perkara yang sama (sepenuhnya pilihan), jalankan arahan ini:

mkdir dev

kemudian, untuk menavigasi ke folder, ketik:

cd dev

Terakhir, untuk mengklon repositori, masukkan arahan berikut:

git klon

Langkah 5: Mengaktifkan I2C

Mengaktifkan I2C
Mengaktifkan I2C
Mengaktifkan I2C
Mengaktifkan I2C
Mengaktifkan I2C
Mengaktifkan I2C

ADS1115 ADC (Analog to Digital Converter) bergantung pada protokol I2C (Inter-Integrated Circuit) untuk berkomunikasi dengan Raspberry Pi, secara lalai bas I2C dilumpuhkan, untuk mengaktifkannya, ketik:

sudo raspi-config

yang akan membawa anda ke tetingkap konfigurasi biru, dari sana, menggunakan kekunci anak panah dan kekunci enter, pilih

  1. Pilihan Antaramuka
  2. I2C
  3. Kemudian turun ke

Petua: Merujuk tangkapan skrin di atas dapat membantu sedikit sebanyak! Sekiranya anda masih tersekat, jangan takut! Rujuk cara hebat dari Sparkfun!

Langkah 6: Jalankan Calibratethresholds

Jalankan Calibratethresholds!
Jalankan Calibratethresholds!

Navigasi ke repositori jika belum dan pergi ke folder contoh menggunakan arahan berikut:

Petua: ketik 'cd Prog' kemudian tekan Tab, ia mesti melengkapkan nama repositori secara automatik!

cd Progetto_One_Pin_Keypad_Python_Package

kemudian taip:

contoh cd

seterusnya, jalankan contoh calibratethresholds menggunakan arahan ini:

pewthon3 calibratethresholds

dan ikuti arahan yang ditunjukkan pada konsol untuk menentukur papan anda. Setelah penentukuran melalui semua butang, uji nilai analog baru anda untuk melihat apakah ia berfungsi dengan menekan beberapa butang ketika diminta untuk "Mula.", Jika nilai baru terbukti tidak tepat, gunakan Ctrl C untuk mematikan program dan menjalankannya lagi.

Contoh penentukuran harus memberi anda 2 baris kod yang anda perlukan dalam contoh seterusnya, pastikan konsol terbuka dan / atau salin keduanya!

Langkah 7: Ubah suai dan Kemudian Jalankan Readkeypadwithtimeout

Ubah suai dan Kemudian Jalankan Readkeypadwithtimeout
Ubah suai dan Kemudian Jalankan Readkeypadwithtimeout
Ubah suai dan Kemudian Jalankan Readkeypadwithtimeout
Ubah suai dan Kemudian Jalankan Readkeypadwithtimeout
Ubah suai dan Kemudian Jalankan Readkeypadwithtimeout
Ubah suai dan Kemudian Jalankan Readkeypadwithtimeout

Sekarang Pad Kekunci Satu Pin anda dikalibrasi, sudah tiba masanya untuk menggunakannya. Walaupun anda boleh melakukan ini dari baris perintah menggunakan vi, saya secara peribadi lebih suka menggunakan IDE seperti IDLE.

Buka IDLE ke atas (anda mahukan versi python3) dan ubah baris berikut:

Ingat bahawa susunan nilai analog yang anda salin? Gantikan garis 13 (lihat di bawah) dengan nilai analog yang baru dikalibrasi.

# ex: my_thresholds = [nilai yang dikalibrasi akan berada di sini]

diganti dengan ini:

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

Seterusnya, tambahkan baris kod seterusnya ke selepas baris 23, (lihat di bawah):

keypad.useCalibratedThresholds (my_thresholds)

ditambahkan selepas baris 23:

# ex: keypad.use_calibrated_thresholds (nama array anda)

menjadikan garis 22 hingga 24 kelihatan seperti ini pada akhirnya:

# Sekiranya nilai yang dikalibrasi sedang digunakan, gunakan_kalibrasi_kecerapan di bawah:

# ex: keypad.use_calibrated_thresholds (nama array anda)

keypad.use_calibrated_thresholds (my_thresholds)

Setelah selesai, jalankan kod dan uji dengan menekan beberapa butang! Jangan ragu untuk menyesuaikan lakaran contoh untuk projek anda! Ingat bahawa read_keypad_with_timeout mengembalikan butang yang ditekan sebagai char dan timeout ditetapkan dalam milisaat! Sekiranya anda tidak mahu masa tamat, gunakan pad kekunci. NO_TIMEOUT tetap.

Langkah 8: Bagaimana Pad Kekunci Satu Pin Berfungsi

Bagaimana Pad Kekunci Satu Pin Berfungsi
Bagaimana Pad Kekunci Satu Pin Berfungsi
Bagaimana Pad Kekunci Satu Pin Berfungsi
Bagaimana Pad Kekunci Satu Pin Berfungsi

Sebilangan besar reka bentuk papan kekunci One Pin didasarkan pada pelaksanaan Hari Wiguna pembahagi voltan untuk mendapatkan nilai analog yang unik untuk setiap kunci pada papan kekunci 16 pin. Reka bentuk One Pin Keypad tetap sama, dengan beberapa perubahan. Sekiranya anda mahukan tutorial hebat mengenai cara kerja One Pin Keypad, sila lihat video hebat Hari Wiguna di sini!

Langkah 9: Kesimpulannya

Kesimpulannya
Kesimpulannya

Dalam arahan ini, kami membahas bagaimana untuk memulakan dengan papan kekunci One Pin anda. Sekarang, yang ingin tahu di antara anda mungkin tertanya-tanya mengapa lakaran contoh readKeypadInstantaneous tidak pernah digunakan, sebabnya tidak berguna, kerana butang harus ditekan ketika dipanggil, fungsi readKeypadInstantaneous () digunakan terutamanya untuk mempermudah readKeypadWithTimeout () di perpustakaan. Sekiranya mata anda terasa lega, jangan gunakan untuk berputar. Selamat Menggodam!

Sekiranya anda mempunyai sebarang pertanyaan, tinggalkan komen di bawah atau hantarkan e-mel kepada kami di [email protected]. Semua yang terbaik, Syarikat Progetto P. S. Seperti yang dijanjikan, pautan ke Eagle Files dewan.

Disyorkan: