Промежуточные цвета
Часть раздела Выходные сигналы путешествия по Arduino на Coddy. Урок 9 из 24.
На выводах 11, 10 и 9 есть значок ~, поэтому яркость каждого цвета RGB-светодиода можно регулировать с помощью analogWrite(). Каждый канал принимает значения от 0 до 255, а смешивание трёх уровней позволяет получить гораздо больше восьми цветов:
- оранжевый: красный 255, зелёный 80, синий 0
- фиолетовый: красный 128, зелёный 0, синий 255
- мягкий белый: все три значения равны 60
Измени setColor(), чтобы использовать analogWrite(), и его параметры станут уровнями яркости:
void setColor(int red, int green, int blue) {
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}Именно поэтому выводы цветов подключены к выводам с символом ~: на другом выводе цвет можно было бы только включить или выключить.
Задание
ЛегкоИзмени setColor(), чтобы использовать analogWrite(), затем снова и снова показывай:
- оранжевый (255, 80, 0) в течение одной секунды
- фиолетовый (128, 0, 255) в течение одной секунды
Нажми Запустить, затем Проверить.
Попробуйте сами
const int redPin = 11;
const int greenPin = 10;
const int bluePin = 9;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void setColor(int red, int green, int blue) {
digitalWrite(redPin, red);
digitalWrite(greenPin, green);
digitalWrite(bluePin, blue);
}
void loop() {
// оранжевый (255, 80, 0) на одну секунду, затем фиолетовый (128, 0, 255) на одну секунду
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Выходные сигналы
Потренируйтесь самостоятельно: Песочница Arduino