ArduCAM + модуль Bluetooth = беспроводная система передачи изображений
Введение
В этом примере показано, как передавать изображения по Bluetooth с плат Arduino. Понадобятся плата-шилд ArduCAM, модуль камеры OV2640, плата Arduino UNO или Mega2560 R3 и модуль Bluetooth-приёмопередатчика с TTL-интерфейсом.
Bluetooth — технология беспроводной связи малого радиуса действия с высокой скоростью передачи; она широко применяется для звука и сжатого видео. Модуль Bluetooth BTM-5 после подключения к ведущему устройству Bluetooth работает по протоколу PPP и эмулирует последовательный порт. Дальше данные можно отправлять и принимать так же, как через обычный последовательный порт.

Настройка модуля Bluetooth BTM-5
Перед запуском примера настройте BTM-5 как ведомый модуль, задайте скорость 115 200 бит/с и выполните сопряжение с ноутбуком.
Подключение
Схема подключения модуля BTM-5 к плате Arduino приведена ниже. На рисунке 1 показано типовое подключение к плате UNO; плата Mega 2560 R3 подключается так же.
У платы Arduino Uno один аппаратный последовательный порт — на выводах D0 (RXD) и D1 (TXD). Поэтому выводы RX и TX модуля BTM-5 подключаются к выводам D1 (TXD) и D0 (RXD) платы UNO. Внимание: перед загрузкой скетча в плату отключите модуль BTM-5, чтобы избежать конфликта на последовательном порте.

Загрузка скетча
Чтобы передавать изображение как можно быстрее, его нужно сжимать — так уменьшается объём передаваемых данных. В таблице 1 указано время передачи изображения на скорости 115 200 бит/с при разных разрешениях и форматах.
Таблица 1
| Разрешение | Размер данных изображения | Время передачи на 115,2 кбит/с |
|---|---|---|
| BMP 320 × 240 | 150 КБ | 13 с |
| JPEG 320 × 240 | 3–6 КБ | 0,3–0,5 с |
| JPEG 640 × 480 | 20–30 КБ | 1,7–2,6 с |
| JPEG 1600 × 1200 | ≈130 КБ | ≈11 с |
В модуль камеры OV2640 встроен JPEG-кодер, поэтому модуль нужно настроить на вывод изображений в формате JPEG.
Отправка команды съёмки и приём изображения
Когда всё подключено, включите питание платы Arduino и подождите несколько секунд, пока не загорится зелёный светодиод: это значит, что сопряжение прошло успешно. Затем откройте программу ArduCAM_Host_V2.exe, выберите нужный последовательный порт и скорость. Нажмите Capture, чтобы получить изображение.

Программа ArduCAM Host_V2 принимает данные изображения и показывает снимок в окне. Кроме того, если выбрать SaveImage, программа сохраняет каждый снимок.


