Кнопки + и - на шим

alexlvk
Offline
Зарегистрирован: 12.01.2018

Здравствуйте, подскажите пожалуйста, как реализовать функцию регулирования частоты шим. Видел много примеров с потенциометром, но не смог реализовать тоже самое банально на двух кнопках.
Если конкретно, есть мосфет который работает с высокими токами, которые нужно регулировать.
Мосфет подключил, нажатием кнопки 1 он срабатывает. Шим выставлен вручную в скетче.
Хотелось бы кнопками 2 (+) и 3 (-) регулировать его частоту. Подскажите, куда копать..

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

alexlvk пишет:
Подскажите, куда копать..

Объявить переменную (например value), в которой хранить значение ШИМ. В функцию analogWrite() в качестве параметра передавать не число, а имя этой переменной: analogWrite(Pin, value). Значение этой переменной менять кнопками.

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014

В ШИМ регулируется не частота, а коэфицент заполнения. Частота у ШИМ постоянна. А в остальном Вам правильно написали.

alexlvk
Offline
Зарегистрирован: 12.01.2018

Jeka_M пишет:

Значение этой переменной менять кнопками.

С переменными более менее понятно. А вот с её настройкой не очень. Я понимаю, что логика должна быть примерно такая: если кнопка "+" HIGH, то переменная шим + 25 единиц (шаг прибавления). С минусом аналогично на -25.

Вот мне бы наводку, как это правильно написать)

sadman41
Offline
Зарегистрирован: 19.10.2016

Наводка:

if (HIGH == knopka_plus) {
   shim +=25;
}

if (HIGH == knopka_minus) {
   shim -=25;
}

 

alexlvk
Offline
Зарегистрирован: 12.01.2018

sadman41 Благодарю, сейчас буду пробовать

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014

прочитайте это еще http://developer.alexanderklimov.ru/arduino/button.php