Небольшая предыстория.
Думаю у меня как и у многих из вас, воду из-под крана пить не хочеться со всем, кто-то ставит фильтры, а кто-то как я покупает привозную воду в 19л баклагах + помпы.
Недавно, катил я не велосипеде и думал о прекрасном, не заметил бордюр, упал и сломал руку. Как вы сами понимаете, качать помпу и держать стаканчик вообще не удобно и вместо покупки кулера для воды который с краниками и гравитация наполнил бы мой стаканчик я решил собрать супер простенькую схему!
Что понадобиться:
1. Ардуино нано у меня уже с впаянными ножками от одного из прошлых проектов.
2. Ультразвуковой датчик расстояния HC-SR04 далее в тексте просто датчик
3. Mosfet Кнопка IRF520
4. Разъем Питание Jack
5. Micro погружной насос 3V - 6V
6. Блок питания от старого роутера, Output 9V
7. 1 метр провода для питания насоса
8. 1 метр трубки ПВХ d8/5мм
9. Корпус для самоделок ABS 100x60x25 мм
10. неведомая мне хрень в качестве насадки на трубку с поворотом на 90 градусов.
Начинаем сборку.
Первое, что я сделал определился с внешним видом и ориентацией всего устройства, изначально планировал вывести трубку между двумя модулями датчика trig & echo но, не смог придумать удобный уголок для трубки, поэтому решил вывести трубку на фронтальной стороне корпуса, как можно ближе к датчику, что из этого вышло ниже на фото
Как видите трубка от помпы входит в корпус с тыльной стороны, а на лицевой уже стильная приблуда)
Снизу просверлил и вывел модули датчика.
Сверху в корпусе, так же сделал пару небольших отверстий, одно для разъема питания, второй для вывода питания на насос.
Это то, что касается наружного вида, теперь же откроем крышку.
Первое на что вы можете обратить внимание это датчик не полностью высунут, проблема в ножках в корпусе, будь у меня две руки, я бы от них избавился.
Также постарался по минимуму обойтись паяльником, собственно я его использовал только для того, что бы припаять питание. Выгнул ровно ножки на датчике, я соединил с ардуино обычными макетными проводами мама-мама, 2 провода питание ушли в 5v и землю и два провода trig & echo подключенные к 10 и 11 пину соответственно. К 12 пину подключил мосфит, как вы можете заметить от разъема питания уходит две пары проводов, паралельно питая ардуино и насос. Схема как я и говорил супер простая.
Весь сей агрегат, закреплен синей изолентой на алюминиевой рейке согнутой П-образно и вставленной в баклажку.
Теперь софт, я использовал пример кода с вики амперки:
Как видим раз в пол секунду датчик делает замер и если условия соблюдены включает помпу.
Как можно модифицировать спросите вы(или не спросите)?
Первое, что приходит мне в голову, вывести семисегментный индикатор или группу и показывать количество выпитых чашек воды за день.
Второе, не всегда нужно набирать чашку, а вдруг чайник или каструлю, держать на весу не удобно, (хотя подобные емкости проще все же обычной ручной помпой набирать, ставишь на пол и вперед здоровой рукой качать) но все же, добавить несколько кнопок на корпусе не составит большого труда.
Можно пойти еще дальше, подключить например экран и добавить больше настроек, типа - нажал на кнопку и крутишь потенциометр выбирая сколько секунд лить воды.Полет фантазии не ограничен)
Но было бы все гладко, было бы не так интересно. Внимательные могли заметить, что в ифе, два условия, если меньше 10 см и больше 3см расстояние включить помпу, я рассчитывал, что ограничение в 3см позволит предотвратить переливание, но к сожалению, я уже позже понял, что вода не является достаточным препятствием для датчика и показатели не точные. Возможно кто-то из вас, дорогие товарищи DIY'щики подскажет альтернативные способы обхода этой проблемы, или другие датчики.
Всем спасибо за внимание и удачи в своих проектах!
Думаю у меня как и у многих из вас, воду из-под крана пить не хочеться со всем, кто-то ставит фильтры, а кто-то как я покупает привозную воду в 19л баклагах + помпы.
Недавно, катил я не велосипеде и думал о прекрасном, не заметил бордюр, упал и сломал руку. Как вы сами понимаете, качать помпу и держать стаканчик вообще не удобно и вместо покупки кулера для воды который с краниками и гравитация наполнил бы мой стаканчик я решил собрать супер простенькую схему!
Что понадобиться:
1. Ардуино нано у меня уже с впаянными ножками от одного из прошлых проектов.
2. Ультразвуковой датчик расстояния HC-SR04 далее в тексте просто датчик
3. Mosfet Кнопка IRF520
4. Разъем Питание Jack
5. Micro погружной насос 3V - 6V
6. Блок питания от старого роутера, Output 9V
7. 1 метр провода для питания насоса
8. 1 метр трубки ПВХ d8/5мм
9. Корпус для самоделок ABS 100x60x25 мм
10. неведомая мне хрень в качестве насадки на трубку с поворотом на 90 градусов.
Начинаем сборку.
Первое, что я сделал определился с внешним видом и ориентацией всего устройства, изначально планировал вывести трубку между двумя модулями датчика trig & echo но, не смог придумать удобный уголок для трубки, поэтому решил вывести трубку на фронтальной стороне корпуса, как можно ближе к датчику, что из этого вышло ниже на фото
Как видите трубка от помпы входит в корпус с тыльной стороны, а на лицевой уже стильная приблуда)
Снизу просверлил и вывел модули датчика.
Сверху в корпусе, так же сделал пару небольших отверстий, одно для разъема питания, второй для вывода питания на насос.
Это то, что касается наружного вида, теперь же откроем крышку.
Первое на что вы можете обратить внимание это датчик не полностью высунут, проблема в ножках в корпусе, будь у меня две руки, я бы от них избавился.
Также постарался по минимуму обойтись паяльником, собственно я его использовал только для того, что бы припаять питание. Выгнул ровно ножки на датчике, я соединил с ардуино обычными макетными проводами мама-мама, 2 провода питание ушли в 5v и землю и два провода trig & echo подключенные к 10 и 11 пину соответственно. К 12 пину подключил мосфит, как вы можете заметить от разъема питания уходит две пары проводов, паралельно питая ардуино и насос. Схема как я и говорил супер простая.
Весь сей агрегат, закреплен синей изолентой на алюминиевой рейке согнутой П-образно и вставленной в баклажку.
Теперь софт, я использовал пример кода с вики амперки:
C-like:
#include <NewPing.h> //Подключаем либу
#define TRIGGER_PIN 10
#define ECHO_PIN 11
#define MAX_DISTANCE 200
#define POMP 12
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
pinMode(POMP, OUTPUT);
}
void loop() {
delay(500);
if(sonar.ping_cm() < 10 && sonar.ping_cm() > 3){ //Если поднесли чашку ближе чем на 10 см включаем помпу
digitalWrite(POMP, HIGH);
} else {
digitalWrite(POMP, LOW);
}
}
Как можно модифицировать спросите вы(или не спросите)?
Первое, что приходит мне в голову, вывести семисегментный индикатор или группу и показывать количество выпитых чашек воды за день.
Второе, не всегда нужно набирать чашку, а вдруг чайник или каструлю, держать на весу не удобно, (хотя подобные емкости проще все же обычной ручной помпой набирать, ставишь на пол и вперед здоровой рукой качать) но все же, добавить несколько кнопок на корпусе не составит большого труда.
Можно пойти еще дальше, подключить например экран и добавить больше настроек, типа - нажал на кнопку и крутишь потенциометр выбирая сколько секунд лить воды.Полет фантазии не ограничен)
Но было бы все гладко, было бы не так интересно. Внимательные могли заметить, что в ифе, два условия, если меньше 10 см и больше 3см расстояние включить помпу, я рассчитывал, что ограничение в 3см позволит предотвратить переливание, но к сожалению, я уже позже понял, что вода не является достаточным препятствием для датчика и показатели не точные. Возможно кто-то из вас, дорогие товарищи DIY'щики подскажет альтернативные способы обхода этой проблемы, или другие датчики.
Всем спасибо за внимание и удачи в своих проектах!