кнопоки на аналоговом входе
кнопоки на аналоговом входе
в связи с нехваткой входов потребовалось подключить несколько кнопок на один аналоговый вход. Необходимо отслеживание нажатие различных комбинаций 5 кнопок.
мозг вскипел не могу понять почему не получается запустить блок http://flprog.ru/load....-0-266. Использую немного другие номиналы сопротивлений но согласно рекомендациям блока 456, 808,1770,3480 и подтягивающий на 1160ом. не работает и все тут.
мозг вскипел не могу понять почему не получается запустить блок http://flprog.ru/load....-0-266. Использую немного другие номиналы сопротивлений но согласно рекомендациям блока 456, 808,1770,3480 и подтягивающий на 1160ом. не работает и все тут.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
кнопоки на аналоговом входе
Это как, по две...три...одновременно?vlad писал(а):Необходимо отслеживание нажатие различных комбинаций 5 кнопок.
Если так, ни чего не выйдет )
Резюки надо параллельно набирать.
Последний раз редактировалось rw6cm 07 июл 2017, 23:42, всего редактировалось 1 раз.
Win10-64, FLProg (portable)
кнопоки на аналоговом входе
Почему нет?Автор блока утверждает обратное. Судя по схеме подключения при разных комбинациях нажатия кнопок будет разное сопрртивление
кнопоки на аналоговом входе
Не знаю что за блок, (ссылка на главную страницу) но при последовательном соединении,vlad писал(а):Почему нет?Автор блока утверждает обратное.
будет кнопка с наименьшим сопротивлением, все что между, реагировать не будет, т.к просто закорочено этой кнопкой.
Последний раз редактировалось rw6cm 07 июл 2017, 23:57, всего редактировалось 1 раз.
Win10-64, FLProg (portable)
кнопоки на аналоговом входе
http://flprog.ru/load....1-0-266
Правильная ссылка.
Добавлено (08.07.2017, 00:09)
---------------------------------------------
Как не будет.будет. посмотрите схему. При любых комбинациях получаются разные сопротивления.
Правильная ссылка.
Добавлено (08.07.2017, 00:09)
---------------------------------------------
Как не будет.будет. посмотрите схему. При любых комбинациях получаются разные сопротивления.
кнопоки на аналоговом входе
Из вашей схемы не видно как именно подключены кнопки.
Предположил, как на шилде, если каждую кнопку ставить параллельно своему резюку, то это все меняет )
Без блока вход аналоговый смотрели, показания все разные?
если да, значит в блоке не правильно добавили 5й элемент.
алгоритм пересчета должен рассчитан на 5 резюков
Предположил, как на шилде, если каждую кнопку ставить параллельно своему резюку, то это все меняет )
Без блока вход аналоговый смотрели, показания все разные?
если да, значит в блоке не правильно добавили 5й элемент.
алгоритм пересчета должен рассчитан на 5 резюков
Win10-64, FLProg (portable)
кнопоки на аналоговом входе
переделанный мной на 5 кн блок не пошел и я пробовал блок автора на 4 кн. у меня он тоже с теми же симптомами не работает. чет ступил , про посмотреть аналоговый вход не догадался. в понедельник гляну все на работе осталось.
- Dryundel
- Полковник
- Сообщения: 2392
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Контактная информация:
кнопоки на аналоговом входе
vlad, есть идея по реализации вашей задумки.
Блок о котором вы говорите совсем не плохая штука. Его автор дает четкие рекомендации - номинал каждого последующего резистора должен быть больше суммы всех предыдущих. Я бы добавил - в 2 раза больше. Соответственно повторяющихся комбинаций не будет. Количество комбинаций при 4 кнопках 16, при пяти 32 ну и т.д.
Идея состоит в следующем: Ставим на вход блок не линейного масштабирования, в нем прописываем значения при различных сочетаниях нажатий, которые определяем опытным путем. Далее ставим демультиплексор с 16+1 выходами (для 4 кнопок), после чего собираем сигналы с выходов демультиплексора на соответствующие выходы. Плюс получаем еще один выход "отсутствие нажатий"
Схема получается очень проста и понимаема.
Примерно так:
(Сбор сигналов сделан с потолка, не руководствоваться! )
Можно пойти и дальше. Заменив константы в блоке масштабирования на входы добавить расчеты значений исходя из номиналов сопротивлений, однако это чревато ошибками из-за погрешностей номиналов, особенно при большом количестве кнопок.
Появляется еще вариант сделать обучаемые кнопки, добавив соответствующие блоки и записывая значения в EEPROM к примеру.
И еще ода мысль. Для защиты от ложных кратковременных срабатываний, я бы поставил на выходы блоки антидребезга.
Вот так:
Блок о котором вы говорите совсем не плохая штука. Его автор дает четкие рекомендации - номинал каждого последующего резистора должен быть больше суммы всех предыдущих. Я бы добавил - в 2 раза больше. Соответственно повторяющихся комбинаций не будет. Количество комбинаций при 4 кнопках 16, при пяти 32 ну и т.д.
Идея состоит в следующем: Ставим на вход блок не линейного масштабирования, в нем прописываем значения при различных сочетаниях нажатий, которые определяем опытным путем. Далее ставим демультиплексор с 16+1 выходами (для 4 кнопок), после чего собираем сигналы с выходов демультиплексора на соответствующие выходы. Плюс получаем еще один выход "отсутствие нажатий"
Схема получается очень проста и понимаема.
Примерно так:
(Сбор сигналов сделан с потолка, не руководствоваться! )
Можно пойти и дальше. Заменив константы в блоке масштабирования на входы добавить расчеты значений исходя из номиналов сопротивлений, однако это чревато ошибками из-за погрешностей номиналов, особенно при большом количестве кнопок.
Появляется еще вариант сделать обучаемые кнопки, добавив соответствующие блоки и записывая значения в EEPROM к примеру.
И еще ода мысль. Для защиты от ложных кратковременных срабатываний, я бы поставил на выходы блоки антидребезга.
Вот так:
Последний раз редактировалось Dryundel 08 июл 2017, 18:44, всего редактировалось 1 раз.
кнопоки на аналоговом входе
Только добрался до проекта и чет не получается отправить данные в уарт при компиляции ругается
" Arduino: 1.8.1 (Windows 8.1), Плата:"Arduino Nano, ATmega328"
C:\Users\Евросеть\AppData\Local\Temp\flprog\pr1\pr1.ino: In function 'void setup()':
pr1:4: error: 'Serial1' was not declared in this scope
C:\Users\Евросеть\AppData\Local\Temp\flprog\pr1\pr1.ino: In function 'void loop()':
pr1:13: error: 'Serial1' was not declared in this scope
exit status 1
'Serial1' was not declared in this scope "
весь проект это данные с аналогового входа отправляются в уарт.
что за хрень?
" Arduino: 1.8.1 (Windows 8.1), Плата:"Arduino Nano, ATmega328"
C:\Users\Евросеть\AppData\Local\Temp\flprog\pr1\pr1.ino: In function 'void setup()':
pr1:4: error: 'Serial1' was not declared in this scope
C:\Users\Евросеть\AppData\Local\Temp\flprog\pr1\pr1.ino: In function 'void loop()':
pr1:13: error: 'Serial1' was not declared in this scope
exit status 1
'Serial1' was not declared in this scope "
весь проект это данные с аналогового входа отправляются в уарт.
что за хрень?
кнопоки на аналоговом входе
нет в нано.
Добавлено (12.07.2017, 22:09)
---------------------------------------------
и помоему раньше можно было а сейчас флпрог не дает выбрать отправку в уарт чз компорт если он используется модбас.
Добавлено (12.07.2017, 23:37)
---------------------------------------------
не знаю толком что было но после перегруза компа все стало ок. во всяком случае программа загрузилась в нано.
правда если в программе есть модбас то на него все равно нельзя повесить уарт.
так наверное все таки недолжно быть?
приходится отключать модбас и все что с ним связанно и только тогда появляется возможность подключения уарта.
в результате у меня почемуто не работает блок http://flprog.ru/load....1-0-266
на входе блока все ок ( от всех кнопок разные значения) а вот на выходе полная билибирда. чет склоняюсь что данный блок не рабочий ,
будем разбираться..
Может кто сможет его тоже проверить? и относительно подключения на один и тот же ком порт уарта и модбас?
Добавлено (13.07.2017, 23:51)
---------------------------------------------
не могу понять, где у меня или где косяк. вроде все таки блок должен быть рабочим. судя по формуле делителя . но чет не пойму : смотрю в уарте на данные которые идут после вычисления сопротивления нажатых кнопок , значения там от минуса до плюса изменяются. так не должно же быть. если мы замыкаем все кнопки то показывает сумму всех сопротивлений а если нет то значение выдает отрицательное. не пойму откуда там минус берется?
Добавлено (12.07.2017, 22:09)
---------------------------------------------
и помоему раньше можно было а сейчас флпрог не дает выбрать отправку в уарт чз компорт если он используется модбас.
Добавлено (12.07.2017, 23:37)
---------------------------------------------
не знаю толком что было но после перегруза компа все стало ок. во всяком случае программа загрузилась в нано.
правда если в программе есть модбас то на него все равно нельзя повесить уарт.
так наверное все таки недолжно быть?
приходится отключать модбас и все что с ним связанно и только тогда появляется возможность подключения уарта.
в результате у меня почемуто не работает блок http://flprog.ru/load....1-0-266
на входе блока все ок ( от всех кнопок разные значения) а вот на выходе полная билибирда. чет склоняюсь что данный блок не рабочий ,
будем разбираться..
Может кто сможет его тоже проверить? и относительно подключения на один и тот же ком порт уарта и модбас?
Добавлено (13.07.2017, 23:51)
---------------------------------------------
не могу понять, где у меня или где косяк. вроде все таки блок должен быть рабочим. судя по формуле делителя . но чет не пойму : смотрю в уарте на данные которые идут после вычисления сопротивления нажатых кнопок , значения там от минуса до плюса изменяются. так не должно же быть. если мы замыкаем все кнопки то показывает сумму всех сопротивлений а если нет то значение выдает отрицательное. не пойму откуда там минус берется?
- Dryundel
- Полковник
- Сообщения: 2392
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Контактная информация:
кнопоки на аналоговом входе
vlad, Вы точно правильно схему собрали? Как у автора блока? Резисторы все последовательно, а каждая кнопка параллельно одному из резисторов?vlad писал(а):... так не должно же быть. если мы замыкаем все кнопки то показывает сумму всех сопротивлений а если нет то значение выдает отрицательное. не пойму откуда там минус берется?
При замыкании всех кнопок сопротивление должно быть 0 , а не сумма всех сопротивлений, а напряжение на входе 5V
Блок рабочий, я проверял. Единственное, компенсирующий резистор 10к поставил. С 1к2, как по умолчанию в настройках пользователя стоит, не пошел почему то.
кнопоки на аналоговом входе
схема вроде проще не куда.Dryundel писал(а):vlad, Вы точно правильно схему собрали? Как у автора блока? Резисторы все последовательно, а каждая кнопка параллельно одному из резисторов?При замыкании всех кнопок сопротивление должно быть 0 , а не сумма всех сопротивлений, а напряжение на входе 5V
но на выходе судя по схеме блока всетаки проиходит вычитание из суммы всех резисторов суммы замкнутых.
кнопоки на аналоговом входе
. заметил у себя такую вещь. при увеличении комп резистора на выходе блока расчета нажатых кнопок в случае когда они не замкнуты минусовое число увеличивается. а в случае когда все замкнуты показывает во всех случаях сумму замкнутых резисторов.
вы можете посмотреть что у вас там (см файл) в случае замкнутых кнопок и не замкнутых
вы можете посмотреть что у вас там (см файл) в случае замкнутых кнопок и не замкнутых
У вас нет необходимых прав для просмотра вложений в этом сообщении.
кнопоки на аналоговом входе
Все это фигня ))vlad писал(а):вы можете посмотреть что у вас там
Взял блок на 4 кн и прогнал по входу сигнал от 0 до 1024.
Результат
СпойлерSPOILER_SHOW
С 5 кн это будет выглядеть еще плачевней.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
кнопоки на аналоговом входе
rw6cm писал(а):Все это фигня ))
сегодня не было возможности все опять проверить, но вчера почемуто на выходе были отрицательные значения на выходе блока нажатия кнопок при нажатии трех и только при всех нажатых показывало правильную сумму всех сопротивлений.rw6cm писал(а):Сразу видно многие положения просто не реально поймать,
Есть выход?у меня конечно не пленочная клава. у меня 5 герконовых датчиков и один свободный выход.
- Dryundel
- Полковник
- Сообщения: 2392
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Контактная информация:
кнопоки на аналоговом входе
vlad, скажите у Вас номиналы реальных резисторов с установочными (в параметрах пользователя блока) совпадают?
А вообще с количеством кнопок более 4 и с такой логикой как в блоке, я бы наверное не стал заморачиваться.
Подумайте о варианте из 8 поста
А вообще с количеством кнопок более 4 и с такой логикой как в блоке, я бы наверное не стал заморачиваться.
Подумайте о варианте из 8 поста
кнопоки на аналоговом входе
номиналы я использовал другие но согласно указаниям автора блока 456, 808,1770,3480 и подтягивающий на 1160ом. у меня когда на пять кнопок не пошло я собрал в качестве эксперимента без изменений блока но с др. номиналами на 4 кнопки. проблемы остались теми же. пробовал менять поттягивающий резистор на больший -ни чего не поменялось кроме того что при не нажатых кнопках на выходе определения нажатых кнопок увеличилось отрицательное значение а должно быть ноль или около того. Ручками считаешь получаешь ноль , смотришь в компорт а там минус 6400. вот и не пойму что за хрень.Dryundel писал(а):vlad, скажите у Вас номиналы реальных резисторов с установочными (в параметрах пользователя блока) совпадают?
Ваша идея с полигоном имеет тот же смысл что и этот блок , только как то кучеряво и сложнее.
Можно его наверное его упростить использовать полигон как вы предлагаете а далее блок сравнения как у автора блока. Блин только у меня в моей голове не укладывается почему у меня не работает авторский блок.
- Dryundel
- Полковник
- Сообщения: 2392
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Контактная информация:
кнопоки на аналоговом входе
Не важно какие номиналы Вы использовали. Я спросил совпадают ли они с номиналами указанными в параметрах пользователя блока. Вы прописали Ваши реальные номиналы в параметрах или нет? Вот в чем был вопрос.
кнопоки на аналоговом входе
Да эти номиналы были прописанны в блоке. Но это пока неважно, потому как смотрю результат вычисления до сравнения.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость