В данном уроке сделаем самый простой светофор из трех светодиодов . Работать он должен вот по такой схеме.
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 см каждый и подключить эффект такой же будет?
привет все работать
А как сделать пешеходный кнопочный?
Ж / Д - светофор, мигание по очереди двух диодов.
А как сделать большой светофор ?
добавить строки мигания зеленого :)
а что необходимо добавить, чтоб получить полноценный режим настоящего светофора - мигание зеленого, перед включением желтого?
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.