Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| products:laboratory_iot_с:exp12 [2024/11/12 20:39] – создано labuser30 | products:laboratory_iot_с:exp12 [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1 | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ===== Эксперимент 12. Функция управления яркостью ===== | ||
| - | Что ж, мы разобрались с принципом получения цвета, научились подключать RGB светодиод и даже успели поэкспериментировать с получением нужного цвета. Попробуем управлять цветом по определенному закону, | ||
| - | |||
| - | ==== Схема эксперимента ==== | ||
| - | Оставим собранной без изменений схему из прошлого эксперимента | ||
| - | |||
| - | {{ : | ||
| - | // | ||
| - | |||
| - | <WRAP center round alert 60%> | ||
| - | Токоограничительные резисторы в схеме обязательны! | ||
| - | </ | ||
| - | |||
| - | {{ : | ||
| - | // | ||
| - | |||
| - | ==== Программный код эксперимента ==== | ||
| - | |||
| - | <file python Exp11.py[enable_line_numbers=" | ||
| - | from machine import Pin, PWM | ||
| - | import math | ||
| - | import time | ||
| - | _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) | ||
| - | |||
| - | while True: | ||
| - | for i in range(100): | ||
| - | pwmB.duty(int(math.sin(i / 50 * math.pi) * 500 + 500)) | ||
| - | time.sleep_ms(30) | ||
| - | </ | ||
| - | |||
| - | В этой программе мы разбили период синуса на 100 шагов и устанавливаем яркость синего цвета на каждом шаге в соответствии с формулой. После чего даем возможность светодиоду светить 30 миллисекунд с установленной яркостью прежде, | ||
| - | |||
| - | ==== Дополнительные задания ==== | ||
| - | |||
| - | <WRAP center round tip 60%> | ||
| - | Попробуй ускорить или замедлить процесс изменения цвета с помощью изменения количества шагов и/или времени задержки на каждом шаге | ||
| - | </ | ||