Arduino BT (Bluetooth)
Примечание
Эта страница относится к продукту, который снят с производства.
Arduino BT (Bluetooth)
Обзор
Arduino BT — это плата микроконтроллера, изначально основанная на ATmega168, но теперь поставляемая с ATmega328P (даташит) и Bluetooth-модулем Bluegiga WT11 (даташит). Она поддерживает беспроводную последовательную связь через Bluetooth (но несовместима с Bluetooth-гарнитурами или другими аудиоустройствами). Она имеет 14 цифровых входов/выходов (из которых 6 могут использоваться как выходы ШИМ и один может использоваться для сброса модуля WT11), 6 аналоговых входов, кварцевый генератор 16 МГц, клеммы для питания, разъем ICSP и кнопку сброса. Плата содержит все необходимое для поддержки микроконтроллера и может программироваться беспроводным способом через Bluetooth-соединение.
Характеристики
Микроконтроллер |
ATmega328P |
Рабочее напряжение |
5 В |
Входное напряжение |
2,5–12 В |
Цифровые выводы ввода-вывода |
14 (из которых 6 обеспечивают вывод ШИМ) |
Аналоговые входы |
6 |
Постоянный ток на вывод ввода-вывода |
40 мА |
Постоянный ток для вывода 3.3V |
500 мА (при источнике питания 1,5 А) |
Постоянный ток для вывода 5V |
1000 мА (при источнике питания 1,5 А) |
Флеш-память |
32 КБ (из которых 2 КБ используются загрузчиком) |
SRAM |
2 КБ |
EEPROM |
1 КБ |
Тактовая частота |
16 МГц |
BT-модуль |
2.1 WT11i-A-AI4 |
Схемы и эталонный дизайн
Эталонный дизайн: Eagle_File_Arduino_BT.zip
Схема: Arduino_BT.pdf
Питание
Arduino BT может получать питание через клеммы V+ и GND. Плата содержит DC-DC преобразователь, который позволяет питать ее напряжением от 2,5 В, максимум 12 В.
Предупреждение
Более высокое напряжение или обратная полярность питания могут повредить или уничтожить плату. Защита от обратной полярности действует ТОЛЬКО на клеммах.
Выводы питания:
+VIN. Входное напряжение на плату Arduino (то же самое, что и клемма V+). Вы можете подавать напряжение через этот вывод, или, если напряжение подается через клеммы, получить к нему доступ через этот вывод. Внимание: защита от обратной полярности действует ТОЛЬКО на клеммах, не подключайте отрицательное напряжение к этому выводу. Это повредит плату.
5V. Этот вывод выдает стабилизированное напряжение 5 В от стабилизатора на плате. Плата может получать питание от клемм (2,5–12 В) или от вывода VIN платы (2,5–12 В). Подача напряжения через выводы 5V или 3.3V обходит стабилизатор и может повредить плату. Мы не рекомендуем этого делать.
GND. Выводы заземления.
Память
ATmega328P имеет 32 КБ флеш-памяти для хранения кода (из которых 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/328P.
Bluetooth-связь
Модуль Bluegiga WT11 на Arduino BT обеспечивает Bluetooth-связь с компьютерами, телефонами и другими Bluetooth-устройствами. WT11 взаимодействует с ATmega328P через последовательный порт (совместно с выводами RX и TX на плате). Он настроен на скорость 115200 бод. Модуль должен быть конфигурируемым и обнаруживаемым драйверами Bluetooth вашей операционной системы, которые затем предоставляют виртуальный COM-порт для использования другими приложениями. Программное обеспечение Arduino включает монитор последовательного порта, который позволяет отправлять и получать простые текстовые данные на плату Arduino через это Bluetooth-соединение. Плата также может быть перепрограммирована через это же беспроводное соединение.
WT11 специально сконфигурирован для использования в Arduino BT. Его имя установлено как ARDUINOBT, а код доступа — 12345. Подробности см. в полном скетче инициализации на странице Arduino BT v1.
Связь
Arduino BT имеет ряд других средств связи. UART TTL (5 В) последовательная связь ATmega328P доступна на цифровых выводах 0 (RX) и 1 (TX), а также подключена к модулю WT11.
Библиотека SoftwareSerial позволяет осуществлять последовательную связь на любом из цифровых выводов BT.
ATmega328P также поддерживает связь I2C (TWI) и SPI. Программное обеспечение Arduino включает библиотеку Wire для упрощения использования шины I2C. Для использования связи SPI обратитесь к даташиту ATmega328P.
Программирование
Arduino BT можно программировать с помощью программного обеспечения Arduino. Подробности см. в справочнике и руководствах.
ATmega328P на Arduino BT поставляется с предустановленным загрузчиком, который позволяет загружать новый код без использования внешнего программатора. Он взаимодействует по оригинальному протоколу STK500 (справка, заголовочные файлы C).
Вы также можете обойти загрузчик и запрограммировать ATmega328P через разъем ICSP (внутрисхемное последовательное программирование); подробности см. в этих инструкциях.
Физические характеристики
Максимальная длина и ширина BT составляют приблизительно 3,2 и 2,1 дюйма соответственно. Три отверстия для винтов позволяют прикрепить плату к поверхности или корпусу. Обратите внимание, что расстояние между цифровыми выводами 7 и 8 составляет 160 мил (0,16 дюйма), что не является четным кратным шагу 100 мил остальных выводов.