Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Однажды мне в руки попал фотоаппарат VC0706. Я успешно подключил его к Arduino UNO, сделал фото, записал на micro SD. Хотелось чего-то большего - перенести полученное фото куда-нибудь. Например, через экран 3G / GPRS. Самый простой - отправить MMS. Но стоимость MMS довольно высока. Я хотел сделать что-нибудь подешевле. Например, отправить фото на почту.
В этом руководстве я покажу вам, как подключить камеру VC0706 и экран 3G / GPRS к аналоговому Arduino M0, сделать снимок и отправить его по электронной почте.
Нам понадобится: 1) Камера VC0706
2) 3G / GPRS экран SIM5320
3) Аналог Arduino M0
4) Micro SD
5) Адаптер питания 6-12В
6) Угловой соединитель с шагом 2,54 мм.
7) Наконечники на провода типа "мама"
Аналог Arduino M0 был выбран по нескольким причинам:
- Более доступные аппаратные последовательные порты - «Serial» (для подключения камеры), «Serial1» (для подключения экрана 3G / GPRS), «SerialUSB» (для связи с ПК).
- Уровень логических сигналов 3.3V - удобно для подключения камеры VC0706. Но есть проблема совместимости с некоторыми GPRS-экранами, которые рассчитаны на уровень 5В.
- Наличие на материнской плате разъема microSD для подключения карты памяти.
- Больше памяти, выше рабочая частота и многое другое.
Аналоговое программное обеспечение Arduino M0, совместимое с исходным Arduino M0. Эскизы для Arduino UNO довольно легко адаптировались под аналог Arduino M0.
Шаг 1: подготовка камеры
Камера имеет выход RS-232 для прямого подключения к ПК. Необходимо снять MAX232 (преобразователь RS-232) и замкнуть контактные площадки между соответствующими выводами 7-10 (TX), 8-9 (RX).
Шестипроводной кабель, идущий в комплекте с камерой, нужно немного переделать:
- Отсоедините два провода от разъема.
- Переставьте красный (+ 5V) и черный (GND) провода, как показано на рисунке.
На оголенные концы проводов необходимо припаять наконечники типа «мама».
Шаг 2: Подготовка аналога Arduino M0
Как уже упоминалось, аналоговый Arduino M0 аппаратно и программно совместим с оригинальным Arduino M0, но он также имеет встроенный разъем microSD для подключения карты памяти.
Для подключения камеры к аналогу Arduino M0 на плате необходимо припаять угловой разъем к клеммам TXD, RXD (разъем X6) как показано на рисунке. Этот порт соответствует «Последовательному».
Белый (камера RX) и желтый (камера TX) провода от камеры должны быть подключены соответственно к клеммам TXD и RXD (разъем X6), как показано на рисунке.
Вы должны вставить карту памяти (не менее 32 МБ), отформатированную в формате FAT32, в слот microSD.
Шаг 3: Подготовка 3G / GPRS Shield
Перед установкой сим-карты в слот необходимо отключить запрос ПИН-кода. Затем установите SIM-карту в слот на нижней стороне платы, как показано на рисунке.
Две перемычки необходимо установить в положение RX-1 (D1), TX-0 (D0).
Шаг 4: окончательная сборка
Для окончательной сборки необходимо подключить экран 3G / GPRS к аналогу Arduino M0.
После этого подключаем камеру VC0706. Питание камеры (красный провод «+ 5V» и черный провод «GND») необходимо брать от клемм «+ 5V» и «GND» от разъема экрана 3G / GPRS. Вы также можете использовать для этого угловой соединитель.
Не забудьте подключить 3G антенну.
Шаг 5: Программирование устройства
Прежде всего, необходимо установить библиотеки для работы с камерой VC0706 и для работы с Xmodem (передача изображений на экран 3G / GPRS):
github.com/Seeed-Studio/Camera_Shield_VC0706
peter.turczak.de/XModem.zip
Внимание: в файле библиотеки для работы с камерой VC0706_UART.h необходимо закомментировать следующие строки:
// # включаем "SoftwareSerial.h"
и установите константы:
#define DEBUG 0
#define USE_SOFTWARE_SERIAL 0
#define TRANSFER_BY_SPI 0
Далее необходимо подать на плату аналог Arduino M0 мощностью 6-12В. Подключите кабель micro USB.
Запустите IDE Arduino. Откройте скетч EmailCamera.ino.
Выберите в настройках «Инструменты-> Плата:« Arduino M0 Pro (Native USB Port) »».
В скетче необходимо прописать следующие линии (вместо *):
const char smtp_server = "*****"; // SMTP-сервер
const char smtp_user_name = "*****"; // имя пользователя SMTP
const char smtp_password = "*****"; // Пароль SMTP
const char smtp_port = "***"; // Порт SMTP-сервера
// Напишите сюда данные сим карты
cons char apn = "*****";
const char user_name = "***";
const char пароль = "***";
// Напишите здесь вашу информацию об отправителе, маршруте и именах
const char sender_address = "*****"; // Адрес отправителя
const char sender_name = "*****"; // Имя отправителя
const char to_address = "*****"; // Адрес получателя
const char to_name = "*****"; // Имя получателя
Снимите крышку камеры с объектива. Направляем камеру на фотографируемый объект. Запускаем Serial Monitor. Нажмите кнопку «Загрузить», скомпилируйте эскиз, запрограммируйте плату. В Serial Monitor мы наблюдаем отладочную информацию. После успешного завершения проверьте электронную почту получателя.
Хочу выразить огромную помощь в создании эскиза:
Adafruit Industries, www.seeedstudio.com, www.cooking-hacks.com, Лимор Фрид, Том Иго, Питер Турчак.
Через несколько дней планирую сделать и выложить видео с демонстрацией работы. В процессе работы были обнаружены недочеты в библиотеке Xmodem (некритично для данной инструкции).
В будущем есть идея новой инструкции: добавить функцию датчика движения с циклическим опросом и отправкой картинок.
Спасибо за просмотр.