Arduino Primo Core
Примечание
Данная страница описывает продукт, снятый с производства.
PRIMO CORE — компактное устройство, использующее чип Nordic nRF52832 с функциями Bluetooth Smart (Bluetooth Low Energy 4.0) и NFC-A тега, а также со встроенными датчиками движения и окружающей среды. Низкое энергопотребление позволяет питать Primo Core от батарейки-таблетки. Arduino PRIMO CORE может быть установлен на плату расширения для расширения его функциональности.
Arduino Primo Core — компактная плата Arduino, разработанная совместно с Nordic Semiconductor.
Благодаря малым размерам, встроенному Bluetooth и низкому энергопотреблению плата идеально подходит для мира IoT и, в частности, для носимых устройств.
Используемый микроконтроллер такой же, как у Arduino Primo — Nordic микроконтроллер nRF52832.
Для программирования необходим внешний программатор, например Atmel ICE, или Arduino Primo.
Кроме того, Arduino Primo Core имеет:
10 цифровых выводов ввода/вывода
10 ШИМ (все цифровые выводы)
8 аналоговых выводов (от D0 до D7)
Акселерометр и гироскоп
Датчик температуры и влажности
RGB-светодиод
Разъём SWD (для программирования платы с помощью внешнего программатора)
Разъём для батарейки-таблетки
Интерфейс Bluetooth Low Energy
Светодиод
Разъём NFC (для использования внешней NFC-антенны)
Кнопка сброса (для сброса микроконтроллера)
Переключатель вкл./выкл. для питания платы
Arduino Primo Core может быть запрограммирован различными способами:
с помощью внешнего программатора, например Atmel ICE;
с помощью Arduino Primo.
Документация
OSH: Схемы
Arduino Primo Core — оборудование с открытым исходным кодом! Вы можете собрать свою собственную плату, используя следующие файлы:
Питание
Arduino Primo Core может питаться с помощью встроенного слота для внешней батареи.
Используемая батарея — батарейка-таблетка CR2032 на 3 В.
Кроме того, также возможно использовать внешний источник питания через вывод Vin.
Память
nRF52832 имеет 512 КБ флеш-памяти и 64 КБ SRAM. Встроенная EEPROM-память отсутствует.
Входы и выходы
Каждый из 10 цифровых выводов Arduino Primo Core может использоваться как вход или выход с помощью функций pinMode(), digitalWrite() и digitalRead(). Они работают при напряжении 3,3 В. Каждый вывод может обеспечить или принять максимальный ток 14 мА.
Кроме того, некоторые выводы имеют специализированные функции:
Serial: RX и TX — эти выводы используются для приёма (RX) и передачи (TX) последовательных данных TTL.
Внешние прерывания: все выводы могут использоваться как внешние прерывания. Имейте в виду, что нельзя использовать более восьми выводов прерываний одновременно. Эти выводы можно сконфигурировать для срабатывания прерывания по низкому уровню, по нарастающему или спадающему фронту, или по изменению значения. Подробнее см. функцию attachInterrupt().
ШИМ: широтно-импульсная модуляция доступна на всех выводах. Разрешение 12-битного выхода ШИМ можно настроить с помощью функции analogWriteResolution().
SPI: шина последовательного периферийного интерфейса (SPI) доступна через выводы 4 (MOSI), 5 (MISO), 6 (SCK) и 7 (SS), но их можно изменить и использовать другие выводы. Подробнее см. библиотеку SPI.
TWI: связь по двухпроводному интерфейсу (TWI) доступна через линию данных (SDA) и линию тактового сигнала (SCL). Связь TWI поддерживается с помощью библиотеки Wire.
RESET. Подайте LOW на линию сброса для сброса микроконтроллера.
NFC1 и NFC2 для связи NFC.
Primo Core также имеет 8 аналоговых входов, обозначенных D0–D7, каждый из которых обеспечивает до 14 бит разрешения (т.е. 16384 различных значений). По умолчанию они измеряют от земли до 3,3 вольт, хотя можно изменить верхний предел их диапазона с помощью функции analogReference().
На плате расположены следующие датчики и исполнительные устройства:
Светодиод, управляемый через макрос USER_LED или LED_BUILTIN. Когда вывод имеет значение HIGH, светодиод горит, когда вывод имеет значение LOW — он выключен.
RGB-светодиод, управляемый через макросы RED_LED, BLUE_LED и GREEN_LED.
Датчик температуры и влажности (ST HT221)
Акселерометр и гироскоп (ST LSM6DS3)
Связь
Arduino Primo Core имеет ряд средств для связи с другими устройствами.
В частности, он имеет интерфейс Bluetooth 4.0, позволяющий обмениваться данными с ПК, планшетом и смартфоном, а также программировать плату. Этот интерфейс управляется библиотекой Bluetooth Low Energy. Эта библиотека содержится в платформе nRF52, загружаемой из менеджера плат Arduino IDE 1.8.x или более поздней версии.
Плата также поддерживает связь NFC со скоростью до 106 кбит/с и частотой 13,56 МГц. Для этого необходимо только подключить NFC-антенну в соответствующий разъём. NFC управляется библиотекой NFC, которая также содержится в платформе nRF52.
Кроме того, nRF52832 поддерживает также связь I2C (TWI). Программное обеспечение Arduino включает библиотеку Wire для упрощения использования шины I2C.
В Arduino Primo Core также возможно использовать связь SPI, используя конфигурацию по умолчанию (MOSI=4, MISO=5, SCK=6, SS=7) или определяя используемые выводы непосредственно в скетче. Подробнее см. библиотеку SPI.
Программирование
Arduino Primo Core может быть запрограммирован различными способами:
с помощью внешнего программатора, например Atmel ICE;
с помощью Arduino Primo.
Все эти процедуры используют Arduino IDE. Плата доступна начиная с Arduino IDE 1.8.x, при загрузке соответствующей платформы (Arduino NRF52) из менеджера плат.
Физические характеристики
Arduino Primo Core отличается малыми размерами, что позволяет использовать его в носимых устройствах. Длина и ширина платы составляют 32 x 32 мм соответственно.