Зависимость кнопок от кнопок
- Войдите на сайт для отправки комментариев
Вс, 18/04/2021 - 22:57
Не соображу как сделать чтоб при переключении переключателя режимов оборотов происходило переключение оборотов согласно заданному. Сейчас, переключаю режим и не чего не происходит пока не нажмешь кнопку вкл/выкл.
А каким образом вы управляете вашим устройством если у вас ни одна нога не обозначена как input
А каким образом вы управляете вашим устройством если у вас ни одна нога не обозначена как input
Это делает BUTTON BUTTON_01(6);
Простите не знал
Надо стараться иметь дело только с независимыми кнопками!
Надо стараться иметь дело только с независимыми кнопками!
Не стоит сепаратизм тут разводить)) Не те времена)))
Времена всегда одинаковые.
А каким образом вы управляете вашим устройством если у вас ни одна нога не обозначена как input
Открою тайну.
Все регистры кнопок имеют при старте значение 0х00.
Так вот есть такой регистр DDRx (data direct register)- регистр направления передачи данных.
Если в бите привязанном к выводу стоит 0- то вывод будет принимать данные(вход), а если 1, то отдавать (выход).
Вопрос , почему бы не работать входу без его обозначения как вход ?
Надо стараться иметь дело только с независимыми кнопками!
все девки орут про независимость и Вы туда же )))
Эксплуатация кнопок кнопками не наблюдается ? А то может призрак бродит по ардуине ? )
Подарить кнопкам кота - будут сильные и независимые.
Да, эксплуатация кнопок кнопками, задача кнопками управлять режимами кнопок.
Назревает революционная ситуация
Слепил как сумел. Почти все работает как задумано. Единственное что не работает так как задумано это переключатель оборотов, при переключении не каких изменений пока не нажмешь х- или х+, переменная ggg меняется но кнопкой не считывается.
Не сомневаюсь что это можно сделать в десять раз проще, но по другому не знаю как. Громко не смейтесь.
Не пойму, почему, если переменная ggg=1 то функция motor_s1 или motor_s2 не запускаются, одна из кнопок BUTTON_02 или BUTTON_03 всегда замкнута, запускается только если переключить с BUTTON_02 на BUTTON_03 или на оборот. С нажатой кнопкой при установке переменной ggg=1 автоматически не запускаются функции.
Не знаток титановых велосипедов, но по смыслу BUTTON_02.click_up это отпускание кнопки, почему что то должно работать при нажатии ?
Не знаток титановых велосипедов, но по смыслу BUTTON_02.click_up это отпускание кнопки, почему что то должно работать при нажатии ?
И нажатие и отпускание одинаково, по изменению переменной не запускается, надо обязательно нажать или отпустить кнопку. Не пойму, это особенность велосипеда или stepperQ.
Особенности вашего кода и, возможно, велосипеда. У вас первые два условия как вообще должны работать (ну в смысле как вы сами думаете) ?
вместо stepperQ подставьте просто вывод в сериал и поймете как вел работает.
У вас кнопка 02 или 03 всегда замкнута, соответственно вы мониторите событие, которое уже давно прошло (оно было один раз при замыкании или отпускании кнопки). вы пользуете первую версию велосипеда. Рекомендую юзать v14 . там есть метод state_button, который возвращает не событие нажатия или отпускания, а текущее состояние кнопки. и внимательно почитайте описание к библиотеке.
а вообще как бэ проще digitalRead , не?
Кнопка 03 или 02 всегда нажата, нажатием кнопки 01 устанавливаю переменную в 1 и должно выполняться условие (BUTTON_02.click_up && ggg == 1).
У вас кнопка 02 или 03 всегда замкнута, соответственно вы мониторите событие, которое уже давно прошло (оно было один раз при замыкании или отпускании кнопки). вы пользуете первую версию велосипеда. Рекомендую юзать v14 . там есть метод state_button, который возвращает не событие нажатия или отпускания, а текущее состояние кнопки. и внимательно почитайте описание к библиотеке.
а вообще как бэ проще digitalRead , не?
Приблизительно понял, буду разбираться. Да, версия велосипеда одна из первых. Клапауций писал что digitalRead это топорно и не совсем эффективно.
Клапауций писал что digitalRead это топорно и не совсем эффективно.
тут дело не в вере, а в понимании, что и зачем сам делаешь. Применительно к кнопкам это проблема дребезга.
Вот сейчас работает как задумано.
Спасибо MaksVV! Всем спасибо!
пжалста. а строки 27-38 ? это же жесть . может вместо них сделать так? ggg сделать boolean
пжалста. а строки 27-38 ? это же жесть . может вместо них сделать так? ggg сделать boolean
Да, действительно жесть, так куда лучше, в разы лучше) Этому кунг-фу с отрицанием я еще не научился. Использовал фрагменты кодов с форума.