ReefwingPWM
ШИМ на произвольных пинах через программные прерывания Timer1/Timer2, до 6 пинов одновременно на частотах до 100 Гц
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:0b62a14e2491aaa96199018029cbc331a14518d1b5a26ad0cfbaa4617b9cc33eReefwingPWM-1.0.2-0b62a14e.zipОписание
Если нужна ШИМ на произвольных пинах микроконтроллера, а не только на встроенных ШИМ-выводах, эта библиотека решает проблему программным способом. Работает через прерывания Timer1 или Timer2 (по умолчанию Timer2) и позволяет одновременно управлять до 6 пинами с частотой до 100 Гц. Протестирована только на Arduino Uno и Nano с ATMega328P. Внутри библиотека разгоняет таймер в 255 раз выше заданной частоты, чтобы обеспечить плавное переключение пинов в нужный момент цикла ШИМ. Менять скважность можно на лету, и новое значение вступит в силу со следующего цикла. Учти, что таймер — глобальный ресурс платы, поэтому все экземпляры класса работают от одного прерывания, и максимум пинов ограничен константой MAX_PWM_PIN.