Пины ардуино, взаимодействия между ними
- Войдите на сайт для отправки комментариев
Пт, 21/05/2021 - 12:02
Здравствуйте.
Основной вопрос такой, может ли каким-нибудь образом ардуино "понимать", что определенные пары пинов ну допустим 5-6, и 7-8, и 9-10 одновременно соединены между собой? и "понимать" какие именно? И если да то в какую сторону вообще думать? А если нет, то как можно это имитировать?
Это нужно например для такого задания:
Есть 5 разъемов с одной стороны и 5 с другой. И нужно наугад соединять эти разъемы проводами. И каждый раз порядок соединений разный. И тут все упирается в основной вопрос. Спасибо заранее
Тоже диплом завтра?
Не, квесты организую для детей, много простых заданий. Одно из них
Основной вопрос такой, может ли каким-нибудь образом ардуино "понимать", что определенные пары пинов ну допустим 5-6, и 7-8, и 9-10 одновременно соединены между собой?
мне кажется нет. Ардуина лишь может понять, когда пин замкнут на землю и когда на питание. а между собой - такого не знаю.
Смотри схему матричной клавиатуры.
А если соединять пины с ШИМ на выход и аналоговые пины?
Понял, но ведь есть библиотека Keypad.h которая позволяет работать с цифровой клавиатурой 3*4 или 4*4. И эта клавиатура подключается именно к пинам и при нажатии клавиши она считывается как замыкание между собой определенных пинов, один из которых отвечает за строки, другой за столбцы клавиш. То как это работает?
А если соединять пины с ШИМ на выход и аналоговые пины?
Тоже думал про это, но может есть более простое решение?
Смотри схему матричной клавиатуры.
Смотрел, но смысл в том что при нажатии клавиши, блокируется весь код как при delay. А мне нужно что бы можно было одновременно как бы "несколько клавиш нажимать".
На один из выводов подать ШИМ (заранее известный) другой читать методом pulseIn() по соответсвию коэф заполнения узнаем какой пин подключен-по моему самый простой метод
Смотри схему матричной клавиатуры.
Смотрел, но смысл в том что при нажатии клавиши, блокируется весь код как при delay
Нифига себе ты схему нашел, что аж код блокирует.
Надо только соединение между 5 и 6, 7 и 8, 9 и 10? Или в произвольном порядке, к примеру 5 и 7?
Смотри схему матричной клавиатуры.
Смотрел, но смысл в том что при нажатии клавиши, блокируется весь код как при delay
Нифига себе ты схему нашел, что аж код блокирует.
ну то есть, пока клавиша нажата и не отпущена, нельзя нажать другую клавишу. А у меня одновременно должно быть нажато до 5 клавиш.
На один из выводов подать ШИМ (заранее известный) другой читать методом pulseIn() по соответсвию коэф заполнения узнаем какой пин подключен-по моему самый простой метод
Так и буду делать наверно, спасибо
Надо только соединение между 5 и 6, 7 и 8, 9 и 10? Или в произвольном порядке, к примеру 5 и 7?
Не, "связи" генерируются случайно, но одна сторона всегда состоит из одних и тех же пинов. Например 2,3,4,5,6 и соединяются с 7,8,9,10,11 в случайном порядке.
ну то есть, пока клавиша нажата и не отпущена, нельзя нажать другую клавишу
????????????????? Абалденная схема! Мне бы в коллекцию её... ;))
В принципе динамический опрос выводов как бы тоже рабочий, но ннаверное более затратный в плане программрования и требуемых знаний
Надо только соединение между 5 и 6, 7 и 8, 9 и 10? Или в произвольном порядке, к примеру 5 и 7?
Не, "связи" генерируются случайно, но одна сторона всегда состоит из одних и тех же пинов. Например 2,3,4,5,6 и соединяются с 7,8,9,10,11 в случайном порядке.
В принципе динамический опрос выводов как бы тоже рабочий, но ннаверное более затратный в плане программрования и требуемых знаний
сложно)
ну то есть, пока клавиша нажата и не отпущена, нельзя нажать другую клавишу
????????????????? Абалденная схема! Мне бы в коллекцию её... ;))
Вроде как старые версии библиотеки
Надо только соединение между 5 и 6, 7 и 8, 9 и 10? Или в произвольном порядке, к примеру 5 и 7?
Не, "связи" генерируются случайно, но одна сторона всегда состоит из одних и тех же пинов. Например 2,3,4,5,6 и соединяются с 7,8,9,10,11 в случайном порядке.
Короткое описание алгоритма сканирования матричной клавиатуры ;)))
Я уже икаю под столом. Заканчивай клоунаду! Пощади!
Надо только соединение между 5 и 6, 7 и 8, 9 и 10? Или в произвольном порядке, к примеру 5 и 7?
Не, "связи" генерируются случайно, но одна сторона всегда состоит из одних и тех же пинов. Например 2,3,4,5,6 и соединяются с 7,8,9,10,11 в случайном порядке.
Если я правильно понял, то мне не совсем это нужно.
В начале задания будет генерироваться 5 случайных связей. И дети, методом перебора, должны будут соединить все провода правильно согласно сгенерированным случайно связям.
Я уже икаю под столом. Заканчивай клоунаду! Пощади!
Чувак, ты че рофлишь, я подключал клавиатуры давным давно и помню если зажать клавишу, другая не считывалась))
А если нажать 3 определенные кнопки, то компьютер перезагружался.
Ну да, это не сложно. А вот куча концов в разных комбинациях, с узлами в 2, 3 провода, некоторые могут вообще ни с чем не соединяться - это посложнее.
Это получение данных о соединениях пинов. В твоем случае, получив эти данные нужно сравнить с правильными если совпадают, то квест пройден. Если не совпадают, перейти обратно к получению данных.
Чувак, ты че рофлишь, я подключал клавиатуры давным давно и помню если зажать клавишу, другая не считывалась))
Ну и зачем было врать, что ты смотрел схему, если нифига ты не смотрел, и уж точно не напрягал мозги.
Здравствуйте.
Основной вопрос такой, может ли каким-нибудь образом ардуино "понимать", что определенные пары пинов ну допустим 5-6, и 7-8, и 9-10 одновременно соединены между собой? и "понимать" какие именно? И если да то в какую сторону вообще думать? А если нет, то как можно это имитировать?
Это нужно например для такого задания:
Есть 5 разъемов с одной стороны и 5 с другой. И нужно наугад соединять эти разъемы проводами. И каждый раз порядок соединений разный. И тут все упирается в основной вопрос. Спасибо заранее
Постановка задачи совершенно не следует из приведенного задания.
Постановка адекватная заданию намного проще: как определить, какие входы соединены с какими выходами?
Смотри схему матричной клавиатуры.
Смотрел, но смысл в том что при нажатии клавиши, блокируется весь код как при delay. А мне нужно что бы можно было одновременно как бы "несколько клавиш нажимать".
Я уже икаю под столом. Заканчивай клоунаду! Пощади!
Чувак, ты че рофлишь, я подключал клавиатуры давным давно и помню если зажать клавишу, другая не считывалась))
Не считывалась почему?
Из-за того, что первая клавиша заблокировала компьютер или из-за криво сделанных клавиатуры и программы ее опроса?
Надо только соединение между 5 и 6, 7 и 8, 9 и 10? Или в произвольном порядке, к примеру 5 и 7?
Не, "связи" генерируются случайно, но одна сторона всегда состоит из одних и тех же пинов. Например 2,3,4,5,6 и соединяются с 7,8,9,10,11 в случайном порядке.
в принципе в посте 17 уже ответили... Но мне не понятно, если назначены и неизменны "условно назовем" "входы" и "выходы" какие могут быть проблемы?! задача простейшая, быстренько перебрать все комбинации и не забыть про подтягивающие резисторы (чтобы ноги не "плавали"). В чем сложность?!