4*4 klaviatura Arduino (uno)



Download 1,54 Mb.
Sana14.06.2022
Hajmi1,54 Mb.
#669859
Bog'liq
laboratoriya ishi 6-10 Maqsadjon


6-Laboratoriya ishi
Amaliy qism

4*4 klaviatura

Arduino (uno)

Контакт 1

pin 11

Контакт 2

pin 10

Контакт 3

pin 9

Контакт 4

pin 8

Контакт 5

pin 7

Контакт 6

pin 6

Контакт 7

pin 5

Контакт 8

pin 4

Klaviaturamizni ulashimiz uchun aloqalar boshqa raqamli aloqalarga o‘zgartirilishi mumkin. Bu erda sozlamalar:
byte rowPins[ROWS] = {11,10, 9, 8};
byte colPins[COLS] = {7, 6, 5, 4};
2) Ovozli signal zummer yordamida chiqariladi, uni quyidagi tarzda ulaymiz:

Zummer

Arduino

GND

GND

IO

pin 3

VCC

5V yoki 3V

Aloqa sizga qulay bo‘lgan har bir raqamli chiqishga ham o‘zgartirilishi mumkin. Bu erda sozlash:
tone(3, (int)key*10, 300); // 3 – raqamli port nomeri


KOD QISMI
#include
const byte qator = 4;
const byte ustun = 4;
char Klaviatura [qator] [ustun] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'+','0','#','D'},
};
byte qatorlar[qator]= {2,3,4,5};
byte ustunlar[ustun]= {6,7,8,9};
Keypad kpd = Keypad (makeKeymap(Klaviatura), qatorlar, ustunlar, qator, ustun);

byte i=0;


void setup(){
Serial.begin(9600);
}
void loop (){
char qabul = kpd.getKey();
if(qabul) {
Serial.println(qabul);
}
}
(1-rasm)

(2-rasm)
7-Laboratoriya ishi
Amaliy qism
Ushbu ishda Servo (servo haydovchi) kabi element o'rganiladi. Servo haydovchi - bu doimiy harakatda bo'lgan turli xil ob'ektlar ustidan nazorat qilish uchun mo'ljallangan (valning aylanish burchagi, aylanish harakat tezligi va boshqalar). Nazorat unga tashqi tomondan berilgan parametrlarga qarab amalga oshiriladi. Servo haydovchi quyidagi elementlarni o'z ichiga oladi:

  • Drayv mexanizmi - masalan, elektr motor bo'lishi mumkin. Unga rahmat, ma'lum bir vaqtda kerakli diapazonning tezligini boshqarish mumkin bo'ladi;

  • Sensorlar - kerakli parametrlarni nazorat qilish. Ob'ektning holatini, harakatini, burchakning aylanishini yoki aylanish tezligini kuzatish uchun mo'ljallangan bo'lishi mumkin;

  • Boshqaruv bloki muhim element hisoblanadi, chunki uning yordamida kerakli parametrlar avtomatik rejimda saqlanadi;

  • Quvvat manbai servo haydovchi hisoblanadi.

Bajariladigan kodning boshida servo funksiyalaridan foydalanish uchun siz "Servo" kutubxonasini kiritishingiz kerak, bu #include qatori orqali amalga oshiriladi. Servo haydovchi bilan ishlashning asosiy funktsiyalari quyidagilardir:
Servo.attach(pin, min, max) - Servo o'zgaruvchini doskadagi pinga biriktiradi. Bu erda min - (ixtiyoriy) - minimal 0 darajaga to'g'ri keladigan PWM qiymati (mikrosekundlarda), maksimal - (ixtiyoriy) - maksimal 180 darajaga to'g'ri keladigan PWM qiymati (mikrosekundlarda);
Servo.write(burchak) - servo rodni ma'lum burchak ostida joylashtiradi, burchak - (gradusda) novda joylashgan burchak;
Servo. writeMicroseconds(uS) - write() funksiyasi bilan bir xil, lekin mikrosekundlarda kiritishni soʻraydi, bu yerda uS novdani maʼlum darajaga aylantirish uchun mikrosekundlardagi qiymatdir;
Servo. read() - servo burchagining joriy qiymatini o'qiydi;
Servo.attached() - servo pinga ulanganligini tekshiradi;
Servo.detach - servoni belgilangan pindan chiqaradi;
Ishni boshlash uchun siz komponentlar kutubxonasidan servo motorni tanlashingiz va uni Arduino Uno-ga rasmda ko'rsatilganidek ulashingiz kerak. (4-rasm), (5-rasm).

4-Rasm Servo komponentni tanlash

5-Rasm. Servoni Arduino Uno platasiga ulash sxemasi
"Servo.attach" o'zgaruvchisi servoni boshqarish uchun mo'ljallangan pinni aniqlash uchun ishlatiladi.
"O'rnatish" funktsiyasida 10-pinli "servo" elementi ulangan, u servoni kerakli buyruq yordamida boshqaradi:
servo.attach(10);
Shuningdek, ketma-ket portni 9600 bit / s tezlikda ulash uchun Serial.begin(9600) qatorini qo'shishingiz kerak. Tarkibni ko'rsatish uchun biz ketma-ket portga ma'lumotlarni chiqarish uchun Serial.println() funksiyasidan va servoning joriy holatini chiqarish uchun servo.read() funksiyasidan foydalanamiz:
Serial.println(servo.read());
Biz qo'shimcha do while siklidan foydalanamiz. Umumiy tsikl konstruktsiyasi siklning asosiy qismining do{} ikki qismidan va bu siklni bajarish uchun while() shartidan iborat:
do{bayonotlar}
while (bajarish sharti);
Keyinchalik, X o'zgaruvchisi o'rnatiladi, u bir yo'nalishda ham, boshqasida ham gradus bo'yicha milning moyilligi burchagiga teng bo'ladi:
int x = 0; // X o'zgaruvchisini 0 ga qo'ying
do{
servo.write(x); //valni X darajaga o'rnating
x=x+1;
delay (500);
Serial.println(servo.read());
}while(x<180);
(6-rasm)

(7-rasn) Elektr dvigatelini boshqarish dasturining ro'yxati - SERVO
Simulyatsiyani ishga tushirgandan so'ng, "Serial Monitor" oynasida servo milning aylanish burchagi qiymatlari ko'rsatiladi. Ishchi maydonning chap tomonida siz uning harakatini ko'rasiz. Natijada, milya 180 darajaga etadi, nolga o'ting va tsiklni yana takrorlang.

8-Laboratoriya ishi
Amaliy qism
Ushbu laboratoriya LiquidCrystal kutubxonasi yordamida Arduino displeyini LCD displeyga qanday ulashni ko'rsatib beradi. Buning uchun biz sxemani 9-rasmga muvofiq yig'amiz. Biz qarshilik qiymati 10 om va qarshilik 220 om bo'lgan potensiyometrdan foydalanamiz. Potensiyometr maksimal qiymatga o'rnatilishi kerak.

9-rasm - LCD1602 displeyning Arduinoga ulanish diagrammasi

(10-rasm) Tinkercad tizimida LCD1602-ni Arduino-ga ulash sxemasi
Birinchi qatorda biz LCD 16x2 displey uchun o'rnatilgan kutubxonani ulaymiz:
#include
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
}
void loop()
{
lcd.setCursor(3, 0);
lcd.print("To’xtashboyev");
lcd.setCursor(0, 15);
lcd.print("Maqsadjon 614-18");
Serial.println("DESIGNED BY : - teacher");
delay(1000);
}
Ekranda keyingi yozuv paydo bo'lganda dasturning bajarilishi natijasi (birinchi belgiga va yozuvning davriy o'ngga siljishiga e'tibor bering) 11-rasmga qarang.

(11-rasm) Tinkercad tizimidagi dastur natijasi
Download 1,54 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