Пешеходный светофор с кнопкой ардуино

Содержание

Урок 6. Arduino светофор для машин и пешеходов.

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

Цель урока: Arduino светофор для машин и пешеходов.

Закрепить полученные знания в предыдущих уроках, и повторить работу с циклом for() и булевыми переменными.

Светофор для пешеходов.

Такие светофоры регулируют движение пешеходов через пешеходный переход. Как правило, он имеет два вида сигнала: разрешающий и запрещающий. Обычно для этой цели используют соответственно зелёный и красный свет. Сами сигналы имеют различную форму. Чаще всего используют сигналы в виде силуэта человека: красный — стоящего, зелёный — идущего. В 1970-е годы в городах СССР использовались пешеходные светофоры иного вида — прямоугольной формы; с красным сигналом в виде надписи «стойте» и зелёным в виде надписи «идите» (такие светофоры показывают крупным планом в фильме Следствие ведут ЗнаТоКи. Несчастный случай).

Современные светофоры для пешеходов дополнительно оборудуют также звуковыми сигналами, предназначенными для слепых пешеходов, а иногда и табло обратного отсчёта времени (впервые появились во Франции в 1998 г.).

Алгоритм работы светофора для машин и пешеходов.

Алгоритм работы одного светофора найти в интернет можно. Но вот как взаимодействуют 2 светофора: для машин и для пешеходов, данной информации нет. В группе на facebook мне скинули вот такую иллюстрацию.

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

Алгоритм работы трех секционного светофора для машин останется без изменений. К режиму работы добавим работу двухсекционного светофора для пешеходов.

Схема подключения Arduino светофора для машин и пешеходов.

Схему подключения возьмём из Урока 5. Светофор на Arduino UNO. Arduino моделирование в Tinkercad. И добавим 2 светодиода, которые будут имитировать работу светофора для пешеходов.

В итоге схема подключения Arduino светофора для машин и пешеходов примет вид.

Скетч Arduino светофора для машин и пешеходов.

За основу возьмём код из 5 урока. Если вы не смотрели данный урок, рекомендую ознакомиться с ним прежде, чем приступать к данному уроку.

Добавим необходимую информацию, чтобы инициализировать пины подключения светофора для пешеходов. Светодиоды подключены к 5 и 6 пинам, соответственно нужно добавить.

К алгоритму работы трехсекционного светофора добавим работу светофора для пешеходов. Для этого алгоритм менять не придётся. Достаточно прописать в нужных местах включение и выключение сигналов светофора для пешеходов.

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

И сам цикл мигания светодиодом.

В итоге у нас получится вот такой код.

Как видим, код Arduino светофора для машин и пешеходов получился не многим сложнее управления одним светофором для машин.

Загружаем код Arduino светофора для машин и пешеходов в Arduino UNO.

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

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

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

Спасибо за внимание!

Технологии начинаются с простого!

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

  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.

Спасибо за внимание!

Технологии начинаются с простого!

Источник

Урок 8 — Светофор на Arduino для машин и пешеходов

Это второй урок посещенный светофору. В уроке 7 «Светофор на Arduino своими руками. Пишем скетч используя функции» . Мы подключали 3 светодиода делали работу одной стороны светофора. В данном уроке мы сделаем работу светофора для машин и для пешеходов. Правда это еще не полноценный светофор, но на основе данного урока его можно сделать без проблем.

Для сокращения объема кода напишем 2 функции в среде разработки Arduino IDE . Одну для управления светофором для машин, а вторую для управления светофором для пешеходов.

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

Подключим светодиоды к плате ArduinoUNO . У нас получиться вот такая схема.

Принципиальная схема светофора на Arduino для машин и пешеходов.

Скетч в среде разработки Arduino IDE будит выглядит так.

Напишем функции для управления светофорами в среде разработки Arduino IDE.

Первая управляет светофором для машин.

управлять светофором для пешеходов.

В итоге у нас получиться вот такой код. Как видно код стал намного короче и читабельнее.

Следующий урок:

Если у вас чего то нет для выполнения данного урока, Вы можете посмотреть в каталоге. Там собранные комплектующими от проверенных продавцов по самым низким ценам.

Понравилась статья? Поделитесь ею с друзьями:

Источник

Анатолий Беляев (aka Mr.ALB). Персональный сайт

Да пребудут с вами Силы СВЕТА!

2022-09-23
Добавлено изречение
№117

2022-09-22
Добавлено изречение
№116

2022-09-22
Добавлено изречение
№115

2022-09-22
Добавлено изречение
№114

2022-09-22
Добавлено изречение
№113

2022-09-22
Добавлено изречение
№112

2022-09-22
Добавлено изречение
№111

2022-09-22
Добавлено изречение
№110

2022-09-22
Добавлено изречение
№109

2022-09-22
Добавлено изречение
№108

2022-09-22
Добавлено изречение
№107

2022-09-22
Добавлено изречение
№106

2022-09-22
Добавлено изречение
№105

2022-09-22
Добавлено изречение
№104

2022-09-22
Добавлено изречение
№103

2022-09-22
Добавлено изречение
№102

2022-09-22
Добавлено изречение
№101

2022-09-22
Добавлено изречение
№100

2017-01-19
Добавлен раздел
Веды

Светофор для пешеходов

Случайно попал на сайт https://роботехника18.рф/светофор-ардуино/, на статейку про Светофор с кнопкой. , посмотрел и увидел, что как бы не очень логично у них написано, тем более для детей или начинающих. Решил высказать свой взгляд на эту тему .

Подразделы

Светофор на Arduino Uno с кнопкой

На сайте оригинала говорится:

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

Однако на мой взгляд разумнее заменить конструкцию с while (digitalRead(10) == LOW) на if (digitalRead(KNP) == LOW), тогда по нажатию на кнопку будет последовательное переключение светофора по фазам с возвращением к первой фазе, а вначале loop() первую фазу перенести в конец функции setup() и конец конструкции if().

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

Скетч светофора для пешеходов

Ниже публикую небольшой скетч этого светофора. Делал на Arduino Uno.

Какие преимущества моего подхода по сравнению с оригиналом?

Во-первых, чтобы происходило автоматическое переключение не нужно постоянно держать нажатой кнопку. Достаточно раз нажать и далее ждать переключения светофора – как в жизни.

Во-вторых, само переключение светодиодов выделено в функцию fnFazaLED() и эта функция вызывается по ходу программы с нужными аргументами.

В-третьих, в оригинальном скетче сразу после loop() идёт первая фаза , до цикла while(), что приводит к тому, что программа всегда возвращается на эту фазу и постоянно включает пины светодиодов, даже если они и были уже до этого установлены в нужную позицию – как бы не нужно это делать. совсем.

Мигание зелёным управляется через функцию fnFazaLED() и если последний аргумент не задан, то мигания не происходит, а если указан пин для зелёного светодиода, то на этом пине при смене цвета можно выполнить мигание, в данном случае зелёного света.

В настроечной функции setup(), в момент конфигурации пинов для светодиодов, провожу их проверку, т.к. перед работой любого индикаторного устройства, по моему мнению, необходимо всегда проверять работоспособность хоть светодиодов, хоть светодиодных индикаторов.

Скетч достаточно закомментирован и надеюсь любому понятно как он работает. Далее небольшое видео для иллюстрации работы светофора.

Проверка работы Светофора для пешеходов

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

Источник

Adblock
detector