Перейти к содержанию

Не получается отловить нажатие кнопки.


Рекомендуемые сообщения

Прогресс дошел до того, что я уже прикрутил счетчик на 4-х разрядный индикатор :). В дополнение хотел еще прикрутить кнопку для сброса индикатора в ноль. Однако ну никак не получается отловить ее нажатие, чтобы при событии применить процедуру соответствующую.

У меня цифровые порты заняты под контакты индикатора. На D2, D3, GND висит датчик для сканирования. Пытаюсь вешать кнопку на аналоговые пины  и применить функции из библиотеки Гайвера isClick  / Только вот какая засада. Все его функции привязаны к портам прерываний INT0 и INT1. Но меня это не устраивает. Как сказал там висит датчик и задействованы прерывания. Хотя.... я же могу конкретно для прерывания датчику оставить INT0, а питание ему подать с другого любого порта. НО интерес в том, что во всех примерах  Гайвера когда меняю его пины на аналоговый, к примеру A7, ничего не работает. Это так все серьезно? Только D2 и D3 могут работать с кнопкой? 

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

НУ как и думал питание на датчик повесил на другой пин, работает. Кнопку подвесил на прерывание INT1. Тоже работает. НО почему тогда... что указано зелеными стрелками работате, а аналогичная процедура в том же практически блоке с красной стрелкой не работает ??? Т.е. монитор порта "Click" отображает, а процедура вывода на индикатор не работает ? 

Спойлер

Screenshot_23.jpg.9c942fa5b4351f9628bbe10b4aaba819.jpg

 

Только что, Delfin сказал:

Покажите схему

Схему чего?

Ссылка на комментарий
Поделиться на другие сайты

Особенности хранения литиевых аккумуляторов и батареек

Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

56 минут назад, Yurec66 сказал:

применить функции из библиотеки Гайвера isClick

Вы серьёзно ? Чтобы сделать обычный опрос ПИНа (для кнопки - более не нужно), пытаетесь использовать какие-то библиотеки ? :wacko:

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

50 минут назад, Yurec66 сказал:

У меня цифровые порты заняты под контакты индикатора. На D2, D3, GND висит датчик для сканирования. Пытаюсь вешать кнопку на аналоговые пины  и ...

В программе можно разделить опрос портов.
Т.е. есть выходные порты. Они выдают опрос на внешние кнопки.
Есть входные порты. Они воспринимают наличие выданного сигнала.

ВременнОе разделение позволяет использовать одни и те же порты для выполнения разных задач.

Ссылка на комментарий
Поделиться на другие сайты

18 минут назад, Alex сказал:

использовать какие-то библиотеки ?

Да я уже тоже об этом подумал. Уже перебираю разные варианты. Трудновато понять на ровном месте почему не работает, когда должно.

Изменено пользователем Yurec66
Ссылка на комментарий
Поделиться на другие сайты

А это как раз тот минус ардуино, про который все говорят. Человек использует готовый код, написанный другими, не знает, как он работает и при малейшей нестандартной проблеме попадает в тупик.

"Я не знаю какой там коэффициент, я просто паять умею. "

Ссылка на комментарий
Поделиться на другие сайты

5 hours ago, Yurec66 said:

Уже перебираю разные варианты

Подскажу еще один "разный вариант".

Забыть про скетчи (тьфу, прости Господи!), Arduino IDE и рассматривать вашу Nano v3 или что там у вас, как обычную макетную плату. Заиметь любой ISP программатор, совместимый с AVR Studio или CodeVisionAVR. И начать писать на Си, пользуясь любым руководством для начинающих, коих тьма, тот же А.В. Белов, например,  и даташитами на МК, которые для Attiny и Atmega тов. А.В. Евстифеев даже перевел на русский язык и обобщил в двух исключительно полезных книгах. Все эти книги легко находятся в сети. Что до библиотек, то в CVAVR их достаточно для большинства любительских случаев, они хорошо документированы и, главное, они нормально работают. 

Ссылка на комментарий
Поделиться на другие сайты

10 часов назад, Yurec66 сказал:

Схему чего?

Вашего устройства полностью на теперешний момент.

10 часов назад, Yurec66 сказал:

Пытаюсь вешать кнопку на аналоговые пины

Вариант верный. И -

 

1 час назад, dodik сказал:

делитель и мерить напряжение

это правильно.

Я не раздаю удочки. Я продаю рыбу.

Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, Dr. West сказал:

Человек использует готовый код,

Не совсем так. Я использовал стандартные через digitalRead() и через прерывания. Может по незнанию не до конца правильно оформленный метод получения требуемого ставит в тупик. Это да, с этим соглашусь. 

45 минут назад, солар сказал:

Вашего устройства полностью на теперешний момент.

Это устройство - макетка с пучком проводов, Ардуино нано и индикатор.

 

Ссылка на комментарий
Поделиться на другие сайты

Вам же уже написали – хотите разобраться – выбросьте Дурино.

У Вас уже динамическая индикация на 4 разряда. Перебор по разрядам.

Достаточно взять 4 кнопки с диодами, один резистор и задействовать один разряд цифрового порта на ввод.

Вместе с выводом информации определяете, нажата ли очередная кнопка.

Ссылка на комментарий
Поделиться на другие сайты

Все, разобрался. Наверное чрезмерная волнительность присутствует... :)

Привязал кнопку к свободному пину, с цикле считал digitalRead(5) и обработал ка мне нужно.

49 минут назад, ChePay сказал:

У Вас уже динамическая индикация на 4 разряда.

Это сейчас не столь важно. Кнопку прикрутил для обнуления счетчика. Т.к. разобрался.

Ссылка на комментарий
Поделиться на другие сайты

@Yurec66 , для общего понимания.
Можно даже совместить пины контроллера и для опроса клавиатуры, и для вывода на дисплей.
Именно временнОе разделение ввода\вывода позволяет так играть. Именно об этом я Вам и сообщал ранее.

Ссылка на комментарий
Поделиться на другие сайты

Лично для себя считаю, что  и так прилично продвинулся в познаниях изучения Ардуино и МК отчасти. Счетчик , который делал на CD4026 с кучей проводов и деталей сейчас могу сделать всего на одной ардуинке и 7 сегментных индикаторах.

Спойлер
pinMode(2, INPUT_PULLUP);
  pinMode(5, INPUT_PULLUP);
  pinMode(3, OUTPUT);
  digitalWrite(3, HIGH);
  // FALLING - при нажатии на кнопку будет сигнал 0, его и ловим
  attachInterrupt(0, buttonTick, FALLING);
}

void buttonTick() {
  intFlag = true;  // подняли флаг прерывания
  counter++;
}

void loop() {
  if (!digitalRead(5)) sevseg.setNumber(0, 0);
   
  if (intFlag) {
    intFlag = false; 
    sevseg.setNumber(counter, -1);
  }
  sevseg.refreshDisplay();  

 

 

 

2 минуты назад, mvkarp сказал:

Именно временнОе разделение ввода\вывода позволяет так играть.

Не все сразу...;)

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...