Стенд цифровых и аналоговых датчиков
- Войдите на сайт для отправки комментариев
Здравствуйте уважаемые!
Подскажите пожалуйста, стоит задача подать 32 дискретныз и 32 аналоговых сигнала на два ардуино мега 2560,
пока едет вторая плата мега, пробую делать на одной (дискретных портов хватает, а аналогвых еще 16 буду брать со второй меги).
Схема такая: иметься 32 кнопки, первые контакты этих кнопок подключены к аналоговому и цифровому разъему на ардуино.
Вторые контакты кнопок подключены к переменным резисторам, чтобы не делать для каждого аналогово входа по резистору сделал группы по 8 контактов к резистору, т.е. одним резистором подаю сигнал на 8 аналоговых входов.
Кнопка сверху сделал для того чтобы переключаться между двумя режимами: при подаче на контакт резисторов 5V на сигнал актуален для аналоговых портов ардуино т.е. от 0 до 5V или (0-1023).
Когда подаю на контакт резисторов GND сигнал актуален для цифровых портов ардуино т.е. от 0 до 1.
По цифровым портам в терминале я хотел видеть единицы, поэтому сделал поддяжку к единице на цифровых портах, а когда туда приходит GND, сотвтетственно пришлось сделать инверсию.
Почему сделал так, оказалась я не зал что функция digitalWrite(pin, ???) может тянуть только к 5V (digitalWrite(pin, HIGH) к нулю как я хотел не тянет.
Проблема заключаеться в аналоговых портах, когда я кручу ручку потенциометра, изменяется не только его сигнал но и соседние, как исправить? Прошу прощения что вопрос сам по себе маленький, а написал я много, но сделал я для того чтобы было понятно Вам. Спасибо.
Может резисторов добавить?
И да забыл самое главное, скетч:
Если у вас один резистор задействован на 8 входов, откуда же там взяться разным значениям? По вашей схеме я вижу только 4 независимых сигнала, чтобы сделать из них 32 - нужно добавить еще три (2**3) независимых сдвигающих регистра.
По поводу кода - не надоело набивать одно и то же по 32 раза? Может стоит попробовать циклы?
Я имел в виду соседние изменяются, т.е. 1 резистор выкручен на мин, значит на выходе 5V, из 32 аналоговых портов на 1,5,9,13,17,21,25,29 портах значение 1023, а на портах между ними изменения происходят. как с эти бороться? по поводу кода переработаю.
А верна ли схема как Вы думаете?
Я имел в виду соседние изменяются, т.е. 1 резистор выкручен на мин, значит на выходе 5V, из 32 аналоговых портов на 1,5,9,13,17,21,25,29 портах значение 1023, а на портах между ними изменения происходят. как с эти бороться?
По той схеме, что нарисована - соседние подстроечники вроде не должны влиять друг на друга. Может, собрал неправильно? крайние и средние контакты резистора не перепутал7
Не не перепутал, проверил все на короткое а потом без ардуино подключил лишь землю и питание и проверял что выходит все норм, я думаю нужно после каждой кнопки ставить резистор 10к и тем самым ткнуть к земле.
я думаю нужно после каждой кнопки ставить резистор 10к и тем самым ткнуть к земле.
попробуй. но думаю что это ничего не изменит, кроме уровней сигналов