Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Hanya Tiga Pin untuk Keypad 4x3

Komponen dan persediaan

Resistor 330 ohm
× 1
Resistor 1k ohm
× 3
Resistor 3k ohm
× 1
matriks 4x3 12 tombol array tombol keypad
× 1
Arduino UNO
× 1

Alat dan mesin yang diperlukan

Besi solder (generik)

Aplikasi dan layanan online

Arduino IDE

Tentang proyek ini

Pendahuluan

Tujuan dari proyek ini adalah untuk secara signifikan mengurangi jumlah pin yang dibutuhkan oleh keypad numerik. Ini karena kita sering membutuhkan banyak pin I/O dibandingkan dengan yang tersedia di Arduino Uno atau Nanoboards.

Keypad numerik biasa disusun dalam matriks:keypad 4x3, membutuhkan 4+3 pin digital Arduino. Banyak perpustakaan tersedia di internet untuk digunakan dengan Arduino.

Solusi Saya

Solusi yang saya usulkan jauh lebih baik karena hanya menggunakan tiga input analog, dengan rangkaian seperti yang ditunjukkan pada gambar berikut.

Untuk setiap kolom hanya ada 4 nilai tegangan, sesuai dengan masing-masing dari 4 tombol, ditambah nol volt jika tidak ada tombol yang ditekan. Dalam skema yang setara (b) R1e menunjukkan salah satu dari empat resistor R1-R4, sedangkan R2e adalah salah satu dari tiga resistor R5-R7.

Sekarang mari kita lihat bagaimana membuat empat interval seluas mungkin. Pertama-tama resistor R2e =R5 =R6 =R7 dapat dibuat sama, kemudian kita dapat mengatur R1 =0 agar keluarannya sesuai dengan baris pertama pada 5V.

Dengan R2=330 ohm, R3=1 k ohm, R4=3 k ohm dan R5, R6, R7=1 k ohm, diperoleh interval berikut untuk setiap output:

Seperti yang Anda lihat, interval pada tiga keluaran adalah yang terbesar dan Anda dapat menggunakan enam resistor standar dengan toleransi ±5%. Dengan input analog tambahan dan resistor lain, keyboard 4x4 dapat digunakan dan seterusnya. Gambar berikut menunjukkan koneksi dengan Arduino.

Dalam diagram resistor R1 dihubungkan ke jalur 2 karena yang di jalur 1 telah ditarik dengan kawat, sehingga referensi resistor telah diskalakan satu. Penetapan pin dapat dimodifikasi sesuai kebutuhan, selama pin dapat dikonfigurasi sebagai analog.

Tentu saja, jika Arduino diberdayakan pada 3.3V, tidak ada yang akan berubah karena konverter ADC sebagai default menggunakan tegangan suplai dan nomor ADC tidak berubah.

Untuk menguji program, tidak memiliki keyboard jenis ini, saya membangunnya dengan tombol daur ulang, gambar di bawah menunjukkan prototipe saya. Konektor kanan 5 pin digunakan untuk menyambungkannya ke Arduino.

Kode

  • Analog4x3Keybf.ino
Analog4x3Keybf.inoArduino
Program sederhana untuk menguji fungsi KeyPad()
/* program Analog4x3Keybf * menguji keyboard dengan tombol 4x3 dengan 3 output analog * G. Carrera - 19/11/2018 */// batas nilai output keyboard:const int NADCm100[4 ] ={923.669.412.156};const int NADCp100[4] ={1123.869.612.356};const char key[13] ={'1','4','7','C','2','5' ,'8','0','3','6','9','E'};int keyval[3];int i,colp,val;void setup(){ Serial.begin(9600); // digunakan dengan monitor serial}void loop() { char k; k =KeyPad();// membaca keypad if (k !='N'){ // sebuah tombol ditekan Serial.print("key ="); Serial.println(k); penundaan (500); }}/******** Fungsi yang digunakan oleh program ********/char KeyPad(){// membaca keypad dan mengembalikan char key// key ='N' untuk tidak ada KeyScan();// membaca keyboard analog if (keyval[0]+keyval[1]+keyval[2] <40) { return 'N'; } else { // tombol ditekan delay(10);// antibounce KeyScan();// membaca ulang keyboard analog untuk (i=0; i <3; i++){//identifikasi kolom mana yang dimiliki if (keyval [i]> 40){ colp=i; val=keyval[i];// ini adalah nilai yang sesuai untuk (int j=0; j <4; j++){// mengidentifikasi tombol mana yang ditekan pada kolom jika (val>=NADCm100[j] &&keyval <=NADCp100[j]){ kunci kembali[colp*4+j]; merusak; } } } } }}void KeyScan(){// read analog keyboard keyval[0]=analogRead(A0); penundaan (1); keyval[1]=analogRead(A1); penundaan (1); keyval[2]=analogRead(A2); penundaan (1); }

Skema


Proses manufaktur

  1. Excel untuk WS2812 RGB LED Array Animations
  2. Alarm Tanaman Peringatan Haus
  3. Jam Kata Italia
  4. Sigfox kWh Meter
  5. Pemantau Suhu Bluetooth
  6. Kunci yang Dikendalikan Gerakan
  7. IC Pendamping
  8. Adaptor MIDI USB
  9. Input Analog Terisolasi untuk Arduino
  10. Ukur waktu reaksi Anda