2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Для тех, кто не привык к электронике, ШИМ означает регулировку мощности. И в этой сборке мы покажем, как использовать его для управления интенсивностью света светодиода, аналогично диммеру на лампе, с возможностью затемнения и повышения яркости.
Этот механизм также позволяет, например, подключить драйвер к двигателю. Это лишь одна из многих возможностей.
- Примечание: PWM означает широтно-импульсную модуляцию.
Шаг 1: цель
Сборка состоит из потенциометра, который представляет собой переменный резистор, контролируемый ESP. В этой схеме я использую тот же исходный код, что и с Arduino. Благодаря множеству преимуществ, мы используем Arduino IDE с ESP и в других проектах.
В сборке ESP подключается к USB только для питания. У нас также есть вывод курсора, который является выводом центрального потенциометра, подключенного к порту AD, а также положительный и отрицательный.
При изменении напряжения в AD можно прочитать другое значение. Следовательно, поворачивая потенциометр, можно увеличивать или уменьшать яркость светодиода.
Шаг 2: Сборка
Электрическая схема очень проста: используя ESP8266 в конфигурации NodeMCU, мы запитаем USB. Итак, здесь потенциометр должен быть подключен одним концом к минусу, а другим - к плюсу. Носитель, которым является курсор, остается включенным в ADC 0, потому что этот ESP имеет только порт, который считывает аналоговые значения.
Шаг 3: WiFi ESP8266 NodeMCU ESP-12E
Шаг 4: Исходный код
Настраивать
В функции настройки мы определяем поведение используемых выводов, в данном случае светодиода и ПОТЕНЦИОМЕТРА.
void setup () {Serial.begin (115200) // Инструкции по выбору параметров, используемых для использования, // можно использовать для других целей pinMode (A0, INPUT); // A0 является постоянным индикатором или индикатором пино, который используется для вывода изображения // Инструмент для использования в качестве средства связи, // может использоваться в качестве альтернативного режима вывода для HIGH или LOW pinMode (LED_BUILTIN, OUTPUT); // LED_BUILTIN - это постоянная индикация светодиода на ESP8266}
Петля
В этой функции логика состоит в том, чтобы считать значение POT и присвоить это значение (которое является интенсивностью яркости) светодиоду.
void loop () {// faz a leitura do pino A0 (no nosso caso, o Po Potenciômetro, retorna um valor entre 0 e 1023) int Potencia = analogRead (A0); Serial.println (потенция); // como o LED no ESP8266 trabalha de maneira contrária, ou seja, quanto maior o valor atribuído, menor atensidade. Faremos o cálculo para aumentarmos o brilho conforme girarmos o Potenciômetro em sentido horário. потенция = 1023 - потенция; // атрибут лида делает потенциометр для настройки усиления яркости светодиодов analogWrite (LED_BUILTIN, Potencia); }