Электронный компонент:Комплект для автономного узла на базе Seeeduino Stalker V3 с водонепроницаемым корпусом

Материал из Онлайн справочника
Версия от 21:20, 1 октября 2017; Myagkij (обсуждение | вклад) (→‎Демо-скетч «DataLogger»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Черновик


Комплект для автономного узла на базе Seeeduino Stalker V3 с водонепроницаемым корпусом[1]

Это набор для сборки беспроводного автономного мониторингового узла на базе платы Seeeduino Stalker V3. Это модульная система с компонентами вроде RTC-чипа (т.е. часов реального времени), слота для SD-карты и т.д., что делает ее удобной для проектов, в которых требуется считывание данных, поступающих от датчиков, и последующая запись логов с указанием временной отметки.

Этот узел можно использовать не только внутри помещений, но и на открытом воздухе, т.к. в комплекте с ним идет водонепроницаемый пластиковый корпус.

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

Купить комплект можно по этой ссылке.

Содержимое комплекта

Компонент Описание Количество
Seeeduino Stalker V3 Arduino-совместимая плата, действующая в качестве мониторингового узла 1
Литий-полимерная батарея на 1050 мАч Заряжается от солнечной панели при помощи Seeeduino Stalker V3 1
Карта MicroSD на 4 Гб (SanDisk) Хранит данные от датчиков и временные отметки 1
Кабель MiniUSB (100 см) Кабель для записи прошивки с помощью UartSBee 1
UartSBee 4 Конвертер USB-Serial для записи прошивки на Seeeduino Stalker при помощи IDE Arduino 1
6-контактный кабель Для подключения UartSBee к Seeeduino Stalker 1
Корпус для Seeeduino Stalker Водонепроницаемый пластиковый корпус 1
Солнечная панель (0.5 ватт, 53 х 53 мм) Источник питания 1
Кнопочная батарейка CR2032 - 1

Функционал

  • Водонепроницаемый прозрачный корпус для Seeeduino Stalker V3 позволяет использовать плату на открытом воздухе. Кроме того, чтобы Seeeduino Stalker уместилась в этот корпус разработчики поменяли расположение винтовых отверстий и изменили форму платы Водонепроницаемость обеспечивается за счет специального уплотнения
  • Крышка корпуса сделана прозрачной – чтобы на солнечную панель, установленную внутри, могли попадать солнечные лучи. Кроме того, крышка устроена таким образом, что панель можно в ней зафиксировать (методом «враспор»)
  • Литий-полимерную батарею можно положить под Seeeduino Stalker, а затем зафиксировать при помощи винтов и пластиковых стоек


Варианты применения

  • Для создания беспроводной сети датчиков (в качестве узла этой сети) – для этого также понадобится модуль XBee (в комплекте не идет)
  • Запись GPS-логов – для этого также понадобится модуль GPS Bee (в комплекте не идет)
  • Система сбора данных, способная обмениваться информацией с iPhone, а также с телефонами на Android или Windows Phone – для этого также понадобится модуль BluetoothBee (в комплекте не идет)
  • Дистанционное радиоуправление – для этого также понадобится модуль RFBee (в комплекте не идет)
  • Автономная Arduino-совместимая вычислительная платформа – для этого также понадобится модуль UartSBee (идет в комплекте)

Примечание: Модуль UartSBee был разработан, чтобы быть посредником между другими Bee-модулями (см. картинку выше) и ПК, и его нельзя вставить в сокет на Seeeduino Stalker, предназначенный для этих модулей. Для подключения модуля UartSBee на Seeeduino Stalker есть отдельный гребешок с 5 контактами: VCC (для подачи питания на Stalker), TXD, RXD, DTR (для управления сигналом сброса на Stalker) и GND.

С чего начать

Если вы новичок в области так называемых «физических» вычислений, и Seeeduino Stalker – это ваша первая физическая вычислительная платформа, ознакомьтесь с инструкциями ниже. Они объясняют, как настроить оборудование и ПО для того, чтобы начать работать с Seeeduino Stalker V3.

Шаг 1. Берем устройства

Для записи самой первой программы нам понадобятся следующие устройства:

Шаг 2. Установка драйверов и подключение компонентов

Модуль UartSBee – это что-то вроде многофункционального швейцарского ножа. В нашем случае он будет выполнять три вещи:

  1. Записывать прошивку на Seeeduino Stalker
  2. Обеспечивать коммуникацию с Seeeduino Stalker
  3. Обеспечивать Seeeduino Stalker питанием (от USB-порта на компьютере), включая все периферийные устройства, подключенные к плате

Первые две функции модуля UartSBee (запись прошивки и коммуникация) обеспечиваются при помощи микросхемы FT232RL, которая на нем установлена. Но для того, чтобы ваш ПК мог использовать FT232RL, на него нужно установить драйвер (это бесплатная программа, которая выпускается производителем FT232RL и служит посредником между операционной системой ПК и аппаратной начинкой FT232RL). Загрузить драйвер можно отсюда.

Модуль UartSBee позволяет менять напряжение, подаваемое на целевую плату. Это выполняется с помощью регулятора напряжения и переключателя, позволяющего переключаться между 5 и 3.3 вольтами. В нашем случае целевой платой (т.е. платой, к которой подключен UartSBee) является Seeeduino Stalker, поэтому переключатель нужно выставить на 5 вольт.

Соответственно, схема подключения будет выглядеть следующим образом: Компьютер > (кабель MiniUSB) > UartSBee > (6-контактный кабель) > Seeeduino Stalker. Более подробно смотрите на фото ниже. Кроме того, при подключении сигналов сверьтесь с таблицей ниже (контакты RXD и TXD должны быть подключены крест-накрест).

Наконец, подключите кабель MiniUSB, идущий от Seeeduino Stalker, к ПК (если еще не подключили). Если на вашем ПК установлена Windows, в трее появится сообщение «Найдено новое оборудование», а затем, спустя несколько секунд, будет установлен драйвер для FT232RL (т.е. для UartSBee).

Контакты между Seeeduino Stalker V3 и UartSBee V4.0 должны быть подключены следующим образом:

Seeeduino Stalker UartSBee
USB (5 вольт) VCC
RXD TXD
TXD RXD
GND GND
DTR DTR

Примечания насчет подключения:

  • Сокет для Bee-модулей. Это два 10-контактных гребешка, к которым можно подключить беспроводной модуль серии Bee (одновременно может быть подключен только один модуль) вроде XBee, Bluetooth Bee, GPSBee или RFBee. Коммуникация с Bee-модулем выполняется через UART.
  • Последовательная шина. Чтобы сэкономить место на плате и снизить ее стоимость, разработчики не стали устанавливать на нее конвертер USB-Serial. Соответственно, конвертер USB-Serial нужно подключать отдельно – им может послужить, к примеру, UartSBee на базе FT232RL, который уже идет в комплекте. С его помощью обеспечивается запись прошивки на Seeeduino Stalker, а также коммуникация между нею и ПК.
  • «Пользовательский» светодиод. Seeeduino Stalker оснащена светодиодом, который пользователь может использовать в своих проектах.
  • Интерфейс I2C. Эта шина оснащена переключателем вольтовой логики между 3.3 и 5 вольтами. Это позволяет подключить 5-вольтовые I2C-устройства к микроконтроллеру, который работает на 3.3 вольтах.

Демо-скетчи

Загрузите и установите библиотеку «DS1337» (ссылку ищите ниже, в разделе «Полезные ссылки»). Библиотека «DS1337» включает в себя класс DateTime, который Жан-Клод Уипплер (Jean-Claude Wippler) разработал для своей библиотеки RTClib.

Демо-скетч «Adjust»

Этот скетч позволяет задать текущее время для RTC-чипа.

Кликните в IDE Arduino на Инструменты > Плата > Arduino Pro or Pro Mini (Tools > Board > Arduino Pro or Pro Mini), а затем на Инструменты > Процессор > ATmega 328 (3.3V, 8MHz) (Tools > Processor > ATmega 328 (3.3V, 8MHz)).

Откройте скетч «Adjust.ino».

Теперь выставьте текущее время при помощи класса DateTime:

DateTime dt(year, month, date, hour, min, sec, week-day);

Этому конструктору нужно семь аргументов: year – это год, month – месяц, hour – час, min – минута, sec – секунда, weekday – день недели. Значения для аргумента weekday варьируются от «0» до «6».

К примеру, в скетче эта строчка может выглядеть следующим образом:

DateTime dt(2015, 10, 1, 11, 43, 0, 4);

Отредактировав скетч, скомпилируйте его и загрузите на Seeeduino Stalker V3.

В результате монитор порта IDE Arduino покажет примерно следующее:

Демо-скетч «Now»

Этот скетч позволяет узнать текущие дату и время.

Кликните в IDE Arduino на Инструменты > Плата > Arduino Pro or Pro Mini (Tools > Board > Arduino Pro or Pro Mini), а затем на Инструменты > Процессор > ATmega 328 (3.3V, 8MHz) (Tools > Processor > ATmega 328 (3.3V, 8MHz)).

Откройте скетч «Now.ino».

Для того, чтобы узнать текущие дату и время, в библиотеке «DS1337» есть функция RTC.now().

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

DateTime now = RTC.now();

Теперь скомпилируйте скетч и загрузите его на Seeeduino Stalker V3.

В результате монитор порта IDE Arduino покажет примерно следующее:

Демо-скетч «Interrupts»

Этот скетч демонстрирует, как определять прерывание, используя контакт INT-контакт (контакт для прерываний) на RTC-чипе DS1337. Эта функция хорошо подходит для записи логов, когда микроконтроллер переключается в режим сна, а затем периодически пробуждается при помощи INT-контакта DS1337. Это позволяет сэкономить заряд батареи. Более подробно смотрите в комментариях к скетчу.

Спаяйте перемычку P3 на Seeeduino Stalker.

Теперь подключите INT-контакт DS1337 к контакту INT0 на ATmega328.

Далее кликните в IDE Arduino на Инструменты > Плата > Arduino Pro or Pro Mini (Tools > Board > Arduino Pro or Pro Mini), а затем на Инструменты > Процессор > ATmega 328 (3.3V, 8MHz) (Tools > Processor > ATmega 328 (3.3V, 8MHz)).

Откройте скетч «Interrupts.ino», а затем скомпилируйте его и загрузите на Seeeduino Stalker V3.

В результате монитор порта IDE Arduino покажет примерно следующее:

Демо-скетч «DataLogger»

Главное предназначение Seeeduino Stalker V3.0 – это запись логов, состоящих из данных от датчиков (например, данных о напряжении батареи) и временных отметок. Данный скетч демонстрирует, как переключать микроконтроллер в режим сна, когда он не выполняет считывание данных и запись логов. Более подробно читайте в комментариях к скетчу.

Ниже показана схема подключения устройств друг к другу:

Скетч называется «StalkerV30_DataLogger_10Sec.ino», и он записывает на SD-карту логи с данными о напряжении батареи при помощи функции RTC.enableInterrupts(h, m, s). Аргументы h, m и s нужны, чтобы задать периодичность считывания данных. Когда микроконтроллер «ловит» новое прерывание, значения в этих аргументах увеличиваются, что задает время для следующего прерывания. Для этого используется класс DateTime:

interruptTime = DateTime(interruptTime.get() + interruptInterval)

Кроме того, этот скетч постоянно сообщает в мониторе порта о происходящих внутри него событиях:

События, которые происходят в скетче

Полезные ссылки

См.также

Внешние ссылки