Мастер-класс "Разработка проекта с использованием светодиодов в среде Tinkercad"
Мячина С.А., педагог-организатор, 1КК МБОУ БГО «Борисоглебская гимназия № 1»
Мы продолжаем работать с онлайн-сервисом Tinkercad, создавать проекты с использованием светодиодов. Умение собирать простые мигалки станет стимулом к построению более сложных моделей. Если приложить немного усилий, то с помощью мигающих светодиодов можно создать множество интересных проектов
На прошлом занятии мы рассматривали модели мигания со встроенным светодиодом на плате и мигание 1 светодиода на макетной плате.
Сегодня узнаем, как управлять несколькими светодиодами, используя плату Arduino и макетную плату. А также будем совершенствовать навыки написания кода программы по заданным алгоритмам.
Итак , выполните предложенное на слайде задание.
Исследуйте образец предложенной цепи и постройте собственную (можно использовать, созданную на прошлом занятии).
Вспомним программу, написанную на прошлом занятии для 1 светодиода . Попробуем её доработать для нашего случая.
В рассматриваемом скетче требуется добавить номера порта, к которым подключены светодиоды. При этом сколько вы используете светодиодов в схеме, столько и раз следует прописать команды pinMode.
В первой части кода программы добавляем строку, в которой описываем еще один контакт в режиме вывода.
void setup()
{
pinMode(LED_BUILTIN, OUTPUT);
pinMode(LED_BUILTIN, OUTPUT);
}
Во второй части программы сначала запишем строки с номерами портов при включении напряжения, а затем строки с номерами портов при выключении напряжения.
{
digitalWrite(LED_BUILTIN, HIGH);
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
}
Программу можно создать в редакторе кода Scratch или с помощью текстового редактора кода. Сравните, написанный Вами код программы с образцом. Возможен ли другой код написания программы?
Сверим, код программы.
Вот что получилось
Задание
Измените программу мигания двух светодиодов по алгоритму: •синий светодиод горит постоянно; •красный светодиод мигает 5 секунд; •задержка 3 секунды.
Включение и выключение одновременно светодиодов рассмотрели. Давайте попробуем наш светодиод включать плавно и постепенно, создадим так называемое плавное мигание
Для этого используем функцию analogWrite (). Она требует два аргумента: один для определения порта, на который будет включаться и второй - для отображения записываемого значения яркости.
analogWrite() обеспечивает быструю смену значения широтно-импульсной модуляции.
Желательно светодиоды в этом случае подключать к портам ШИМ. На плате Arduino Uno их обозначают волнистой чертой “~” . Кроме того, в программе нужно добавить описание переменной, в которой хранится уровень яркости и переменной, устанавливающей шаг изменения яркости.
Пример программы в Scratch. Здесь в разделе переменные создаем переменные brightness , fadeAmount
Для того, чтобы плавно включать и отключать светодиод, постепенно увеличивайте значение от 0 до 255, после - опять до 0, чтобы завершить цикл. Каждый раз по завершению цикла увеличивается значение переменной.
Если brightness достигает своего предельного значения (0 или 255), переменная fadeAmount меняет свое значение на отрицательное. Другими словами, если fadeAmount равно 5, его значение меняется на -5.
Вот такой вариант
Пример программы в C++
Попробуйте изменить значение задержки и отследить, как будет работать программа.