Широтно-импульсно модулированные (ШИМ) сигналы на Arduino Nano
ШИМ используется для управления аналоговыми компонентами, такими как светодиоды, моторы и сервоприводы, с помощью цифрового сигнала. Arduino Nano имеет 6 ШИМ-контактов:
* D3 (ШИМ 3)
* D5 (ШИМ 5)
* D6 (ШИМ 6)
* D9 (ШИМ 9)
* D10 (ШИМ 10)
* D11 (ШИМ 11)
Генерация ШИМ-сигналов
ШИМ-сигналы генерируются библиотекой `analogWrite()`. Эта функция принимает два параметра:
* Номер ШИМ-контакта (0-5)
* Значение яркости (0-255)
Значение яркости определяет отношение периода ШИМ с высокой и низкой импульса. Например, значение 0 генерирует постоянный низкий сигнал, а значение 255 — постоянный высокий сигнал.
Пример
Следующий код управляет яркостью светодиода, подключенного к контакту D9:
«`cpp
void setup() {
// Установить контакт 9 выходом ШИМ
pinMode(9, OUTPUT);
}
void loop() {
// Установить яркость светодиода на 50%
analogWrite(9, 128);
}
«`
Регулирование частоты ШИМ
По умолчанию Arduino Nano генерирует ШИМ-сигналы с частотой 980 Гц. Вы можете изменить эту частоту с помощью функции `analogWriteFrequency()`.
«`cpp
// Установить частоту ШИМ на 1 кГц
analogWriteFrequency(9, 1000);
«`
Использование ШИМ для управления двигателями и сервоприводами
ШИМ также может использоваться для управления скоростью двигателей и углом сервоприводов.
* Двигатели: Подключайте двигатели к ШИМ-контактам и используйте функцию `analogWrite()` для регулирования их скорости.
* Сервоприводы: Подключайте сервоприводы к ШИМ-контактам и используйте библиотеку `Servo` для управления их углом.
Дополнительные ресурсы
* [ШИМ на Arduino](https://www.arduino.cc/en/Tutorial/BuiltInFunctions/AnalogWrite)
* [Регулирование частоты ШИМ на Arduino](https://www.arduino.cc/en/Tutorial/PWMFrequency)
* [Библиотека управления двигателем Arduino](https://www.arduino.cc/en/Reference/StepperMotorControl)
* [Библиотека управления сервоприводом Arduino](https://www.arduino.cc/en/Tutorial/LibraryReference/Servo)