
Лабораторная работа №1
.docxФедеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Магнитогорский государственный технический университет
им. Г.И.Носова»
Кафедра ЭиМЭ
Лабораторная работа №1
по дисциплине «Arduino. Проектирование устройств»
на тему «Светофор»
Вариант №3
Выполнил: студент группы
Проверил: доцент кафедры ЭиМЭ, к.т.н.
Лымарь А. Б.
Магнитогорск, 2024
Задание.
Реализовать работу светофора согласно заданию:
1. Красный включаются на 3 секунды.
2. Включается желтый на 0,75 секунды.
3. Красный, желтый гаснут и включается зеленый и дополнительный красный на 4 секунды.
4. Зеленый мигает. Зеленый и дополнительный красный гаснут.
5. Включается желтый на 1 секунду.
6. Цикл повторяется.
Выполнение.
Рисунок 1 Схема светофора.
Код программы.
//Создаем переменные
int rled = 2;
int yled = 3;
int gled = 4;
int rled_2 = 5;
void setup()
{
//Инициализируем переменные как выходы.
pinMode(rled, OUTPUT);
pinMode(yled, OUTPUT);
pinMode(gled, OUTPUT);
pinMode(rled_2, OUTPUT);
}
void loop()
{
//Включаем красный на 3 секунды.
digitalWrite(rled, HIGH);
delay(3000);
//Включаем желтый на 0,75 секунды.
digitalWrite(yled, HIGH);
delay(750);
//Выключаем красный, желтый и включаем зеленый и доп. красный на 4 секунды.
digitalWrite(rled, LOW);
digitalWrite(yled, LOW);
digitalWrite(rled_2, HIGH);
digitalWrite(gled, HIGH);
delay(4000);
//Мигаем зеленым
digitalWrite(gled, LOW);
delay(200);
digitalWrite(gled, HIGH);
delay(200);
digitalWrite(gled, LOW);
delay(200);
digitalWrite(gled, HIGH);
delay(200);
//Выключаем зеленый и включаем желтый на 1 секунду
digitalWrite(gled, LOW);
digitalWrite(rled_2, LOW);
digitalWrite(yled, HIGH);
delay(1000);
digitalWrite(yled, LOW);
}