Uploaded by Жасур Асадов

O'rnatilgan tizimlar

advertisement
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT
AXBOROT TEXNOLOGIYALARI UNIVERSITETI
O‘RNATILGAN TIZIMLAR FANIDAN
LABORATORIYA ISH
MAVZU: “Arduino UNO” kontrollerida “Svetofor kodi”.
Bajardi: 022-19 guruh Asadov Jasur
Biz uchta LEDni ulaymiz. Plyus raqamli pinga, minus erga. Biz uchta pinni
umumiy non paneli avtobusi yordamida birlashtirdik. Biz svetoforning qizil chirog'ini
11-pinga, sariqni 10-ga, yashilni 9-ga ulaymiz.
Arduinoda LEDlar bilan svetofor sxemasi.
DigitalWrite-da HIGH atributiga ega bo'lgan har bir so'z "yoqish", LOW atributiga ega
digitalWrite-da "o'chirish" va kechikish yordamida kechikish hosil qilish. Bu erda,
masalan, qizildan yashil rangga o'tishni aniqlaydigan dastur fragmenti.
// Sariq va qizil rangni o'chirib qo'ying
digitalWrite (11, LOW); // Qizil
digitalWrite (10, LOW); // Sariq
// yashil rangni yoqing
digitalWrite(9, YUQORI);
// 3 soniya kechikish o'rnating
kechikish (3000);
Dasturda ma'lum pin raqamlariga bog'lanmaslik uchun siz kerakli pin raqamini
o'z ichiga olgan konstantalarni yaratishingiz mumkin va kerak. Kodda biz raqamlardan
emas, bu doimiylardan foydalanamiz. Va agar biz ulanish sxemasini o'zgartirishimiz
kerak bo'lsa, unda biz eskizdagi raqamlarni faqat bitta joyda o'zgartirishimiz kerak
bo'ladi. Hujjatda global almashtirishni amalga oshirishga hojat qolmaydi.
Yuqoridagi misol konstantalardan foydalanganda shunday ko'rinadi:
const int LED_RED = 11; // Port 11 qizil LED
const int LED_YELLOW = 10; // Port 10 sariq LED
const int LED_GREEN = 9; // Port 9 yashil LED
const int TIMEOUT_GREEN = 3000;
// Sariq va qizil LEDlarni o'chiring.
digitalWrite (LED_SARI, PAST);
digitalWrite (LED_RED, LOW);
// GrnTime-da yashil LEDni yoqing
digitalWrite(LED_GREEN, YUQORI);
kechikish (TIMEOUT_GREEN);
Shunday qilib, siz yashil chiroqni miltillovchi qilishingiz mumkin. Oddiy miltillovchi
kabi:
// Yashil LED miltillaydi
// Birinchi marta
digitalWrite (LED_GREEN, LOW);
kechikish (TIMEOUT_FLASH_GREEN);
digitalWrite(LED_GREEN, YUQORI);
kechikish (TIMEOUT_FLASH_GREEN);
// Ikkinchi marta
digitalWrite (LED_GREEN, LOW);
kechikish (TIMEOUT_FLASH_GREEN);
digitalWrite(LED_GREEN, YUQORI);
kechikish (TIMEOUT_FLASH_GREEN);
// Uchinchi marta
digitalWrite (LED_GREEN, LOW);
kechikish (TIMEOUT_FLASH_GREEN);
digitalWrite(LED_GREEN, YUQORI);
kechikish (TIMEOUT_FLASH_GREEN);
Download