кнопоки на аналоговом входе
кнопоки на аналоговом входе
в связи с нехваткой входов потребовалось подключить несколько кнопок на один аналоговый вход. Необходимо отслеживание нажатие различных комбинаций 5 кнопок.
мозг вскипел не могу понять почему не получается запустить блок http://flprog.ru/load....-0-266. Использую немного другие номиналы сопротивлений но согласно рекомендациям блока 456, 808,1770,3480 и подтягивающий на 1160ом. не работает и все тут.
мозг вскипел не могу понять почему не получается запустить блок http://flprog.ru/load....-0-266. Использую немного другие номиналы сопротивлений но согласно рекомендациям блока 456, 808,1770,3480 и подтягивающий на 1160ом. не работает и все тут.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
кнопоки на аналоговом входе
Это как, по две...три...одновременно?vlad писал(а):Необходимо отслеживание нажатие различных комбинаций 5 кнопок.
Если так, ни чего не выйдет )
Резюки надо параллельно набирать.
Последний раз редактировалось rw6cm 07 июл 2017, 23:42, всего редактировалось 1 раз.
Win10-64, FLProg (portable)
кнопоки на аналоговом входе
Почему нет?Автор блока утверждает обратное. Судя по схеме подключения при разных комбинациях нажатия кнопок будет разное сопрртивление
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
кнопоки на аналоговом входе
Не знаю что за блок, (ссылка на главную страницу) но при последовательном соединении,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)
---------------------------------------------
Как не будет.будет. посмотрите схему. При любых комбинациях получаются разные сопротивления.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
кнопоки на аналоговом входе
Из вашей схемы не видно как именно подключены кнопки.
Предположил, как на шилде, если каждую кнопку ставить параллельно своему резюку, то это все меняет )
Без блока вход аналоговый смотрели, показания все разные?
если да, значит в блоке не правильно добавили 5й элемент.
алгоритм пересчета должен рассчитан на 5 резюков
Предположил, как на шилде, если каждую кнопку ставить параллельно своему резюку, то это все меняет )
Без блока вход аналоговый смотрели, показания все разные?
если да, значит в блоке не правильно добавили 5й элемент.
алгоритм пересчета должен рассчитан на 5 резюков
Win10-64, FLProg (portable)
кнопоки на аналоговом входе
переделанный мной на 5 кн блок не пошел и я пробовал блок автора на 4 кн. у меня он тоже с теми же симптомами не работает. чет ступил , про посмотреть аналоговый вход не догадался. в понедельник гляну все на работе осталось.
- Dryundel
- Полковник
- Сообщения: 2406
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Поблагодарили: 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 "
весь проект это данные с аналогового входа отправляются в уарт.
что за хрень?
- Dev1
- Майор
- Сообщения: 1045
- Зарегистрирован: 12 июл 2016, 18:04
- Откуда: Гондурас
- Поблагодарили: 3 раза
кнопоки на аналоговом входе
Вы случаем не в мегу это засовываете?
Win10-64 FLProg v8.2.3 Portable IDE 1.8.19, 2,x,x 

кнопоки на аналоговом входе
нет в нано.
Добавлено (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
- Полковник
- Сообщения: 2406
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Поблагодарили: 15 раз
кнопоки на аналоговом входе
vlad, Вы точно правильно схему собрали? Как у автора блока? Резисторы все последовательно, а каждая кнопка параллельно одному из резисторов?vlad писал(а):... так не должно же быть. если мы замыкаем все кнопки то показывает сумму всех сопротивлений а если нет то значение выдает отрицательное. не пойму откуда там минус берется?
При замыкании всех кнопок сопротивление должно быть 0 , а не сумма всех сопротивлений, а напряжение на входе 5V
Блок рабочий, я проверял. Единственное, компенсирующий резистор 10к поставил. С 1к2, как по умолчанию в настройках пользователя стоит, не пошел почему то.
кнопоки на аналоговом входе
схема вроде проще не куда.Dryundel писал(а):vlad, Вы точно правильно схему собрали? Как у автора блока? Резисторы все последовательно, а каждая кнопка параллельно одному из резисторов?При замыкании всех кнопок сопротивление должно быть 0 , а не сумма всех сопротивлений, а напряжение на входе 5V
но на выходе судя по схеме блока всетаки проиходит вычитание из суммы всех резисторов суммы замкнутых.
кнопоки на аналоговом входе
. заметил у себя такую вещь. при увеличении комп резистора на выходе блока расчета нажатых кнопок в случае когда они не замкнуты минусовое число увеличивается. а в случае когда все замкнуты показывает во всех случаях сумму замкнутых резисторов.
вы можете посмотреть что у вас там (см файл) в случае замкнутых кнопок и не замкнутых
вы можете посмотреть что у вас там (см файл) в случае замкнутых кнопок и не замкнутых
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
кнопоки на аналоговом входе
Все это фигня ))vlad писал(а):вы можете посмотреть что у вас там
Взял блок на 4 кн и прогнал по входу сигнал от 0 до 1024.
Результат
[spoiler=Спойлер][/spoiler]Сразу видно многие положения просто не реально поймать, (тем более если пленочная клава)
С 5 кн это будет выглядеть еще плачевней.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
кнопоки на аналоговом входе
rw6cm писал(а):Все это фигня ))
сегодня не было возможности все опять проверить, но вчера почемуто на выходе были отрицательные значения на выходе блока нажатия кнопок при нажатии трех и только при всех нажатых показывало правильную сумму всех сопротивлений.rw6cm писал(а):Сразу видно многие положения просто не реально поймать,
Есть выход?у меня конечно не пленочная клава. у меня 5 герконовых датчиков и один свободный выход.
- Dryundel
- Полковник
- Сообщения: 2406
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Поблагодарили: 15 раз
кнопоки на аналоговом входе
vlad, скажите у Вас номиналы реальных резисторов с установочными (в параметрах пользователя блока) совпадают?
А вообще с количеством кнопок более 4 и с такой логикой как в блоке, я бы наверное не стал заморачиваться.
Подумайте о варианте из 8 поста
А вообще с количеством кнопок более 4 и с такой логикой как в блоке, я бы наверное не стал заморачиваться.
Подумайте о варианте из 8 поста
кнопоки на аналоговом входе
номиналы я использовал другие но согласно указаниям автора блока 456, 808,1770,3480 и подтягивающий на 1160ом. у меня когда на пять кнопок не пошло я собрал в качестве эксперимента без изменений блока но с др. номиналами на 4 кнопки. проблемы остались теми же. пробовал менять поттягивающий резистор на больший -ни чего не поменялось кроме того что при не нажатых кнопках на выходе определения нажатых кнопок увеличилось отрицательное значение а должно быть ноль или около того. Ручками считаешь получаешь ноль , смотришь в компорт а там минус 6400. вот и не пойму что за хрень.Dryundel писал(а):vlad, скажите у Вас номиналы реальных резисторов с установочными (в параметрах пользователя блока) совпадают?
Ваша идея с полигоном имеет тот же смысл что и этот блок , только как то кучеряво и сложнее.
Можно его наверное его упростить использовать полигон как вы предлагаете а далее блок сравнения как у автора блока. Блин только у меня в моей голове не укладывается почему у меня не работает авторский блок.
- Dryundel
- Полковник
- Сообщения: 2406
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Поблагодарили: 15 раз
кнопоки на аналоговом входе
Не важно какие номиналы Вы использовали. Я спросил совпадают ли они с номиналами указанными в параметрах пользователя блока. Вы прописали Ваши реальные номиналы в параметрах или нет? Вот в чем был вопрос.
кнопоки на аналоговом входе
Да эти номиналы были прописанны в блоке. Но это пока неважно, потому как смотрю результат вычисления до сравнения.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя