Comments 42
Хорошая статья!!! Спасибо!
Фиксированная граница между длительностью точки и длительностью тире — неудобна.А можно для определения воспользоваться переменным резистором, крутя его для подстройки длины нажатия.
Мне кажется, полностью цифровая подстройка более удобна. Кроме того, логично не подкручивать резистор, подбирая удобные для себя параметры, а заставить устройство анализировать точки-тире-паузы, подстраиваясь под скорость пользователя. Задача вполне решаемая, но для практического применения смысла не имеющая. Куда проще точки и тире вводить разными кнопками. И анализировать ничего не надо, и скорость печати повышается, и две кнопки дают больше вариантов управления. Например полсекунды удержания левой кнопки переключают на кириллицу, полсекунды правой — на латынь. А две одновременно нажатые кнопки позволяют сделать еще что-то :)
Азбука Морзе тем и хороша, что нужен всего 1 контакт для передачи символа. В противном случае снова перейдем к клавиатуре на весь набор символов ;).
А автоматическую подстройку под скорость пользователя можно сделать, задав ему проигрывание заранее заданного куска (светодиод-то есть :) ).
А автоматическую подстройку под скорость пользователя можно сделать, задав ему проигрывание заранее заданного куска (светодиод-то есть :) ).
У меня задача — создание удобной аккордной клавиатуры (если такая вообще возможна). Морзе-клавиатура — это предельный случай :) Всего одна кнопка. Я хочу поэкспериментировать с числом кнопок, принципами ввода. Возможно, вместо кнопок удобней использовать микро-джойстики… В общем, хочу попробовать найти вариант, с которым окажется действительно _удобно_ работать.
Спасибо за ссылку :) Девайс любопытный, но, как я понимаю, «заточен» не совсем под те же задачи. С его помощь можно позиционировать курсор, эмулировать нажатия правой/левой кнопок мыши — но не печатать. Если я правильно разобралась в конструкции, фраза «позволяет печатать на клавиатуре, приведя руку в горизонтальное положение» означает лишь то, что устройство не мешает печатать на обычной клавиатуре. Мне же интересна замена стандартной клаве, позволяющая вслепую печатать на ходу.
Спасибо за статью. Давно хотел приобрести себе ардуино, но решился только после Вашей прошлой статьи. Теперь жду, когда уже стану счастливым обладателем и тоже смогу начать экспериментировать)
Расскажите, как подключать и управлять разными двигатели (шаговыми, обычными)
В процессе освоения — буду писать :) Пока на базе этого девайса планирую разобраться с RGB-диодом и вибро-моторчиком. Также на очереди bluetooth-модуль и жк-экран.
даешь разных схем интересных и полезных, а то надоели в этом блоге статьи про отпиливание куска пластмассы и приклеиваение различных частей, вместо инженерных поделок (пусть и простых :-) )
Тогда можно почитать и другие блоги, например могу порекомендовать mk90.blogspot.com
ИМХО, код морзе — не лучший вариант. С одной кнопкой лучше использовать какой-нибудь префиксный код (Шеннона-Фано или лучше даже Хаффмана). Таким образом можно и сократить количество нажатий и убрать паузу между вводом букв.
Мне кажется, основная проблема — не в минимизации нажатий. Если для ввода текста, к примеру, придется заучить наизусть таблицу ASCII-кодов, вряд ли подобный девайс станет популярным. Ввод прежде всего должен быть интуитивен, чтобы его можно было достаточно быстро и легко освоить. И, боюсь, для аккордных клавиатур эту задачу пока никто не решил…
В принципе, если под каждым пальцем расположить трехпозиционную качельку, этого (3^5 = 243) хватит для ввода любого нужного печатного символа. Но необходимость запоминания кодов делает идею нереальной для практического использования :(
В принципе, если под каждым пальцем расположить трехпозиционную качельку, этого (3^5 = 243) хватит для ввода любого нужного печатного символа. Но необходимость запоминания кодов делает идею нереальной для практического использования :(
Где ассемблер? =)
И всё равно для меня сложновато(
R3 ненужен
R3 как раз точно нужен — он при отпущенной кнопке подтягивает сигнал на седьмом порту к «земле», логическому «нулю». Без R3 на 7 порт при отпущенной кнопке идет мусор. Может, Вы имели в виду, что не нужен R2? Его действительно нет в схеме подключения кнопки из книжки «Getting Started With Arduino». Собственно, подключить третий резистор (R2) мне посоветовали здесь: community.livejournal.com/ru_arduino/10922.html?thread=66218#t66218
порт в режим входа, при разомкнутой кнопке он резистором подтягивается к питанию, на входе лог.1
при замкнутой кнопке ток стекает на землю и на вход не попадает — на входе лог.0
так что R3 не нужен, автор выше прав
при замкнутой кнопке ток стекает на землю и на вход не попадает — на входе лог.0
так что R3 не нужен, автор выше прав
В книжке-учебнике по Ардуино (Getting Started With Arduino) приводится вариант подклчения кнопки через R3, без R2. При этом нажатая кнопка — 1, отпущенная — 0:
Чем плох вариант, когда нажатая кнопка — 0, отжатая — 1 от внутреннего пулапа АВРки? Вообще внешняя обвязка не нужна.
И еще надо учитывать, что кнопка — штука механическая, при нажатии возникает «дребезг контактов». Поэтому не помешал бы программный debouncing.
И еще надо учитывать, что кнопка — штука механическая, при нажатии возникает «дребезг контактов». Поэтому не помешал бы программный debouncing.
Да в принципе ничем не плох. Просто я учусь работать с Ардуино по книжке — и беру оттуда варианты подключения. Очень уж не хочется пожечь девайс, который ждала месяц…
Ну и параллельно пытаюсь понять — почему нужно подключать именно так, а не иначе.
Ну и параллельно пытаюсь понять — почему нужно подключать именно так, а не иначе.
Что касается «дребезга» — почему от него стоит избавляться программно, а не при помощи конденсатора?
Лишний кусок кода или дополнительная обвязка — это вопрос персональных предпочтений. А для программного debouncing'а у вас в коде уже и так есть задел с подсчетом интервалов. Еще немного проверок там, где if ((timeRelease — timePress) > MAX_DOT_PRESS_TIME), и — voila — программная защита от дребезга готова.
обычно делают так
www.seattlerobotics.org/encoder/mar97/basics1.gif
и обходятся одним резистором на кнопке
вариант без R2 втречается реже, сейчас не могу найти почему,
вроде это связано с рассеиваемой мощьностью на резисторах
www.seattlerobotics.org/encoder/mar97/basics1.gif
и обходятся одним резистором на кнопке
вариант без R2 втречается реже, сейчас не могу найти почему,
вроде это связано с рассеиваемой мощьностью на резисторах
Сейчас обычно включают подтягивающие резисторы в микроконтроллере а внешние выбрасывают совсем.
Ну, в почти каждом микроконтроллере есть так называемые подтягивающие резисторы, которые могут включатся программно(ардуиновцам сложно понять, привет ассемблер=)). Подтягивают они на плюс, т.е. управление осуществляется по отрицательной логике- 5В- лог «0», 0В- лог «1».
Подробнее читаем тут easyelectronics.ru/avr-uchebnyj-kurs-ustrojstvo-i-rabota-portov-vvoda-vyvoda.html (Ди, респект за Упячку =)
Подробнее читаем тут easyelectronics.ru/avr-uchebnyj-kurs-ustrojstvo-i-rabota-portov-vvoda-vyvoda.html (Ди, респект за Упячку =)
А вообще дожились: никаких тебе принципиальных схем только картинки подключения проводочков. Прогресс…
Собственно, набор тем и хорош (с моей точки зрения), что позволяет даже чайнику сделать что-то работоспособное. Заодно заставляя потихоньку изучать предмет :) Так же в свое время воспринимался Macromedia Flash — возможность для чайников, не знающих и не желающих изучать программирование, написать что-то графическое, интерактивное.
Так оно ж все цифровое, здесь часто компактнее словами написать. Фраза типа «эта хрень подключена к MCU по SPI» достаточно точно опишет ситуацию, а даташиты позволят додумать соединения. А побочным эффектом весь этот процесс заставит понять, что происходит внутри силикона.
М-м-морзе =)
А Вы не КВ-радиолюбительница случайно?
А Вы не КВ-радиолюбительница случайно?
Нет :) Была бы я радиолюбительницей — задавала бы куда меньше глупых вопросов :) Что касается Морзе — в детстве в «Пионерской Правде» печатались материалы по обучению азбуке Морзе. Так что, приходя домой из школы (2 или 3 класс) я звонила в дверь «привет». Собственно, эти и еще несколько букв — все, что я помню из азбуки Морзе.
Азбука Морзе в данном случае хороша тем, что она проста для реализации и проверена временем. Хотя, конечно, ей недостает многих символов, необходимых при работе с компьютером.
Азбука Морзе в данном случае хороша тем, что она проста для реализации и проверена временем. Хотя, конечно, ей недостает многих символов, необходимых при работе с компьютером.
и статьи на такие темы пишет девушка! это реально круто!
Камрады, я вам по секрету скажу — радиолюбители 100 лет уже как используют так называемые «ямбические ключи» для работы азбукой Морзе…
www.ruqrz.com/?p=1135
www.ruqrz.com/?p=1135
Sign up to leave a comment.
Знакомство с Arduino, часть 2. Морзе-клавиатура: альфа-версия