Россия, Иркутская область, д. Шаманаева, Трактовая улица, 2, 1 этаж
Телефон:
+7 (395) 239-99-35
Пн-пт: 09:00—19:00
whatsapp telegram vk email

Как сделать светофор на ардуино

Светофор на Arduino UNO

Представим схему работы светофора в виде последовательности действий.

image

Рис. 2 — Алгоритм работы светофора

На рисунке 2 видно, что после одного цикла действий, они повторяются.

Сборка

При сборке схемы на макетной плате:

  • устанавливаем светодиоды;
  • к катодам светодиодов подключаем резисторы;
  • свободные выводы резисторов подключаем к шине питания GND;
  • шину питания подключаем к GND.

image

Рис. 3 — Схема на макетной плате

Скетч 1

Теперь улучшим читаемость нашего кода и сделаем его компактнее. Для лучшей читаемости, создаем макроопределения.

Урок 5. Светофор на Arduino UNO. Arduino моделирование в Tinkercad.

Сегодня в Arduino уроке рассмотрим излюбленный пример школ робототехники, светофор на Arduino. Реализация светофора на Arduino популярна, благодаря наглядному примеру работы распространённого устройства, который мы встречаем ежедневно. Помимо этого, при реализации алгоритма работы светофора можно использовать как минимальные знания в программировании Ардуино, так и более сложные алгоритмы. Что позволяет реализовать светофор с любыми знаниями в программировании.

Цель урока: Светофор на Arduino UNO.

Познакомиться подробнее с алгоритмом работы устройства, которое мы видим практически ежедневно. А также разобрать несколько вариантов написания программы реализации светофора на Arduino.

Что такое светофор?

Светофор — оптическое устройство, подающее световые сигналы, регулирующие движение автомобильного, железнодорожного, водного и другого транспорта, а также пешеходов на пешеходных переходах.

Наиболее распространены светофоры с сигналами (обычно круглыми) трёх цветов: красного, жёлтого и зелёного. В некоторых странах, в том числе и в России, вместо жёлтого используется оранжевый цвет. Сигналы могут быть расположены как вертикально (при этом красный сигнал всегда располагается сверху, а зелёный — снизу), так и горизонтально (при этом красный сигнал всегда располагается слева, а зелёный — справа). При отсутствии других, специальных светофоров, они регулируют движение всех видов транспортных средств и пешеходов.

image

В некоторых городах России, Украины и других стран устанавливаются светофоры с увеличенным красным сигналом (300/200/200 mm). Такие светофоры распространены в Санкт-Петербурге, Киеве, Риме и других городах.

image

Повсеместно распространены основные сигналы светофоров:

  • красный сигнал светофора запрещает проезд за стоп-линию (при её отсутствии за светофор),
  • жёлтый обязывает сбросить скорость и быть готовым к тому, что светофор через 0,5 — 1 сек переключится на красный,
  • зелёный — разрешает движение со скоростью, не превышающей максимальный уровень для данной автотрассы.

Алгоритм смены сигналов светофора на Arduino.

На просторах интернета нашел иллюстрацию отображающую алгоритм работы светофора.

image

Как видим, светофор должен работать вот по такому алгоритму:

  1. Светит только красный цвет светофора.
  2. Не выключая красный сигнал светофора, включаем желтый.
  3. Выключаем красный и желтый, включаем зеленый.
  4. Выключаем зеленый сигнал светофора, включаем желтый.

После чего цикл повторяем с красного сигнала светофора на Arduino.

На сайте Портал ПК делал данный урок года 2 назад. После чего мне написали достаточно много комментариев по поводу того, что нужно добавить мигание зеленым сигналом светофора. В данном уроке исправим недоработку и сделаем мигание зеленым сигналом светофора.

Как подключить светодиоды к Arduino UNO?

Схема подключения не очень сложная и для подключения нам понадобится макетная плата, 3 светодиода и 3 резистора наминало 220 Ом. А также Arduino UNO и соединительные провода.

Как собрать схему в Tinkercad смотрите в видео, которое располагается вверху статьи.

Скетч светофора на Arduino UNO.

Реализовать программу светофора на Arduino можно различными способами. Сперва рассмотрим работу светофора по алгоритму, который изображён на картинке выше.

Для этого создадим переменные и инициализируем пины как выход.

Если вы не понимаете, что написано в данных строчках, посмотрите предыдущие Arduino уроки.

В основном цикле loop() можно все реализовать, используя функции digitalWrite() и delay(). В итоге должен получиться вот такой код.

Скетч достаточно простой и без мигания зеленым цветом светофора.

А чтобы заставить мигать зеленый светодиод воспользуемся функцией for(), которую рассматривали в предыдущем уроке: Урок 4. Arduino – цикл for.

Цикл позволяющий мигать зеленым светодиодом будет таким:

При желании данный код можно немного модернизировать. Так как мы изучили булевые переменные в: Урок 3. Два светодиода. Создадим переменную

Цикл выполняется 6 раз, так как при каждом выполнении цикла мы меняем булевую переменную с HIGH на LOW и наоборот. И выполняем либо включение светодиода, либо включение. По этой причине количество раз выполнения цикла увеличивается в 2 раза.

Конечный вариант кода светофора на Arduino будет вот таким:

Загружаем код в Arduino UNO.

Arduino UNO уроки для начинающих можно использовать не только в симуляторе, но и программировать реальную Arduino UNO. Для этого полученный код можно скопировать в Arduino IDE и загрузить в отладочную плату. Подробнее о загрузке кода смотрите в предыдущем уроке.

Понравился Урок 5. Светофор на Arduino UNO. Arduino моделирование в Tinkercad? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

Урок 7 — Светофор на Arduino своими руками. Пишем скетч используя функции

В данном уроке сделаем самый простой светофор из трех светодиодов . Работать он должен вот по такой схеме.

1. Светит только красный цвет нашего будущего светофора.

2. Не выключая красный сигнал светофора включаем желтый .

3. Выключаем красный и желтый включаем зеленый.

4. Выключаем зеленый сигнал светофора включаем желтый.

Для урока нам понадобится:

  • Arduino UNO или Arduino Nano
  • Плата макетная беспаечная
  • Резисторы 220 ОМ
  • Соединительные провода папа-папа
  • Светодиоды 3 или 5 мм.

Подключим три LED к плате Arduino UNO . У нас получиться вот такая схема.

Скетч выглядит так

Для управления светодиодами используем функции digitalWrite().

Давайте заменим стандартную функции digitalWrite() на свою функцию Led().

Функция принимает две переменные pin — пин светодиода и status — состояние светодиода HIGH или LOW.

В итоге получим вот такой скетч

Как видно по скетчу код стал больше, а функции используют для уменьшения объема кода и упрощения логики. Но мы на этом простом примере посмотрели что такое функция и как передавать переменные в функции в среде разработки arduino IDE.

Понятие что такое функции и как их объявлять пригодиться нам в следующем уроке.

Ест вопросы смотрите видео там подробно описываю программу светофора на Arduino.

Как сделать светофор на Ардуино с кнопкой

Сделать светофор на Ардуино с кнопкой — это отличное упражнение по изучению Arduino для начинающих. Проект позволит лучше понять среду программирования Arduino IDE и принцип работы цифровых выводов общего назначения. Рассмотрим схему сборки простого светофора на Arduino Uno с использованием макетной платы (breadboard) и представим простой проект, который можно использовать в начале своего обучения.

Необходимые компоненты:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • светодиоды и резисторы
  • тактовая кнопка
  • макетная плата
  • коннекторы

После сборки проекта, вы можете самостоятельно реализовать мигающий зеленый свет светофора в программе. Также проект можно улучшить усовершенствовать, заменив кнопку на ультразвуковой дальномер hc-sr04. Пины с подключенными светодиодами названы с помощью директивы define, а интервал включения света можно изменить, изменив значение переменной int pause = 3000; в представленной программе.

Схема светофора на Ардуино Уно или Нано

Для начала мы соберем простую схему светофора на макетной плате без тактовой кнопки, чтобы понять код и алгоритм работы светофоров на перекрестках. Детям также будет полезно понять, как работают светофоры на дороге в реальной жизни. Подключите светодиоды с помощью макетной платы и коннекторов к плате Arduino согласно размещенной выше схеме и загрузите в микроконтроллер следующую программу.

Программа для светофора на Arduino Uno

Как сделать светофор с кнопкой на Arduino

Следующий пример воспроизводит работу светофоров на пешеходных переходах, где режим работы светофора изменяется нажатием кнопки. Для этого программе необходимо использовать цикл while. Также необходимо добавить в схему кнопку с подтягивающим резистором и активировать режим светофора при высоком уровне сигнала на цифровом или аналоговом входе микроконтроллера, к которому была подключена кнопка.

Скетч для светофора с кнопкой на Arduino Uno

Заключение. В программе цикл while будет выполняться только при нажатии кнопки. Всем портам со светодиодами и пину с кнопкой присвоены имена с помощью команды #define . Сейчас вы можете реализовать мигающий зеленый свет светофора в программе самостоятельно или еще больше усовершенствовать проект с мигающим светофором, заменив тактовую кнопку на датчик hc-sr04 ультразвукового дальномера Ардуино.

Ссылка на основную публикацию
Похожее