Урок 11-12. «Arduino. ШИМ и смешение цветов»


Урок 11-12.
Тема: ШИМ и смешение цветов.
Для любознательных http://wiki.amperka.ru/
Как обмануть наши чувства: цифровой и аналоговый сигналы, ШИМ, частота, инертность восприятия.
Прочитайте п.6 стр. 67
Список деталей для экспериментов
1 плата Arduino Uno
1 беспаечная макетная плата
3  резистора номиналом 220 Ом
1 светодиод
1 трехцветный светодиод
6 проводов «папа-папа»
1 схема. Создадим устройство, которое будет плавно управлять яркостью подключенного светодиода: набирать и плавно угасать.
1. Соберите схему : светодиод любого цвета, подключенный через резистор на 220 Ом, провода, плата. Светодиод подключен к 9-ми пину. Рис 6.2.
2.Напишите скетч: стр. 69.
int brightness = 0; // изначальная яркость светодиода
int fadeAmount = 5; // скорость затухания/нарастания яркости
void setup()
{
// инициализируем пин 9, как работающий на выход
pinMode(9, OUTPUT);
}
void loop()
{
// изменяем яркость светодиода
analogWrite(9, brightness);
// на каждом шаге увеличиваем яркость на скорость затухания
brightness = brightness + fadeAmount;
// в конце затухания меняем его на нарастание яркости и наоборот
if (brightness == 0 || brightness == 255)
fadeAmount = -fadeAmount;
// ждём 30 миллисекунд
delay(30);
}

-38191384156
49276441335863. Загрузите программу.
Человеческий глаз воспринимает каждый из многочисленных цветов и оттенков окружающего мира как сумму взятых в различных пропорциях трёх базовых цветов — красного, зелёного и синего. Например, пурпурный цвет — это сумма красного и синего, жёлтый – сумма красного и зелёного, голубой — сумма зелёного и синего цветов. Сумма красного, зелёного и синего цветов воспринимается человеком как белый цвет, а их отсутствие — как чёрный цвет.
2563 = 16 777 216 цветов
Задание для самостоятельного решения
Отключите питание платы, подключите к порту 5 еще один светодиод. Измените код таким образом, чтобы второй светодиод светился на 1/8 от яркости первого
2 эксперимент. Как при помощи светодиода сделать радугу: трехцветный светодиод
На кромке светодиода есть небольшой скос, это ключ, он указывает на ножку красного светодиода, дальше идет общая, дальше зеленый и синий.
Подключите ногу КРАСНОГО светодиода к резистору 220 Ом. Подключите другой конец резистора в порт Arduino pin9.
Подключите Общий вывод к земле GND .
Подключите ногу ЗЕЛЕНОГО к резистору 220 Ом.
Подключите другой конец резистора в порт Arduino pin10.
 Подключите ногу СИНЕГО к резистору 220 Ом.
Подключите другой конец резистора в порт Arduino pin11.
int brightness = 255; // текущее значение яркости
int fadeAmount = 5; // скорость затухания
// пины, на которых расположен светодиод
int leds[3] = {9, 10, 11};

// индексы пинов, с которыми мы работаем
// в текущий момент
int curPin[2] = {0, 1};
void setup()
{
for(int i = 0; i < 3; i++)
pinMode(leds[i], OUTPUT);
}
void loop()
{
// подаём на два разных пина значение равное
// brightness и 255-brightness
analogWrite(leds[curPin[0]], brightness);
analogWrite(leds[curPin[1]], 255 - brightness);
// уменьшаем значение brightness
// на скорость затухания
brightness = brightness - fadeAmount;
// когда значение brightness становится равным
// нулю, меняем номера пинов, с которыми мы
// работаем
if (brightness == 0) {
curPin[0] = (curPin[0] + 1) % 3;
curPin[1] = (curPin[1] + 1) % 3;
brightness = 255;
}
delay(30);
}
Напишите скетч:Схема (подключаем ножки светодиода к 9, 10 и 11 пинам):
398081562230
431038067945
Итак, плавно можно управлять не только светодиодами, но моторами, и другими компонентами.
Составлено учителем физики
Кравченко Лорой Викторовной,
МБОУ «ГЮЛ №86», город Ижевск
2015 год

Приложенные файлы

  • docx file11-12
    Размер файла: 213 kB Загрузок: 0

Добавить комментарий