Как подключить кнопку к циклу (мигание светофора )
- Войдите на сайт для отправки комментариев
Втр, 08/06/2021 - 13:19
int led_red = 2;
int led_yellow = 3;
int led_green = 4;
int keyPin = 5;
int tekButton = LOW;
int prevButton = LOW;
boolean ledOn = false;
boolean led_on = HIGH;
void setup()
{
pinMode(keyPin, INPUT);
pinMode(led_red, OUTPUT);
pinMode(led_yellow, OUTPUT);
pinMode(led_green, OUTPUT);
}
void loop()
{
if(tekButton == HIGH && prevButton ==LOW)
{
digitalWrite(led_red, HIGH);
delay(3000);
for (int i=0;i<6;i++)
{
led_on = !led_on;
digitalWrite(led_red, led_on);
delay(700);
}
digitalWrite(led_yellow, HIGH);
delay(1600);
digitalWrite(led_red, LOW);
digitalWrite(led_yellow, LOW);
digitalWrite(led_green, HIGH);
delay(2000);
for (int i=0;i<6;i++)
{
led_on = !led_on;
digitalWrite(led_green, led_on);
delay(700);
}
digitalWrite(led_green, LOW);
digitalWrite(led_yellow, HIGH);
delay(700);
digitalWrite(led_yellow, LOW);
}
}
Точнее есть включение на кнопку, а вот как сделать выключение с кнопки не знаю (цикл повторяется один раз)
Для начала вот - http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
Точнее есть включение на кнопку, а вот как сделать выключение с кнопки не знаю (цикл повторяется один раз)
надо переписать код. полностью избавившись от операторов delay()
а как тогда сделать задержку без задержки (принцип работы светофора заключается в том что один диод включается время проходит он мигает , а потом переключаются на следующий сигнал светофора)
а как тогда сделать задержку без задержки
на миллис
пример "блинк без delay()" растиражирован в сотни местах в инете
А уж если в гуголе набрать "Arduino+светофор", то вапще будет бинго.