Кнопка, переключатель и переменный резистор из ардуино.

Тема в разделе "Посоветуйте детальки", создана пользователем Иван Калета, 3 авг 2020.

  1. Всем доброго времени суток!

    У меня вопрос. Для дистанционного управления моим устройством мне нужны:

    1.Кнопка,

    2.Переключатель до 1Ампера ,

    3.Переменный резистор 10кОм.(3 ноги,не реостат ).

    С пульта всё это по блютусу идёт на Ардуино и оно выдаёт такие сигналы:

    1.Кнопка -5 вольт при нажатии при отпускании 0 вольт.

    2.Переключатель то же самое, только 5 вольт держится при нажатии вкл, а после нажатия выкл 0 вольт.

    3. Переменный резистор при повороте ручки на пульте, пропорционально регулируется напряжение на выходе Ардуино от 0 до 5Вольт.



    Как сделать из этих напряжений - Кнопку, Переключатели и Переменный резистор?

    Я думал оптопары какие нибудь или ещё что то. Может уже есть готовые детали или модули для этих целей?

    Заранее благодарю за ответы.
     
  2. parovoZZ

    parovoZZ Гуру

    Из напряжения, как из одного вида энергий, ничего сделать нельзя. Его можно только преобразовать или трансформировать.
    Кнопка делается на MOSFET
    Переключатель делается из двух MOSFET
    Переменный резистор делается на JFET c помощью ШИМ.
     
    Иван Калета нравится это.
  3. b707

    b707 Гуру

    ТС, для лучшего понимания - с помощью ШИМ получается только "подобие" переменного резистора. По уму для этого нужен ЦАП, которого на ардуине нет. Можно взять микросхему - электронный переменный резистор
     
    Иван Калета и issaom нравится это.
  4. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Можно сделать обратную связь - с выхода ШИМ-а через ФНЧ завести на вход АЦП. А в программе предусмотреть автонастройку. Процессор по блютусу получает нужное значение, и регулирует ШИМ, пока АЦП не покажет нужное. Естественно по уму требуются калибровочные коэффициенты, но ТС-у вряд ли нужна точность. Пишите и выкладывайте скетч, посмотрим.
    Естественно надо посылать в блютус сообщения - Кнопка нажата/отпущена, Тумблер поднят/ опущен, Потенциометр (типа угол поворота).
    Парсить сообщения с блютуса, и выполнять всего 2 команды -
    digitalWrite (pin, HIGH/LOW);
    или
    analogWrite(pin, LEVEL);
     
    Иван Калета нравится это.
  5. Спасибо большое за ответ,а какие MOSFET для включения 1А включения?
     
  6. Спасибо за ответ, а как называется эта микросхема, которая может имитировать переменным резистором?
     
  7. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Это называется ЦАП (DAC) - цифро-аналоговый преобразователь. Их - море и лужа. Ищите по "ЦАП" или "DAC". В основе лежит резисторная структура. Гуглите R2R Ladder (лестница).
     
    Иван Калета нравится это.
  8. issaom

    issaom Гуру

    Я бы вот так пояндексил
     
    Иван Калета нравится это.
  9. Спасибо большое!
     
  10. Спасибо большое!
     
  11. Спасибо большое за ответ,скетч писал не я,он уже в Ардуино был. Если не получится по вышеописанным советам,я тогда буду просить автора скетча дать мне код.
    Ещё раз спасибо за ответ!
     
  12. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Поскольку в Ардуине АЦП есть и довольно точный - не морочтесь с микрой ЦАП-а, а сделайте как я советовал. Используйте обратную связь, тк ШИМ без системы слежения - шибко нелинейная штука. С микрой ЦАП-а вам придется либо занять кучу пинов Ардуины, либо самому писАть протокол обмена с микрой.
     
  13. Спасибо за совет! Я это всё сам со скетчами не осилю.
    Кнопку и тумблер с помощью Мосфита вроде разобрался как сделать.
    А вот с потенциометром сейчас решаю. Думаю всё-таки поставить микросхемку X9C103S-цифровой потенциометр 10кОм,как считаете,будет нормально работать?
     
  14. parovoZZ

    parovoZZ Гуру

    с чего бы вдруг.
     
  15. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Поставьте себя на место процессора. Вам дали задание выставить напряжение. Вы не знаете поведение "ручки регулятора", но знаете что у нее 255 шагов (ШИМ). Что вы делаете ? - Естественно поворачиваете на шаг и смотрите. Потом еще поворачиваете и смотрите. Если перешагнули лишка - возвращаетесь на шаг назад и завершаете процедуру. Всё - готово. На этом можете либо "забить", либо периодически возвращаться и корректировать текущее значение. Элементарный метод/цикл последовательного приближения. Вы всю жизнь им пользуетесь по жизни. Выкладывайте свой код. Пусть самый дубовый.
    analogRead(), analogWrite (), if, else, then - найдете в справочнике ИДЕ.
    Насчет микры - не знаю. Дела не имел.
    ПС. Я человек испорченный Visual Basic-ом 6.
     
    Последнее редактирование: 4 авг 2020
    Иван Калета и Серый Волк нравится это.