- Платы Ардуино
- Обучение Ардуино
- Мой блог
- Уроки
- Урок № 1 "Пишем свой первый скетч"
- Урок № 2 "Подключение фоторезистора"
- Урок № 3 "Подключение пищалки(BUZZER)
- Урок № 7 "Модуль часов RTC DS3231"
- Урок № 8 - "Шаговый двигатель 28BYJ-48"
- Урок № 10 - "ИК пульт на Ардуино"
- Урок № 11- "Сканер отпечатка пальца"
- Урок № 12- "Датчик наклона SW-200D"
- Урок № 13- "Гирлянда светодиодная WS2812b"
- Книги
- Мой YOUTUBE
Аналоговые входы на Arduino Mega
Аналоговые входы на Arduino Mega
Плавное включение и выключение 12 светодиодов поочередно с использованием платы Arduino Mega.
В этом примере демонстрируется постепенное зажигание и затухание 12 светодиодов один за другим на плате Arduino Mega, используя увеличенное количество цифровых пинов с поддержкой ШИМ на этой плате.
Нам понадобятся:
- Плата Arduino Mega
- 12 красных светодиодов
- 12 резисторов по 220 Ом
- Провода
- Макетная плата
Подключение:
Схема:
Подключите более длинные положительные ноги (аноды) 12 светодиодов к цифровым пинам со 2 по 13 через резисторы ограничения по 220 Ом.
Подключите более короткие ноги (катоды) к земле.
Код:
/*
Плавное мерцание светодиодов на Arduino Mega
Этот скетч осуществляет плавное мерцание светодиодов один за другим на цифровых пинах с 2 по 13.
Этот скетч был написан для Arduino Mega и не будет работать на других платах.
Схема:
Светодиоды подключены от пинов 2 до 13 к земле.
*/
// Эти константы не будут изменены. Они используются для именования использованных пинов:
const int lowestPin = 2;
const int highestPin = 13;
void setup() {
// устанавливаем пины с 2 по 13 в режим вывода:
for (int thisPin = lowestPin; thisPin <= highestPin; thisPin++) {
pinMode(thisPin, OUTPUT);
}
}
void loop() {
// итерируем по пинам:
for (int thisPin = lowestPin; thisPin <= highestPin; thisPin++) {
// загорание светодиода на этом пине от выключенного до максимальной яркости:
for (int brightness = 0; brightness < 255; brightness++) {
analogWrite(thisPin, brightness);
delay(2);
}
// затухание светодиода на этом пине от максимальной яркости до выключенного:
for (int brightness = 255; brightness >= 0; brightness--) {
analogWrite(thisPin, brightness);
delay(2);
}
// пауза между светодиодами:
delay(100);
}
}
В функции setup() кода используется цикл for(), чтобы объявить цифровые пины 2-13 Mega как выходы.
Затем в функции loop() программы используется три вложенных цикла for().
Первый из этих циклов,
for (int thisPin = lowestPin; thisPin <= highestPin; thisPin++)
последовательно проходит через каждый светодиод, от самого низкого пина к самому высокому.
Прежде чем этот цикл сможет перейти к следующему пину, должны быть выполнены две задачи.
Во-первых, индивидуальный светодиод зажигается с использованием следующего кода:
for (int brightness = 0; brightness < 255; brightness++) {
analogWrite(thisPin, brightness);
delay(2);
}
На каждом шаге цикла переменная brightness увеличивается на единицу, и это значение записывается на выбранный в данный момент пин в основном цикле.
Как только пин достигает максимального значения ШИМ (255), запускается следующий цикл:
for (int brightness = 255; brightness >= 0; brightness--) {
analogWrite(thisPin, brightness);
delay(2);
}
Этот цикл вычитает единицу из переменной brightness, плавно гася светодиод до 0.
Когда достигается ноль, возобновляется основной цикл for(), и программа переходит к следующему пину светодиода, повторяя все вышеописанные шаги.
5 примеров использования:
Декоративная подсветка: Используйте этот пример для создания эффектной декоративной подсветки в интерьере. Подключите 12 светодиодов к Arduino Mega и создайте уникальные световые сценарии, подчеркивая атмосферу в комнате.
Сигнальная система: Можно использовать 12 светодиодов для создания сигнальной системы.
Например, при подключении к различным сенсорам или датчикам каждый светодиод может сигнализировать о разных условиях.
Индикатор производительности: Примените этот пример для создания визуального индикатора производительности системы. Каждый светодиод может представлять определенный параметр, такой как использование процессора, объем памяти, заряда батареи и другие.
Учебные цели: Этот проект идеально подходит для обучения основам программирования Arduino и работы с цифровыми и аналоговыми пинами.
Учащиеся могут изучить принципы управления светодиодами и использовать различные циклы.
Световое искусство: Примените эти мерцающие светодиоды для создания уникальных световых инсталляций и искусственного освещения.
Этот пример отлично подходит для художественных проектов и экспериментов с цветом и движением света.
Дополнительные материалы по теме
Музыкальная клавиатура на Ардуино
Динамики ардуино. Подключение динамиков к Arduino
Аналоговый вход, аналоговый выход, вывод в последовательный монитор порта
"Подключение фоторезистора к плате Ардуино" Урок № 2
Фоторезистор 5506
Подключение пищалки (BUZZER) к плате Ардуино
Звуки Ардуино из разных динамиков.
Музыкальная шкатулка. Ардуино
VU METR Музыка в цвете
Мелодии для Ардуино на пищалке. Пример и код.