Bajardi: Berdikulov Shohruh. Mavzu: Tugma orqali led chiroqlar sonini oshirish tartibida yoqish


Download 162.3 Kb.
bet1/4
Sana22.04.2023
Hajmi162.3 Kb.
#1382112
  1   2   3   4
Bog'liq
Bajardi Berdikulov ShohruhTugma orqali led chiroqlar son


Bajardi: Berdikulov Shohruh.
Mavzu: Tugma orqali led chiroqlar sonini oshirish tartibida yoqish.

Bitta LEDni miltillash juda qiziq emas. Ushbu qo'llanmada biz bir nechta LEDlar bilan ishlashni ko'rib chiqamiz. Agar siz tasavvurni namoyon qilsangiz, qiziqarli effektlarni yaratishingiz mumkin.


LEDlar bilan ishlash printsipi o'zgarmaydi, biz chiqish bilan raqamlarni ham o'rnatamiz va kerakli signallarni beramiz. Ammo muammo shundaki, siz har bir LED uchun bir xil turdagi kod yozishingiz kerak. Va ko'p sonli LEDlar mavjud bo'lganda va siz mantiqni o'zgartirishga qaror qilsangiz, har bir LED uchun kodni izlashingiz va o'zgartirishingiz kerak bo'ladi. Bu juda qulay emas. Shuning uchun, muntazam ishni engillashtirish uchun looplar, massivlar va to'plamlar qo'llaniladi.
Boshqaruv: ForLoopIteration
Arduino IDE-dagi for tsikli bilan tanishish uchun fayl | misoli mavjud Misollar | 05.Boshqaruv | ForLoopIteration .
Tajriba uchun bizga oltita LED kerak bo'ladi. Shunga ko'ra, ularga oltita rezistor qo'shilishi kerak. Biz ularni rasmdagi kabi bog'laymiz. Biz 2, 3, 4, 5, 6, 7 raqamli pinlardan foydalanamiz. Va ularni oshirish tartibida yoqib kuramiz.

int timer = 100;


void setup() {


for (int thisPin = 2; thisPin < 8; thisPin++) {
pinMode(thisPin, OUTPUT);
}
}

void loop() {


for (int thisPin = 2; thisPin < 8; thisPin++) {
digitalWrite(thisPin, HIGH);
delay(timer);
digitalWrite(thisPin, LOW);
}
for (int thisPin = 7; thisPin >= 2; thisPin--) {
digitalWrite(thisPin, HIGH);
delay(timer);
digitalWrite(thisPin, LOW);
}
}
Kodning ishlashini isbotlash.

Boshqaruv: Massivlar


Siz har bir LEDga nafaqat aylanish jarayonida, balki massiv orqali ham kirishingiz mumkin. Massivlardan foydalanish sizga ko'proq moslashuvchanlikni beradi. Keling, File | misolini ko'rib chiqaylik Misollar | 5.Boshqarish | massivlar . Sxema oldingi misoldan bir xil bo'lib qoladi.
Kvadrat qavslar yordamida massiv e'lon qilinadi, so'ngra kvadrat qavslar ichida 0 dan boshlanadigan massiv indeksini ko'rsatish orqali massiv o'zgaruvchisiga kirish mumkin.Shunday qilib, massivning birinchi elementiga murojaat qilish uchun ledPins[0] yoziladi , va hokazo . Eskiz bo'yicha sharhlar uchun oldingi misolga qarang.

int timer = 100;


int ledPins[] = {
2, 7, 4, 6, 5, 3
};
int pinCount = 6;
void setup() {
for (int thisPin = 0; thisPin < pinCount; thisPin++) {
pinMode(ledPins[thisPin], OUTPUT);
}
}

void loop() {


for (int thisPin = 0; thisPin < pinCount; thisPin++) {
digitalWrite(ledPins[thisPin], HIGH);
delay(timer);
digitalWrite(ledPins[thisPin], LOW);

}


// loop from the highest pin to the lowest:
for (int thisPin = pinCount - 1; thisPin >= 0; thisPin--) {
digitalWrite(ledPins[thisPin], HIGH);
delay(timer);
digitalWrite(ledPins[thisPin], LOW);
}
}
Agar siz int qatorini almashtirsangiz ledPins[] = {2, 7, 4, 6, 5, 3}; int ledPins -da [] = {2, 3, 4, 5, 6, 7}; , oldingi for loop misolidagi LEDlarning aynan bir xil xatti-harakatlariga ega bo'lasiz , bu erda LEDlar navbat bilan yoqiladi va o'chadi. Ammo massivdan foydalanish kodning qolgan qismini o'zgartirmasdan LEDlarning dastlabki holatini o'zgartirishga imkon beradi. Va to'lqinni boshlash uchun faqat bir joyda dastlabki pozitsiyalarni o'zgartirishingiz mumkin. Masalan, massivni bitta orqali aniqlaymiz: {2, 4, 6, 3, 5, 7} .

Download 162.3 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4




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