logo
+7 (951) 999-89-94
428003, г. Чебоксары, ул. Федора Гладкова, д.9, оф.319
06.05.2019

Многоцветный светильник

Многоцветный светильник

На прошлом эксперименте мы научились управлять цветом RGB светодиода с помощью потенциометров. Сейчас мы изучим новую функцию генерации случайных чисел random() и научимся автоматически задавать цвет светодиода.

Компоненты

  • Плата Arduino Uno
  • Макетная плата
  • USB кабель
  • RGB светодиод
  • Резистор 220 Ом (3 шт.)
  • Перемычки

Схема

Используем выводы D9, D10, D11 для управления светодиодом.

Принципиальная схема

Соединение компонентов

Скетч

Сейчас мы напишем генератор трех случайных чисел, которые будут преобразовываться в ШИМ сигнал на цифровых выходах.

int ledPinR = 11;
int ledPinG = 10;
int ledPinB = 9;
 
void setup() { 
  pinMode(ledPinR, OUTPUT); 
  pinMode(ledPinG, OUTPUT); 
  pinMode(ledPinB, OUTPUT); 
} 
 
void loop() { 
  rgbLedDisplay(random(256), random(256), random(256)); 
  delay(500); 
} 
 
void rgbLedDisplay(int red, int green, int blue) { 
  analogWrite(ledPinR, constrain(red, 0, 255)); 
  analogWrite(ledPinG, constrain(green, 0, 255)); 
  analogWrite(ledPinB, constrain(blue, 0, 255)); 
} 

random(min, max) — это функция генератора случайных чисел между границами min и max - 1. Также можно запись функцию в виде random(max), это равносильно генерации чисел между 0 и max - 1.

Скомпилируйте и загрузите скетч на плату, чтобы посмотреть результат.

 

Предыдущий урок | В начало | Следующий урок