Raqamli klaviaturalar (Klaviatura bilan boshqariladigan qulfni yaratish) Kerakli komponentlar



Download 0,7 Mb.
Sana08.01.2023
Hajmi0,7 Mb.
#898376
Bog'liq
4Nazarov Fayzullajon


Raqamli klaviaturalar (Klaviatura bilan boshqariladigan qulfni yaratish)


Kerakli komponentlar:



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 44.1-rasm



Surat
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



  1. Klaviatura pinlarini to'g'ridan-to'g'ri Arduino pinlariga ulang.


: Klaviatura pinlari

  1. Yashil va qizil rangli LEDlarni breadboard platasiga o'rnating. Arduino platasining 11 (yashil LED) va 12 (qizil LED) pinlariga 220 Om qarshilik orqali qisqa oyoqlarni (katodlarni) va uzun oyoqlarni (anodlarni) 220 Om qarshilik orqali ulang.

  2. Endi servoni ulang. Jigarrang simni yer piniga, qizil simni 5V pinga va sariq (oq) simni to'g'ridan-to'g'ri Arduino taxtasining 13-piniga ulang.

  3. Sizning sxemangiz 44.2-rasmda ko'rsatilgan sxemaga mos kelishiga ishonch hosil qiling va uni Arduino xotirasiga eskiz ostida yuklang.


Sketch
#include

#include
#include
Servo myservo;
Password password = Password(“2468”);


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] = { 9,8,7,6 };
byte colPins [COLS] = { 5,4,3,2 };


Keypad keypad = Keypad(makeKeymap(key), rowPins, colPins, ROWS, COLS);
void setup() {
Serial.begin(9600);
delay(200);
pinMode(11, OUTPUT);

pinMode(12, OUTPUT);


myservo.attach(13);


keypad.addEventListener(keypadEvent);


}
void loop() {
keypad.getKey();
myservo.write(0);
}
void keypadEvent(KeypadEvent eKey) {
switch (keypad.getState() ) {
case PRESSED;
Serial.print(“Pressed: “);
Serial.printIn(eKey);
Switch (eKey) {
case ‘*’: check Password(); break;
case ‘#’: password.reset(); break;
default: password.append(eKey);
}
}
}
void checkPassword(){
if (password.evaluate() ) {
Serial.printIn(“Success”);
myservo.write(90);
digitalWrite(11, HIGH);
delay(500);
digitalWrite(11, LOW);
} else {
Serial.prinIn(“Wrong”);
myservo.write(0);
digitalWrite(12, HIGH);
delay(500);
digitalWrite(12,LOW);
}
}

Klaviatura ulangan sxema
Download 0,7 Mb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish