Menu
CoddyTech

Промежуточные цвета

Часть раздела Выходные сигналы путешествия по 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);
}

Именно поэтому выводы цветов подключены к выводам с символом ~: на другом выводе цвет можно было бы только включить или выключить.

challenge icon

Задание

Легко

Измени 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) на одну секунду
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Выходные сигналы

Потренируйтесь самостоятельно: Песочница Arduino