Давайте сегодня займёмся светодиодом, но светодиодом не обычным, а светодиодов RGB, который имеет три цвета, красный, зеленый, синий и может делать комбинации этих цветов.
Вот как выглядит распиновка, надеюсь, вам видно. Самый длинный, или второй слева это минус, а первый контакт это красный, третий это зелёный и четвертый контакт отвечает за синий цвет.
В схеме подключения используются всего лишь три сопротивления на 220 ом, подключим RGB светодиод в 17, 18, 19, 20 разъемы на монтажной плате.
Синие провода подключены в 17,19,20 на плате, в Arduino они приходят в 10, 9, 8 пины, соответственно, это будет красный, зелёный, синий.
Управляющий или минусовой подключен в GND. С подключением, надеюсь, все понятно. Дальше напишем небольшой скетч и посмотрим, как будет себя вести светодиод.
Итак, приступим к написанию небольшого скетча, как всегда код будет состоять из констант, которые нужно определить для работы устройства.
const int redPin = 11; const int greenPin = 10; const int bluePin = 9;
Идет перечисления int переменных: объявим красный - это 11 пин, зелёный - 10 пин и синий - 9 пин.
В подпрограмме setup мы напишем pinMode redPin 11 разъем выходной OUTPUT, снова pinMode, не будем заморачиваться с циклами, а пропишем просто так вот ручками это выходные пины.
void setup()
{
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}Теперь займемся написанием чтобы в loop работало всё нормально, напишем подпрограммку, я скопирую ее заготовку, она типа void называется Color , в ней будут перечисляться числовые значения для обозначения цветов.
void color (unsigned char red, unsigned char green, unsigned char blue)
{
analogWrite(redPin, red);
analogWrite(bluePin, blue);
analogWrite(greenPin, green);
}Для управления цветом и яркостью подключенного светодиода используем функцию analogWrite, которая на пины будет подавать ШИМ волну, с частотой, передаваемой через переменные red, green, blue.
Теперь в loop напишем комментарий «базовый цвета» и далее передадим в функцию color через запятую обозначения RGB цветов.
void loop() {
//базовые цвета
color(255, 0, 0); //red
delay(1000);
color(0,255, 255); //green
delay(1000);
color(0, 0, 255); //blue
delay(1000);
.............................
.............................
Первый будет красный, сделаем задержку в одну секунду, затем зелёный, снова задержка и синий и снова задержка. Это основные три цвета, которые будут гореть, красный, зелёный, синий.
Смотрите так же видео Подключение RGB светодиода к Arduino - (видео), ссылка откроется в новой вкладке.
Теперь пойдут смешанные цвета, цвет Red, задержка, цвет Orange, опять сделаем задержку, цвет жёлтый, задержка, цвет зеленый, но он отличается от базового и будет светлее опять задержка, напишем ещё раз синий, это был базовый цвет, индиго какой-то типа синего, пурпурный это типа или красный или фиолетовый, задержка.
//смеш. цвета
color(255,0,0); //red
delay(1000);
color(237,109,0); //orange
delay(1000);
color(255,215,0); //yellow
delay(1000);
color(34,139,34); //green
delay(1000);
color(0,0,255); //blue
delay(1000);
color(0,46,90); //indigo
delay(1000);
color(128,0,128); //purple
delay(1000);
color(65, 128, 121);//test
delay(1000);
}
Давайте на этом пока остановимся, перед тем как загружать скетч, сохраним его на рабочий стол. Перед загрузкой давайте посмотрим, где взять комбинации цвета, откройте поиск Google, напишем RGB color, к примеру, и на сайте с RGB калькулятором можно будет подбирать различные значения.
Можно смешивая красный, зеленый, синий получить новый цвет. Давайте вот такой какой-нибудь такой возьмём цвет, посмотрим, что получится. Скопируем значение в скобках, напишем Color и вставим скопированное значение, в комментарии напишем test, опять сделаем задержку.
Теперь запустим проверку и загрузим скетч в Arduino. Прошу прощения точку с запятой пропустил. Снова загрузим и посмотрим что получится.
Цвет по-моему похож на красный, затем пошли смешанные цвета, так вот работает RGB светодиод.
Давайте выключим свет, получается освещение, прям новогоднее. Вот так вот он работает, вот так он программируется.
Полный текст скетча
const int redPin = 11;
const int greenPin = 10;
const int bluePin = 9;
void setup()
{
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop()
{
// Базовые цвета
color(255, 0, 0); //red
delay(1000);
color(0,255, 255); //green
delay(1000);
color(0, 0, 255); //blue
delay(1000);
// Эксперементальные цвета
color(255,0,0); //red
delay(1000);
color(237,109,0); //orange
delay(1000);
color(255,215,0); //yellow
delay(1000);
color(34,139,34); //green
delay(1000);
color(0,0,255); //blue
delay(1000);
color(0,46,90); //indigo
delay(1000);
color(128,0,128); //purple
delay(1000);
color(65, 128, 121);//test
delay(1000);
}
void color (unsigned char red, unsigned char green, unsigned char blue)
{
analogWrite(redPin, red);
analogWrite(bluePin, blue);
analogWrite(greenPin, green);
}
Подключение RGB светодиода к Arduino
Рекомендуем смотреть видео в полноэкранном режиме, в настойках качества выбирайте 1080 HD, не забывайте подписываться на канал в YouTube, там Вы найдете много интересного видео, которое выходит достаточно часто. Приятного просмотра!
С уважением, авторы сайта Компьютерапия
Понравилось? Поделись этим видео с друзьями!
Подключение RGB светодиода к Arduino
Рекомендуем смотреть видео в полноэкранном режиме, в настойках качества выбирайте 1080 HD, не забывайте подписываться на видео ВКонтакте, там Вы найдете много интересного, которое выходит достаточно часто. Приятного просмотра!
С уважением, авторы сайта Компьютерапия
Понравилось? Поделись этим видео с друзьями!
Подключение RGB светодиода к Arduino
Рекомендуем смотреть видео в полноэкранном режиме, в настойках качества выбирайте 1080 HD, не забывайте подписываться на канал в Рутубе, там Вы найдете много интересного, которое выходит достаточно часто. Приятного просмотра!
С уважением, авторы сайта Компьютерапия
Понравилось? Поделись этим видео с друзьями!