Электронная камера Arduino (VC0706 + 3G Shield + аналог Arduino M0): 5 шагов
Электронная камера Arduino (VC0706 + 3G Shield + аналог Arduino M0): 5 шагов
Anonim
Электронная камера Arduino (VC0706 + 3G Shield + аналог Arduino M0)
Электронная камера Arduino (VC0706 + 3G Shield + аналог Arduino M0)

Однажды мне в руки попал фотоаппарат 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
Подготовка аналога Arduino M0
Подготовка аналога Arduino M0
Подготовка аналога Arduino M0
Подготовка аналога Arduino M0

Как уже упоминалось, аналоговый Arduino M0 аппаратно и программно совместим с оригинальным Arduino M0, но он также имеет встроенный разъем microSD для подключения карты памяти.

Для подключения камеры к аналогу Arduino M0 на плате необходимо припаять угловой разъем к клеммам TXD, RXD (разъем X6) как показано на рисунке. Этот порт соответствует «Последовательному».

Белый (камера RX) и желтый (камера TX) провода от камеры должны быть подключены соответственно к клеммам TXD и RXD (разъем X6), как показано на рисунке.

Вы должны вставить карту памяти (не менее 32 МБ), отформатированную в формате FAT32, в слот microSD.

Шаг 3: Подготовка 3G / GPRS Shield

Подготовка 3G / GPRS Shield
Подготовка 3G / GPRS Shield
Подготовка 3G / GPRS Shield
Подготовка 3G / GPRS Shield
Подготовка 3G / GPRS Shield
Подготовка 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 (некритично для данной инструкции).

В будущем есть идея новой инструкции: добавить функцию датчика движения с циклическим опросом и отправкой картинок.

Спасибо за просмотр.