Текущее время: 19 июл 2018, 01:03

Город ХОББИ

Занятие любимым хобби - это путь к счастливой жизни!

Урок 4. Светофор на Ардуино

Обучение с нуля, шаг за шагом.
Аватар пользователя
 
Сообщений: 674
Зарегистрирован: 27 мар 2013, 23:12

Урок 4. Светофор на Ардуино

Сообщение -=dp=- » 08 мар 2018, 20:50

Урок 4. Светофор на Ардуино

Для создания светофора на Ардуино нам понадобятся следующие компоненты:

1 - плата совместимого контроллера Ардуино УНО
2 - макетная плата
3 - светодиоды 3 шт (красный, желтый, зеленый)
4 - резисторы 560 Ом 3 шт
5 - соединительные провода

:arrow: купить Ардуино и другие детали в Калининграде можно тут http://newmar.ru

Собираем схему на макетной плате как показано на рисунке ниже:

Arduino UNO svetofor.jpg
Светофор на Ардуино , схема


Запускаем среду разработки Ардуино IDE.
Для разработки программы или скетча светофора, за основу берем скетч Blink.
Дорабатываем скетч следующим образом:
В установочном цикле прописываем цифровые выводы 5,6,7 как выходы.

В главном цикле программы формируем следующий алгоритм работы нашего светофора:

:arrow: Подаем на цифровой выход 5 высокий уровень HIGHT, Загорается зеленый светодиод, горит 60 секунд, затем мигает 3 раза с интервалом 0,5 сек, отключаем зеленый светодиод, устанавливаем выход 5 в LOW.

:arrow: Подаем на цифровой выход 6 высокий уровень HIGHT, Включаем желтый светодиод на 3 секунды, устанавливаем выход 6 в LOW, желтый светодиод гаснет.

:arrow: Подаем на цифровой выход 7 высокий уровень HIGHT, Загорается красный светодиод, горит 55 секунд,
Подаем на цифровой выход 6 высокий уровень HIGHT, Включаем желтый светодиод на 5 секунд и выключаем красный и желтый, устанавливаем выход 6, 7 в LOW.

:arrow: И опять зеленый, и так по циклу.

Пример кода:

Код: выделить все
// Урок 4. Светофор на Ардуино (C) www.forklg.ru
void setup() {
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(5, HIGH);   //  зеленый
  delay(60000);                       
  digitalWrite(5, LOW);
  delay(500);   
  digitalWrite(5, HIGH);   
  delay(500);
  digitalWrite(5, LOW);     
  delay(500);   
  digitalWrite(5, HIGH);   
  delay(500);
  digitalWrite(5, LOW);
  delay(500);   
  digitalWrite(5, HIGH);   
  delay(500);
  digitalWrite(5, LOW);
 
  digitalWrite(6, HIGH);   //  желтый   
  delay(3000);   
  digitalWrite(6, LOW);   
 
  digitalWrite(7, HIGH);   //  красный
  delay(55000);
  digitalWrite(6, HIGH);   //  желтый   
  delay(5000);                 
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
// переход в начало цикла
}



Алгоритм работы светофора скопирован с реального светофора на перекрестке ;)



Вернуться в Обучение Ардуино

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0