Potensiometr. Diodni yoritish darajasini nazorat qilish


Modelning Arduinoga ulanish sxemasi



Download 0,94 Mb.
bet4/12
Sana29.05.2022
Hajmi0,94 Mb.
#618588
1   2   3   4   5   6   7   8   9   ...   12
Bog'liq
2-Detline

Modelning Arduinoga ulanish sxemasi:

Laboratoriyaning amaliy qismi.
Ushbu model uchun quyidagi dastur mos keladi:
// o‘zgarmaslar
const int analogPin = A0; // potentsiometr uchun port
const int ledCount = 10; // LED o‘lchovidagi LEDlar soni

int ledPins [] = {


2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // LEDlar ulangan portlar qatori
void setup () {
// massivning barcha elementlarini ko‘rib chiqing va chiqish rejimini o‘rnatamiz
for (int thisLed = 0; thisLed < ledCount; thisLed++) {
pinMode(ledPins[thisLed], OUTPUT);
}
}
void loop() {
// potentsiometrdan signalni o‘qing
int sensorReading = analogRead(analogPin);
// natijani 0 dan 10 gacha diapazonga aylantiring (LEDlar soni bo‘yicha)
int ledLevel = map(sensorReading, 0, 1023, 0, ledCount);

// LEDlar qatoridan o‘ting


for (int thisLed = 0; thisLed < ledCount; thisLed++) {
// agar massiv elementi indeksi ledLeveldan past bo‘lsa,
// ushbu element uchun portni yoqing:
if (thisLed < ledLevel) {
digitalWrite(ledPins[thisLed], HIGH);
}
// ledLevel -dan yuqori bo‘lgan barcha portlarni o‘chiring:
else {
digitalWrite(ledPins[thisLed], LOW);
}
}
}
Bu misol bir diapazonning qiymatlarini boshqa diapazon qiymatlariga mutanosib ravishda o‘zgartirish uchun mo‘ljallangan map () funktsiyasi bilan qiziq. Biz bilamizki, potentsiometr 0 dan 1023 gacha natijalarni chiqarishi mumkin va bizda faqat o‘nta LED mavjud. Funktsiya bizga o‘zgarishda yordam beradi.
int ledLevel = map(sensorReading, 0, 1023, 0, ledCount);
Barcha qiymatlar 0 dan 10 gacha teng bo‘ladi (har bir birlik uchun taxminan 102 ta potansiyometr birligi). Tasavvur qilaylik, bizning potentsiometr 110 birlik qiymatini ko‘rsatadi, bu funksiya qo‘llanilgandan keyin 1 qiymatiga to‘g‘ri keladi. Qatordagi birinchi LED 0, ya'ni. kamroq 1. Birinchi LED yonadi, qolganlari esa o‘chadi (agar ular oldin yoqilgan bo‘lsa). Potensiometr tugmachasini burab, biz qiymatlarni oshiramiz va shunga mos ravishda LEDlar sonini ko‘paytiramiz. Potensiometr tugmachasini teskari tomonga burib, biz LEDlar sonini kamaytiramiz. Natijalarni kuzatish uchun kodingizga Serial Watch qo‘shing.
int ledLevel = map(sensorReading, 0, 1023, 0, ledCount);

Download 0,94 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   12




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