Защита от ложного срабатывания при залитии кнопки водой

alexnf
Offline
Зарегистрирован: 13.03.2015

Как защитить кнопку от ложного срабатывания при залитии водой?

Кнопка управляет ардуиной, подачей через нее минуса

pinMode(BUTTON_PIN_1 , INPUT);

Защита от дребезга реализована через библиотеку 

#include <Bounce2.h> 

Будет установлена на улице (на мотоцикле), есть шанс замочить контакты. Заметил, что если мокрым пальцем коротнуть контакты, то этого уже достаточно для срабатывания, то есть при залитии появятся самопроизвольные нажатия.

Как защититься от этого? может последовательно с кнопкой поставить резистор для снижения чувствительности, или можно это решить как то программно? 

alexnf
Offline
Зарегистрирован: 13.03.2015

потерял строку

pinMode(BUTTON_PIN_1 , INPUT); 
digitalWrite(BUTTON_PIN_1 , HIGH); 
bouncer1 .attach(BUTTON_PIN_1); 
bouncer1 .interval(5); 

 

gena
Offline
Зарегистрирован: 04.11.2012

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

Клапауций 234
Offline
Зарегистрирован: 24.10.2016

alexnf пишет:

Как защититься от этого?

подводную кнопку купить, а не ставить на свой мопед гавно и палки, приближая свой и так неминуемый скорый конец.

ema_00_107_11900_Cockpit-Schalter__Sprit

alexnf
Offline
Зарегистрирован: 13.03.2015

Кнопки будут влагозащищенные, но как то не доверяю я им. сверху вода не попадет, а вот со стороны разъема может, при мойке например. Т. е. кнопку не зальеть, но разъем может коротнуть (в теории). Шанс не велик, но хочется его предусмотреть.

Так как все же снизить чувствительность? 

Схема простая земля-кнопка-пин Ардуины.

gena
Offline
Зарегистрирован: 04.11.2012

  Ну, если схема такая простая, то между пином ардуины и +5 В поставьте резистор, номиналом, немного меньшим сопротивления заливающей кнопку и проводку воды. Например 510 Ом.  

Или поместите кнопку в воду и подберите сопротивление этого резистора практически (с гарантией на несработку). Я сам себе удивляюсь от таких советов!

Клапауций 234
Offline
Зарегистрирован: 24.10.2016

alexnf пишет:

Кнопки будут влагозащищенные, но как то не доверяю я им. сверху вода не попадет, а вот со стороны разъема может, при мойке например. Т. е. кнопку не зальеть, но разъем может коротнуть (в теории). Шанс не велик, но хочется его предусмотреть.

Так как все же снизить чувствительность? 

Схема простая земля-кнопка-пин Ардуины.

купить мультиметр, замерить сопротивление кнопки в стакане воды, подключить кнопку с резистором подтяжки меньшим в 10 раз замеренному сопротивлению.

*но. готовься, что твою кнопку таки или иначе сожрёт электролиз через месяц.

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

Разъёмы на транспорте? Хохо, человек, да вы отважный. Нахер всё убрать, насмерть пропаять и защитить термоусадкой, а снаружи ещё эпоксидной смолой замазать. Вы ещё скажите что у вас в ардуину идут цветные проводки со штырьками, как в макетке.

Вместо кнопки кстати неплохо заходит геркон, кусок магнита и пружина.

alexnf
Offline
Зарегистрирован: 13.03.2015

Цветные проводки не идут, а припаяны, но суть не в этом. 

С резистором вариант понятен.

В идеале хотелось бы что-то вроде этого:

Из того что нашел:

Есть какие то варианты реализовать этот вариант в "домашних" условиях?

gena
Offline
Зарегистрирован: 04.11.2012

  "  Нахер всё убрать, насмерть пропаять и защитить термоусадкой, а снаружи ещё эпоксидной смолой замазать." А вот тут с Вами не очень  соглашусь.  Нужно делать так, что бы затруднить проникновение воды к разъёмам, но не лишать возможности доступа воздуха (вентиляции).  Вода, попав в невентилируемое пространство, обеспечит хорошее и длительное корродирование металла. Автомобилисты говорят, что кузов авто быстрее сгнивает в гараже, чем как если бы авто эксплуатировалось.

alexnf
Offline
Зарегистрирован: 13.03.2015

Паял провод датчика АБС прямо возле колеса, а в место спайки под термоусадку закладывал смазку типа ШРУС, потом ее обжимал, выдавливая лишнюю.

По теме может есть еще какие идеи? на последней фотке мембранные кнопки, может их использовать? Как они относятся с воде и перепадам температуры?

Logik
Offline
Зарегистрирован: 05.08.2014

Кнопку в гондон. Ниткой обмотать вокруг выходящего провода. Если не требуется оригинальное дизайнерское решение с пупырышками, то сверху закрыть декоративной накладкой с нарисованой кнопкой.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Поставьте резистор привязки Ом этак 100.....

И хрен вам какая вода сможет сдвинуть эту привязку. :)

Logik
Offline
Зарегистрирован: 05.08.2014

trembo пишет:

Поставьте резистор привязки Ом этак 100.....

И хрен вам какая вода сможет сдвинуть эту привязку. :)

Соленая и не такое сдвигает. А зимой соль щедро сыпят.

Алексей Н
Offline
Зарегистрирован: 02.01.2016

А всякие герметичные корпуса, сальники, кабельные вводы и кнопки нельзя купить?

Клапауций 234
Offline
Зарегистрирован: 24.10.2016

Алексей Н пишет:

А всякие герметичные корпуса, сальники, кабельные вводы и кнопки нельзя купить?

я запретил.

alexnf
Offline
Зарегистрирован: 13.03.2015

Я использую внутренний подтягивающий резистор:

pinMode(BUTTON_PIN_1 , INPUT); 
digitalWrite(BUTTON_PIN_1 , HIGH); 

Он, если не ошибаюсь - 20кОм

Убрать и поставить внешний на 100 Ом? 

Клапауций 234
Offline
Зарегистрирован: 24.10.2016

alexnf пишет:

Убрать и поставить внешний на 100 Ом? 

1 Ом - точно не ошибёшься.

alexnf
Offline
Зарегистрирован: 13.03.2015

а если серьезно?

Клапауций 234 пишет:

 замерить сопротивление кнопки в стакане воды, подключить кнопку с резистором подтяжки меньшим в 10 раз замеренному сопротивлению.

так?

diger67
Offline
Зарегистрирован: 25.07.2015

Когда делал ик кнопку для работы под водой в исполнительном устройстве реализовал обработку длительного нажатия кнопки. Если выдавался короткий мпульс длительностью T, то исполнительное устройство обрабатывало определенный алгоритм, в случае когда длительность была более T*3, то устройство уходило в ошибку и ожидало устранения неисправности. Я бы реализовал совтовое решение. Пример к сожалению выложить не могу т.к. писал на ассемблере для Tiny25.

alexnf
Offline
Зарегистрирован: 13.03.2015

Ну суть понятна без примера. Надо будет подумать, спасибо за идею.