Svetofor, transport signallari, svetoforlar yoki robotlar joylashgan signalizatsiya moslamalari


Download 265.31 Kb.
bet9/9
Sana27.01.2023
Hajmi265.31 Kb.
#1129692
1   2   3   4   5   6   7   8   9
Bog'liq
Piyodalar svetaforini vaqt bo\'yicha yonib o\'chishi dasturini ishlab

Foydalanilgan adabiyotlar



  1. ^ "Buyuk Britaniyada svetoforlar - o'quvchi haydovchilari uchun ma'no, tartib va ​​qoidalar". Nazariya testi.

  2. ^ "Buyuk Britaniya svetoforlari 57000 tonna CO2 | REUK.co.uk".

  3. ^ "Svetoforlar ketma-ketligi". drivingtesttips.biz.

  4. ^ dsanto, Ventspilis (Ventspils, Latviya). Svetoforlar - har doim qizil, faqat o'qlar vaqtincha yashil rangga o'tadi,



Foydalanilgan internet saytlar
arduinomaster.ru
arduino-tex.ru
portal-pk.ru
forklg.ru
microkontroller.ru
роботехника18.рф
nsportal.ru
ArduinoPlus.ru
arduino-tech.ru
jarduino.ru
Ilova

// Ajratish sariq yoki qizil


digitalWrite(11, LOW); // Красный

// Yashilni o’chirish


digitalWrite(9, HIGH);

// 3 soniya kutish


delay(3000);
Eskizga misol
Dasturda ma'lum PIN raqamlariga bog'lanmaslik uchun kerakli PIN raqamini o'z ichiga olgan konstantalarni yaratishingiz mumkin va kerak. Kodda biz raqamlarni emas, balki ushbu doimiylardan foydalanamiz. Va agar biz ulanish sxemasini o'zgartirishimiz kerak bo'lsa, unda biz eskizdagi raqamlarni faqat bitta joyda o'zgartirishimiz kerak. Hujjat bo'yicha global almashtirishni amalga oshirishning hojati yo'q.
Yuqoridagi misol konstantalar yordamida shunday ko'rinadi:
const int LED_RED = 11; // Порт 11, красный светодиод
const int LED_GREEN = 9; // Порт 9, зеленый светодиод
const int TIMEOUT_GREEN = 3000;
// Sariq va qizil LEDlarni o'chiring.
digitalWrite(LED_RED, LOW);
// Включаем зеленый светодиод на GrnTime
digitalWrite(LED_GREEN, HIGH);
delay(TIMEOUT_GREEN);
Shunday qilib, siz yashil chiroqni miltillovchi qilishingiz mumkin. Xuddi oddiy miltillovchi kabi:
// Miltillovchi yashil LED

// Birinchi marta


digitalWrite(LED_GREEN, LOW);
delay(TIMEOUT_FLASH_GREEN);
digitalWrite(LED_GREEN, HIGH);
delay(TIMEOUT_FLASH_GREEN);

// Ikkinchi marta


digitalWrite(LED_GREEN, LOW);
delay(TIMEOUT_FLASH_GREEN);
digitalWrite(LED_GREEN, HIGH);
delay(TIMEOUT_FLASH_GREEN);

// Uchunchi marta


digitalWrite(LED_GREEN, LOW);
delay(TIMEOUT_FLASH_GREEN);
digitalWrite(LED_GREEN, HIGH);
delay(TIMEOUT_FLASH_GREEN);
Ikkinchi va undan to'g'ri miltillovchi variant-FOR loopdan foydalanish. Bu haqda tsikllar haqidagi alohida maqolamizda batafsilroq yozilgan.
for (int i=0; i<3; i++){
digitalWrite(LED_GREEN, LOW);
delay(TIMEOUT_FLASH_GREEN);
digitalWrite(LED_GREEN, HIGH);
delay(TIMEOUT_FLASH_GREEN);
}
Bu, asosan, barcha xususiyatlar. Keling, kodni birlashtiramiz va yakuniy dasturni yozamiz:
const int LED_RED = 13; // Порт 13, красный светодиод
const int LED_GREEN = 11; // Порт 11, зеленый светодиод
const int TIMEOUT_RED = 3000; // Время горения красного сетодиода
const int TIMEOUT_GREEN = 2000; // Время горения зеленого светодиода

const int TIMEOUT_FLASH_GREEN = 500; // Время мигания зеленого светодиода


void setup()


{
// Barcha LED portlari "tashqi yuk" rejimiga o'rnatiladi. ,
OUTPUT
pinMode(LED_RED, OUTPUT);
pinMode(LED_GREEN, OUTPUT);
// LEDlarning boshlang'ich qiymatini o'rnating

digitalWrite(LED_RED, LOW);


digitalWrite(LED_GREEN, LOW);
}

void loop()


{
// Yashil svetoforni yoqing
digitalWrite(LED_GREEN, HIGH); // Svetadiodni yoqing
delay(TIMEOUT_GREEN); // Kuting

// Yashil LED 3 marta miltillaydi


for (int i=0; i<3; i++)
{
digitalWrite(LED_GREEN, LOW);
delay(TIMEOUT_FLASH_GREEN);
digitalWrite(LED_GREEN, HIGH);
delay(TIMEOUT_FLASH_GREEN);
}
// Endi yashil rangni o'chiring va sariq LEDni yoqing
digitalWrite(LED_GREEN, LOW);
digitalWrite(LED_YELLOW, HIGH);
delay(TIMEOUT_YEL);



Download 265.31 Kb.

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




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