Хичээл 11 Keypad

Энэхүү хичээлээр бид keypad яаж ажилладаг, түүнийг хэрхэн ашиглах талаар судална.

Хэрэглэгдэхүүн:

  1. Ардиуно 1ш
  2. Keypad 1ш
  3. М-М утас 8ш

Keypad гэж юу вэ?

Кeypad бол компьютерийн кeyboard-той адилхан хэрэглчийн оролтыг уншихад тусалдаг төхөөрөмж юм. Үүнийг гар утас, хаалганы түгжээ, богино долгионы зуух гэх мэт маш олон төрлийн төхөөрөмжүүдээс харж болно. Тэд бараг хаа сайгүй байдаг. Лифтэнд суугаад хэдэн давхарт очихоо бид keypad ашиглан оруулж өгдөг. Хэрэглэгч хэдэн давхарт хүрэх мэдээллээ оруулж байгааг хэрэглэгчийн оролт гэж нэрлээд байгаа юм. Бид энэхүү хичээлээр матриц кeypad ашиглана. Үүнийг хэрхэн холбох, хэрхэн программчлахыг сурах нь өөр маш олон төслийг хийх боломжийг бидэнд нээж өгнө. Матриц keypad нь 16 товчлууртай. Гэхдээ микроконтроллерт холбогдох 8 хөл байдаг. Бид тоон оролт хичээл дээр 2 товчлуурыг микроконтроллерт холбосон. Яг үүнтэй адил байдлаар 16 товчлуурыг холбож болох ч илүү ухаалаг байдлаар бид 8 хөлөөр л 16 товчлуурыг аль нь дарагдсаныг мэдэх боломжтой.

Robocraze 4 X 4 Matrix Membrane Keypad | 4x4 Matrix Keypad Membrane Switch  for Arduino, Raspberry, Arm and Other MCU | 16 Key Switch keypad Module  (Pack of 1) : Amazon.in: Industrial & Scientific
Keypad

Зарчмын схем

Зарчмын схем
Зарчмын схем

Холболтыг хүснэгтээр харуулсан бөгөөд энэ нь танд алдаагүй зөв холбоход тусална.

Холболтыг хүснэгтээр харуулсан байдал

Программ

Холболтоо хийж дууссан бол программчилах хэрэгтэй. Энэ удаа бидэнд <Keypad> сан хэрэгтэй болох бөгөөд үүнийг татаж аваарай. Сан хэрхэн татаж авах, суулгахыг бид хамгийн эхний хичээл дээр үзсэн. Үүнийг санагүй байгаа бол ЭНД дарж үзнэ үү. 16 товчлуурыг 8 хөлөөр аль нь дарагдсан байгааг хэрхэн мэдэх талаар судлахад танд зарчмын схем туслана. Жишээ болгон keypad дээр дарах үед ямар товчлуур дарагдсаныг дэлгэц дээр хэвлэх кодыг орууллаа.

#include <Keypad.h>

const byte ROWS = 4; 
const byte COLS = 4;

char hexaKeys[ROWS][COLS] = {
  {'0','1','2','3'},
  {'4','5','6','7'},
  {'8','9','A','B'},
  {'C','D','E','F'}
};
byte rowPins[ROWS] = {3, 2, 1, 0};
byte colPins[COLS] = {7, 6, 5, 4}; 


Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); 

void setup(){
  Serial.begin(9600);
}
  
void loop(){
  char customKey = customKeypad.getKey();
  
  if (customKey){
    Serial.println(customKey);
  }
}

Хэрвээ холболт зөв бол дэлгэц дээр аль товчлуур дарагдсаныг харуулна. Үүнийг харахын тулд Serial monitor нээгээд тохиргоог зөв хийх хэрэгтэй. Прогарммын үр дүнг доор харуулав.

Программын үр дүн
Бодит зураг