Есть у меня данный пульт управления с приемником на 8 каналов.
На каждый канал есть три пина - плюс, минус и управляющий. Если я все правильно понимаю, с управляющего пина выходят импульсы от 500 до 2500 мс для управления сервоприводом (500 мс - 0 градусов, 2500 мс - 180 градусов). Мне нужно одним из каналов управлять простым коллекторным мотором
Насколько я знаю в Ардуино есть ШИМ контроллер, но не знаю сможет ли цифровой вход распознать длину импульсов, а не только 0 и 1? Если может, то какую функцию нужно использовать?
Заранее спасибо.
Вы думаете реинженеринг стоит копейки? Так вот он будет стоить дороже в несколько раз, нежели создать что то заново
digitalRead, может быть? Ты бы хоть какое-то введение в язык прочитал, иначе далеко не уедешь.
С PLC програмированием знаком немного. Знаю что PLC программа сканируется примерно раз в 5 мс, так что импульс в 500 мс поймать в принципе можно. Я не знаю как Ардуино код считывает. Мне просто интересно может ли железо отличить разные по длине импульсы, что бы знать стоит ли покупать.
Спасибо за понимание.
Я не знаю сколько это стоит, мне просто интересно возможно ли это. А там уже буду смотреть.
Это легко сделать на любом контроллере. Даже на маленькой тини. Подаём с выхода приёмника на вход МК. С помощью pulseIn читаем длительность. С помощью map 500-2500 превращаем в 0-255 или лучше 80-255, т.к. коллекторный двигатель от нуля стартовать не умеет. И analogWrite отправляем на выход. А там через мосфет на двигатель. Программа ровно 3 строки.
вот тут я три канала читаю, правда от несколько иной аппаратуры, но не суть, рабочие скетчи тут