Sanitaryhygiene.ru

Санитары Гигиены
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Беспроводная связь между Ардуино на расстоянии до 1,8 км с модулем HC-12

Беспроводная связь между Ардуино на расстоянии до 1,8 км с модулем HC-12

В этом видео вы узнаете, как связать 2 Ардуино беспроводным способом на расстоянии до 1,8 км на открытом пространстве.

HC-12 – это модуль беспроводной связи с последовательным портом, он очень полезен, очень мощен и легок в использовании.

В первом примере вы узнаете, как просто можно пересылать сообщения между двумя Ардуино беспроводным способом. В следующем примере мы будем посылать сигнал включения/выключения LED индикатору с кнопки, и вы узнаете несколько полезных функций и операторов для передачи данных через беспроводный последовательный порт.

Последняя часть видео необязательна, но в ней вы узнаете, как использовать модуль HC-12 на более продвинутом уровне.
В этой части вы узнаете, как войти в режим настройки модуля HC-12, чтобы изменить скорость передачи, расстояние передачи, и так далее.
И вы узнаете, как подключить внешнюю SMA антенну.

Читайте дальше, и вы узнаете, как просто стать профессионалом в передаче данных на расстоянии.

  1. Нам понадобятся 2 Ардуино. Магазин на Aliexpress, Banggood.
  2. 2 модуля HC-12 (Aliexpress, Banggood)
  3. Провода
  4. Макетная плата (Aliexpress)
  5. Сопротивление 10 kΩ (Aliexpress)
  6. Кнопка
  7. И файлы для этого видео (здесь)

Соединение и настройка

Сначала мы должны припаять антенны к обоим чипам HC-12. Также я припаял несколько разъемов к модулям HC-12, чтобы было легче их использовать на макетной плате.

Мы будем использовать 2 Ардуино, соединенные с модулями HC-12 как показано на картинке.

На обоих Ардуино мы соединяем пин 2 с TX, пин 3 с RX. Земля к Земле, и VCC к 5 Вольт. На одном Ардуино мы добавим кнопку, как показано на картинке.

Чтобы работать с двумя Ардуино на одном компьютере, нам нужно открыть 2 копии Arduino IDE. Это значит, что нам нужно открыть софт Ардуино 2 раза. Это не то же самое, что открыть меню “File → New”

Сохраните проект с кнопкой как “HC-12 sender”, проект без кнопки как “HC-12 receiver”.

Убедитесь, что вы выбрали правильные порты в обоих Ардуино.

Передача беспроводных сообщений, Кнопка-переключатель, Push-кнопка и некоторые полезные функции и операторы.

Скачайте ZIP-архив, чтобы следовать за моим примером.

Передача мгновенных беспроводных сообщений

Мы начнем с передачи мгновенных сообщений между Ардуино.

Скопируйте содержание файла “HC-12 messenger send/receive.txt” из ZIP-архива и вставьте в каждую копию софта Ардуино. Код одинаковый для обоих Ардуино.

После того, как вы загрузили код, откройте serial monitor в обоих копиях софта Ардуино. Теперь вы можете пересылать сообщения от одного Ардуино к другому.

Хотя ваши Ардуино подключены к одному компьютеру, сообщения проходят беспроводным способом.

Кнопка-переключатель

Кнопка-переключатель часто используется в электронике. Ее принцип очень простой. Вы нажимаете кнопку один раз, чтобы включить LED-индикатор, и нажимаете эту же кнопку еще раз, чтобы выключить.

Скопируйте и вставьте содержание файла “HC-12 Toggle Button Send.txt” в проект “HC-12 sender”, и “HC-12 Toggle Button Receive.txt” в проект “HC-12 receiver”, и загрузите программы в Ардуино.

Несколько валидаторов, таких как время срабатывания и код для кнопки были использованы для того, чтобы этот пример работал хорошо.

Push-кнопка

Суть Push-кнопки в том, что, когда вы нажимаете кнопку, LED-индикатор горит, когда вы отпускаете кнопку, индикатор гаснет.

Читайте так же:
Умная розетка от билайна

Скопируйте и вставьте содержание файла “HC-12 Momentary Button Send.txt” в проект “HC-12 sender”, и “HC-12 Momentary Button Receive.txt” в проект “HC-12 receiver”, и загрузите программы в Ардуино.

Некоторые полезные функции и операторы

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

Посмотрите в файлах “HC-12 Useful Functions and Operators Send.txt” и “HC-12 Useful Functions and Operators Receive.txt”.

Программа на передающей стороне на нажатие кнопки посылает строку “test123”.

Программа на принимающей стороне читает строку, разбивает ее и переводит ее в целое число.

Продвинутые настройки. Изменение настроек HC-12 с помощью AT команд

Вы можете пропустить эту часть, так как она будет касаться некоторых продвинутых настроек чипа. Я расскажу об основных настройках, которые касаются скорости передачи данных, мощности передачи, каналов связи и режимов работы.

Полный мануал вы можете найти в ZIP-архиве, он называется HC-12 User Manual.pdf

Соедините модуль HC-12 как показано на картинке, и подключите Ардуино к своему компьютеру.

Скопируйте и вставьте содержимое файла “HC-12 AT Commander.txt” из ZIP-архива, и загрузите его в ваш Ардуино.

Откройте serial monitor и наберите “AT”. Если модуль вернет “OK”, значит, командный режим работает.

Изменение скорости передачи

Скорость передачи может быть изменена на 1200bps, 2400bps,

4800bps, 9600bps, 19,200bps, 38,400bps, 57,600bps, or 115,200bps. Значение по умолчанию 9600bps.

Например, наберите “AT+B4800”. Модуль вернет “OK+B4800”.

Изменение канала связи

Наберите “AT+Cxxx” и затем значение.

Значение может быть числом от 001 до 127.

Каждое следующее число увеличивает частоту передачи на 400 KHz. Рабочая частота канала 100 — 473.0 MHz.

Например, наберите “AT+C021”. Модуль вернет “OK+C021”.

Теперь рабочая частота модуля установлена на 441.4 MHz.

Обратите внимание, что и приемный и передающий модули должны работать на одной частоте.

Изменение рабочего режима модуля

Режимы могут быть FU1, FU2, FU3 или FU4

Модуль в режиме FU4 на скорости передачи 1200 bps может передавать данные на расстояние до 1,8 км на открытой местности.

Подробности смотрите в документации.

Например, наберите “AT+FU4”. Модуль вернет “OK+FU4”.

Получение всех параметров от модуля

Модуль должен вернуть что-то вроде этого:

Пружинная антенна или SMA-антенна

Модули HC-12 в стандартной поставке имеют пружинную антенну. Однако, вы можете использовать SMA-антенну с этим чипом.

По поводу антенн и как они работают написано много книг. Я не хочу углубляться в эту информацию.

Единственное, что можно сейчас запомнить – это то, что электронные схемы могут создавать помехи для антенны, поэтому на плате HC-12 есть гнездо разъема IPEX RF, так что вы можете разделить плату и антенну. Это может помочь для лучшего приема и передачи сигнала.

Вам понадобится IPEX — SMA переходник и SMA-антенна.

Когда вы будете заказывать, убедитесь, что male и female разъемы совпадают.

Вы можете надеть переходник на коннектор IPEX и припаять его. На другой стороне переходника вы можете прикрутить SMA антенну.

В этом видео вы узнали, как использовать чип HC-12 для коммуникации между модулями Ардуино на больших расстояниях. Вы узнали, как пересылать мгновенные сообщения, как сделать кнопку включения/выключения, как сделать push-кнопку, как использовать некоторые функции и операторы, как изменить настройки модуля HC-12, и как использовать другую антенну.

Читайте так же:
Что такое последовательное соединение розеток

На создание этого видео ушло более 100 часов изучения, исследований, тестов, написания кода, и так далее.

Умная розетка с управлением со смартфона по Bluetooth

Умная розетка на Arduino, что может быть проще. Статья о проекте Arduino умной розетки с управлением со смартфона по Bluetooth. Управление реализовано с использованием сервиса RemoteXY. Две розетки, раздельно управляемые со смартфона, размещены на одной платформе со всей необходимой электроникой. Область применения умной розетки достаточно большая. Вы сможете удаленно включать и отключать электрические устройства. Так же данный проект может быть использован как пример для создания более сложных устройств управления электрическими устройствами.

Smart socket

  • Arduino UNO или совместимая плата.
  • Релейный модуль 2 канала с питанием 5В.
  • AC-DC миниатюрный блок питания 12В, 0.15A.
  • Bluetooth модуль HC-05.
  • Розетка 220В 2 шт. (внешняя установка)
  • Вилка 220В с проводом.
  • Контрактная площадка.

Smart socket hardware

Все комплектующие мы разместили на платформе из плиты ДСП размером 155×135 мм. Крепление всех комплектующих к платформе выполнено при помощи шурупов и предварительно просверленных в платформе отверстий. Вариант размещения комплектующих вы можете посмотреть на рисунке. Плата Arduino размещена таким образом, что бы иметь легкий доступ к USB разъему для программирования.

Smart socket layout

На рисунке изображена схема соединения комплектующих. Модуль Bluetooth подсоединен к пинам 2 и 3 Arduino. Для управления реле использованы пины 4 и 5. Вся схема питается от сети 220В через блок питания — миниатюрный AC-DC преобразователь на напряжение 12В. Это напряжение подается на Arduino через пин Vin.

Smart socket scheme

Все высоковольтные соединения выполнены алюминиевым проводом диаметром проводника 1.2 мм. Для соединения высоковольтных проводов использована контактная площадка. Будьте очень осторожны и внимательны при монтаже высоковольтных проводов!

Программное обеспечение

В онлайн редакторе RemoteXY создайте интерфейс. На интерфейсе разместите два больших выключателя. В свойствах выключателей для одного из них выберите свойство «Привязывать к пину» пин 4, для другого пин 5. Это позволит автоматически получить код по управлению пинами с этих выключателей. В настройках проекта выберите тип подключения модуля Bluetooth через SoftwareSerial.

Smart socket GUI

Сформируйте исходный код проекта и загрузите его в Arduino. Исходный код приведен ниже.

/* определение режима соединения и подключение библиотеки RemoteXY */
#define REMOTEXY_MODE__SOFTWARESERIAL
#include <SoftwareSerial.h>
#include <RemoteXY.h>

/* настройки соединения */
#define REMOTEXY_SERIAL_RX 2
#define REMOTEXY_SERIAL_TX 3
#define REMOTEXY_SERIAL_SPEED 9600

/* конфигурация интерфейса */
unsigned char RemoteXY_CONF[] =
< 2,0,30,0,2,5,2,0,6,2
,88,29,1,79,78,0,79,70,70,0
,2,0,6,33,88,29,6,79,78,0
,79,70,70,0 >;

/* структура определяет все переменные вашего интерфейса управления */
struct <

/* input variable */
unsigned char switch_1; /* =1 если переключатель включен и =0 если отключен */
unsigned char switch_2; /* =1 если переключатель включен и =0 если отключен */

/* other variable */
unsigned char connect_flag; /* =1 if wire connected, else =0 */

#define PIN_SWITCH_1 4
#define PIN_SWITCH_2 5

void setup()
<
RemoteXY_Init ();

pinMode (PIN_SWITCH_1, OUTPUT);
pinMode (PIN_SWITCH_2, OUTPUT);

// TODO you setup code

void loop()
<
RemoteXY_Handler ();

digitalWrite(PIN_SWITCH_1, (RemoteXY.switch_1==0)?LOW:HIGH);
digitalWrite(PIN_SWITCH_2, (RemoteXY.switch_2==0)?LOW:HIGH);

// TODO you loop code
// используйте структуру RemoteXY для передачи данных

Читайте так же:
Розетки с таймером для эсл

Теперь вы можете при помощи приложения RemoteXY для Android соединиться с вашим устройством и управлять розетками.

Самый компактный способ питания Arduino от розетки

Существует много способов питания Arduino от большого диапазона напряжений:

  • USB-кабель от ПК, зарядного устройства или концентратора USB
  • понижающие преобразователи
  • увеличить конвертеры
  • импульсный источник питания
  • батареи (подключены к разъему питания или USB или к Vin)

То, что я не могу найти, это маленький преобразователь 220В-5В. Я бы хотел поставить Arduino в стену, под выключателем, так что размер имеет значение.

Последний вариант — открыть телефонное зарядное устройство на 5 В и заменить металлические контакты, которые входят в гнездо с двумя проводами, и заменить гнездо USB другой парой проводов, идущих к плате Arduino, но все же Arduino Pro Mini или Arduino Nano меньше, чем зарядное устройство для телефона.

Последний вариант — открыть телефонное зарядное устройство на 5 В и заменить металлические контакты, которые входят в розетку с двумя проводами, и заменить розетку USB на другую пару проводов, которые идут на плату Arduino, но все же Arduino Pro Mini или Arduino Nano меньше, чем зарядное устройство для телефона.

Вам, вероятно, придется сделать что-то подобное.

Из-за характера преобразования между переменным и постоянным током, здесь должны быть некоторые крупные детали. * Я не буду вдаваться в подробности здесь. Обычно имеется диодный мост (поскольку сигналы переменного тока изменяют ток

60 раз в секунду) и трансформатор (для понижения напряжения на диодный мост). Они почти всегда включают в себя регулятор и конденсатор, чтобы обеспечить точное напряжение, и он выдает «чистый» источник питания.

* Импульсные источники питания , хотя и значительно дороже, намного меньше и более энергоэффективны.

Этот адаптер, кажется, самый компактный адаптер, который я могу найти для 220V. Вы никогда не получите то, что вам нужно, даже с импульсным источником питания. Я не знаю размера адаптера Amazon, на который я дал ссылку, но в США (120 В) зарядные устройства для iPhone очень маленькие, и они должны помещаться в стандартную розетку глубины (с небольшим пространством для реле и например). Если вам действительно нужно все уменьшить, я рекомендую использовать чип ATtiny.

Как я рекомендую подключить это:

Я бы избежал разрыва этого на части любой ценой с точки зрения безопасности. Было бы очень легко отправить 220 В на Arduino, если вы не будете осторожны. Если вам абсолютно необходимо , вы можете нанести на него непроводящую эпоксидную смолу или другое кодирование. Примечание: это может действовать как теплоизолятор, что снижает срок службы детали. Вы должны просто намотать проволоку вокруг зубцов, а затем расплавить немного припоя на каждом из выводов. Затем накройте это изолентой и косичкой (с проволочной гайкой) в линию питания источника. Примечание: вы, вероятно, делаете проводку, которая может быть незаконной в вашем районе. Проверьте ваши местные строительные нормы, прежде чем пытаться это.

После этого подключите USB-кабель к разъему и к входу 5V / GND чипа Arduino или ATtiny / ATmega328 (грубо, после обрезки и снятия одного конца USB-кабеля). Я бы также, после доработки всего кода и схемы, запечатал это эпоксидной смолой или каким-то образом добавил его в корпус, чтобы убедиться, что вы не поджариваете свой Arduino, если свободный провод дотронется до схемы Arduino.

Читайте так же:
Рамка зеркало для розетки

WiFi розетка на ESP8266.

Продолжая цикл статей о WiFi-модулях ESP8266 расскажу как сделать очень бюджетную WiFi розетку

Для этого нам нужно:

  • Любая внешняя розетка, в которой есть свободное место
  • ESP8266 практически любой модификации (Я использовал ESP8212E с терминальной платой для удобства монтажа)

Итого, бюджет $5-$8 в зависимости от выбора компонентов

Компоненты для недорогой WiFi розетки

Розетка под переделку в WiFi

Схема нашей WiFi розетки будет такой

Схема WiFi розетки

Собираем все внутри корпуса розетки

WiFi розетка

Включаем розетку, а в нее лампу в 25Вт. Теперь можно подключаться с компьютера/планшета/телефона к нашей розетке по HTTP

Подключаюсь с планшета к веб-серверу ESP-шки по имени или IP-адресу

Подключение к WiFi розетке

Подключение к WiFi розеьке

Видео работы WiFi розетки

Подробнее о Твердотельном реле OMRON G3MB-202P

Не так давно натолкнулся на недорогие твердотельные малогабаритные реле Omron G3MB-202P

Сегодня дошли руки попробовать эти реле в действии.

Характеристики

Тип: Оптосимистор
Максимальный ток коммутации: 2А (Вольфрамовый нагреватель — 1А, двигатель переменного тока — 1.6А, прочие потребители — 2А)
Напряжение коммутации: переменное 100-240В
Управляющее напряжение: постоянное 4-6В
Подробности в даташите

В настоящий момент компанией Omron не выпускается. Но есть другие линейки малогабаритных твердотельных реле. Или на Али идет распродажа старых запасов, или китайцы освоили производство этих деталек.
Посмотрим на их работоспособность.
Припаиваю проводки

Подключаю нагрузку в 25Вт. 5В на управляющие ноги — нормальное срабатывание.

Подключаю нагрузку в 25Вт. 5В на управляющие ноги — нормальное срабатывание.

Покупал с надеждой, что будет управляться с напрямую с ESP8266, у которой напряжение питания 3.3В.
Пробую: 3.1В — срабатывает, 2.7В — тоже. И только при 2.5В — реле перестает работать. Отличный для меня результат.

Накидываю скетч в среде Arduino для управления дискретным выводом ESP-шки через HTTP

Для тех кто хочет повторить — нужно прописать вместо звездочек параметры подключения к WiFi сети.
Можно запускать WiFi розетку.

Подключаюсь с планшета к веб-серверу ESP-шки по имени или IP-адресу.

Включение происходит примерно за 1сек, необходимую для работы HTTP сервера ES8266.

Бюджет переделки обычной розетки в WiFi

$7, причем больше половины это малогабаритный блок питания. Если брать что-то более габаритное, то вполне можно ужать бюджет до $4-$5. В данную розетку такой блок вполне помещается.

Реле успешно выдержало запрещенную ныне к продаже лампочку накаливания в 100Вт. Мощнее под рукой ничего не было. Тем кому нужно переключения более мощной нагрузки — берите Fotek на 25-100А

Выводы:
Данное реле вполне подходит для управления маломощной нагрузкой 220В в качестве замены механического реле или симисторных схем
Из плюсов:

  • Низкая цена
  • Малые габариты
  • Управляется 3В, что позволяет использовать его с низковольтными контроллерами типа ESP8266

Из минусов можно отметить, что данное реле снято с производства на заводе производителе.

COMMENTS

Эти с детектором нуля, ШИМ не получится

Жаль, постоянку коммутировать не получится.

Это любым MOSFET транзистором нужного вольтажа и мощности можно. Там симистор не нужен

Продаются же SSR-ы, типа Fotek, для коммутации DC.

Подскажите пожалуйста куда подключали реле к ESP8266. или схемку дайте.

К GPIO2
Или к любому другому, если указать его в переменной PowerPin

Подскажите, у вас на картинке с первой сборкой нагрузка входит на 2 ногу, а выходит из 1-ой. Это так надо, или случайно вышло, или вообще пофиг?

Без разницы. Перменка там

для тех кто неможет в ESP: как ты её прошиваешь? usv/ttl? каким? и можно ли esp прицепить к самой ардуине только для обмена трафиком?

Прошивал тремя различными TTL-клнверторами

Можно ESP прицепить к Ардуино через АТ-команды в стандартной прошивки. Только тормоза это великие

Ссылка на обзор
Очень часто с завода модули идут прошитые на нестандартную скорость 74880 бод. Ее многие терминалы не поддерживают. Желательно сразу перешивать на 115200

На 100 Вт особо не грелся. Хотя долго не гонял.
На 200 Вт я думаю уже будет теплым:
Максимальное падение напряжение на симисторе — 1.6В. При токе токе около 1А это 1.6Вт рассеивания. Уже просится радиатор, который в данной детали просто некуда подцепить

Я сделал так

Какое входное сопротивление по шине управления (3-4)? Какой ток идёт при +5V?

Посчитать можете? Даташит есть. Обмотка 440 Ом. Значит, ток будет примерно 11мА. Это при 5-ти вольтах. При 3-х вольтах ток будет 7,5мА.

Померил.
При 5В — 8.5мА
При 3.3В 5.0мА
Все логично. Ограничивающий резистор на светодиод в оптопаре 440Ом. На светодиоде падает

1.1В-1.3В в зависимости от тока/

Эти на 12 вольт, спасибо! Интересно минимальное напряжение срабатывания у них какое. Что-то спецификацию не могу найти 🙁 Может кто-то уже использовал такие?

по даташиту вроде как от 9.60 до 14.40 В

Ну вот… Где вы были раньше с обзором? Несколько лет назад мудрил с розеткой, управляемой от 5 вольт. Задача была простейшая: включил телевизор, на USB телевизора появляется 5 вольт, коммутируется розетка, в которую подключен усилитель с сабом, подсветка сзади телевизора. Проблема была в слаботочном реле 5V. Еле отыскал. А тут вот они, да ещё и дешёвые…

Точно! Спасибо что напомнили. Была у меня мысль сделать включение монитора при включении системника (и выключение), как на древних системниках с «проходными» БП и тумблерами питания, приценивался к «пилотам» с контролем потребляемой мощности (типа если через розетку №1 потребление больше 30 ватт, то включаются остальные розетки), но дороговато тогда выходило.
А с этим реле можно от свободного USB выхода подключить.
Кстати и к телевизору аналогично, андроидную приставку, тюнер… Значит надо брать не одну штуку…

Можно параллельно механическому выключателю этот оптосемистор поставить, комп включил — всё включилось, нужен WiFi без компа — включать механическим.

Судя по фотке внутренности с поста выше вполне можно заменить данное реле BT137 + MOS3061 на аккуратной плате. Симистор можно на любой радиатор. Только изолировать его слюдой нужно, иначе фаза будет на радиаторе.

А если взять ВТА, вместо ВТ, то и опасности на радиаторе не будет.

Делал на мощных SSR реле управление пивоварней, все отлично работает, нагрузка — тен на 4000Вт, управление ШИМ, важно посадить все на массивный радиатор.
Пищалка в моем агрегате подключена тоже через маломощное SSR реле и управляется контроллером.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector