Logo

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

Servo MG995 - Металлические Шестерни - 69 г
Модуль питания 12 В 400mA

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

Мы в соц сетях


Подпишись на канал
Мы на facebook

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

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

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

Работа светофора

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

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

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

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

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

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

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

Светофор на ардуино своими руками

Принципиальная схема.

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

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

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().

void Led (uint8_t pin, byte status)
{
      digitalWrite(pin, status);
}

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

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

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.

Следующий урок: Светофор из 3 светодиодов для машин и 2 для пешеходов на Arduino



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

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

Яндекс.Метрика

Portal-PK (Портал ПК) © 2015 - 2017 MiniYiiCMS Заказать сайт: f-studio.biz
Обратная связь
Вопрос-Ответ