Инструменты пользователя

Инструменты сайта


Espruino Puck.js v1: руководство по использованию

Espruino Puck.js v1 — миниатюрная платформа для разработки со встроенным интерпретатором JavaScript.

Мозгом платы является модуль MDBT42Q с чипом Nordic nRF52840, который также обеспечивает беспроводную связь и прошивку по Bluetooth v5.0.

Ревизии модуля

Функции Puck.js v1 Puck.js v2 Puck.js v2.1
GPIO THT 8 7 7
GPIO SMD 9 2 2
Магнитометр MAG3110 LIS3MDLTR MMC5603NJ
Акселерометр Нет LSM6DS3TR-C LSM6DS3TR-C
Гироскоп Нет LSM6DS3TR-C LSM6DS3TR-C
Датчик температуры nRF52 PCT2075TP PCT2075TP
Силовой выход Нет 1 1

Подключение и настройка

  1. Подключите модуль к Espruino Web IDE. Платформа поддерживает два типа подключения и отладки:

Включение модуля

Espruino Puck.js всегда находится в режиме готовности к коммуникации. Однако при первом запуске — необходимо подключить питание к модулю.

  1. Снимите силиконовый бампер с модуля.
  2. Вытащите плату из пластикового кейса.
  3. Установите батарейку таблетку в модуль. Если батарейка таблетка уже в модуле: вытяните таблетку из батарейного отсека, снимите защитную плёнку и установите таблетку обратно в отсек.
  4. По финалу должен мигнуть красный светодиод. Это значит всё получилось и можно продолжать работу с модулем.

Беспроводное подключение

Для работы с платой Espruino Puck.js v1 по беспроводному протоколу Bluetooth добавьте и настройте в Google Chrome среду программирования Espruino Web IDE.

Если у вас на ПК отсутствует Bluetooh-модуль или вы сторонник проводной системы — используйте проводной способ коммуникации с платформой.

Проводное подключение

Так как на плате отсутствует USB, для коммуникации с компьютером нам понадобится собрать железо.

Что понадобится

Так как на плате отсутствует USB, для коммуникации с компьютером нам понадобится USB-UART преобразователь, а подробнее:

Схема устройства

Программная настройка

Для работы с платой Espruino Puck.js добавьте и настройте в Google Chrome среду программирования Espruino Web IDE.

Примеры работы

В качестве примера прошьём платформу Espruino Puck.js v1 скриптом, который каждую секунду будет по очереди включать встроенные светодиоды LED1, LED2 и LED3.

example-running-fire.js
// создаём объекты таймеры для генерирования событий
var timerBlue = require('@amperka/timer')
  .create(1);
 
var timerGreen = require('@amperka/timer')
  .create(1);
 
var timerRed = require('@amperka/timer')
  .create(1);
 
var timerLedsOff = require('@amperka/timer')
  .create(1);
 
// подписываемся на событие-тик 
timerRed.on('tick', function() {
  timerGreen.stop();
  LED1.write(1);
  LED2.write(0);
  LED3.write(0);
  timerLedsOff.run();
});
 
// подписываемся на событие-тик
timerGreen.on('tick', function() {
  timerBlue.stop();
  LED1.write(0);
  LED2.write(1);
  LED3.write(0);
  timerRed.run();
});
 
// подписываемся на событие-тик
timerBlue.on('tick', function() {
  timerLedsOff.stop();
  LED1.write(0);
  LED2.write(0);
  LED3.write(1);
  timerGreen.run();
});
 
// подписываемся на событие-тик
timerLedsOff.on('tick', function() {
  LED1.write(0);
  LED2.write(0);
  LED3.write(0);
  timerBlue.run();
  timerRed.stop();
});
 
// запускаем таймер отключения всех светодиодов
timerLedsOff.run();

Элементы платы

Модуль MDBT42Q

Платформа Espruino Puck.js v1 выполнена на модуле MDBT42Q, который включает в себя 32-битный микроконтроллер Nordic nRF52840 на архитектуре ARM Cortex-M4 с тактовой частотой 64 МГц, 512 КБ Flash-памяти и 64 КБ SRAM-памяти.

Чип Nordic nRF52840 так же обеспечивает связь Bluetooth v5.0 в диапазоне 2,4 ГГц и поддерживает энергосберегающий протокол Bluetooth Low Energy (BLE). Всё это позволяет прошивать и отлаживать платформу Puck.js v1 через Espruino Web IDE прямо по воздуху.

Магнитометр

На плате расположен магнитомер MAG3110, который можно использовать в роли датчика Холла или детектора металла и скрытой проводки.

Светодиодная индикация

Имя светодиода Назначение
LED1 Пользовательский светодиод красного цвета на D5 пине микроконтроллера. Используйте определение LED1 для работы со светодиодом. При задании значения высокого уровня светодиод включается, при низком – выключается.
LED2 Пользовательский светодиод зелёного цвета на D4 пине микроконтроллера. Используйте определение LED2 для работы со светодиодом. При задании значения высокого уровня светодиод включается, при низком – выключается.
LED3 Пользовательский светодиод синего цвета на D3 пине микроконтроллера. Используйте определение LED3 для работы со светодиодом. При задании значения высокого уровня светодиод включается, при низком – выключается.

Инфракрасный светодиод

На плате расположен ИК-светодиод, который подключён анодом (+) к D25 пину, а катодом (−) к D26 пину микроконтроллера.

Дальность действия ИК-порта составляет около 1,5 метра. Если хотите увеличить дальность, снимите с платформы силиконовый бампер.

Пользовательская кнопка

Пользовательская кнопка подключённая к D0 цифровому пину микроконтроллера. Для работы в программе используйте определение BTN. Кнопка пригодиться для создания и теста простых программ, без подключения дополнительных тактильных сенсоров.

Кнопка также может переводить плату в DFU-режим. Это позволит перепрошить или обновить интерпретатор JavaScript в микроконтроллер без дополнительного программатора. Для перевода в DFU-режим:

  • Отключите питание от платформы.
  • Зажмите кнопку BTN.
  • Подключите питание к платформе и отпустите кнопку.

Гнездо для батарейки

На плате расположен отсек для батарейки CR2032, которая обеспечивает работу платформы в портативном режиме. В автономном варианте батарейка сможет протянуть и обеспечить питание платформы Puck.js v1 до 20 дней.

Контакты SWD-интерфейса

Колодки SWD предназначены для подключения программатора и отладчика ST-Link к плате Puck.js v1.

Распиновка

Пины питания

  • 3V Выходной пин от с выходом 3 вольта от батарейки CR2032.
  • GND Выводы земли.

Порты ввода/вывода

В отличие от большинства плат Arduino, родным напряжением Espruino Puck.js v1 является 3,3 В, а не 5 В. Выходы для логической единицы выдают 3,3 В, а в режиме входа ожидают принимать не более 3,3 В. Более высокое напряжение может повредить микроконтроллер!

  • Пины общего назначения: 17 пинов: D1, D2, D6D8, D11, D13D16, D23, D24 и D27D31
    Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 15 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
  • ШИМ: все пины ввода-вывода
    Позволяет выводить аналоговые значения в виде ШИМ-сигнала. Разрядность ШИМ установлена в 12 бит. Платформа поддерживает 4 канала аппаратного ШИМ-сигнала, каждый последующий становиться программным.
  • АЦП: 5 пинов: D2 и D28D31
    Позволяет представить аналоговое напряжение в виде цифровом виде. Разрядность АЦП установлена в 12 бит.
  • NFC:
    Для общения с картами общественного транспорта, смартфонами и планшетами, поддерживающими технологию Near Field Communication. Антенна уже встроенная в плату Puck.js и подключена к внутренним пинам модуля MQBT42Q.

Интерфейсы

Каждый пин ввода-вывода платформы поддерживает аппаратные интерфейсы для общения c платами расширения и сенсорами.

Интерфейс Количество Назначение
I²C 1 Используется для общения с периферией по параллельному интерфейсу «I²C».
SPI 1 Для общения с периферией по последовательному интерфейсу «SPI».
UART 1 Для общения с периферией по интерфейсу «UART».

Принципиальная и монтажная схемы

Габаритный чертёж

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

  • Модель: Espruino Puck.js v1
  • Модуль: MDBT42Q с чипом nRF52832
  • Ядро: 32-битный ARM Cortex M4
  • Тактовая частота: 64 МГц
  • Частотный диапазон связи: 2,4 ГГц
  • Стандарт связи: Bluetooth v5.0 с поддержкой BLE
  • Flash-память: 512 КБ
  • SRAM-память: 64 КБ
  • Контакты ввода-вывода:
    • 17× GPIO (8 THT + 9 SMD)
    • 5× ADC / Разрядность 12 бит
    • 17× PWM / Разрядность 12 бит
  • Аппаратные интерфейсы:
    • 1× SPI
    • 1× I²C
    • 1× UART
  • Габариты платы: 29×9 мм
  • Габариты плаcтикового корпуса: 36×36×12,5 мм

Магнитометр

  • Чип: MAG3110
  • Интерфейс связи с микроконтроллером: I²C
  • Адрес модуля: 0x0E
  • Диапазон измерения магнитной индукции: ±4/±8/±12/±16 Гс
  • Частота опроса магнитометра: 0,625–80 Гц

Ресурсы

Полезные статьи

Документация