Jrc h36 mini: обзор малыша arduino+

alex-day › Блог › Мы купили Arduino Pro Mini, что делать дальше?

Когда меня спрашивают: “Хочу научится программировать микроконтроллеры, с чего начать, что купить?”, то с моей точки зрения ответ однозначен: “Покупаем Arduino Pro Mini и пробуем, если все получается — переходим к более сложным вещам”.

Что такое Ардуино

Несмотря на название раздела не буду рассказывать, что такое Ардуино и откуда оно взялось, так как привел в свое время неплохую статью об этом — www.drive2.ru/b/2520138/ . Просто вспомним, что под понятием Ардуино обычно понимают совокупность трех вещей: платы или платформы Arduino (в данном случае Arduino Pro Mini), среды разработки Arduino IDE и языка программирования C++ с набором специальных библиотек. Любую из этих трех вещей мы можем подменить на аналог, но об этом мы поговорим позже. А пока просто скачаем Arduino IDE с официального сайта — www.arduino.cc/en/Main/Software и установим его на компьютер.

Что же мы купили?

Если мы все купили правильно, то перед собой мы увидим две платки

Верхняя плата — это собственно и есть Arduino Pro Mini, нижняя — USB-UART / USB-TTL конвертер
Последний может выглядеть не так, как на фото, а иметь вид готового кабеля.

(Лично я советовал бы выбрать первый вариант, но это как говорится на вкус и цвет …)

Теперь о плате/платформе Arduino Pro Mini: Конструктивно она представляет собой плату с распаянным на ней микроконтролером, кнопкой RESET, микросхемой питания и прочей, не существенной для нас на данном этапе, периферией.
Существует две версии Pro Mini: одна работает от 3.3В при частоте 8 МГц, другая — от 5В при 16 МГц. В основе платы лежит микроконтроллер Atmega 168 или Atmega 328 — отличие между ними заключается в объеме внутрисистемно программируемой Flash памяти — 16 или 32 кБайта. Это так называемая “память программ”, т.е. память в которую будет записана программа и содержимое ее не будет изменятся в процессе работы. Напомню, что Atmega построен по так называемой Гарвардской архитектуре (www.drive2.ru/b/2506495/) в которой “память программ” и “память данных” реализованы отдельно, для большего быстродействия и надежности. “Память данных” делится на 2 части: оперативную SRAM, которая что у 168, что у 328 составляет 1 Кб, и постоянную EEPROM (Electrically Erasable Programmable Read-Only Memory) объемом 512 байт, данные из которой не “теряются” при отключении питания.
В зависимости от исполнения на плате может быть 30, 32 или 34 вывода (PIN). На картинке ниже показана”максимальный” 34 пиновый вариант

Посмотрели? Страшно? Давайте разберемся что где.
GND — это у нас выводы куда подключается “земляные” провода, т.е. приходит/выводится “-” питания
VCC — плюсовые выводы для питания платы напряжением 5В (иногда 3,3В). Таке этот вывод моно использовать для подачу “наружу” опорного напряжение для цифровых входов.
RAW — вывод используется, если у нас нет стабилизированного напряжения 5В, но есть постоянное в диапазоне от 7 до 12В. Иногда указывают максимальное значение 30В — т.е. то напряжение которое микросхема питания может выдержать непродолжительное время не перегреваясь.
Помним, что в автомобиле диапазон напряжений от 12 до 15,5В, поэтому подключать RAW к “+” авто напрямую нельзя и нужно собрать схему по питанию следующего вида:

В принципе, заменив микросхему 7812 на 7805, можно питать Pro Mini и через вывод VCC

TXD и RXD — выводы UART/USART — www.drive2.ru/b/2602560/
RST — он же RESET — в мануале написано насчет него написано следующее “низкий уровень сигнала на выводе перезагружает микроконтроллер. Обычно применяется для подключения кнопки перезагрузки на плате расширения, закрывающей доступ к кнопке на самой плате Arduino”. На деле это означает что когда этот вывод подключается к земле, происходит перезапуск (сброс) Arduino Pro Mini.
Выводы обозначенные на плате цифрами с 2 до 13 — цифровые выводы (Обязательно читаем — www.drive2.ru/b/2528993/), могут настраиваться как вход или выход. Выводы работают при напряжении 3,3 В. Каждый вывод имеет нагрузочный резистор (стандартно отключен) 20-50 кОм и может пропускать до 40 мА. Они могут выводить значения только высокого (3,3В или 5В в зависимости от версии) или низкого (0В) уровня. Некоторое из них обозначенные на схеме выше как PWM могут выводить ШИМ сигнал (www.drive2.ru/b/2558797/) с разрешением 8 бит (от 0 до 255)
Выводы А0-А7 — аналоговые входы с 10 битным АЦП (www.drive2.ru/b/2558839/). В зависимости от исполнения платы их может быть от 4 до 8. Эти выводы могут также работать как цифровые.
DTR (Data Terminal Ready) — Готовность приемника данных.

Некоторые из описанных выводов могут выполнять намного больше функций, что видно из схемы, но об этом мы поговорим позже, по мере того как будем использовать эти функции.

Схема подключения достаточно простая и ошибиться достаточно сложно

После подключения у меня получилось так

Можно выпаять гребенку на конвертере и припаяться проводами непосредственно к плате — это позволит отказаться от одного из разьемных соединений и защитить конвертер, одев на него термоусадку.

Как видно используется только по 4 провода — это связано с тем, что у меня на обоих конвертерах нет вывода DTR

Что такое DTR и что делать если его нет?

Данный вывод предназначен для того, чтобы USB-serial контроллер Arduino перезагружал МК каждый раз, когда терминальная программа (в т.ч. Serial monitor, встроенный в ПО Arduino IDE) устанавливает соединение. Реализовано это следующим образом: у USB-serial контроллера вывод DTR (Data Terminal Ready) связан с выводом RESET. Если программа, работающая с виртуальным последовательным портом, использует DTR, то при установке соединения МК перезагружается.
Само по себе это обеспечивает беспроблемную загрузку скетча из Arduino IDE — МК перезагружается перед загрузкой кода. В этом смысле автоматическая перезагрузка облегчает жизнь. Кроме того, перезагрузка при подключении терминала тоже может оказаться удобной, т.к. довольно много скетчей выводят какую-то полезную информацию через последовательный порт, при этом скетч выполняется сразу после загрузки в МК, когда терминал еще не подключен (т.к. недавно порт был занят), так что увидеть вывод скетча в первые секунды его работы было бы нельзя. Перезагрузка в момент подключения терминала позволяет получить весь вывод, начиная с момента загрузки МК.
В случае, если этот вывод отсутствует, то у нас есть 3 варианта
1) Купить другой конвертер 🙂
2) Распаять вывод самому. (Как это сделать написано здесь — new-tech.in.ua/tips/109-usb-uart-converter)
3) Отправлять на перезагрузку вручную при помощи кнопки RESET расположенной на плате — об этом ниже.

Подключаем плату к компьютеру

Я не буду рассказывать как устанавливать драйвера конвертера и Arduino IDE — все достаточно стандартно.
Если все сделали правильно, то при подключении конвертера в системе появится виртуальный СОМ — порт. Это легко увидеть:

На правой картинке появляется дополнительный порт СОМ10 (у вас номер может быть другим) — его нужно выбрать, клацнув по нему мышкой.
Далее проверяем правильность указания платы, программатора — все должно быть как на картинке выше.
Указываем микроконтроллер 168 или 328, 5В или 3,3В

Почувствуем себя программистами

Попробуем залить простейшую программу. Для этого воспользуемся библиотекой примеров и тем, что у нас на самой плате на 13 выводе припаян светодиод. Скорее всего программа мигания этим светодиодом будет загружена в качестве тестовой, но мы все равно загрузим свою :). Находится этот пример тут:

//Процедура инициализации
void setup() <
// инициализируем вывод 13 на вывод.
pinMode(13, OUTPUT);
>

// Основное тело программы
void loop() <
digitalWrite(13, HIGH); // включаем светодиод (Подаем сигнал высокого уровня на вывод 13)
delay(500); // ждем 500 милисекунд (в стандартном примере 1000, что означает одну секунду)
digitalWrite(13, LOW); // выключаем светодиод (Подаем сигнал низкого уровня на вывод 13)
delay(500); // ждем 500 милисекунд после чего идем опять в начало основной программы
>

Данная программа будет выполняться по кругу пока включен микроконтроллер.

Тут все просто — нажимаем на кнопочку “вгрузить”

Если вывод DTR не подключен, то нажимаем на плате кнопку RESET и не отпускаем пока внизу окна Arduino IDE не появится надпись “вгружаем” — этот момент важно не пропустить, иначе микроконтроллер не будет своевременно перезагружен и заливка программы не состоится. Если DTR подключен, то просто ждем

JRC H36 mini: обзор малыша

Сегодня у нас на обзоре малыш от китайской компании JRC и это H36 mini.

Это ну очень маленький “карманный” квадрокоптер, особенности которого, вы узнаете ниже. Полетели!

  • Название: JRC H36 mini Quadcopter
  • Тип квадрокоптера: RTF
  • Дата выхода: 2015
  • Цена: около 1000 рублей

Внешний вид

Квадрокоптер выглядит достаточно интересно, корпус дрона напоминает космический корабль и это выглядит круто! По размерам квадрокоптер очень миниатюрный и имеет всего 9.50 x 9.50 x 5.00 см и 22 грамма веса. Давайте подробнее взглянем на доступные расцветки коптера.

Черный с белым

Синий с черным

Неплохо? Неплохо! Идем дальше.

Комплект

Сие чудо приходит к нам в небольшой бело-синей коробочке, внутри которой лежит коптер и все остальное:

  • Квадрокоптер
  • Пульт Управления
  • USB Зарядное устройство
  • Дополнительные лопости
  • Аккумулятор
  • Инструкция

Выглядит это примерно так:

Аппаратура

Квадрокоптер управляется с помощью пульта дистанционного управления, который работает на частоте 2.4 ГГц, а так же имеет 4 Канала. Расстояние действия пульта около 30 метров.

Пульт питается от 2 батареек AA типа.

Аккумулятор

Данный квадрокоптер имеет аккумулятор с объемом 150mAh и напряжением в 3.7V. Время полета обеспечено около 5-6 минут. Время полной подзарядки от 30 до 50 минут.

Видео обзоры

Квадрокоптер JJRC H36 | Сюрприз! | Полный обзор | Полёты в квартире, на море | MikeRC 2016 FHD

Покупка с Aliexpress. Обзор. Лучший комнатный квадрокоптер JJRC h36

JJRC H36 Mini Quadcopter Review

Arduino Pro Mini — Характеристики, распиновка, описание платы

Arduino Pro Mini одина из самых миниатюрных плат семейства Arduino и может использоваться в готовых проектах. Разработана и производится SparkFun Electronics. Построена на микроконтроллере ATmega168, а позже вышла плата на базе микроконтроллера ATmega328. Платформа содержит 14 цифровых входов и выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, резонатор, кнопку перезагрузки и отверстия для монтажа выводов. Блок из шести выводов может подключаться к кабелю FTDI или плате-конвертеру Sparkfun для обеспечения питания и связи через USB. Arduino Pro Mini — это Arduino Nano без встроенного преобразователя FTDI FT232RL (или CH340G).
Существует две версии платформы Pro Mini. Одна версия работает при напряжении 3.3 В и частоте 8 МГц, другая при напряжения 5 В и частоте 16 МГц.

Плата поставляется без впаянных разъемов. Это дает возможность выбрать свой способ подключения платы: впаять разъемы или выполнить соединение пайкой проводов.

Характеристики Arduino Pro Mini

Arduino Pro Mini ATmega168 3.3V/8MHz 5V/16MHz

Микроконтроллер ATmega168PA
Рабочее напряжение 3.3 В или 5 В (в зависимости от модели)
Напряжение питания (рекомендуемое) 3.35-12 В (модель 3.3 В) или 5-12 В (модель 5 В)
Напряжение питания (предельное) 3.35-20 В
Цифровые входы/выходы 14 (6 из которых могут использоваться как выходы ШИМ)
Аналоговые входы 6
ШИМ (PWM) пины
6
Постоянный ток через вход/выход 40 мА
Максимальный выходной ток вывода 3.3V 50 мА
Flash-память 16 Кб из которых 2 Кб используются загрузчиком
SRAM 1 Кб
EEPROM 512 байт
Тактовая частота 8 МГц (модель 3.3 В) или 16 МГц (модель 5 В)
Встроенный светодиод 13
Длина 33.0 мм
Ширина 18.0 мм
Вес 5 г

Принципиальная схема

Arduino Pro Mini ATmega328 3.3V/8MHz 5V/16MHz

Микроконтроллер ATmega328P
Рабочее напряжение 3.3 В или 5 В (в зависимости от модели)
Напряжение питания (рекомендуемое) 3.35-12 В (модель 3.3 В) или 5-12 В (модель 5 В)
Напряжение питания (предельное) 3.35-20В
Цифровые входы/выходы 14 (6 из которых могут использоваться как выходы ШИМ)
Аналоговые входы 6
ШИМ (PWM) пины
6
Постоянный ток через вход/выход 40 мА
Максимальный выходной ток вывода 3.3V 50 мА
Flash-память 32 Кб из которых 2 Кб используются загрузчиком
SRAM 2 Кб
EEPROM 1 Кб
Тактовая частота 8 МГц (модель 3.3 В) или 16 МГц (модель 5 В)
Встроенный светодиод 13
Длина 33.0 мм
Ширина 18.0 мм
Вес 5 г

Принципиальная схема

Распиновка Arduino Pro Mini



Каждый из 14 цифровых выводов Pro, используя функции pinMode() , digitalWrite() , и digitalRead() , может настраиваться как вход или выход. Выводы работают при напряжении 3,3 В. Каждый вывод имеет нагрузочный резистор (стандартно отключен) 20-50 кОм и может пропускать до 40 мА. Некоторые выводы имеют особые функции:

  • Последовательная шина: 0 (RX) и 1 (TX). Выводы используются для получения (RX) и передачи (TX) данных TTL. Данные выводы имеют соединение с выводами TX-0 и RX-1 блока из шести выводов.
  • Внешнее прерывание: 2 и 3. Данные выводы могут быть сконфигурированы на вызов прерывания либо на младшем значении, либо на переднем или заднем фронте, или при изменении значения. Подробная информация находится в описании функции attachInterrupt() .
  • ШИМ: 3, 5, 6, 9, 10, и 11. Любой из выводов обеспечивает ШИМ с разрешением 8 бит при помощи функцииanalogWrite() .
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Посредством данных выводов осуществляется связь SPI, которая, хотя и поддерживается аппаратной частью, не включена в язык Arduino.
  • LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.

На платформе Pro Mini установлены 6 аналоговых входов, каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Четыре из них расположены на краю платформы, а другие два (входы 4 и 5) ближе к центру. Измерение происходит относительно земли до значения VCC. Некоторые выводы имеют дополнительные функции:

  • I2C: A4 (SDA) и A5 (SCL). Посредством выводов осуществляется связь I2C (TWI), для создания которой используется библиотека Wire.

Существует дополнительный вывод на платформе:

  • Reset. Низкий уровень сигнала на выводе перезагружает микроконтроллер. Обычно применяется для подключения кнопки перезагрузки на плате расширения, закрывающей доступ к кнопке на самой плате Arduino.

Питание платы

Arduino Pro Mini может получать питание: через кабель FTDI FT232RL (или CH340G), или от платы-конвертора, или от регулируемого источника питания 3.3 В или 5 В (зависит от модели платформы) через вывод Vcc, или от нерегулируемого источника через вывод RAW.

Выводы питания

  • RAW. Для подключения нерегулируемого напряжения.
  • VCC. Для подключения регулируемых 3.3 В или 5 В.
  • GND. Выводы заземления.

Подключение платы Arduino Pro Mini

Для соединения с компьютером используется специальный кабель FTDI FT232RL (или CH340G), содержащий преобразователь интерфейса USB–USART. Микроконтроллер содержит интерфейс USART, его сигналы RX и ТХ выведены на торцевую часть платы. Специальный кабель подключается к этим входам Arduino Pro Mini, а также к контактам VCC и GND. При этом питание 5 В поступает в модуль от персонально компьютера. Существуют соединители, имеющие также очень важный контакт DTR. Сигнал на этом контакте автоматически формирует сигнал сброса перед обновлением программы в МК. Без сброса в нужный момент в начале записи программы невозможно записать новую программу. Следует учитывать порядок подключения контактов. Правильно соединение USART выполняется по схеме:

Скретчдуино – легкий путь в Ардуино-робототехнику для детей и начинающих.

В своих предыдущих постах я уже упоминал о проекте Скретчдуино. Теперь хочу поведать, почему я решил рассказать об этом поподробнее. Еще пару лет назад я не думал, что у меня появится хобби, связанное с программированием контроллеров. Несмотря на то, что моя нынешняя работа связана с компьютерной техникой, программированием я не занимался. Теперь предыстория. Однажды жена, приехав с конференции по развитию образования рассказала, что посетила мастер-класс по программированию роботов для детей. Ей очень понравилось, что всего за час участники этого мастер-класса смогли написать простенькие программы и опробовать их на роботах. Однако представители не смогли показать никакой внятной документации к этому проекту. Руководитель проекта посетовал на отсутствие времени и методической помощи, а потом предложил взять робота и попробовать что-нибудь написать.

И тут она достает из сумки коробку с роботом, и говорит, что надеется на мою помощь. А я программировал последний раз в далеком 1989 году, когда студентом писал лабораторные работы в институте на ПК ДВК-4, на Паскале. Причем изучать пришлось самому, в школах тогда информатику не проходили.

Ну что ж, установив ПО, я понял, что многое, оказывается, помню. Очень быстро робот начал выполнять несложные задания. Язык Скретч очень прост, визуализирован, программа составляется из блоков очень быстро. Вот пример простого кода. Робот доезжает до края стола, отъезжает от него и издает звук.

Клавиша “пробел” для экстренной остановки.

Как видите, главный недостаток – это достаточно высокая стоимость. Но разве мы не инженеры? Достоинство проекта в том, что все лежит в открытом доступе. Начиная от ПО и заканчивая чертежами, схемой, документацией на печатные платы и т.д.

Теперь ссылки того, что можно найти в абсолютно свободном доступе:

Надо сказать, что я тестировал устройство на дочери 12 лет, она саостоятельно прочитала руководство и придумала собственные задания для робота. Вообще детям и подросткам нравится быстрый успех и программирование здесь не исключение. Хоть я далеко не подросток, но познакомившись с этим проектом, приобрел интересное хобби – Ардуино. Если кого-то заинтересует, готов отвечать на вопросы.

Источники:

http://arduinoplus.ru/jrc-h36-mini-obzor-malysha/

http://micro-pi.ru/arduino-pro-mini-%D0%BE%D0%B1%D0%B7%D0%BE%D1%80-%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5/

http://pikabu.ru/story/skretchduino__legkiy_put_v_arduinorobototekhniku_dlya_detey_i_nachinayushchikh_4701286

http://all-arduino.ru/knigi-po-arduino/

Ссылка на основную публикацию