Практическое занятие 2. Светофор с миганием
⇐ ПредыдущаяСтр 2 из 2 Напишем более сложный алгоритм работы и изменим программу таким образом, чтобы поведение светодиодов было похоже на настоящий светофор · включить красный светодиод · подождать три секунды · помигать красным светодиодом 4 раза · включить желтый светодиод · подождать три секунды · выключить желтый светодиод · включить зеленый светодиод · подождать три секунды · помигать зеленым светодиодом 4 раза В этом случае задачу «помигать красным светодиодом 4 раза» можно решить «в лоб» таким способом:
Но такой вариант трудоемок, приводит к большому объему написанного кода и вследствие этого к трудности чтения программы и последующего изменения. Для многократных повторений одной и той же части кода можно использовать цикл for:
С использованием цикла for код, выполняющий задачу «помигать красным светодиодом 4 раза» будет выглядеть так:
Примечание: вместо i = i + 1 также можно использовать i++
С использованием цикла for программа, реализующая написанный для светофора алгоритм, будет выглядеть так:
2. Напишите в среде Arduino программу, приведенную выше (выделенный полужирным текст, комментарии писать не обязательно). Для ускорения работы можно скопировать текст программы из файла занятия в электронном виде 3. Загрузите написанную программу в контроллер и убедитесь, что светодиоды зажигаются в соответствии с написанным алгоритмом 4. Сохраните программу в папку Learning / Ваша фамилия под именем Svetofor_Blink Управление уровнем напряжения. Аналоговый выход – команда analogWrite
Команда analogWrite (номер пина, уровень) позволяет подать на определенный пин Arduino (поддерживающих данную функцию – 3, 5, 6, 9, 10, 11 – на Arduino Uno отмечены штрихом) значение от 0 до 255, что соответствует напряжению от 0 В до +5 В на контакте. Примеры: analogWrite (6, 200); – напряжение на пине 6 станет равным 5·200/255= 3,9 В analogWrite (11, 50); – напряжение на пине 11 станет равным 5·50/255= 1 В
Таким образом, постепенно увеличивая/уменьшая переданное в analogWrite значение можно добиться плавного роста/падения напряжения на выходе. Подключенный к одному из ШИМ-портов Arduino (3, 5, 6, 9, 10, 11) светодиод будет плавно загораться и затухать (fading). Примечание: используя данную команду, можно плавно регулировать скорость вращения моторов, яркость освещения, уровень температуры, скорость подачи воды при поливе и т.д.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|