Подключение модуля HR911105A к Arduino

При проектировании автономных механизмов или создании системы «Умный дом» у многих может возникнуть необходимость подключить платформу Arduino к ENC28J60 Ethernet LAN / Network Module. Это даст возможность управлять Arduino по локальной сети через компьютер или мобильное устройство (если есть точка доступа Wi-Fi). Рассмотрим на этом занятии подключение HR911105A к Arduino Uno.

Как подключить Ethernet модуль к Arduino

Чтобы справиться с этой задачей мы подготовили пошаговую инструкцию по подключению Arduino Uno к модулю HR911105A 15/10. Вы узнаете к каким разъемам подключается порт и увидите видео с работающей схемой Ethernet модуля HanRun HR911105A и Arduino Uno. Итак, нам необходимо для занятия нам необходима плата Arduino, Ethernet порт HanRun и Wi-Fi роутер для организации локальной сети.

Видео. Управление Ардуино через Wi-Fi

Следуйте пошаговой инструкции и вы сможете управлять включением светодиодов по локальной сети через компьютер. А если у роутера есть возможность создать точку доступа Wi-Fi, то управление может быть доступно через любое мобильное устройство (телефон или планшет). Схема подключения LAN модуля HanRun HR911105A и Arduino, а также работающий скетч управления Ардуино через Wi-Fi представлены ниже.

Подключение модуля HR911105A к Arduino Uno

Подключение модуля HR911105A к Arduino
Необходимые детали для подключения модуля HR911105A к Arduino

Для занятия нам понадобятся следующие детали

  • плата Arduino Uno;
  • Ethernet порт HanRun HR911105A 15/10;
  • макетная плата;
  • USB-кабель;
  • 4 провода «папка-папка»;
  • 6 проводов «папка-мамка»;
  • 3 светодиода;
  • 3 резистора на 10 кОм;
  • роутер и LAN-кабель.

Соедините плату Arduino Uno и HR911105A, как на фото ниже. Обратите внимание, что 10 контактный модуль Ethernet ENC28J60 Enternet HR911105A питается от разъема 3,3 V, а 12 контактный модуль от 5V. Кроме того, обозначения разъемов на HanRun HR911105A могут быть изменены производителем, например, ST — вместо SO.

Схема подключения 10 контактного и 12 контактного модуля
Слева схема подключения 10 контактного модуля, справа — 12 контактного

Далее собираем на макетной плате схему из трех светодиодов и резисторов. Светодиоды соединяются с разъемами 3, 4, 5 на плате Ардуино. При желании вы можете подключить RGB-светодиод к Ардуино или увеличить количество светодиодов, сделав при этом необходимые изменения в скетче для управления Ардуино через wifi.

Собираем схему для управления Ардуино
Не забывайте про полярность диодов (длинная ножка диода — это плюс)

После сборки электрической схемы необходимо загрузить библиотеку для работы с HanRun HR911105A. Библиотеки служат для облегчения кода. Это могут быть драйвера к дополнительному оборудованию или часто используемые функции. В программе Arduino IDE уже есть набор стандартных библиотек, которые часто используются. Но в нашем случае требуется загрузить новые библиотеки (скачать архив) с Google Диск.

Распаковываем архив библиотеки Ардуино
Распакуйте архив с библиотекой в папку C:\Program Files\Arduino\libraries

Откройте программу Arduino IDE и проверьте установку библиотеки. Заходите в меню «Файл — Образцы», после стандартных библиотек должна появиться библиотека «ethercard». Очень часто библиотеки содержат в себе несколько готовых скетчей.

Загружаем библиотеку для работы с HanRun
Проверьте установку библиотеки после открытия программы Arduino IDE

Из-за большого объема кода приведем лишь небольшой отрывок скетча.
Скачайте готовый скетч здесь и загрузите в микроконтроллер

...

// Оформление Web страницы

void homePage()
{
  bfill.emit_p(PSTR("$F"
    "<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>"
    "<meta name='viewport' content='width=device-width, initial-scale=1.0'>"
    "<title>Управление Ардуино УНО</title>"
    "<h1 style='color:#0ea6f2'>Управление Ардуино</h1>"
    "<font size='3em'>"
    "Светодиод 1: <a href='?ArduinoPIN2=$F'>$F</a><br /><br />"  
    "Светодиод 2: <a href='?ArduinoPIN3=$F'>$F</a><br /><br />"
    "Светодиод 3: <a href='?ArduinoPIN4=$F'>$F</a><br /><br />"
    "</font>"
    "<h4>Управление Arduino через Ethernet порт HanRun HR911105A</h4>"),   

...

Постоянный IP платы Arduino мы прописали в скетче. Все основные функции в скетче прокомментированы, поэтому проблем в дополнительных настройках программы у вас возникнуть не должно. Зайдите через компьютер или телефон по IP адресу 192.168.1.55 — у вас должна открыться страница, как на фото ниже. Если не удалось сделать подключение HanRun HR911105A 15/10, то следует проверить настройки Wi-Fi роутера.

Зайдите через компьютер по IP адресу
Зайдите через любой браузер на компьютере по IP адресу 192.168.1.55

Пояснения к коду:

  1. Этой строчкой byte Ethernet::buffer[1200]; мы освободили память в микроконтроллере для буфера обмена. При увеличении данных на Web странице необходимо увеличить буфер, чтобы не происходило «зависания»;
  2. Включение/выключение светодиодов происходит в зависимости от количества символов в строке «Светодиод 1: OFF» ArduinoPIN4=on или ArduinoPIN1=off.

На что обратить внимание:

  1. Стиль и оформление web-страницы выполнено с помощью HTML тэгов;
  2. При увеличении скетча возможны проблемы с загрузкой из-за нехватки памяти.

Задание для самостоятельного выполнения:

  1. Измените цвет и размер шрифта заголовка на web-странице в скетче;
  2. Подключите к исходной схеме еще один светодиод и добавьте его в скетче;
  3. Сделайте управление сервоприводом или микромоторчиком через Wi-Fi роутер.

1 Star2 Stars3 Stars4 Stars5 Stars (6 votes, average: 5,00 out of 5)
Загрузка...

2 комментариев для “Подключение модуля HR911105A к Arduino

  1. Приветствую! сделал всё как тут описано, вот что получилось. При запуске ардуино светодиоды сразу загораются, хотя на сайте стоит OFF и на оборот, когда нажимаешь выключить, кнопочка превращается в ON и светодиод гаснет, второй светодиод управляет 4-ым пином а третий управляет 5-м пином, не пойму почему светодиоды сразу зажигаются?

    1. Поменяйте местами ON/OFF и цвета переместите green/red в строчках:
      PinStatus[1]?PSTR(«<font color=’green’><b>ON</b></font>»):PSTR(«<font color=’red’>OFF</font>»),

      OFF — это не статус выключенных светодиодов, а требуемое значение при нажатии на кнопку. Т.е. при нажатии на OFF светодиоды выключаются.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *