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

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

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

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

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

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

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

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

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

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

int car_red = 2; // пин подключения 2
int car_yellow = 3; // пин подключения 3
int car_green = 4; // пин подключения 4
int people_red = 5; // пин подключения 5
int people_green = 6; // пин подключения 6
void setup() {
    pinMode(car_red, OUTPUT);
    pinMode(car_yellow, OUTPUT);
    pinMode(car_green, OUTPUT);
    pinMode(people_red, OUTPUT);
    pinMode(people_green, OUTPUT);
}
void loop() {
      digitalWrite(car_red, LOW); 
      digitalWrite(car_yellow, HIGH); 
      digitalWrite(car_green, LOW);       
              delay(2000); 
       digitalWrite(car_red, HIGH); 
       digitalWrite(car_yellow, LOW); 
       digitalWrite(car_green, LOW);
              delay(1000); 
        digitalWrite(people_red, LOW); 
        digitalWrite(people_green, HIGH);
            delay(5000); 
    for (int x=0; x<10; x++) 
    {
          digitalWrite(people_red, LOW); 
          digitalWrite(people_green, HIGH);
            delay(250);
          digitalWrite(people_red, LOW); 
          digitalWrite(people_green, LOW);
          delay(250);
      }
      digitalWrite(people_red, HIGH); 
      digitalWrite(people_green, LOW);
            delay(500);
       digitalWrite(car_red, LOW); 
       digitalWrite(car_yellow, HIGH); 
       digitalWrite(car_green, LOW);
            delay(1000);
       digitalWrite(car_red, LOW); 
       digitalWrite(car_yellow, LOW); 
       digitalWrite(car_green, HIGH);
            delay(5000);
}

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

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

void Car (byte red, byte yellow, byte green) {
      digitalWrite(car_red, red); 
      digitalWrite(car_yellow, yellow); 
      digitalWrite(car_green, green);
}

Вторая

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

void People (byte red, byte green) {
      digitalWrite(people_red, red); 
      digitalWrite(people_green, green);
}

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

int car_red = 2; // пин подключения 2
int car_yellow = 3; // пин подключения 3
int car_green = 4; // пин подключения 4
int people_red = 5; // пин подключения 5
int people_green = 6; // пин подключения 6
void setup() {
    pinMode(car_red, OUTPUT);
    pinMode(car_yellow, OUTPUT);
    pinMode(car_green, OUTPUT);
    pinMode(people_red, OUTPUT);
    pinMode(people_green, OUTPUT);
}
void loop() {
        Car (LOW, HIGH, LOW);          
              delay(2000); 
        Car (HIGH, LOW, LOW);
              delay(1000); 
        People (LOW, HIGH);
            delay(5000); 
        for (int x=0; x<10; x++) {
          People (LOW, HIGH);
              delay(250);
          People (LOW, LOW);
              delay(250);
        }
         People (HIGH, LOW);
            delay(500);
        Car (LOW, HIGH, LOW);
            delay(1000);
        Car (LOW, LOW, HIGH);
            delay(5000);
}
void Car (byte red, byte yellow, byte green) {
      digitalWrite(car_red, red); 
      digitalWrite(car_yellow, yellow); 
      digitalWrite(car_green, green);
}
void People (byte red, byte green) {
      digitalWrite(people_red, red); 
      digitalWrite(people_green, green);
}

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

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

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

Вернуться в раздел: Уроки Arduino: Светодиоды, Резисторы, Arduino Дата публикации 21 апреля , 2017

Комментарии

Ваше Имя*
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.

Юрий Эйнартович Лембер
#4 Гость: Юрий Эйнартович Лембер (5 мая, 2022 в 09:09)

Браво!!!

Максим Архипенко
#3 Гость: Максим Архипенко (11 марта, 2019 в 19:54)

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

Денис Михайлович.
#2 Гость: Денис Михайлович. (5 марта, 2019 в 12:33)

Здравствуйте! Зелёный сигнал должен моргать три секунды перед переключением на желтый.Будет здорово, если вы исправите скетч или подскажите как это сделать. И ещё, можно ли подключить светодиоды покрупнее? Первый раз столкнулся с ARDUINO, а хотелось бы сделать детям светофор. Спасибо!

Pavel
#1 Гость: Pavel (25 февраля, 2019 в 10:36)

здравствуйте ! как сделать три светофора? Копирую код с вашего кода и не работает.


Cлучайные товары

Посмотреть товар в Магазине »

Мы в соц сетях

Подпишись на канал Telegram

Portal-PK (Портал ПК) © 2015 - 2024
Разработка проектов
AT Block
DWIN Box