4.4.KLAVIATURANI KIRITISH TIZIMI Klaviaturadagi tugmalar qator va ustunlarga joylashtirilgan. 3X4 klaviaturada 4 qator va 3 ustun, 4X4 klaviaturada 4 qator va 4 ustun mavjud:
Har bir kalit ostida membranali kalit mavjud. Bir qatordagi har bir kalit qatordagi boshqa kalitlarga yostiq ostidagi o‘tkazgich izi bilan bog'langan. Ustundagi har bir kalit bir xil tarzda ulanadi - kalitning bir tomoni ushbu ustundagi barcha boshqa kalitlarga o‘tkazgich izi bilan ulanadi. Har bir satr va ustun bitta pinga, 4X4 klaviaturada jami 8 ta pinga chiqariladi:
Tugmani bosish ustun va satr izi o‘rtasidagi kalitni yopadi, bu ustun pin va qator pin o‘rtasida oqim o‘tishiga imkon beradi.
4X4 klaviatura sxemasi qatorlar va ustunlar qanday ulanganligini ko‘rsatadi:
Arduino tugmachaga ulangan satr va ustun pinini aniqlash orqali qaysi tugma bosilishini aniqlaydi.
Bu to‘rt bosqichda sodir bo‘ladi:
Birinchidan, hech qanday tugma bosilmaganda, barcha ustun pinlari HIGH, barcha qator pinlari esa LOW holatda ushlab turiladi:
Tugma bosilganda, ustun pin HIGH tortiladi, chunki LOW ustundan oqim LOW qator piniga oqib o‘tadi:
3. Arduino endi tugma qaysi ustunda ekanligini biladi, shuning uchun endi u faqat tugma joylashgan qatorni topishi kerak. U buni har bir satr pinlarini HIGH ga almashtirish va bir vaqtning o‘zida barcha ustunni o‘qish orqali amalga oshiradi. Qaysi ustun pinining HIGH ga qaytishini aniqlash uchun pinlar:
3.Ustun pinasi yana HIGH bo‘lganda, Arduino tugmachaga ulangan qator pinini topdi:
Yuqoridagi diagrammadan siz 2-qator va 2-ustun kombinatsiyasi faqat 5-raqamli tugma bosilganligini anglatishi mumkinligini ko‘rishingiz mumkin.
Ko‘pgina membrana klaviaturalari uchun pin sxemasi quyidagicha ko‘rinadi:
3X4 yoki 4X4 klaviaturangiz mavjudligiga qarab, klaviaturani Arduino Uno-ga ulash uchun quyidagi diagrammalarga amal qiling:
Ushbu loyihada sakkiz simli 4x4 membranali klaviatura ishlatiladi. Qulfni ochadigan qurilmaga servomotor ulangan.
Ish printsipi
Klaviatura - bu qaysi tugma bosilganiga qarab raqam yoki belgini qaytaradigan tugmalar guruhi. Old klaviatura uchun simlar chapdan o‘ngga 1 dan 8 gacha raqamlangan. Birinchi to‘rtta simlar tugmachalar qatoriga, oxirgi to‘rttasi ustunlarga to‘g’ri keladi. Arxivdagi klaviatura kutubxonasini eksmo.ru/files/arduino_geddes.zip havolasidan yuklab olishingiz va Arduino ishlab chiqish muhiti papkasida saqlashingiz kerak. Himoya tizimini yaratish uchun ushbu klaviaturani servo va ikkita LED bilan uladik. Kirish uchun parolingizni kiriting va tasdiqlash uchun yulduzchani (*) bosing Agar kiritilgan kod sketchda ko‘rsatilgan parolga to‘g’ri kelsa, yashil chiroq yonadi va servo 90 daraja aylanadi. Agar kod noto‘g’ri bo‘lsa, qizil LED yonadi.
Parolni qayta kiritish uchun (#) tugmachasidan foydalaning. Siz foydalanayotgan servoni kuchliroq bilan almashtirishingiz mumkin, bu eshikdagi og’ir mandalni ochishi yoki stol tortmasining ichkaridan qulflanishi mumkin.
Klaviatura va servolar tashqi tomondan o‘rnatiladi.
Klaviaturani sinovdan o‘tkazish.
Avval klaviaturani quyidagi kod bilan sinab ko‘ramiz.
#include const byte ROWS = 4;
const COLS = 4;
char keys [ROWS] [COLS] = {
{‘1’, ‘2’, ‘3’, ‘A’},
{‘4’, ‘5’, ‘6’, ‘B’},
{‘7’, ‘8’, ‘9’, ‘C’},
{‘*’, ‘0’, ‘#’, ‘D’}
};
byte rowPins [ROWS] = {2,3,4,5};
byte colPins [COLS] = {6,7,8,9};
Keypad keypad = Keypad(makeKeymap
(key), rowPins, colPins, ROWS, COLS);
void setup() {
char key = keypad.getKey();
if (key != NO_KEY) {
Serial.printIn(key);
}
}
Ushbu kodni plataga yuklab oling va Arduino rivojlanish muhitida port monitor oynasini oching 4.9-rasm
4.9-rasm:Arduino va kiritish modulini bog‘lash
Klaviatura yuqoriga qarab, simlarni ketma-ket chapdan o‘ngga Arduino platasidagi 9-2 raqamli pinlariga ulang. Kodni yuklagandan so‘ng, klaviaturadagi bir nechta tugmachani bosing. Har bir tugma bosilganda tegishli belgi Arduino IDE konsolidagi alohida satrda paydo bo‘lishi kerak.
To‘plam