То есть в "неголом" скетче что-то просто не всегда успевает срабатывать. Было бы интересно датчики на прерывания попробовать повесить..
На это у меня пока знаний не хватает,уже готовлю тиньку13,пока залил в блок скетч выше,работает изумительно- даже если быстро рукой махнуть срабатывает моментально,в любой момент)
В любом случае буду блок переделывать,уже едут голые atmega328 ,да и радиомодуль хотелось добавить..
Araris при такой четкой работе датчиков прохода необходимость в пир датчике отпала полностью. Так как плату все равно переделывать думаю над целесообразностью использовать голый чип, места не выиграешь особо ,а возможности горячей замены лишишься ,да и перепрошивать будет не очень удобно :)
Araris при такой четкой работе датчиков прохода необходимость в пир датчике отпала полностью. Так как плату все равно переделывать думаю над целесообразностью использовать голый чип, места не выиграешь особо ,а возможности горячей замены лишишься ,да и перепрошивать будет не очень удобно :)
А мне идея с голым чипом представляется простой и надежной (и недорогой). Опять же, по причине простоты, часто ли Вы будете перепрошивать ?
По цене тоже самое ,с радио модулем в программной части пока не очень получается.. Прошивать не часто, так как все это дело под подвесным потолком… Видимо в программирование на дано разобраться ,туповат и стар :) .Бьюсь над структурой передачи данных, точнее не могу понять еще. Модули наNRF2401.. Темы на форуме читал, но пока слабо доходит:)
Подвесной только в ванной ,да и не очень удобно, надо добить радио модули, чтобы в будущем добавлять новые устройства без проблем. Тем паче ремонт в большей части квартиры уже сделан, так очень проблематично.. Радиомодуль придется ставить не под потолком, отдельным модулем. Едет еще 4 к 5 имеющимся..
я не говорю, что что то не работает, я просто предлагаю алтернативу... Я не проверял как работает, но посмотрев по коду глазами получается, что счетчик сработает когда человек полностью зайдет в ванную... Если я захожу, но не полностью, стою в проходе перекрыв датчики ( Смотрю где кот спрятался:) ) Мне уже нужно что бы свет горел ( сработал счетчик +1, свет включился )... постоял, увидел что сидит, и вышел ( сработал счетчик -1, свет погас ) ...
Много ли смысла в выкладывании кода, который "...Я не проверял как работает, но посмотрев по коду глазами получается, что счетчик сработает..." ? Если это не Ваш код, то уместно бы ссылку на первоисточник.
нет ,просто корпус переделал... Платы не трогал. Я бы попробывал уменьшить,но просто лень пока. После того как на свет поставил отдельно тини 13 не было ни одного случая ,чтоб не сработал.
Гости обычно с мобильниками ходят. Там тоже блюпуп есть. Да и в целом я так и не пойму чем вас не устраивает обычный датчик по примеру как в туалетах ставят на автосмыв. Типа отошел оно смыло. Да и время можно засекать как долго блокировался датчик и от времени включать вентиляторы и прочее.
ТО есть чтоб помытся надо не отходить от толчка ? :) (санузел совмещенный)
Это не совмещенный санузел, а полная ванная комната! Есть половинка ванной комнаты это когда унитаз и умывальник. А просто унитаз в шкафу это нигде кроме России не встречал.
Ничто не мешает отрегулировать дальность датчикм до двери. Пока блокируется значит кто то есть внутри.
здесь передатчик и приемник на одной плате,у меня разнесены по разные стороны дверного проема,то есть излучатели с одной стороны,приемники с другой. А так ,как плата с приемником ,подойдет,только выпаять излучающий светодиод ,удлинить провода и закрепить напротив с другой стороны дверного проема или запитать его отдельно.
Аналогично сделанному в турникетах в метро.
2 ИК приемника ,1 или 2 ИК передатчика,в зависимости от расстояния.
Вынашиваю аналогичную идею порядка полугода - слишком поздно обнаружил данный форум, мог избежать многих ошибок, ну да ладно.
На данный момент у меня на стенде к BeagleBone Black подлючены PIR сенсор и счетчик числа проходов на базе двук ИК сенсоров.
Прочитав данную ветку форума не смог уяснить для себя вот что: как эта автоматизация сочетается с классическим настенным выключателем света? Или его просто замуровали, отдав на откуп управление светом полностью автоматике?
В этом случае стандартный настенный выключатель заменяется выключателем без фиксации (типа кнопка), который управляет перекидным контактом импульсного реле, а автоматика управляет контактами включить и отключить. Таким образом гостям и прочим непосвященным не надо объяснять почему можно не пользоваться выключателем, и в случае выхода из строя какого либо компонента автоматизации всегда остается ручной контур управления.
Подскажите, как у Вас автоматизация света вяжется с настенным выключателем света? Возможно у Вас более красивое решение?
Подскажите, как у Вас автоматизация света вяжется с настенным выключателем света? Возможно у Вас более красивое решение?
У меня в ванной образно говоря 2 лампы . Первая полностью автомат,вторую можно включить обычным настенным выключателем(кнопочным) по радиоканалу или с телефона . С таймером автовыключения ибо автосвет удобная штука ,а клавишный забываешь выключать.
У меня везде автоматика и ручное управление дублирируют друг друга. Простыми словами, контакты реле включены параллельно контактам ручного выключателя. Наличие ручного управления, во-первых, удобно "непосвященным" гостям, во-вторых, сбои/отказы контроллеров не ведут к полной потере управления.
То есть в "неголом" скетче что-то просто не всегда успевает срабатывать. Было бы интересно датчики на прерывания попробовать повесить..
То есть в "неголом" скетче что-то просто не всегда успевает срабатывать. Было бы интересно датчики на прерывания попробовать повесить..
На это у меня пока знаний не хватает,уже готовлю тиньку13,пока залил в блок скетч выше,работает изумительно- даже если быстро рукой махнуть срабатывает моментально,в любой момент)
В любом случае буду блок переделывать,уже едут голые atmega328 ,да и радиомодуль хотелось добавить..
макет тестовые испытания прошел успешно :) Можно сделать отдельный проект...
P.S. Спасибо за собранный в одном месте материал HWman !
Да пожалуйста.
Araris при такой четкой работе датчиков прохода необходимость в пир датчике отпала полностью. Так как плату все равно переделывать думаю над целесообразностью использовать голый чип, места не выиграешь особо ,а возможности горячей замены лишишься ,да и перепрошивать будет не очень удобно :)
А мне идея с голым чипом представляется простой и надежной (и недорогой). Опять же, по причине простоты, часто ли Вы будете перепрошивать ?
По цене тоже самое ,с радио модулем в программной части пока не очень получается.. Прошивать не часто, так как все это дело под подвесным потолком… Видимо в программирование на дано разобраться ,туповат и стар :) .Бьюсь над структурой передачи данных, точнее не могу понять еще. Модули наNRF2401.. Темы на форуме читал, но пока слабо доходит:)
А проводок к Ардуино над подвесным потолком протянуть ? Или я неправильно понимаю идею.
Подвесной только в ванной ,да и не очень удобно, надо добить радио модули, чтобы в будущем добавлять новые устройства без проблем. Тем паче ремонт в большей части квартиры уже сделан, так очень проблематично.. Радиомодуль придется ставить не под потолком, отдельным модулем. Едет еще 4 к 5 имеющимся..
Хочу предложить такой вариант обработки
для ванной комнаты (где нужно управлять светом)
01
bool
IR1_state_old=0;
02
bool
IR2_state_old=0;
03
04
bool
IR1_state_new=0;
05
bool
IR2_state_new=0;
06
07
void
loop
()
08
{
09
IR1_state_new = !digitalRead(IR_SWITCH1_PIN);
// inverse
10
IR2_state_new = !digitalRead(IR_SWITCH2_PIN);
// inverse
11
12
////////// Analyze Start
13
if
(IR1_state_new != IR1_state_old || IR2_state_new != IR2_state_old)
// изменение состояния
14
{
15
if
(IR1_state_new != IR1_state_old && IR2_state_new != IR2_state_old)
16
{
17
// одновременно изменилось состояние у обоих датчиков
18
// определить направление невозможно
19
// нужно разместить датчики подальше
20
}
21
else
22
{
23
if
(IR2_state_new != IR2_state_old)
24
{
25
if
(IR2_state_new = 1 && IR1_state_new = 1)
26
{
27
Human_Counter_New++;
28
// человек заходит, но пока находиться в проходе
29
}
30
if
(IR2_state_new = 0 && IR1_state_new = 1)
31
{
32
Human_Counter_New--;
33
// человек находился в проходе, выходит из комнаты
34
}
35
}
36
}
37
IR1_state_old=IR1_state_new;
38
IR2_state_old=IR2_state_new;
39
}
40
////////// Analyze End
41
if
( Human_Counter_New < 0 ) { Human_Counter_New = 0; }
42
//...
43
//...
44
}
вот список всех состояний
01
if
(IR1_state_new != IR1_state_old || IR2_state_new != IR2_state_old)
// изменение состояния
02
{
03
if
(IR1_state_new != IR1_state_old && IR2_state_new != IR2_state_old)
04
{
05
// одновременно изменилось состояние у обоих датчиков
06
// определить направление невозможно
07
// нужно разместить датчики подальше
08
}
09
else
10
{
11
if
(IR1_state_new != IR1_state_old)
12
{
13
if
(IR1_state_new = 1 && IR2_state_new = 1) {
/* человек выходит, но пока находится в проходе */
}
14
if
(IR1_state_new = 1 && IR2_state_new = 0) {
/* человек собирается войти */
}
15
if
(IR1_state_new = 0 && IR2_state_new = 1) {
/* человек находился в проходе, заходит в комнату */
}
16
if
(IR1_state_new = 0 && IR2_state_new = 0) {
/* состояние ожидания, человек зашел или вышел */
}
17
}
18
else
19
{
20
if
(IR2_state_new = 1 && IR1_state_new = 1) {
/* человек заходит, но пока находится в проходе */
}
21
if
(IR2_state_new = 1 && IR1_state_new = 0) {
/* человек собирается выйти */
}
22
if
(IR2_state_new = 0 && IR1_state_new = 1) {
/* человек находился в проходе, выходит из комнаты */
}
23
if
(IR2_state_new = 0 && IR1_state_new = 0) {
/* состояние ожидания, человек зашел или вышел */
}
24
}
25
}
P.S. Если это совсем не то что надо или что напутал, то извиняйте. С электроникой совсем не знаком
Всё уже давно работает, ТС все уже написал :)
Проверенный вариант :
01
#define IR_SWITCH1_PIN 1 // pin connected to IR switch 1
02
#define IR_SWITCH2_PIN 0 // pin connected to IR switch 2
03
#define LampRELE1 3
04
#define LampRELE2 2
05
06
bool
IR1_state=0;
07
bool
IR2_state=0;
08
bool
IR1_already=0;
09
bool
IR2_already=0;
10
bool
IR1IR2_already=0;
11
int
IR1IR2_first=0;
12
int
Human_Counter_New=0;
13
int
Human_Counter_Old=0;
14
15
void
setup
()
16
{
17
18
pinMode(IR_SWITCH1_PIN, INPUT);
19
pinMode(IR_SWITCH2_PIN, INPUT);
20
pinMode(LampRELE1, OUTPUT);
21
pinMode(LampRELE2, OUTPUT);
22
23
}
24
25
void
loop
()
26
{
27
28
IR1_state = digitalRead(IR_SWITCH1_PIN);
// inverse
29
IR2_state = digitalRead(IR_SWITCH2_PIN);
// inverse
30
if
( !IR1_state && !IR2_state)
// IR1 off, IR2 off.
31
{
32
if
( IR1IR2_first > 0 && IR1IR2_already && IR1_already && IR2_already)
33
{
34
if
( IR1IR2_first == 1) {
35
Human_Counter_New++;
36
}
37
else
{
38
Human_Counter_New--;
39
}
40
}
41
IR1_already = 0;
42
IR2_already = 0;
43
IR1IR2_already = 0;
44
IR1IR2_first = 0;
45
}
46
if
( IR1_state && !IR2_state)
// IR1 on, IR2 off.
47
{
48
IR1_already = 1;
49
if
( !IR2_already ) {
50
IR1IR2_first = 1;
51
}
52
}
53
if
( !IR1_state && IR2_state)
// IR1 off, IR2 on.
54
{
55
IR2_already = 1;
56
if
( !IR1_already ) {
57
IR1IR2_first = 2;
58
}
59
}
60
if
( IR1_state && IR2_state)
// IR1 on, IR2 on.
61
{
62
IR1IR2_already = 1;
63
}
64
if
( Human_Counter_New < 0 ) {
65
Human_Counter_New = 0;
66
}
67
if
( Human_Counter_New != Human_Counter_Old )
68
{
69
Human_Counter_Old = Human_Counter_New;
70
}
71
if
( Human_Counter_New > 0)
72
{
73
digitalWrite(LampRELE1,HIGH);
74
}
75
else
{
76
digitalWrite(LampRELE1,LOW);
77
}
78
if
( Human_Counter_New > 1)
79
{
80
digitalWrite(LampRELE2,HIGH);
81
}
82
else
{
83
digitalWrite(LampRELE2,LOW);
84
}
85
}
я не говорю, что что то не работает, я просто предлагаю алтернативу... Я не проверял как работает, но посмотрев по коду глазами получается, что счетчик сработает когда человек полностью зайдет в ванную... Если я захожу, но не полностью, стою в проходе перекрыв датчики ( Смотрю где кот спрятался:) ) Мне уже нужно что бы свет горел ( сработал счетчик +1, свет включился )... постоял, увидел что сидит, и вышел ( сработал счетчик -1, свет погас ) ...
из опыта понял понял,что всё надо обкатывать в реальных условиях и не один день чтоб понять. А так да,кому как удобнее,согласен.
Много ли смысла в выкладывании кода, который "...Я не проверял как работает, но посмотрев по коду глазами получается, что счетчик сработает..." ? Если это не Ваш код, то уместно бы ссылку на первоисточник.
Это было сказано про код в сообщении #413
Простите, не так понял.
Можно проверить код на макете,благо он ещё не разобран..
Немного переоформил ИК датчики
Ага, увеличили расстояние между датчиками. Стало четче срабатывать ?
нет ,просто корпус переделал... Платы не трогал. Я бы попробывал уменьшить,но просто лень пока. После того как на свет поставил отдельно тини 13 не было ни одного случая ,чтоб не сработал.
После того как на свет поставил отдельно тини 13 не было ни одного случая ,чтоб не сработал.
Пойду тем же путем.
Думаю не пожалеешь
Все балуетесь :)
Щас вон браслетики с блютусом. Берем BLE модуль и настраиваем его на радиус туалета. Как ток чуем браслет значит кто то есть.
Да, очень удобно будет, еще каждому гостю по браслетику выдавать и на выходе не забыть проверить, сдал ли браслетик.
Гости обычно с мобильниками ходят. Там тоже блюпуп есть. Да и в целом я так и не пойму чем вас не устраивает обычный датчик по примеру как в туалетах ставят на автосмыв. Типа отошел оно смыло. Да и время можно засекать как долго блокировался датчик и от времени включать вентиляторы и прочее.
У каждого своя специфика :)
У каждого своя специфика :)
Угу. Ваше решение навевает мысль о доработке турникета и предоплаченых карточках на посещение.
ТО есть чтоб помытся надо не отходить от толчка ? :) (санузел совмещенный)
ТО есть чтоб помытся надо не отходить от толчка ? :) (санузел совмещенный)
Это не совмещенный санузел, а полная ванная комната! Есть половинка ванной комнаты это когда унитаз и умывальник. А просто унитаз в шкафу это нигде кроме России не встречал.
Ничто не мешает отрегулировать дальность датчикм до двери. Пока блокируется значит кто то есть внутри.
Для меня мой вариант самое оптимальное решение
Araris ,проект закончил ,фотки как просили в моей теме,свет так и оставил на тиньке 13 , пока всё как часы :)
Софт как и железо притерпел изменения ,с возможностью управлять всем дистанционно и выставлять порог влажности для срабатывания вытяжки .
Благодарю, обязательно воспользуюсь ))
Софт не выкладывал..
Araris ,проект закончил ,фотки как просили в моей теме,свет так и оставил на тиньке 13 , пока всё как часы :)
Софт как и железо притерпел изменения ,с возможностью управлять всем дистанционно и выставлять порог влажности для срабатывания вытяжки .
А куда выложили то?
Фотки тут http://arduino.ru/forum/proekty/sistema-zashchity-ot-protechki-vody#comment-85219 ,софт никуда
писал до этого здесь про датчики, посмотрите пожалуйста это же тоже самое почти, что вы сделали?
http://www.ebay.com/itm/IR-Infrared-Obstacle-Avoidance-Sensor-Module-for-Arduino-Smart-Car-Robot-3-wire-/251509471182?pt=LH_DefaultDomain_0&hash=item3a8f21f7ce
Можно же купить два таких модуля и поставить друг напротив друга, увеличив расстояния между ик элентами, а то уж сильно близко они на плате?
или я что то неправильно понимаю, а то те мои датчики так и не дошшли.. вернули деньги и дело встало( а щас решил продолжить задуманное)
здесь передатчик и приемник на одной плате,у меня разнесены по разные стороны дверного проема,то есть излучатели с одной стороны,приемники с другой. А так ,как плата с приемником ,подойдет,только выпаять излучающий светодиод ,удлинить провода и закрепить напротив с другой стороны дверного проема или запитать его отдельно.
Аналогично сделанному в турникетах в метро.
2 ИК приемника ,1 или 2 ИК передатчика,в зависимости от расстояния.
получается они будут улавливать на любые прерывания?
в смысле любые? при перекрытия фотоприемника измениться логический уровень на его выходе.
Чуть выше фотки,на первой передатчики,на второй приемники http://arduino.ru/forum/proekty/umnye-tualet-i-vannaya?page=8#comment-77083
все, чет ступил я) уловил сейчас) Спасибо.
закажу на днях, как придут попробую, отпишусь.
Фотки тут http://arduino.ru/forum/proekty/sistema-zashchity-ot-protechki-vody#comment-85219 ,софт никуда
Если софт продавать не планируете, тоже бы не помешало выложить..
Пока не готов,зависит не от меня. Схемой могу поделиться легко, в формате Eagle
Да не, я так, просто как пожелание.
Поделитесь ссылками на датчики, где купить можно. Точно таких же не нашел, а в маркировке плохо разбираюсь
Я датчики сам делал,а так 2 штуки тахих можно с переделкой http://www.ebay.com/itm/IR-Infrared-Obstacle-Avoidance-Sensor-Module-for-Arduino-Smart-Car-Robot-3-wire-/251509471182?pt=LH_DefaultDomain_0&hash=item3a8f21f7ce
Я имел ввиду на составляющие, ик диоды и ик датчики… Но так будет даже лучше. Спасибо
Доброго времени суток!
Вынашиваю аналогичную идею порядка полугода - слишком поздно обнаружил данный форум, мог избежать многих ошибок, ну да ладно.
На данный момент у меня на стенде к BeagleBone Black подлючены PIR сенсор и счетчик числа проходов на базе двук ИК сенсоров.
Прочитав данную ветку форума не смог уяснить для себя вот что: как эта автоматизация сочетается с классическим настенным выключателем света? Или его просто замуровали, отдав на откуп управление светом полностью автоматике?
Для себя позаимствовал решение на основе импульсного реле, типа такого: http://meandr.ru/rele-impulsnye-rio2
В этом случае стандартный настенный выключатель заменяется выключателем без фиксации (типа кнопка), который управляет перекидным контактом импульсного реле, а автоматика управляет контактами включить и отключить. Таким образом гостям и прочим непосвященным не надо объяснять почему можно не пользоваться выключателем, и в случае выхода из строя какого либо компонента автоматизации всегда остается ручной контур управления.
Подскажите, как у Вас автоматизация света вяжется с настенным выключателем света? Возможно у Вас более красивое решение?
Заранее благодарен.
Подскажите, как у Вас автоматизация света вяжется с настенным выключателем света? Возможно у Вас более красивое решение?
У меня в ванной образно говоря 2 лампы . Первая полностью автомат,вторую можно включить обычным настенным выключателем(кнопочным) по радиоканалу или с телефона . С таймером автовыключения ибо автосвет удобная штука ,а клавишный забываешь выключать.
У меня везде автоматика и ручное управление дублирируют друг друга. Простыми словами, контакты реле включены параллельно контактам ручного выключателя. Наличие ручного управления, во-первых, удобно "непосвященным" гостям, во-вторых, сбои/отказы контроллеров не ведут к полной потере управления.
Хочу подтвердить полную работоспособность схемы датчиков прохода для включения света в ванной )
Второй год работает без всяких нареканий,не было не одного случая несрабатывания )