Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.02.2013, 07:56   #51
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию

Я так понимаю нужно просто установить задержку по времени между срабатываниями, delay в прерывании не работает - сделать просто цикл? Это вопрос к людям.
А к vadymkyr - сколько по времени у тебя длится дребезг -какая кнопка -можешь измерить?
Bulatovor вне форума   Ответить с цитированием
Старый 25.02.2013, 21:47   #52
vadymkyr
Junior Member
 
Регистрация: 21.02.2013
Адрес: Севастополь
Возраст: 33
Сообщений: 7
Вес репутации: 0
vadymkyr is an unknown quantity at this point
По умолчанию

Цитата:
Сообщение от Bulatovor Посмотреть сообщение
какая кнопка
пробовал с двумя кнопками:



эффект одинаковый.

можно как-то так попробовать
PHP код:
if (millis() - last_micros >= 300

last_micros millis(); 
Button digitalRead(9);

...

vadymkyr вне форума   Ответить с цитированием
Старый 25.02.2013, 23:04   #53
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Можно использовать встроенную библиотеку #include <util/delay.h>
Она не использует таймер
Admin вне форума   Ответить с цитированием
Старый 26.02.2013, 08:00   #54
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию

Это хорошо, только вот что-то у меня в Arduino 1.0 её нет. Попробую найти. А в целом просто её подключаем и в обработчике прерывания по PCINT первым делом ставим задержку типа delay_ms(20)( а у нас лампочка в это время не погаснет - ведь прерывания по таймеры тож не будут обрабатываться? А 20 не мало -видимо это надо подпирать эксперементальным путем приминительно к кнопке) а потом уже анализируем состояние портов
Bulatovor вне форума   Ответить с цитированием
Старый 26.02.2013, 10:07   #55
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Я обычно использую задержку от 10мс до 30мс
Можно так же использовать обычный delay()
Только при входе в обработчик нужно отключить прерывание по входу, а при выходе из обработчика снова включить
Admin вне форума   Ответить с цитированием
Старый 27.02.2013, 08:43   #56
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию

vadymkyr - ты понял как скеч усовершенствовать или мне полный вариант выложить с добавлением задержки? Я конечно её добавлю, но планировал сделать это чуть позже
Bulatovor вне форума   Ответить с цитированием
Старый 28.02.2013, 15:01   #57
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию

Завтра должен получить железо, так что начиная с выходных смогу экспериментировать с железом. Как оказалось, что даже в таком городе как Уфа нефиксируемые выключатели не на каждом углу продаются

Последний раз редактировалось Bulatovor; 28.02.2013 в 15:03.
Bulatovor вне форума   Ответить с цитированием
Старый 08.03.2013, 11:01   #58
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию

Сегодня нашел наконец библиотеку delay.h, оказывается она есть в Arduino? только глубоко закопана. Я так понимаю по умолчанию там она опирается на частоту проца в 1 МГц, соответственно мне нужно править библиотеку на 16 Метров?
Bulatovor вне форума   Ответить с цитированием
Старый 08.03.2013, 14:52   #59
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

В библиотеке nanopins добавил delay_us() и delay_ms()
За основу взял либу delay.h
Admin вне форума   Ответить с цитированием
Старый 08.03.2013, 17:51   #60
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию

Спасибо. Совсем универсальная библиотека становится. Эта функция настороена на 16 Мгц?
Bulatovor вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 73 (пользователей: 0 , гостей: 73)
 

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

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

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


Текущее время: 02:08. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика