Arduino BT v1

Примечание

Эта страница относится к продукту, который снят с производства.

Arduino BT (Bluetooth)

Arduino BT v1

Обзор

Arduino BT (Bluetooth) — это плата микроконтроллера на базе ATmega168 (даташит) и Bluetooth-модуля Bluegiga WT11 (даташит). Она имеет 14 цифровых входов/выходов (из которых 6 могут использоваться как выходы ШИМ и один может использоваться для сброса модуля WT11), 6 аналоговых входов, кварцевый генератор 16 МГц, клеммы для питания, разъем ICSP и кнопку сброса. Плата содержит все необходимое для поддержки микроконтроллера и может программироваться беспроводным способом через Bluetooth-соединение. Инструкции доступны в руководстве начало работы с Arduino BT.

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

Микроконтроллер

ATmega168

Рабочее напряжение

5 В

Входное напряжение

1,2–5,5 В

Цифровые выводы ввода-вывода

14 (из которых 6 обеспечивают вывод ШИМ)

Аналоговые входы

6

Постоянный ток на вывод ввода-вывода

40 мА

Постоянный ток для вывода 3.3V

50 мА

Флеш-память

16 КБ (из которых 2 КБ используются загрузчиком)

SRAM

1 КБ

EEPROM

512 байт

Тактовая частота

16 МГц

Схемы и эталонный дизайн

Питание

Arduino BT может получать питание через клеммы V+ и GND. Плата содержит DC-DC преобразователь, который позволяет питать ее напряжением от 1,2 В, но не более 5,5 В.

Предупреждение

Более высокое напряжение или обратная полярность питания могут повредить или уничтожить плату.

Выводы питания:

  • 9V. Входное напряжение на плату Arduino (то же самое, что и клемма V+). Вы можете подавать напряжение через этот вывод, или, если напряжение подается через клеммы, получить к нему доступ через этот вывод. Внимание: несмотря на маркировку, не подключайте 9 В к этому выводу. Это повредит плату.

  • 5V. Стабилизированное питание, используемое для питания микроконтроллера и других компонентов платы. Может поступать от V+ через встроенный DC-DC преобразователь или подаваться от стабилизированного источника 5 В.

  • GND. Выводы заземления.

Память

ATmega168 имеет 16 КБ флеш-памяти для хранения кода (из которых 2 КБ используются загрузчиком). Он имеет 1 КБ SRAM и 512 байт EEPROM (которые можно читать и записывать с помощью библиотеки EEPROM).

Входы и выходы

Каждый из 14 цифровых выводов BT может использоваться как вход или выход с помощью функций pinMode(), digitalWrite() и digitalRead(). Они работают при напряжении 5 В. Каждый вывод может отдавать или потреблять максимум 40 мА и имеет внутренний подтягивающий резистор (по умолчанию отключенный) 20–50 кОм. Кроме того, некоторые выводы имеют специализированные функции:

  • Serial: 0 (RX) и 1 (TX). Используются для приема (RX) и передачи (TX) последовательных данных TTL. Эти выводы подключены к соответствующим выводам модуля Bluegiga WT11.

  • Внешние прерывания: 2 и 3. Эти выводы могут быть настроены на вызов прерывания по низкому значению, нарастающему или спадающему фронту, или по изменению значения. Подробности см. в функции attachInterrupt().

  • ШИМ: 3, 5, 6, 9, 10 и 11. Обеспечивают 8-битный вывод ШИМ с помощью функции analogWrite().

  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Эти выводы поддерживают связь SPI, которая, хотя и обеспечивается аппаратно, в настоящее время не включена в язык Arduino.

  • Сброс BT: 7. Подключен к линии сброса модуля Bluegiga WT11, которая активна по высокому уровню.

  • LED: 13. Встроенный светодиод подключен к цифровому выводу 13. Когда вывод имеет значение HIGH, светодиод горит; когда LOW — выключен.

BT имеет 6 аналоговых входов, каждый из которых обеспечивает разрешение 10 бит (т.е. 1024 различных значения). По умолчанию они измеряют от земли до 5 В, хотя можно изменить верхний предел их диапазона с помощью вывода AREF и низкоуровневого кода. Кроме того, некоторые выводы имеют специализированную функциональность:

  • I2C: 4 (SDA) и 5 (SCL). Поддерживают связь I2C (TWI) с использованием библиотеки Wire.

Также на плате есть другие выводы:

  • AREF. Опорное напряжение для аналоговых входов. Используется с analogReference().

См. также соответствие между выводами Arduino и портами ATmega168.

Bluetooth-связь

Модуль Bluegiga WT11 на Arduino BT обеспечивает Bluetooth-связь с компьютерами, телефонами и другими Bluetooth-устройствами. WT11 взаимодействует с ATmega168 через последовательный порт (совместно с выводами RX и TX на плате). Он настроен на скорость 115200 бод. Модуль должен быть конфигурируемым и обнаруживаемым драйверами Bluetooth вашей операционной системы, которые затем предоставляют виртуальный COM-порт для использования другими приложениями. Программное обеспечение Arduino включает монитор последовательного порта, который позволяет отправлять и получать простые текстовые данные на плату Arduino через это Bluetooth-соединение. Плата также может быть перепрограммирована через это же беспроводное соединение.

WT11 специально сконфигурирован для использования в Arduino BT. Его имя установлено как ARDUINOBT, а код доступа — 12345. Подробности см. в полном скетче инициализации ниже.

Связь

Arduino BT имеет ряд других средств связи. UART TTL (5 В) последовательная связь ATmega168 доступна на цифровых выводах 0 (RX) и 1 (TX), а также подключена к модулю WT11.

Библиотека SoftwareSerial позволяет осуществлять последовательную связь на любом из цифровых выводов BT.

ATmega168 также поддерживает связь I2C (TWI) и SPI. Программное обеспечение Arduino включает библиотеку Wire для упрощения использования шины I2C. Для использования связи SPI обратитесь к даташиту ATmega168.

Программирование

Arduino BT можно программировать с помощью программного обеспечения Arduino. Подробности см. в справочнике и руководствах.

ATmega168 на Arduino BT поставляется с предустановленным загрузчиком, который позволяет загружать новый код без использования внешнего программатора. Он взаимодействует по оригинальному протоколу STK500 (справка, заголовочные файлы C).

Вы также можете обойти загрузчик и запрограммировать ATmega168 через разъем ICSP (внутрисхемное последовательное программирование); подробности см. в этих инструкциях.

Физические характеристики

Максимальная длина и ширина BT составляют приблизительно 3,2 и 2,1 дюйма соответственно. Три отверстия для винтов позволяют прикрепить плату к поверхности или корпусу. Обратите внимание, что расстояние между цифровыми выводами 7 и 8 составляет 160 мил (0,16 дюйма), что не является четным кратным шагу 100 мил остальных выводов.

Скетч инициализации Arduino BT v1

Этот скетч запускается один раз на каждой Arduino BT v1 для инициализации Bluetooth-модуля перед отправкой платы (вам не нужно запускать этот код; он приведен здесь только для справки). Подробнее о командах, отправляемых модулю, см. в даташите iWrap.

/* BT test 01
 * ------------------
 * Massimo Banzi
 *
 */

int LED = 13;   // select the pin for the LED
int RESET = 7;

void setup() {
  pinMode(LED,OUTPUT);   // declare the LED's pin as output
  pinMode(RESET,OUTPUT);   // declare the LED's pin as output
  Serial.begin(115200);        // connect to the serial port
  digitalWrite(RESET, HIGH);
  delay(10);
  digitalWrite(RESET, LOW);
  delay(2000);
  Serial.println("SET BT PAGEMODE 3 2000 1");
  Serial.println("SET BT NAME ARDUINOBT");
  Serial.println("SET BT ROLE 0 f 7d00");
  Serial.println("SET CONTROL ECHO 0");
  Serial.println("SET BT AUTH * 12345");
  Serial.println("SET CONTROL ESCAPE - 00 1");
  Serial.println("SET CONTROL BAUD 115200,8n1");      //first release 19200
}

void loop () {
  digitalWrite(LED, HIGH);
  delay(100);
  digitalWrite(LED, LOW);
  Serial.println("ciao");
  delay(1000);
}