Arduino CC2540

Arduino CC2540
Артикул: 2505050

производитель: Arduino
Требуется установка или ремонт?

сервисный центр Kypidetali!

тел. +7(499)347-04-82

Описание Arduino CC2540

Отличный выбор! CC2540 от Texas Instruments — это очень популярный чип для создания Bluetooth Low Energy (BLE) устройств. Однако важно сразу уточнить: Arduino как бренд не выпускала плат на базе чипа CC2540.

CC2540 — это самостоятельный микроконтроллер с радиочастью BLE, который использовался сторонними производителями для создания совместимых с экосистемой Arduino модулей и плат. Самые известные из них — это HM-10 и его клоны.

Вот подробное описание, характеристики и совместимость.

Описание и роль в экосистеме Arduino

CC2540 — это система-на-кристалле (SoC) от Texas Instruments, которая сочетает в себе высокопроизводительный микроконтроллер и полноценный радиопередатчик, соответствующий стандарту Bluetooth 4.0 (Low Energy). Его ключевая особенность — низкое энергопотребление, что делает его идеальным для батарейных устройств: носимой электроники, датчиков, биконов, пультов ДУ.

В мире Arduino он чаще всего встречается в виде готового serial-модуля (например, HM-10). Такой модуль берет на себя всю сложную работу со стеком протоколов BLE, а с основной платой Arduino (Uno, Nano, Mega и т.д.) общается по простому UART-интерфейсу (через выводы RX/TX), используя AT-команды. Это позволяет легко добавить BLE-функциональность практически в любой проект Arduino, не углубляясь в программирование самого CC2540.

Технические характеристики чипа CC2540

  • Ядро: 8051 (8-бит, частота 32 МГц).
  • Память:
    • Flash-память: 256 КБ (для кода пользователя и профилей BLE).
    • ОЗУ (RAM): 8 КБ.
  • Радиочасть:
    • Стандарт: Bluetooth 4.0 / BLE (Single Mode).
    • Частота: 2.4 ГГц ISM Band.
    • Скорость передачи данных: До 1 Мбит/с (эффективная скорость через UART обычно 9600 бод и выше).
    • Дальность: До ~100 метров на открытом пространстве (зависит от модуля и антенны).
  • Периферия и интерфейсы:
    • ЦАП (DAC): 1 канал, 8-бит.
    • АЦП (ADC): 1 канал, 12-бит, 8 входов.
    • Таймеры: 2 таймера 16-бит, 1 таймер 8-бит.
    • Интерфейсы: 2 полноценных UART (Serial), I2C, SPI, USB (только для CC2541).
    • GPIO: 21 линия ввода/вывода общего назначения.
  • Напряжение питания: 2.0В — 3.6В (типично 3.3В).
  • Потребление:
    • Активный режим (радио): ~25 мА.
    • Режим сна (с таймером): ~1 мА.
    • Глубокий сон: < 1 мкА.

Парт-номера и совместимые модели модулей

Чип CC2540 имеет несколько вариантов исполнения, отличающихся объемом памяти и интерфейсами:

  1. CC2540F256 — основная версия с 256 КБ Flash.
  2. CC2540F128 — версия с 128 КБ Flash.
  3. CC2541 — версия с поддержкой USB, что упрощает создание BLE-донглов.

Готовые модули на базе CC2540 (которые используют с Arduino):

  • HM-10 (или BT-05, JDY-08) — самый популярный и распространенный модуль. Имеет 6 выводов, общается по UART (9600 бод по умолчанию).
    • Ключевая особенность: Поддерживает как центральный (Central), так и периферийный (Peripheral) режим, что позволяет двум таким модулям соединяться друг с другом.
  • HM-11 — обновленная версия HM-10 с улучшенной стабильностью и поддержкой более новых версий прошивки BLE.
  • CC41-A / AT-09 — аналог HM-10, часто маркируется как поддерживающий Bluetooth 4.0.
  • BLE Mini от RedBearLab — компактный модуль, который можно было программировать через Arduino IDE с использованием специальной платы-адаптера (Shield).

Совместимые модели Arduino

Модули CC2540 (типа HM-10) совместимы с ЛЮБОЙ платой Arduino, имеющей аппаратный или программный UART:

  1. Arduino Uno, Leonardo, Mega, Micro — подключение через аппаратные Serial-порты (выводы 0-RX и 1-TX). На Uno для отладки используют SoftwareSerial для модуля BLE, чтобы не занимать основной порт для монитора.
  2. Arduino Nano, Pro Mini — идеально подходят из-за компактного размера и наличия Serial.
  3. ESP8266 (NodeMCU, Wemos D1) и ESP32 — хотя это самостоятельные платформы, они также отлично работают с HM-10 через UART. ESP32, кстати, имеет встроенный BLE, что делает внешний модуль избыточным.
  4. Платы на базе ARM (Arduino Due, Zero, MKR) — совместимы, но требуют согласования уровней напряжения (3.3В).

Как подключить и использовать (кратко)

  1. Питание: Подать 3.3В на модуль от Arduino (вывод 3.3V). НИКОГДА не используйте 5В!
  2. Земля (GND): Соединить с GND Arduino.
  3. Данные:
    • TX модуля -> RX Arduino (например, цифровой пин D2, если используете SoftwareSerial).
    • RX модуля -> TX Arduino (например, цифровой пин D3).
  4. Программирование: В скетче Arduino используется библиотека SoftwareSerial или стандартный Serial для отправки AT-команд и обмена данными.

Пример кода для инициализации через SoftwareSerial:

#include <SoftwareSerial.h>
SoftwareSerial BLEserial(2, 3); // RX, TX (подключены к TX, RX модуля соответственно)

void setup() {
  Serial.begin(9600);   // для монитора порта
  BLEserial.begin(9600); // скорость по умолчанию для HM-10
  BLEserial.println("AT+NAMEMyArduino"); // Команда сменить имя устройства
}

void loop() {
  if (BLEserial.available()) {
    Serial.write(BLEserial.read());
  }
  if (Serial.available()) {
    BLEserial.write(Serial.read());
  }
}

Важная альтернатива

Если вы только начинаете проект с BLE и Arduino, рассмотрите более современные варианты:

  • ESP32: Имеет встроенный Bluetooth Classic и BLE, гораздо более мощное ядро, Wi-Fi и стоит сопоставимо с Arduino Nano + модулем HM-10.
  • Arduino Nano 33 BLE / Nano 33 BLE Sense: Официальные платы Arduino на базе чипа nRF52840 от Nordic Semiconductor. Это современный, мощный ARM-микроконтроллер с BLE 5.0, полностью программируемый из Arduino IDE.

Итог: CC2540 в лице модулей HM-10 — это проверенное, простое и недорогое решение для добавления BLE-связи в классические проекты на Arduino (Uno, Nano). Для новых проектов часто целесообразнее смотреть в сторону ESP32 или Arduino Nano 33 BLE.

Совместимые модели для Arduino CC2540

Arduino CC2540