В данном уроке сделаем самый простой светофор из трех светодиодов . Работать он должен вот по такой схеме.
1. Светит только красный цвет нашего будущего светофора.
2. Не выключая красный сигнал светофора включаем желтый .
3. Выключаем красный и желтый включаем зеленый.
4. Выключаем зеленый сигнал светофора включаем желтый.
После чего
цикл повторяем с красного сигнала
светофора.
Для
урока нам понадобится:
Подключим три LED к плате Arduino UNO . У нас получиться вот такая схема.
Принципиальная схема.

Скетч выглядит так
<code>int led_red = 2; // пин подключения 2
int led_yellow = 3; // пин подключения 3
int led_green = 4; // пин подключения 4
void setup() {
pinMode(led_red, OUTPUT);
pinMode(led_yellow, OUTPUT);
pinMode(led_green, OUTPUT);
}
void loop() {
digitalWrite(led_red, HIGH);
delay(10000); // Ждем
digitalWrite(led_yellow, HIGH);
delay(2000);// Ждем
digitalWrite(led_green, HIGH);
digitalWrite(led_red, LOW);
digitalWrite(led_yellow, LOW);
delay(10000);// Ждем
digitalWrite(led_yellow, HIGH);
digitalWrite(led_green, LOW);
delay(2000);// Ждем
digitalWrite(led_yellow, LOW);
}
Для управления светодиодами используем функции digitalWrite().
Давайте заменим стандартную функции digitalWrite() на свою функцию Led().
<code>void Led (uint8_t pin, byte status)
{
digitalWrite(pin, status);
}
Функция принимает две переменные pin — пин светодиода и status — состояние светодиода HIGH или LOW.
В
итоге получим вот такой скетч
<code>int led_red = 2; // пин подключения 2
int led_yellow = 3; // пин подключения 3
int led_green = 4; // пин подключения 4
void setup() {
pinMode(led_red, OUTPUT);
pinMode(led_yellow, OUTPUT);
pinMode(led_green, OUTPUT);
}
void loop() {
Led (led_red, HIGH);
delay(10000); // Ждем
Led (led_yellow, HIGH);
delay(2000);// Ждем
Led (led_green, HIGH);
Led (led_red, LOW);
Led (led_yellow, LOW);
delay(10000);// Ждем
Led (led_yellow, HIGH);
Led (led_green, LOW);
delay(2000);// Ждем
Led (led_yellow, LOW);
}
void Led (uint8_t pin, byte status)
{
digitalWrite(pin, status);
}
Как видно по скетчу код стал больше, а функции используют для уменьшения объема кода и упрощения логики. Но мы на этом простом примере посмотрели что такое функция и как передавать переменные в функции в среде разработки arduino IDE.
Понятие что такое функции и как их объявлять пригодиться нам в следующем уроке.
Ест вопросы смотрите видео там подробно описываю программу светофора на Arduino.
Понравилась статья? Поделитесь ею с друзьями:
Вернуться в раздел: Уроки Arduino: Светодиоды, Резисторы, Arduino Дата публикации 28 марта , 2017
что нужно добавить чтобы перед 4 стадией зелёный моргал?
А как сделать двух сторонний?
Подключим три LED к плате Arduino UNO . У нас получиться вот такая схема.В какой программе создан рисунок?
А без delay? Через millis к примеру.
Добрый день а если диодная лента . То есть 3 куска ленты по 15 см каждый и подключить эффект такой же будет?
привет все работать
А как сделать пешеходный кнопочный?
Ж / Д - светофор, мигание по очереди двух диодов.
А как сделать большой светофор ?
добавить строки мигания зеленого :)
а что необходимо добавить, чтоб получить полноценный режим настоящего светофора - мигание зеленого, перед включением желтого?
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.