Электронный компонент:Seeeduino Mega
Seeeduino Mega[1]
Seeeduino Mega – это плата, созданная «по мотивам» Arduino Mega. Она оснащена процессором ATmega2560 с большим количеством I/O контактов – 70 цифровыми контактами, 16 входными аналоговыми контактами, 14 ШИМ-контактами и 4 аппаратными последовательными портами. Seeeduino Mega примерно на 30% меньше Arduino Mega и на 100% совместима с шилдами Seeed. Так это плата из серии Seeeduino, она также оснащена переключателем напряжения (между 5 и 3,3 вольтами), боковой кнопкой сброса и т.д.
Области применения
- Интернет вещей
- Самостоятельное проектирование
- Робототехника
- Умный дом
- 3D-печать
- Промышленное производство
Вот несколько проектов на базе Seeeduino Mega:
Функции
- Совместимость с шилдами для Arduino Duemilanove и Diecimila
- Процессор ATmega2560 на 16 МГц
- Выбор между напряжением 5 и 3,3 вольта
- 70 цифровых I/O контактов
- 16 входных аналоговых контактов
- 16 выходных ШИМ-каналов
- 4 аппаратных последовательных порта (UART)
- Компактность (на 30% меньше Arduino Mega)
- Просто программировать; для загрузки прошивки не требуется дополнительных устройств – просто подключите плату к USB-порту
- ICSP-гребешок
- Можно питать от батареи или адаптера AC/DC
Характеристики
Параметр | Значение |
---|---|
Микроконтроллер | ATmega2560 |
Рабочее напряжение | 5 или 3,3 вольта |
Входное напряжение | 7-12 вольт |
Цифровые I/O контакты | 70 шт. |
Каналы ШИМ | 14 шт. |
Входные аналоговые каналы | 16 шт. |
Сила (постоянного) тока на каждом I/O контакте | 20 мА |
Flash-память | 256 Кб |
RAM | 8 Кб |
EEPROM | 4 Кб |
Тактовая частота | 16 МГц |
Описание компонентов
На картинке ниже показаны компоненты Seeeduino Mega – чтобы вы лучше понимали, как устроена плата.
- Порт MiniUSB. Через него плата подключается к ПК для программирования и питания.
- Переключатель режима. Используется, чтобы задать, будет ли Mega делать автоматический сброс или нет.
- Переключатель напряжения. Используется, чтобы переключать вольтовую логику и рабочее напряжение платы между 5 и 3,3 вольтами. В настоящее время многие хорошие датчики являются 3,3-вольтовыми, поэтому для того, чтобы использовать эти датчики, к плате (т.е. почти ко всем Arduino) нужно, как правило, подключать преобразователь вольтовой логики. Но Seeeduino Mega оснащена этим переключателем напряжения, поэтому к ней никакого преобразователя подключать не нужно.
- Входной DC-порт. Позволяет питать Seeeduino Mega от настенного адаптера – на тот случай, если вашему проекту понадобится больше питания (к примеру, при использовании DC-моторов или других устройств с повышенным энергопотреблением). Напряжение на этом порте может быть в диапазоне между 7 и 12 вольтами, а сила тока может достигать 2 ампера.
- Кнопка для сброса. Расположена на боковой стороне платы – чтобы у пользователя была возможность выполнять сброс, даже если поверх Seeeduino Mega подключен шилд. На других Arduino в этом случае сброс делать затруднительно, потому что у них кнопка для сброса находится на верхней стороне платы (т.е. загорожена шилдом).
- ICSP. Это ICSP-гребешок для ATmega328P. Расположен на стандартной позиции – там же, где контакты ICSP/SPI расположены у устройств (например, шилдов), совместимых с Arduino Uno, Due, Mega и Leonardo. Контакты SPI на этом порте – это MISO, SCK и MOSI, которые также подключены к цифровым контактам 12, 13 и 11 (как на Arduino Uno).
- Цифровые контакты. Seeeduino Mega оснащена 70 цифровыми контактами. Распиновку между контактами Arduino и портами ATmega328P смотрите тут. Все цифровые контакты Seeeduino Mega можно использовать и как входные, и как выходные – при помощи функций pinMode(), digitalWrite() и digitalRead(). Кроме того, все они могут получать/принимать не более 20 мА и оснащены подтягивающими резисторами (по умолчанию отключены) на 20-50 кОм. Максимальная сила тока – 40 мА; если ее превысить, это может привести к повреждению микроконтроллера. Кроме того, некоторые цифровые контакты имеют специальные функции:
- Последовательная коммуникация. Класс Serial – контакты 0 (RX) и 1 (TX), Serial1 – контакты 19 (RX) и 18 (TX), Serial2 – контакты 17 (RX) и 16 (TX) и Serial3 – контакты 15 (RX) и 14 (TX). Используются для получения (RX) и отправки (TX) последовательных (TTL) данных. Контакты 0 и 1 также подключены к соответствующим контактам чипа ATmega16U2, использующегося в качестве конвертера USB-TTL.
- Внешние прерывания. Для них используются контакты 2 (прерывание 0), 3 (прерывание 1), 18 (прерывание 5), 19 (прерывание 4), 20 (прерывание 3) и 21 (прерывание 2). Эти контакты можно настроить на срабатывание прерывания при переходе в состояние LOW, при убывающем/возрастающем фронте импульса или при изменении значения. Более подробно читайте в статье о функции attachInterrupt().
- Широтно-импульсная модуляция (ШИМ). Поддерживается на контактах со 2 по 13, а также с 44 по 46. Все они способны выдавать 8-битную ШИМ при помощи функции analogWrite().
- Интерфейс SPI. Контакты 50 (MISO), 51 (MOSI), 52 (SCK) и 53 (SS). Через эти контакты можно осуществлять коммуникацию SPI, но для этого также понадобится библиотека SPI. Контакты SPI выведены на ICSP-гребешок, физически совместимый с Arduino/Genuino Uno.
- Светодиод. Цифровой контакт 13 на Seeeduino Mega подключен к светодиоду. Если подать на этот контакт HIGH, светодиод включится, а если LOW – выключится.
- Интерфейс TWI. Контакты 20 (SDA) и 21 (SCL). Через эти контакты можно осуществлять коммуникацию TWI, но для этого также понадобится библиотека Wire. Обратите внимание, что контакты TWI у старых версий Arduino Duemilanove и Diecimila находятся в другом месте.
- Аналоговые контакты. Плата Seeeduino Mega оснащена 16 входными аналоговыми контактами – каждый с 10-битным разрешением (т.е. поддерживает 1024 разных значения). По умолчанию вольтовый диапазон на них составляет от 0 до 5 вольт, но верхнюю границу этого диапазона можно поменять при помощи контакта AREF и функции analogReference().
- Контакт AREF. Эталонное напряжение для входных аналоговых контактов. Используется вместе с функцией analogReference().
- Контакт с надписью «RST». Если подать на него LOW, это сбросит микроконтроллер.
- Контакты со странной маркировкой. Их 16 штук, и это PH2, PH7, PJ2-PJ7, PD4-PD6, PE2, PE6, PE7, PG3 и PG4 (это, собственно, названия портов микроконтроллера ATmega2560). Чтобы использовать их, нужно работать напрямую с регистрами. Подробнее читайте тут.
Установка драйвера
Во-первых, cделайте следующее:
- Возьмите кабель MiniUSB
- Подключите плату. При помощи кабеля MiniUSB подключите Seeeduino Mega к ПК. В результате на плате должен загореться зеленый светодиод с надписью «PWR».
Для Windows
Чтобы Seeeduino Mega могла коммуницировать с Windows, на нее нужно установить драйвер. Он совместим с Windows XP, Windows Vista, Windows 7, Windows 8/8.1 и Windows 10. Загрузить драйвер можно по этой ссылке.
- Подключите плату к ПК и подождите, пока Windows начнет процесс установки драйвера. Спустя несколько секунд этот процесс, несмотря на все усилия Windows, закончится неудачей.
- Откройте в Windows меню «Панель управления».
- Теперь откройте меню «Система и безопасность», затем «Система» и, наконец, откройте «Диспетчер устройств».
- Найдите пункт «Порты (COM и LPT)», а в нем – порт под названием «Seeeduino Mega». Если в «Диспетчере устройств» нет пункта «Порты (COM и LPT)», ищите пункт «Другие устройства», а в нем – порт «Неизвестное устройство».
- Правой кнопкой мыши кликните на порте «Seeeduino Mega» и выберите опцию «Обновить драйвер».
- Теперь выберите опцию «Выполнить поиск драйверов на этом компьютере».
- Наконец, найдите и выберите драйвер, скачанный ранее. Он должен называться «Seeeduino Mega.inf»
- На этом этапе Windows должна завершить процесс установки драйвера.
Для Mac OSX никаких драйверов устанавливать не нужно.
С чего начать
Примечание: Этот раздел написан на примере IDE Arduino версии 1.6.9, установленной на Windows 10.
Во-первых, загружаем и устанавливаем IDE Arduino. Загрузить программу можно с этой страницы.
Запускаем IDE Arduino
После установки IDE Arduino на рабочем столе должна появиться ее иконка. С ее помощью откройте IDE Arduino.
Примечание: Если IDE Arduino запустилась на чужом языке, вы можете поменять его в меню Файл > Настройки (File > Preferences). В открывшемся окне найдите выпадающее меню «Язык редактора» («Editor language»), выставьте там нужный язык, нажмите на «OK», а потом перезапустите IDE Arduino.
Открываем скетч «Blink»
Для этого кликаем в IDE Arduino на Файл > Примеры > 01.Basics > Blink (File > Examples > 01.Basics > Blink).
Добавляем в IDE Arduino аддон для Seeeduino
Для этого кликаем в IDE Arduino на Файл > Настройки (File > Preferences) и в открывшемся окне находим пункт «Дополнительные ссылки для Менеджера плат» («Additional Boards Manager URLs»). Затем вставляем в него ссылку «https://raw.githubusercontent.com/Seeed-Studio/Seeeduino-Boards/master/package_seeeduino_index.json» и кликаем на «ОК».
Затем кликаем на Инструменты > Плата > Менеджер плат... (Tools > Board > Boards Manager...), находим «Seeeduino by Seeed Studio» и устанавливаем.
Выбираем плату
Для этого кликаем на Инструменты > Плата (Tools > Board) и выбираем пункт, соответствующий подключенной плате. В нашем случае это «Seeeduino Mega 2560».
Выбираем последовательный порт
Для этого кликаем на Инструменты > Порт (Tools > Port) и выбираем порт, к которому подключена плата. Скорее всего, это будет COM3 или выше (COM1 и COM2 уже зарезервированы под аппаратные последовательные порты). Чтобы выяснить, какой именно порт вам нужен, отключите Seeeduino от ПК, а потом снова откройте в IDE Arduino меню портов. Порт, который исчезнет, и будет портом, через который плата была подключена к ПК. Снова подключите плату и выберите найденный порт.
Примечание: На Mac этот порт будет выглядеть примерно так – «/dev/tty.USBmodem».
Загружаем скетч
Теперь просто кликаем на кнопку «Загрузка» («Upload») в IDE Arduino (она выполнена в виде стрелочки, направленной вправо) и ждем несколько секунд. Если загрузка пройдет успешно, в статусной панели IDE Arduino появится сообщение «Загрузка завершена» («Done uploading»).
Когда загрузка скетча завершится, на плате начнет мигать оранжевый светодиод, подключенный к 13-ому контакту. Если замигал, поздравляем! Это значит, что плата настроена и исправно работает.
О том, как настроить плату на Linux, читайте тут.
Полезные ссылки
- Eagle-файл со схемой Seeeduino Mega
- PDF-файл с распиновкой Seeeduino Mega
- Как начать работать с Arduino
- Справочник языка Arduino
- Страница загрузки IDE Arduino
- FAQ по Arduino
- Введение в Arduino
- Об Arduino на Википедии
- Статья об Arduino Mega
FAQ
Чем отличаются Arduino Mega и Seeeduino Mega?
Плата Seeeduino Mega – это производная от платы Arduino Mega. Она отличается от своего «предка» следующим:
- Для питания и программирования используется порт MiniUSB
- Наличие переключателя напряжения между 5 и 3,3 вольтами
- Наличие переключателя между двумя разными режимами сброса (ручным и автоматическим)
- Более компактный размер