такой?
Да только с валом на 2мм
наверняка врут, сильно много ног на микросхеме)))
Полностью решил проблему с модулем, вот код кому интересно:
#include <GyverPWM.h>
bool cooldown = 0; // ПИН 5 - подключён ESC
void setup() {
Serial.begin(9600);
pinMode(5, OUTPUT);
PWM_frequency(5, 400, FAST_PWM);
timer(100);
setMotorSpeed(5, 100); // устанавливаем максимальный газ и через 10 миллисекунд скидываем до 0
timer(10);
Serial.println("Init");
setMotorSpeed(5, 0);
while (millis() < 2000) {
Serial.println(millis());
}
}
void loop() {
Serial.println("set_power");
setMotorSpeed(5, 10); //Порог включения мотора 10%
timer(200);
}
void timer(int times) { // библеотека ломает стандартный delay(), импровезируем
int time_p = millis();
while ((millis() - time_p) < times) {
Serial.println("Cooldown");
}
}
void setMotorSpeed(int port, int speed) {
int dutyCycle = map(speed, 0, 100, 95, 245); // Преобразуем проценты
Serial.println(dutyCycle);
PWM_set(port, dutyCycle); // Записываем значение в PWM
}
В библеотеке PWM SetPinFrequensySafe - ломается при установке всех пинов кроме 3 и 9.
для ESC есть стандартная библиотека servo.h, калибруешь регулятор, у тебя этого в скетче нет и дальше вперёд и с песней
В какой
и как именно
В чём это проявляется?
Библеотека - PWM
Функция SetPinFrequensySafe возращает false, однако при использовании пинов 3 и 9 возвращается true и регулятор стабильно работает.
Где Вы её такую взяли? Ссылку можно, хоть посмотреть что за зверь такой?
не поленился, глянул что за зверь, Гайвер считает по другому:
void setup() {
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
// Данные функции убирают один ШИМ выход у 8-ми битных таймеров, оставляя нам ШИМ пины D3, D5, D9 и D10 на ATmega328
PWM_16KHZ_D3(30); // ШИМ 16 кГц на пине D3, заполнение 30 из 255
PWM_20KHZ_D5(50); // ШИМ 20 кГц на пине D5, заполнение 50 из 255. Сломает millis() и delay()!
PWM_16KHZ_D9(760); // ШИМ 16 кГц на пине D9, заполнение 760 из 1023
PWM_16KHZ_D10(800); // ШИМ 16 кГц на пине D10, заполнение 800 из 1023
// пины 9 и 10 работают на одной частоте, запустить на разных не получится
}
Нет, он говорит о какой-то другой “библеотеке”. В GyverPWM
нет функции SetPinFrequensySafe
, на которую он жалуется.
Ну, в таком случае, Ваше утверждение
есть брехня, ибо для пина 10 оно тоже отлично работает.
А вообще, то, что Вы библиотеку показали только к 33-му посту и то, после неоднократных просьб, говорит о том, что не очень-то Вам и нужно проблему решать, просто потрындеть зашли.
так и норовят опорочить святое - “Верьте мне люди”