Продолжаем эксперименты. В это посту, по просьбам читателей ))), постараюсь рассказать про подключение модуля реле к контроллеру Arduino и управление им по bluetooth. Для этого нам понадобятся:
1. контроллер Arduino (mini, uno, nano, mega… любой);
2. ПК с любой операционной системой под которой можно установить Arduino IDE (Windows, Linux, MacOS);
3. модуль реле (1,2,4,8 и т.д. шт). Впринципе моно собрать самому на реле SONGLE, оптроне 817С и жменьке деталюшек, но наши Китайские друзья облегчели нам жизнь )));
4. модуль Bluetooth. В моем случае это HC-06;
5. Телефон или планшет с android и bluetooth.
Детали куплены тут
Поехали!
1. Устанавливаем Arduino IDE, об этом достаточно много статей.
2. Подключаем наш контроллер ардуино и запускаем arduino IDE. Если драйвера на контроллер стали ровно, то в среде разработке в пункте меню "Сервис" на вкладке "плата" мы увидим название своей ардуины и на вкладке "порты" порт USB к которой подключен контроллер.
Для того чтобы убедиться что все работает можем загрузить в контроллер тестовый скетч "Blink". Открываем его "Файл"->"примеры"->"01.Basics"->"Blink". Загружаем на плату кнопкой "Файл"->"Загрузить", если внизу видим надпись "Загрузка выполнена" значит все гуд, перегружаем плату и видим моргающий светик на ней. Если видим красное поле и ошибки, то возвращаемся к п.1 и внимательно читаем статьи по установке и подключению контролера к ПК.
3. Подключаем модуль реле. В моем случаем это модуль из 4-х реле. Для теста я подключил всего одно реле на нем, пин "IN1". Итак, пин "VCC" модуля реле подключаем к "+5V" ардуины, GND к GND, пины IN1,2,3,4… к цифровым портам D2-D13. (в моем случае IN1 к порту D7)

4. Подключаем bluetooth модуль (у меня HC-06). нам понадобиться 4 провода:
"VCC"-он же "+5в", можем взять от ардуины от соответствующего порта "+5V";
"GND" он же земля, берем так же от ардуины с любого пина "GND";
"TXD" модуля подключаем к пину "RX" ардуины;
"RXD" модуля подключем к пину "TX" ардуины.
Если последние два пина на плает ардуины не подписаны, то ищем на нее мануал и смотрим там.

5. На мобильном устройстве заходим в Google Play и качаем от туда "bluetooth terminal".
Программирование:
Для начало разберемся как оно все будет работать. Bluetooth модуль будет общаться с нашим контроллером в терминальном режиме, по средствам последовательного интерфейса. Не вдаваясь в подробности работы, контроллер будет записывать в порт и читать с него то что мы скажем, практически "русским языком", средствами метода "Serial". Контроллер по получению определенной команды с bluetooth будет управлять цифровым портом к которому подключено реле, подавая на него логическую "1" или "0", другим словами подавая +5В и 0В на пин порта, функцией digitalWrite. Начнем:
int val; //переменная в которую будем записывать команды по bluetooth
int Reley1 = 7; // порт к которму подключен пин IN реле. (порт D7, пин IN1)
void setup()
{
Serial.begin(9600); // запускаем работу с портом
pinMode(Reley1, OUTPUT); //говорим, что порт Reley1, т.е. порт D7 явлюяется портом вывода
Serial.println("Press 1 to ON or 0 to OFF");
}
void loop()
{
if (Serial.available()) //если из последовательного интерфейса что пришло, значит…
{
val = Serial.read(); // заносим в переменную val, то что пришло в порт
if (val == '1') // если пришел символ "1" включаем реле, т.е. подаем высокий уровень на пин D7
{
digitalWrite(Reley1, HIGH);
Serial.println("Reley1 — ON");
}
if ( val == '0') // если пришел символ "0" выключаем реле
{
digitalWrite(Reley1, LOW);
Serial.println("Reley1 — OFF");
}
}
}
Скетч готов. Теперь подключаем к реле девайс, которым будем управлять. В моем случае это 12В кулер. Подключаем "+" от куллера к реле, "-" к "-" источника питания для куллера, провод от реле подключаем к "+12в" того же источника питания.


Заливаем скетч в контроллер, кнопками "ctrl+U".
Запускаем на андроиде программу bluetooth terminal, подключаемся к устройству bluetooth HC-06, вводим пароль "1234". Пишем в порт цифру "1" и жмем кнопку "Send" — куллер включился, пишем "0" куллер выключился…
P.S.: Все выше написанное есть основа и самое элементарное. Дальнейшее развитие интерфеса зависит только от полета творческой мысли и знаний языков программирования. К модулю реле моно подключать что угодно! Для постоянки не более 30В и 10А, для переменки не более 250В и 10А! у реле есть два выхода "нормально разомкнутый" и "нормально замкнутый" в примере использовалось подключение к нормально разомкнутому контуру. Реле используется как обычный, бытовой выключатель. В модуле реле используется оптическая развязка оптроном, так что моно не ботся за выход из строя контроллера. Для данного проетка не требуется дополнительно питания +5В для контроллера и модулей, потребление очень низкое, порт USB вполне тянет.
источники:
Подключения модуля реле
Подключение модуля bluetooth HC-06

Комментарии 25
Здравствуйте. Я хочу управлять двумя-тремя реле ( можно больше). Подскажи пожалуйста, как сделать, чтоб реле работало в режиме: "написал 1->замкнуло на 1сек". Ещё раз снова написал 1 замкнуло на 1сек. И так 3 канала например на Arduino Nano
на самом деле сделал охриненую секретку в тачку поменяв пароль на блютус модуле, установив несколько реле написал приложение на мобилу с упровлением, а в приложуньке прописал несколько кнопок вкл выкл все реле .на 2,4ггц ни один граббер не работает там нет ничего так как ихняя рабочая частотная сетка находится на 333-1ггц. грубо тачку закрыли на сигналку а на мобилке нажали вкл секретку, а одно реле разорвало цепь цз и хоть обграббься и обнажимайся двери хер откроются. а другие реле на блок управление двигателя и бензонасоса антенну имобилайзера. и куда хватит фантазии.
в принципе всем можно управлять через терминал
а возможно вместо телефона использовать пульт Bluetooth?
Да поидее да, сложного врядли там чтото привалит. Проблемой только может быть сам коннект. Ну я так вижу )))
Кто поможет? Не могу подключить блютуз модуль к телефону.
зайди в настройки в раздел Bluetooth должно высветится HC-06 или
05 нажимаешь там надо будет ввести пароль 1234 либо 0000
Спасибо конечно за подсказку, но я так и сделал, ни че не получается.
Как мы можем одновременно подключить bluetooth модуль и реле к +5v ардуины?
Для эксперимента на одно реле модуля тока модуля вполне хватает. А вообще подразумевается, что +5 берется не с USB, через ардуино, а с БП на +5
Как сделать так, что бы при подключении к BT телефоном, кулер — включался, при отключении от сети — кулер отключался…
Приветствую Подскажите пожалуйста. Можно ли сделать так, что бы при обнаружении модулем HC-06 моего телефона, на реле приходил сигнал?
Да. Не скажу точно по синтаксису как, но идея в следующем:
Если произошел конект, то выполнять действие. Или проверять с кем законектился HC-06 и как только там будет имя телефона выполнять действие
меня скорее всего это мало устроит… у меня музыка в машине играет через блютюз с телефона. телефон врятли сможет сразу с двумя устройствами общаться
По идее можно опрашивать устройства в зоне видимости, но не коннектится к нему
Здравствуйте! А подскажите почему может рэлюшка автоматически включаться ?
Сделал все по вашему примеру. Подаю питание на ардуину — через насколько секунд сама включается рэлюшка и если отправлять 0 то релюшка включается, а если 1 то выключается, что может быть? Использую блок 8 рэле, ардуина мега и блютус 5. хотя даже когда блютус не подключен рэлюшка включается
у меня на сигнал вообще не откликается
Вообще можешь помочь подключить 8 релейный модуль к ардуине точнее скейч?
Запусти для одного канала, если все пойдет, то сделаю для 8
хорошо) попробую)
слушай че то скейч ругается, в чем дело (exit status 1
'Reley' was not declared in this scope)
Скетч исправил, извини, была ошибка.
Молодец
Спасибо!
Хорошо!
Будем продолжать. На подходе контроллер аквариума.