я просто все вернул обратно, подключил клаву по другой схеме (без схемы от дребезга контактов), подключил и другую клаву, результат - 0! все тоже самое!!!
А что в итоге должно выйти, я не до конца понимаю!
прописав в итоге я получил в мониторе порта key ``
Так включайте голову. Вы чего ожидаете в этой переменной? Судя по дальнейшему, Вы там ожидаете '1', '2', '3' или '4'. А там, оказывается, ничего похожего! Или вылазит похожее, когда нажимаете?
А, вот появляется. Так какой символ? Правильный? Ну, думайте!
А что в итоге должно выйти, я не до конца понимаю!
прописав в итоге я получил в мониторе порта key ``
Так включайте голову. Вы чего ожидаете в этой переменной? Судя по дальнейшему, Вы там ожидаете '1', '2', '3' или '4'. А там, оказывается, ничего похожего! Или вылазит похожее, когда нажимаете?
А, вот появляется. Так какой символ? Правильный? Ну, думайте!
я не могу понять как мне настроить кнопки чтобы ими можно было управлять схемой!
Ну, тогда всё понятно. Один раз двигатель и дергается. Всё в соответствии с алгоритмом - никаких ошибок тут нет. Видать библиотека написана так, что удержание игнорирует.
Ну, тогда всё понятно. Один раз двигатель и дергается. Всё в соответствии с алгоритмом - никаких ошибок тут нет. Видать библиотека написана так, что удержание игнорирует.
Ваша программа по нажатию клавиши делает 1 шаг (и том, мне кажется, что не очень правильно, но не уверен, я давно с этим драйвером не работал). Но в любом случае - она делает один шаг. Переделайте, чтобы она постоянно делала шаги пока нажата кнопка. Если не знаете как, то давайте ссылку на Вашу библиотеку Keypad, что не получилось, что на разные смотрим.
Ваша программа по нажатию клавиши делает 1 шаг (и том, мне кажется, что не очень правильно, но не уверен, я давно с этим драйвером не работал). Но в любом случае - она делает один шаг. Переделайте, чтобы она постоянно делала шаги пока нажата кнопка. Если не знаете как, то давайте ссылку на Вашу библиотеку Keypad, что не получилось, что на разные смотрим.
Ну, не знаю, вроде там всё необходимое есть, но подробно разбираться сейчас не могу, возже или завтра.
Попробуйте для разминки строки 33 и 55 заменить на
if (keypad.isPressed('1'))
и посмотрите, поменяется ли поведение при нажатии клавиши 1. Если поменяется в нужную сторону, делайте так для всех клавиш. Если нет, то опищите внятно, как и что поменялось.
Ну, не знаю, вроде там всё необходимое есть, но подробно разбираться сейчас не могу, возже или завтра.
Попробуйте для разминки строки 33 и 55 заменить на
if (keypad.isPressed('1'))
и посмотрите, поменяется ли поведение при нажатии клавиши 1. Если поменяется в нужную сторону, делайте так для всех клавиш. Если нет, то опищите внятно, как и что поменялось.
изменилось только то что стал чуть больше градус отклонять при нажатии этой кнопки (кнопки 1).
если раньше отклонял на 1-2 градуса, то теперь на 5 примерно... а в остальном все без изменений!
изменилось только то что стал чуть больше градус отклонять при нажатии этой кнопки (кнопки 1).
если раньше отклонял на 1-2 градуса, то теперь на 5 примерно... а в остальном все без изменений!
Тогда так. Давайте делить систему на части и отлаживать по частям.
Первая часть - клавиатура. Забудьте о моторе, отключите его нафиг и добейтесь, чтобы при нажатии кнопки, она печаталась как нажатая всё время пока нажата. Нажал, пока держишь - выводится она, отпустил - пропадает.
изменилось только то что стал чуть больше градус отклонять при нажатии этой кнопки (кнопки 1).
если раньше отклонял на 1-2 градуса, то теперь на 5 примерно... а в остальном все без изменений!
Тогда так. Давайте делить систему на части и отлаживать по частям.
Первая часть - клавиатура. Забудьте о моторе, отключите его нафиг и добейтесь, чтобы при нажатии кнопки, она печаталась как нажатая всё время пока нажата. Нажал, пока держишь - выводится она, отпустил - пропадает.
Смотрим библиотеку Keypad и ищем там возможность снимать нажатую в данным момент клавишу столько раз сколько снимаем. наверняка есть такая возможность. Если таки нет - меняем или модифицируем библиотеку.
Но пока не добьёмся, чтобы печатала то, что надо - о движках даже не думаем.
Смотрим библиотеку Keypad и ищем там возможность снимать нажатую в данным момент клавишу столько раз сколько снимаем. наверняка есть такая возможность. Если таки нет - меняем или модифицируем библиотеку.
Но пока не добьёмся, чтобы печатала то, что надо - о движках даже не думаем.
Так, как я понимаю, мне надо добиться того что при нажатии кнопки и держа ее, в сериале она печаталась постоянно, а при как отпустил, прекратила печатать, правильно, или я опять не пойму?
Так, как я понимаю, мне надо добиться того что при нажатии кнопки и держа ее, в сериале она печаталась постоянно, а при как отпустил, прекратила печатать, правильно, или я опять не пойму?
Существует вариант, когда отслеживается момент изменения состояния.
Тогда в сериал логично будет выводиться однократно "кнопка нажата" и однократно "кнопка отпущена". Как устроена конкретно Ваша библиотека, я не знаю.
Так, как я понимаю, мне надо добиться того что при нажатии кнопки и держа ее, в сериале она печаталась постоянно, а при как отпустил, прекратила печатать, правильно, или я опять не пойму?
Существует вариант, когда отслеживается момент изменения состояния.
Тогда в сериал логично будет выводиться однократно "кнопка нажата" и однократно "кнопка отпущена". Как устроена конкретно Ваша библиотека, я не знаю.
Замучаешья с логикой.
Да и решение немасштабируемое.
...
Переписать - дешевле.
Вам - дешевле, но вы не переписываете. А топикстартеру, возможно вполне хватит и такого:
Неправославный говнокод, да - ни классов, ни миллисов, ни прямой работы с портами.
Однако - его написание под силу ТС. Теоретически.
...
Большое всем спасибо!
Евгений, доброго денечка!!! Подскажи в таком вопросе... переключил на матричную клавиатуру.
При нажатии, ШД только дергается, а работать не работает!!! в чем загвоздка, подскажи???
А если поставить задержку 10000 заработает?
Пробовал, и на 10000, и убрать - результат - 0!!!!
Ну что, поможете кто-нибудь???
Вставьте после строки 33: key = '1'; - закрутится ваш мотор?
Вставьте после строки 33: key = '1'; - закрутится ваш мотор?
Да начал вращаться!!!
ну, стало быть клавиатуру криво подключили или сама она проблемная.
Написал в 33 строке if (key == '1')
изменил на if (key = '1') правильно?
я просто все вернул обратно, подключил клаву по другой схеме (без схемы от дребезга контактов), подключил и другую клаву, результат - 0! все тоже самое!!!
Ну что, поможете кто-нибудь???
А Вы сами себе не пробовали помочь? Ну, вот например, что или кто Вам мешает межу строками 32 и 33 вставить
Вы бы видели чему равна Ваша переменная, которую Вы читаете с клавиатьуры. Узнали бы столько нового и интересного!
Кстати, что хоть за клавиатура?
У меня такой нет, как она фунциклирует - я не знаю, но проверка показала, что алгоритм кручения мотора верный. А вот с клавиатурой беда.
А что в итоге должно выйти, я не до конца понимаю!
прописав в итоге я получил в мониторе порта key ``
и спишется без перерыва, только при нажатии на какую-то кнопку, появляется символ,
сами двигатели молчат!
Вы ее нажимаете и отпускаете что ли?
А что в итоге должно выйти, я не до конца понимаю!
прописав в итоге я получил в мониторе порта key ``
Так включайте голову. Вы чего ожидаете в этой переменной? Судя по дальнейшему, Вы там ожидаете '1', '2', '3' или '4'. А там, оказывается, ничего похожего! Или вылазит похожее, когда нажимаете?
А, вот появляется. Так какой символ? Правильный? Ну, думайте!
Вы ее нажимаете и отпускаете что ли?
так... идем по порядку!
нажимаю кнопку, держу, сразу дернулся двигло, остановился, стоит.
отпускаю, двигатель молчит.
нажимаю опять - все повторяется
Печатается-то что? Или Вы не понимаете зачем мы печатаем?
А что в итоге должно выйти, я не до конца понимаю!
прописав в итоге я получил в мониторе порта key ``
Так включайте голову. Вы чего ожидаете в этой переменной? Судя по дальнейшему, Вы там ожидаете '1', '2', '3' или '4'. А там, оказывается, ничего похожего! Или вылазит похожее, когда нажимаете?
А, вот появляется. Так какой символ? Правильный? Ну, думайте!
я не могу понять как мне настроить кнопки чтобы ими можно было управлять схемой!
Давайте посмотрим мои последние посты:
Кстати, что хоть за клавиатура?
Так какой символ? Правильный?
Печатается-то что?
Я задал три вопроса подряд. Получил ноль ответов.
И после этого Вы заявляете:
я не могу понять как мне настроить кнопки
Вот знаете, у меня твёрдое ощущение, что Вы чего-то другого понять не можете :)
Печатается-то что? Или Вы не понимаете зачем мы печатаем?
печатается данный символ на который нажата кнопка
Давайте посмотрим мои последние посты:
Кстати, что хоть за клавиатура?
Так какой символ? Правильный?
Печатается-то что?
Я задал три вопроса подряд. Получил ноль ответов.
И после этого Вы заявляете:
я не могу понять как мне настроить кнопки
Вот знаете, у меня твёрдое ощущение, что Вы чего-то другого понять не можете :)
Вопрос №1 клавиатура!
их у меня 2,
1 http://iarduino.ru/shop/Expansion-payments/klaviatura-4-x4-knopki-v2.html ,
2 http://iarduino.ru/shop/Sensory-Datchiki/klaviatura-4-4-knopki.html
при подключении и одной и другой, результат один и тот же
Вопрос №2 какой символ!
Да, правильный. Тот который нажат, тот и высвечивается...
Вопрос №3 Печатается то что?
То что нажимаю, например
Key=` `
Key=` `
как нажал какой-то символ, печатает
Key=`нажатый символ `
Key=` `
Вот знаете, у меня твёрдое ощущение, что Вы чего-то другого понять не можете :)
Скорее всего, не исключаю такой возможности...
Печатает один раз или пока держите нажатой?
Так, и чего Вы от этого кода хотите? Как он по-Вашему должен работать? Только подробно.
Печатает один раз или пока держите нажатой?
Один раз. Даже если держу!
Так, и чего Вы от этого кода хотите? Как он по-Вашему должен работать? Только подробно.
Так!
у меня подключен двигатель. матричная клавиатура!
я добиваюсь того, чтобы:
при нажатии кнопки 1, двигатель вращался по часовой,
при нажатии кнопки 2, двигатель вращался против часовой,
А 3 и 4?
А 3 и 4?
ну это уже ко 2 двигателю, тоже, по и против часовой при нажатии соответственно!
Печатает один раз или пока держите нажатой?
Один раз. Даже если держу!
Ну, тогда всё понятно. Один раз двигатель и дергается. Всё в соответствии с алгоритмом - никаких ошибок тут нет. Видать библиотека написана так, что удержание игнорирует.
Печатает один раз или пока держите нажатой?
Один раз. Даже если держу!
Ну, тогда всё понятно. Один раз двигатель и дергается. Всё в соответствии с алгоритмом - никаких ошибок тут нет. Видать библиотека написана так, что удержание игнорирует.
и исправить никак нельзя получается?
Ваша программа по нажатию клавиши делает 1 шаг (и том, мне кажется, что не очень правильно, но не уверен, я давно с этим драйвером не работал). Но в любом случае - она делает один шаг. Переделайте, чтобы она постоянно делала шаги пока нажата кнопка. Если не знаете как, то давайте ссылку на Вашу библиотеку Keypad, что не получилось, что на разные смотрим.
и исправить никак нельзя получается?
Надо исходник глянуть. Где вы ее брали?
Ваша программа по нажатию клавиши делает 1 шаг (и том, мне кажется, что не очень правильно, но не уверен, я давно с этим драйвером не работал). Но в любом случае - она делает один шаг. Переделайте, чтобы она постоянно делала шаги пока нажата кнопка. Если не знаете как, то давайте ссылку на Вашу библиотеку Keypad, что не получилось, что на разные смотрим.
вот ссылка набиблиотеку!
https://cloud.mail.ru/public/FvSh/quyf5nwFV
и исправить никак нельзя получается?
Надо исходник глянуть. Где вы ее брали?
вот библиотека
https://cloud.mail.ru/public/FvSh/quyf5nwFV
Ну, не знаю, вроде там всё необходимое есть, но подробно разбираться сейчас не могу, возже или завтра.
Попробуйте для разминки строки 33 и 55 заменить на
и посмотрите, поменяется ли поведение при нажатии клавиши 1. Если поменяется в нужную сторону, делайте так для всех клавиш. Если нет, то опищите внятно, как и что поменялось.
Ну, не знаю, вроде там всё необходимое есть, но подробно разбираться сейчас не могу, возже или завтра.
Попробуйте для разминки строки 33 и 55 заменить на
и посмотрите, поменяется ли поведение при нажатии клавиши 1. Если поменяется в нужную сторону, делайте так для всех клавиш. Если нет, то опищите внятно, как и что поменялось.
изменилось только то что стал чуть больше градус отклонять при нажатии этой кнопки (кнопки 1).
если раньше отклонял на 1-2 градуса, то теперь на 5 примерно... а в остальном все без изменений!
Евгений Петрович, завидую вашей выдержке...
изменилось только то что стал чуть больше градус отклонять при нажатии этой кнопки (кнопки 1).
если раньше отклонял на 1-2 градуса, то теперь на 5 примерно... а в остальном все без изменений!
Тогда так. Давайте делить систему на части и отлаживать по частям.
Первая часть - клавиатура. Забудьте о моторе, отключите его нафиг и добейтесь, чтобы при нажатии кнопки, она печаталась как нажатая всё время пока нажата. Нажал, пока держишь - выводится она, отпустил - пропадает.
Когда добъётесь этого, вернёмся к моторам.
изменилось только то что стал чуть больше градус отклонять при нажатии этой кнопки (кнопки 1).
если раньше отклонял на 1-2 градуса, то теперь на 5 примерно... а в остальном все без изменений!
Тогда так. Давайте делить систему на части и отлаживать по частям.
Первая часть - клавиатура. Забудьте о моторе, отключите его нафиг и добейтесь, чтобы при нажатии кнопки, она печаталась как нажатая всё время пока нажата. Нажал, пока держишь - выводится она, отпустил - пропадает.
Когда добъётесь этого, вернёмся к моторам.
не получается у меня добиться этого...
Давайте скетч (без моторов и всякой другой фигни) - только ввод с клавиатуры и печать.
Давайте скетч (без моторов и всякой другой фигни) - только ввод с клавиатуры и печать.
вот он!
Уберите if и tone. пусть печатает постоянно. Если хотите, поставьте задержку в 20-50мс, чтобы не загаживала экран.
И что? Нажали и держим. Что печатается?
Уберите if и tone. пусть печатает постоянно. Если хотите, поставьте задержку в 20-50мс, чтобы не загаживала экран.
И что? Нажали и держим. Что печатается?
Все также!
при нажатии на любую кнопку, если держать или если отпустить, печатает 1 раз!
Смотрим библиотеку Keypad и ищем там возможность снимать нажатую в данным момент клавишу столько раз сколько снимаем. наверняка есть такая возможность. Если таки нет - меняем или модифицируем библиотеку.
Но пока не добьёмся, чтобы печатала то, что надо - о движках даже не думаем.
Смотрим библиотеку Keypad и ищем там возможность снимать нажатую в данным момент клавишу столько раз сколько снимаем. наверняка есть такая возможность. Если таки нет - меняем или модифицируем библиотеку.
Но пока не добьёмся, чтобы печатала то, что надо - о движках даже не думаем.
Так, как я понимаю, мне надо добиться того что при нажатии кнопки и держа ее, в сериале она печаталась постоянно, а при как отпустил, прекратила печатать, правильно, или я опять не пойму?
Правильно.
Так, как я понимаю, мне надо добиться того что при нажатии кнопки и держа ее, в сериале она печаталась постоянно, а при как отпустил, прекратила печатать, правильно, или я опять не пойму?
Существует вариант, когда отслеживается момент изменения состояния.
Тогда в сериал логично будет выводиться однократно "кнопка нажата" и однократно "кнопка отпущена". Как устроена конкретно Ваша библиотека, я не знаю.
Так, как я понимаю, мне надо добиться того что при нажатии кнопки и держа ее, в сериале она печаталась постоянно, а при как отпустил, прекратила печатать, правильно, или я опять не пойму?
Существует вариант, когда отслеживается момент изменения состояния.
Тогда в сериал логично будет выводиться однократно "кнопка нажата" и однократно "кнопка отпущена". Как устроена конкретно Ваша библиотека, я не знаю.
Вот сама библиотека!
https://cloud.mail.ru/public/FvSh/quyf5nwFV
Блин, не получается... Не соображу никак! Помогите PLEASE!