Для создания светофора на Ардуино нам понадобятся следующие компоненты:
1 - плата совместимого контроллера Ардуино УНО
2 - макетная плата
3 - светодиоды 3 шт (красный, желтый, зеленый)
4 - резисторы 560 Ом 3 шт
5 - соединительные провода
Собираем схему на макетной плате как показано на рисунке ниже:
Запускаем среду разработки Ардуино IDE.
Для разработки программы или скетча светофора, за основу берем скетч Blink.
Дорабатываем скетч следующим образом:
В установочном цикле прописываем цифровые выводы 5,6,7 как выходы.
В главном цикле программы формируем следующий алгоритм работы нашего светофора:
![Стрелка :arrow:](./images/smilies/icon_arrow.gif)
![Стрелка :arrow:](./images/smilies/icon_arrow.gif)
![Стрелка :arrow:](./images/smilies/icon_arrow.gif)
Подаем на цифровой выход 6 высокий уровень HIGHT, Включаем желтый светодиод на 5 секунд и выключаем красный и желтый, устанавливаем выход 6, 7 в LOW.
![Стрелка :arrow:](./images/smilies/icon_arrow.gif)
Пример кода:
- Код: выделить все
// Урок 4. Светофор на Ардуино (C) www.forklg.ru
void setup() {
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(5, HIGH); // зеленый
delay(60000);
digitalWrite(5, LOW);
delay(500);
digitalWrite(5, HIGH);
delay(500);
digitalWrite(5, LOW);
delay(500);
digitalWrite(5, HIGH);
delay(500);
digitalWrite(5, LOW);
delay(500);
digitalWrite(5, HIGH);
delay(500);
digitalWrite(5, LOW);
digitalWrite(6, HIGH); // желтый
delay(3000);
digitalWrite(6, LOW);
digitalWrite(7, HIGH); // красный
delay(55000);
digitalWrite(6, HIGH); // желтый
delay(5000);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
// переход в начало цикла
}
Алгоритм работы светофора скопирован с реального светофора на перекрестке
![Подмигивает ;)](./images/smilies/icon_e_wink.gif)