Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Непрочитано 22.02.2015, 19:10  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от Proshha Посмотреть сообщение
а для особо непонятливых - можно? где там про потребление подсветки?
Пункт 12: Backlight power consumption - 1.2W (Typ.)
Реклама:
omercury вне форума  
Непрочитано 22.02.2015, 19:22  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от alvadep Посмотреть сообщение
omercury, ума не приложу зачем там второй корпус. Подсветка то по условиям задачи в мультиметр и 20мА там аж занадто. Вон 83-й изя от STM-ма подсветку питает и нарадоваться никак не может.

ЗЫ. Ну разве только для питания самого МК, чтоб не ставить Д815.
Ёкарный бабай!!!
А то, что мультиметр, я как-то и упустил уже...

Тогда действительно достаточно одной SOT-ки.



Proshha, Ваш выход!
Нарисуйте ему схему на одной ЛА7 с регулировкой скважности подстроечником и таймером на ионисторе - нифига там больше не нужно!

Последний раз редактировалось omercury; 22.02.2015 в 19:40. Причина: ЛА7, конечно же.
omercury вне форума  
Непрочитано 22.02.2015, 20:17  
proba60
Вид на жительство
 
Аватар для proba60
 
Регистрация: 26.10.2009
Сообщений: 379
Сказал спасибо: 47
Сказали Спасибо 146 раз(а) в 93 сообщении(ях)
proba60 на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от Proshha Посмотреть сообщение
1..

Двойное короткое нажатие появилось в роли костыля, когда не удалось простой перетасовкой готовых подпрограмм дибиться заявленого вначале алгоритма работы. .
...............................................
Кому не интересно - будет продолжать изобретать костыли с двойным-тройным-четверным нажатием
Удачи ))
Дык вроде бы в предложенных вариантах заявленый вначале алгоритм работает.
__________________
..истина где то рядом..
proba60 вне форума  
Непрочитано 22.02.2015, 23:48  
Proshha
Временная регистрация
 
Регистрация: 23.07.2007
Сообщений: 42
Сказал спасибо: 3
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
Proshha на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от proba60 Посмотреть сообщение
Дык вроде бы в предложенных вариантах заявленый вначале алгоритм работает.
Работает. Но МК молотит постоянно, даже при выключенной подсветке. В результате вместо экономии батареи получаем ускоренный разряд. Погружение МК в сон привело к сбоям. Всё это обсуждалось здесь ранее.
Как-то так ))
Proshha вне форума  
Непрочитано 23.02.2015, 00:49  
prosto_andriy
Временная регистрация
 
Регистрация: 25.06.2013
Сообщений: 58
Сказал спасибо: 25
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
prosto_andriy на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от proba60 Посмотреть сообщение
Дык вроде бы в предложенных вариантах заявленый вначале алгоритм работает.
Вот этот код работает более-менее нормально, и он мне в принципе подошел бы, но не хочется сверлить в корпусе мультиметра дырку под кнопку!
Вначале думал использовать для вкл./выкл. подсветки сенсорный датчик, но отказался от этой идеи, когда обнаружил, что кнопка "REL" (relative) задействована в мультиметре не полностью! То есть она реагирует только на короткие нажатия, а если подержать больше 1с, нажатие засчитывается два раза (то есть вкл. и выкл.).
Вот я и решил "прикрутить" включение подсветки к этой кнопке, чтобы подсветка хотя бы включалась и выключалась! За основу взял код, который написал omercury (за что кстати ему большое спасибо), и попробовал упростить. Файл с кодом, который получился прикрепляю к сообщению!
Очень странно, но код не работает хотя и компилируется! Правда с предупреждениями "... expression with possibly no effect"
Конечно опытный программист наверно подумает, что написать такой простой код неправильно невозможно - это как "заблудиться среди двух сосен", но тем не менее... у меня это похоже получилось
Подскажите пожалуйста, в чем я ошибся? Заранее спасибо!
Вложения:
Тип файла: txt backlight_on_off.txt (5.1 Кб, 57 просмотров)
prosto_andriy вне форума  
Непрочитано 23.02.2015, 04:38  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от prosto_andriy Посмотреть сообщение
Очень странно, но код не работает хотя и компилируется!
Что Вы там понаписали, компилятору всё равно, главное, чтоб не было синтаксических ошибок.
У Вас их нет и он честно компилирует.))
Правда предупреждает, что то, что находится по указанным строкам всё равно в работе не участвует и он тот код выкинул к зелёной бабушке. И он, как ни странно, прав!
Флаг BACKLIGHT_on не только индицирует включение подсветки, но и управляет ей.

Строка 107, первый вызов функции включения/выключения. Вы указываете, что фонарь выключен, записав в флаг 0 и вызываете функцию вкл/выкл. МК входит в функцию, выполняет условие по else, то есть опять устанавливает флаг и выходит из функции. Строка "led_on = 1;" ничего не делает, так как вывод подключен к ШИМ таймера.

Строка 151, вызов из main. Чтобы попасть в это место надо либо подождать 15 минут, чтобы переменная systemClock досчиталась до порогового значения, либо вызвать функцию BACKLIGHT_on_off(void) с установленным флагом, которая сделает то же самое, но сразу... Флаг установлен и условие выполняется. В результате функция увеличивает systemClock до порогового значения(которое и так уже пороговое) и тут же заканчивается, осуществляя возврат в main. Далее МК отправляется спать, не обнулив эту переменную, в результате после пробуждения он выполнит действия из строки 107 и тут же снова вхолостую сходит туда же и уснёт... Если переменную обнулить, то в логике "работы программы" это ничего не поменяет, так как всё равно будет строка 107.

Строка 62, Вызов из опроса кнопки (который никогда не произойдёт)...
Допустим он всё же произошёл и Вы туда чудом попали и даже удержали длительное нажатие. МК честно туда сходил бы, установил бы себе флаг BACKLIGHT_on, вернулся в опрос кнопки, пропустил его до конца, так как всё уже выполнено и ничего больше делать не надо, вернулся в main... и снова строка 151...




Сообщение от prosto_andriy Посмотреть сообщение
кнопка "REL" (relative) задействована в мультиметре не полностью! То есть она реагирует только на короткие нажатия, а если подержать больше 1с, нажатие засчитывается два раза (то есть вкл. и выкл.).
Вот я и решил "прикрутить" включение подсветки к этой кнопке
Что в результате-то?
Как кнопка должна реагировать на нажатия?
Включение - двойной клик, это понятно.
Отключение тоже по двойному клику?
omercury вне форума  
Сказали "Спасибо" omercury
prosto_andriy (23.02.2015)
Непрочитано 23.02.2015, 16:01  
prosto_andriy
Временная регистрация
 
Регистрация: 25.06.2013
Сообщений: 58
Сказал спасибо: 25
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
prosto_andriy на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Да, поскольку одинарное нажатие уже занято под вкл./выкл. режима REL(relative).
Фактически два коротких нажатия при включении/выключении подсветки будут включать и сразу же выключать этот режим, но в итоге мультиметр окажется в том же состоянии только с уже переключенной (вкл./выкл.) подсветкой!
Вместо двух коротких нажатий можно использовать одно длинное (больше 1с), поскольку длительное нажатие кнопки "REL", приводит к тому, что режим RELATIVE отключается, если кнопку держать больше 1с!

То есть переключение можно сделать двумя способами:
1. Одним длинным нажатием кнопки - больше 1с.
2. Двумя короткими - мультиметр реагирует даже на нажатия длительностью 0,3с!!!

P.S.: В идеале конечно, если это возможно (имею в виду на ATtiny13) двумя способами! Но наверно у нее памяти для этого не хватит.

Последний раз редактировалось prosto_andriy; 23.02.2015 в 16:21.
prosto_andriy вне форума  
Непрочитано 23.02.2015, 17:09  
МВА
Гражданин KAZUS.RUN
 
Регистрация: 15.08.2010
Адрес: Днепр
Сообщений: 841
Сказал спасибо: 74
Сказали Спасибо 199 раз(а) в 174 сообщении(ях)
МВА на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от Proshha Посмотреть сообщение
Здесь Вы вообще заблудились в трёх соснах, заодно отменив закон Ома ))
Чтоб оставить на потребителе (лампочке) 10% напряжения нужно увеличить сопротивление управляющего элемента. Что неминуемо приведёт к уменьшению общего тока и, как следствие - потребляемой мощности. В том числе - и рассеиваемой на регулирующем элементе.


Возвращаясь к вопросу "что в данном конкретном случае экономичней" - получаем однозначный ответ: линейный регулятор.
Всем доброго времени суток.
Чтобы не быть голословным, давай зададим лампочке сопротивление и пусть оно будет линейным, для простоты.
1. Лампочка -200ом.; на управляющем транзисторе падает 1 в. Напряжение 220в. При этом ток будет 219/200=1,95А. Мощность падающая на лампе равна 219*1,95=427,05 вт, а на транзисторе 1*1,95=1,95 вт.
КПД=427,05/((427,05+1,95)/100)=99,(54)%
2. Уменьшили напряжение на лампе на половину: 110/200=0,55А. При этом сопротивление транзистора будет такое как и у лампы 110/0,55А=200ом. при этом мощность рассеиваемая лампой будет 110*0,55=60вт, а на транзисторе - 110*0,55=60 вт. КПД=60/((60+60)/100)=50%
3. Оставим на лампе 10% напряжения. 22/200=0,11А. Мощность на лампе будет равна 22*0,11А=2,42вт. Мощность рассеиваемая транзистором равна 198в*0,11А=21,78 вт. КПД=2,42/((2,42+21,7/100)=10%.
Ну, и где же экономичность линейного регулятора? Видно прав был Akegor, это безнадежно.

Последний раз редактировалось МВА; 23.02.2015 в 17:11.
МВА вне форума  
Непрочитано 23.02.2015, 17:26  
proba60
Вид на жительство
 
Аватар для proba60
 
Регистрация: 26.10.2009
Сообщений: 379
Сказал спасибо: 47
Сказали Спасибо 146 раз(а) в 93 сообщении(ях)
proba60 на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от МВА Посмотреть сообщение
Всем доброго времени суток.
Чтобы не быть голословным, давай зададим лампочке сопротивление и пусть оно будет линейным, для простоты.
1. Лампочка -200ом.; на управляющем транзисторе падает 1 в. Напряжение 220в. При этом ток будет 219/200=1,95А.
Не фатальная но всё-же ошибка 219/200=1,095А
__________________
..истина где то рядом..
proba60 вне форума  
Сказали "Спасибо" proba60
МВА (23.02.2015)
Непрочитано 23.02.2015, 18:05  
МВА
Гражданин KAZUS.RUN
 
Регистрация: 15.08.2010
Адрес: Днепр
Сообщений: 841
Сказал спасибо: 74
Сказали Спасибо 199 раз(а) в 174 сообщении(ях)
МВА на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от proba60 Посмотреть сообщение
Не фатальная но всё-же ошибка 219/200=1,095А
Спасибо, согласен, но на подсчет КПД это никак не скажется, просто в 1,78 раз получится завышена мощность нагрузки и управляющего элемента. А КПД зависит от отношения этих нагрузок. Но виноват не я.... Это мышка у меня выделывается и я не заметил что ввел не то число, потом заметил, на других числах и стал вводить числа с клавы. Так что извиняйте, я не буду даже исправлять этого.
МВА вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книги dosikus Электронная библиотека 11242 29.12.2015 23:45
Как правильно отследить импульс sdsrem Микроконтроллеры, АЦП, память и т.д 8 17.08.2010 21:28
[Решено] Третье Послание Человечеству lelkanet Отвлекитесь, эмбеддеры! 201 06.01.2010 00:33


Часовой пояс GMT +4, время: 05:18.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.