Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| products:laboratory_iot:exp11 [2020/05/16 17:23] – создано labuser29 | products:laboratory_iot:exp11 [2024/11/12 20:37] (текущий) – [Программный код эксперимента] labuser30 | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| + | ===== Эксперимент 11. RGB светодиод ===== | ||
| + | |||
| + | Поэкспериментируем с полноцветным светодиодом. На самом деле это сразу три светодиода в | ||
| + | одном корпусе. Внутри находится красный, | ||
| + | |||
| + | ==== RGB светодиод ==== | ||
| + | |||
| + | {{ : | ||
| + | // | ||
| + | |||
| + | Как видно из схемы, аноды трех светодиодов соединены, | ||
| + | а катоды нет. Поэтому у полноцветного светодиода 4 | ||
| + | вывода — общий анод и три катода (бывают светодиоды, | ||
| + | которых, | ||
| + | |||
| + | ==== Формирование цвета ==== | ||
| + | |||
| + | Если внутри корпуса находятся красный, | ||
| + | светодиоды, | ||
| + | полноцветный светодиод может светиться практически | ||
| + | любым цветом. Все дело в восприятии цвета человеческим | ||
| + | глазом. Оказывается, | ||
| + | если одновременно горит красный и зеленый, | ||
| + | это как желтый, | ||
| + | |||
| + | {{ : | ||
| + | // | ||
| + | |||
| + | Именно так устроен монитор компьютера или дисплей | ||
| + | твоего смартфона. Каждая точка на экране (пиксель) это | ||
| + | на самом деле три точки (субпиксели) — красная, | ||
| + | зеленая. Каждая из них светится с разной интенсивностью, | ||
| + | так получаются миллионы цветов. Когда все три субпикселя | ||
| + | светятся на полную яркость, | ||
| + | все три погашены — мы видим черный. | ||
| + | |||
| + | Такая модель кодирования цвета называется аддитивная | ||
| + | цветовая модель RGB (аббревиатура от английского Red, | ||
| + | Green, Blue — Красный, | ||
| + | |||
| + | Кроме аддитивной существуют другие, | ||
| + | |||
| + | ==== Цоколевка ==== | ||
| + | Для того, чтобы не перепутать выводы RGB светодиода они выполнены с различной длиной. | ||
| + | {{ : | ||
| + | // | ||
| + | |||
| + | ==== Схема эксперимента ==== | ||
| + | |||
| + | {{ : | ||
| + | // | ||
| + | |||
| + | <WRAP center round alert 60%> | ||
| + | Токоограничительные резисторы в схеме обязательны! | ||
| + | </ | ||
| + | |||
| {{ : | {{ : | ||
| + | // | ||
| + | |||
| + | |||
| + | ==== Программный код эксперимента ==== | ||
| + | |||
| + | <file python Exp11.py[enable_line_numbers=" | ||
| + | from machine import Pin, PWM | ||
| + | _init() | ||
| + | |||
| + | LedPinB = 15 | ||
| + | LedPinG = 14 | ||
| + | LedPinR = 13 | ||
| + | |||
| + | ledB = Pin(LedPinB, | ||
| + | ledG = Pin(LedPinG, | ||
| + | ledR = Pin(LedPinR, | ||
| + | |||
| + | pwmB = PWM(ledB) | ||
| + | pwmG = PWM(ledG) | ||
| + | pwmR = PWM(ledR) | ||
| + | |||
| + | pwmB.freq(500) | ||
| + | pwmG.freq(500) | ||
| + | pwmR.freq(500) | ||
| + | |||
| + | pwmB.duty(500) | ||
| + | pwmG.duty(300) | ||
| + | pwmR.duty(700) | ||
| + | </ | ||
| + | |||
| + | В программе мы создали и настроили 3 объекта '' | ||
| + | |||
| + | ==== Дополнительные задания ==== | ||
| + | |||
| + | <WRAP center round tip 60%> | ||
| + | Подбери значения яркости трех цветов, | ||
| + | </ | ||