Клавиатура с подключением к аналоговому входу.
- Войдите на сайт для отправки комментариев
Вс, 11/03/2018 - 17:34
Хочу к УНО подключить кнопки по такой схеме. Диоды германиевые. Чем ограничивается число кнопок? Сколько их по максимуму можно присоединить?
По такой схеме лучше вообще не подключать.
А по какой лучше?
Ну, посмотрите в теме про работу с кнопками или вот эту тему. Последняя приятна тем, что распознаём любые комбинации совместно нажатых кнопок, а во второй серии (про грабли) разобраны грабли и приведено работающее решение. Работает уже полгода на морозе и отлично себя чувствует.
Даже если использовать Вашу схему (если Вы готовы забыть об одновременно нажатых кнопках), ну, не с такими же номиналами! Просто посчитайте по закону Ома какой диапазон из 0-5V Вы при такой схеме будете использовать!
Посмотрел, не всё с ходу ясно. Мне наоборот желательно что бы при одновременном нажатии кнопок это определялось как "ошибка" или почти не влияло на величину напряжения на А0. Поэтому подумалось о развязывающих диодах. Номинал резисторов одинаков может быть и больше - 3к, например. Шаг изменения напряжения одинаковый.
Шаг изменения напряжения одинаковый.
Точно? А зкон Ома что говорит? Нет, я, конечно, понимаю, что закон Ома на данном форуме запрещён, но не до такой же степени. Вот, что получается по Вашей схеме
Если же Вам важно считать одновременное нажатие ошибкой, то Вам тем более его нужно уметь распознавать. А в данной схеме, Вы многие одновременные нажатия воспримите как одиночные, но на другую кнопку.
Пардон, шаг изменения напряжения, почти одинаковый.
Что касается распознаваемости по нажатию более одной кнопки - снимал напряжение с десятого резистора на ещё один вход А1. При закорачивании другого резистора или группы напряжение на десятом резко возрастало, что отслеживал вход А1 и запрещал дальнейшую работу клавиатуры. Диодов там не было. Теперь с диодами хочется попробовать без дополнительного А1.
Ну, успехов!
Ну, успехов!
leks, в Вашем случае обычно используют не диоды, а генератор тока, например, такой:
или такой:
Хотя, на 5 Вольтах это не очень хорошее решение.
Но с диодами все равно хуже.
Ну и наводящий вопрос:
Вы в курсе, что у Вас аппаратная клавиатура (как я ее увидел) не соответствует массиву частот нот?
На клавиатуре: до, до#, ре, ре#, ми, фа, фа#, соль, соль#, ля, ля#, си, до, ре, ми.
В скетче: ?, до, ре, ми, фа, соль, ля, си, до, ре, ми, фа, соль, ля, ля#, си.
Да, я в курсе, просто запутали родственники-выпускники муз.школы. Нада не менее 2 октав и к нотам ещё "полуноты" всего 24 кнопки. Не потянут диоды столько на 5 Вольтах. Надо дальше думать.
25. Без верхней "до" будет явно неудобно.
Ну, генератор тока как раз обеспечивает требуемую точность. Притом, обеспечивает даже в более сложном случае - когда напряжение используется без округления до целых полутонов. В аналоговых синтезаторах именно так и делали.
25 кнопок для клавиатуры на один вход аналоговый, даже если отказаться от диодов и вернуться к первому варианту с использованием второго входа, отслеживающего корочение резисторов в цепочке - будет многовато, мне кажется. Как использовать "генератор тока во благо Ардуины" пока не пойму.
Ну, не знаю.
В аналоговых синтезаторах управляющее напряжение задавалось именно на цепочке резисторов через генератор тока.
Масштаб - 1 В на октаву. Максимальная допустимая погрешность 0.2%. Т.е. 2 мВ. Ардуина, конечно, обладает гораздо более низкой чувствительностью, но сам факт - что цепочка резисторов с генератором тока способна обеспечить такую точность - налицо.
Правда, там питание 12-15 В.
А по поводу "как использовать" - нужно подключать цепочку резисторов туда, где на первой схеме написано "нагрузка", а на второй - разрыв цепи со стрелками.
Номиналы, естественно, пересчитать. Для первой схемы и указанных в исходном сообщении темы номиналов резисторов цепочки это будет R1 - 20-100к и R2 - 3.9-6.2к. Но лучше бы уменьшить номиналы резисторов цепочки хотя бы раз в 10.
Ну, не знаю.
В аналоговых синтезаторах управляющее напряжение задавалось именно на цепочке резисторов через генератор тока.
Масштаб - 1 В на октаву. Максимальная допустимая погрешность 0.2%. Т.е. 2 мВ. Ардуина, конечно, обладает гораздо более низкой чувствительностью, но сам факт - что цепочка резисторов с генератором тока способна обеспечить такую точность - налицо.
Правда, там питание 12-15 В.
А по поводу "как использовать" - нужно подключать цепочку резисторов туда, где на первой схеме написано "нагрузка", а на второй - разрыв цепи со стрелками.
Номиналы, естественно, пересчитать. Для первой схемы и указанных в исходном сообщении темы номиналов резисторов цепочки это будет R1 - 20-100к и R2 - 3.9-6.2к. Но лучше бы уменьшить номиналы резисторов цепочки хотя бы раз в 10.
Стабильный шаг изменения напряжения - было бы здорово. Но в генераторе тока будет оно теряться на резисторе-датчике и на переходе транзистора, останется, наверное, меньше 4 Вольт. Надо пробовать, как отслеживать нажатие 2 и более кнопок пока тоже не ясно.
Ну, неграмотно сказал, - игнорирование программой нажатия двух и более кнопок, либо реакция как на одну определённую.
В мелодических музыкальных интрументах принято, что звучит нота, соответствующая верхней (правой) из нажатых клавиш.
Соответственно, подключатбся нужно самая правая клавиша - к самому нижнему резистору. Остальное обеспечит генератор тока.
В мелодических музыкальных интрументах принято, что звучит нота, соответствующая верхней (правой) из нажатых клавиш.
Соответственно, подключатбся нужно самая правая клавиша - к самому нижнему резистору. Остальное обеспечит генератор тока.
Медленно дошёл смысл написанного, захотелось проверить. Не нашёл ни одной схемы такой клавиатуры приминительно к Ардуино или к синтезаторам (не те слова, видимо набираю в поисковике).
Попробую германиевые транзисторы , на ток стабилизации, наверно 1-5 мА.
Эти схемы публиковались в журнале Радио в конце 70-х - начале 80-х. Т.е. в "доинтернетную" эпоху.
Хотя...
Вот прямо сейчас поиском наткнулся на первую попавшуюся схему: http://www.modularsynth.ru/wp-content/uploads/2013/06/ritm_2_schematics_hires.png
Здесь на DA11 собран генератор тока через резисторы клавиатуры R58-R195. С резисторов снимается напряжение и через регулятор портаменто R114-C22 направляется на повторитель DA15. Это - управляюще напряжение для генератора тона.
Такой вариант вырисовывается, номинал 25 резистора будет, наверное, побольше. Главенство у кнопки с меньшим номером. Ток около 1 мА.
Скорее, наоборот, - для германиевых транзисторов R25 должен быть поменьше раза в полтора-два. Очень давно с ними не работал.
Мне кажется, оптимальнее была бы сборка из двух кремниевых pnp транзисторов. Но можно и так попробовать.
И емкость я бы либо сделал поменьше, либо - вообще убрал.
Скорее, наоборот, - для германиевых транзисторов R25 должен быть поменьше раза в полтора-два. Очень давно с ними не работал.
Мне кажется, оптимальнее была бы сборка из двух кремниевых pnp транзисторов. Но можно и так попробовать.
И емкость я бы либо сделал поменьше, либо - вообще убрал.
Да, с номиналом резистора явно я тупанул. Конденсатор уберу, но в предидущих вариантах наборов кнопок иногда "проскакивали помехи", при номинале в 0,1 мкф кнопки тормозили на реакцию смены ноты.
Роюсь в сканах журналов, начал с 1976 г. И правда, повальное увлечение ЭМИ. "Но до клавиатур пока не нашёл".
Чуть редактировал схему, резистор R26 всего 160 ом и падает на нём 0,16 В.Собрал клавиатуру, погонял по скетчу, пришлось шаманить с x1, k. Видимо транзисторы реагируют на температуру, при не нажатых кнопках и включениях в разное время на А0 попадает от 946 до 966.
Окончательный вариант скетча. Родственники набаловались, подбирая мелодии на слух. Возник у них вопрос, почему нельзя несколько нот одновременно?..
...Как избавиться от Tone примерно ясно мне, с клавиатурой - пока вопрос.
leks, пальцы то не жалко в такие кнопки тыкать? Не понятен смысл проекта -если потренироваться писать простые скетчи -то ладно. А поиграть-побаловаться удобнее на компьютере и компьютерной клавиатуре, с нормальным миди-трекером. Там и звуки любые настроить можно, и несколько кнопок -без проблем.
Конечно потренироваться. Вот задали они вопрос - почему Ардуина у меня две, три ноты не играет сразу и возник интерес - а как сделать?
leks, думаю для начинающего это неподъёмная задача. Если очень хочется что-то поделать поищите другие направления.
Конечно потренироваться. Вот задали они вопрос - почему Ардуина у меня две, три ноты не играет сразу и возник интерес - а как сделать?
Ну, например, так: http://arduino.ru/forum/proekty/floppy-hdd-music
Хотя, на мой взгляд, для более или менее вменяемого многоголосия следут применять аппаратную поддержку. Хотя бы такую: https://ru.aliexpress.com/item/VS1053-vs1053b-MP3/32842502963.html
Пока видится решение в "научиться" пищать две разные ноты одновременно в два пьезоизлучателя.
Ну, можно и так.
Можно просуммировать сигналы с разных пинов на ОУ, а затем на УНЧ.
Не очень то Ардуино играет без "тоне", ноты переодически могут в звучании исказиться. И это пока один канал...
На фото это что, реальные МП42 транзисторы?
Ну вы даёте!
Да, 70 и 72 года выпуска, июня и июля.
Да, 70 и 72 года выпуска, июня и июля.
Blast from the past? ))
Да, чуть старше меня. Просто много их, много лет лежат как память. А в лом мне "влом", пусть другие...