Как сделать мини пк из ардуино

Добавил пользователь Евгений Кузнецов
Обновлено: 04.10.2024

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

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

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

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


Верхняя плата — это собственно и есть 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

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

Подключаемся

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


Единственное что посоветую использовать не идущие в комплекте провода, а купить разъем питания на 6 контактов с шагом контактов 2,54мм. Он называется NS25 — 2,54 мм и такой же на 5 контактов для подключения к USB-UART / USB-TTL конвертеру.


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


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


Как видно используется только по 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 подключен, то просто ждем


Если все мы сделали правильно, то вскоре мы увидим надпись "вгрузили" и светодиод начнет мигать с периодом 0,5с.

размеры arduino pro mini

Arduino Pro Mini — многофункциональная платформа на базе микроконтроллера ATmega328, производимая американской корпорацией SparkFun Electronics. Она используется для разработки гаджетов и электронных устройств. Средняя цена этой платы на территории Российской Федерации составляет 220 руб.

Описание и характеристики Arduino Pro Mini

Ардуино Про Мини является одной из самых компактных плат. Ее длина составляет 3 см, ширина — 1,8 см. На устройстве расположено 6 аналоговых входов и 14 цифровых выходов. Контроллер обладает следующими характеристиками:

  • предельное напряжение — 20 В;
  • число пинов PWM — 6;
  • количество flash-памяти — 32 кБ (2 кБ предназначены для загрузчика);
  • максимальная сила тока — 50 мА;
  • величина энергозависимой памяти EEPROM — 512 байт;
  • тактовая частота микроконтроллера — 16 МГц;
  • величина статической памяти SRAM — 2 кБ;
  • сила тока, проходящего через входы и выходы платформы, — 40 мА.

Общий вес этой модели Arduino составляет 5 г. На плате также присутствуют блокировочные конденсаторы, кварцевый резонатор, стабилизатор напряжения, 2 встроенных светодиода и кнопки перезагрузки. Устройство подключается к компьютеру при помощи кабелей USB и FTDI.

Возможности устройства

arduino pro mini

При помощи Ардуино Про Мини можно создавать множество прикладных электронных устройств. Эта плата используется в следующих проектах:

  • электронная сигнализация со встроенным модулем dfplayer;
  • автоматическая система очистки воды;
  • контроллеры для управления дронами и квадрокоптерами;
  • анализатор влажности почвы;
  • поливочная система для тепличных растений;
  • датчики для определения количества осадков и скорости ветра.

Эта модель Arduino может применяться в бытовых условиях. На ее основе разрабатываются системы умных домов. Технология позволяет управлять электронными устройствами, находящимися в помещении, из одной точки. Ардуино Про Мини используют в робототехнике и нанотехнологиях.

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

схема arduino pro mini

Как действует Ардуино Про Мини — показано на принципиальных схемах платы. Основу данной электронной платформы составляют 3 конденсатора, выполненных из кремния. По ним в разных направлениях перемещаются сигналы, преобразующиеся в рабочее напряжение. Далее ток проходит через фильтры низких частот, поступая на один из цифровых выходов.

На принципиальных схемах указываются устройства, подсоединяемые к плате отдельно. К ним относятся акселерометр MMA7260 и дополнительные слоты для подключения SD-карт. Эти детали обозначаются в виде отдельных плат. При помощи линий отмечены места установки коннекторов для подсоединения периферийных устройств.

Распиновка платы

Распиновка (pinout) платы Ардуино Про Мини отличается компактностью и многофункциональностью. На контроллере расположено 14 цифровых пинов, настраиваемых на вход или выход при помощи команд pinMode (), digitalRead () и digitalWrite (). Они работают при напряжении 3,3 В. На каждом пине присутствует нагрузочный резистор с сопротивлением 50 кОм. Цифровые выводы подразделяются на несколько групп.

  1. Последовательные шины. Используются для приема и передачи информации. К ним относятся пины RX и TX.
  2. Выводы внешнего прерывания. Предназначены для остановки исполнения программного кода. В эту группу входят пины №№ 2 и 3. Их работа регулируется при помощи функции attachInterrupt ().
  3. Выводы ШИМ. Применяются для активации широтно-импульсной модуляции с расширением 8 бит. Эту функцию выполняют пины №№ 3, 5, 6, 9, 10 и 11. Их работу можно настраивать с помощью команды logWrite ().
  4. Выводы SPI. Необходимы для связи с последовательным периферийным интерфейсом. В эту группу входят пины SS, MOSI, MISO и SCK.
  5. Вывод LED. Это пин № 13, к которому подключается встроенный светодиод. При подаче высокого напряжения он загорается. Светодиод гаснет, если значение на выводе имеет низкий потенциал.
  1. Пины I2C используются для подключения платы к сетевому последовательному интерфейсу. К ним относятся входы SDA и SCL. Для работы с пинами I2C необходима электронная библиотека Wire.
  2. Reset принимает сигналы низкого уровня. К нему подключается кнопка, отвечающая за перезагрузку микроконтроллера. К пину Reset можно подсоединить дополнительные платы расширения.

Измерение данных аналоговыми входами осуществляется от точки нулевого потенциала (GND) до предельных значений VCC.

Прошивка контроллера

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

Прошивка осуществляется при помощи порта USB, платы Arduino Uno и отдельных программаторов.

Через USB в TTL

Для перепрошивки платы при помощи USB в TTL необходимо приобрести UART переходник. Стоимость этого гаджета составляет 90-150 руб. Важно, чтобы на устройстве присутствовали контакты RST и DTR. В противном случае Arduino не сможет автоматически перезагружаться после завершения загрузки скетчей. Переходник подсоединяется к контроллеру при помощи проводов или шлейфа и подключается к компьютеру. Затем нужно загрузить драйверы. Это программное обеспечение позволяет загружать на плату рабочие скетчи.

Через Arduino UNO

Для перепрошивки контроллера понадобится плата Arduino Uno. Ее микросхемы расположены в DIP корпусе. Из них необходимо извлечь центральный процессор при помощи отвертки. Важно, чтобы во время этого ножки устройства не деформировались. В противном случае процессор перестанет функционировать. После извлечения необходимо соединить платы UNO и Pro Mini проводами.

Для загрузки программного обеспечения требуется подключить электронные платформы к компьютеру при помощи порта USB. В настройках выбирают COM-порт. С его помощью информация передается на плату. После сохранения настроек пользователь сможет загружать скетчи на Arduino без задержек.

Через SPI интерфейс

Этот способ прошивки Ардуино Про Мини является одним из самых сложных. Для загрузки программного кода требуется интерфейс SPI и плата Arduino UNO. Его контакты расположены на портах №№ 10 и 13. Перед прошивкой необходимо подготовить программатор USBASP. Для этого нужно запустить Arduino IDE и выполнить следующие действия:

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

Для подключения электронной платформы к персональному компьютеру требуется кабель CH340G со встроенным преобразователем интерфейса USB-USART. Этот гаджет подсоединяется с помощью пинов RX и TX. Кабель подключается к контактам GND и VCC.

Рекомендуется использовать усилители с разъемом DTR, автоматически перезагружающим плату после обновления программного кода микроконтроллера.

Питание от внешнего источника

Arduino Pro Mini питается при помощи ПК и иного регулируемого источника. Энергия передается через кабель CH340G или от платы-конвертера. Для питания электронной платформы используются следующие выходы:

  • RAW, применяемый для подключения регулируемого напряжения;
  • GND, используемый для вывода заземления;
  • VCC, требуемый для подключения источника питания с напряжением до 5 В.

При подключении плат с низким энергопотреблением рекомендуется использовать стабилизатор. Он ограничивает ток потребления до 150 мА в зависимости от мощности источника питания.

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

Программирование на Ардуино Про Мини

Коды для Arduino Pro Mini пишутся в программной среде разработки. Ее можно бесплатно скачать на официальном сайте производителя платы и установить на персональный компьютер. В микроконтроллер по умолчанию встроен загрузчик, позволяющий загружать программный код в память устройства. Связь между платой и ПК обеспечивается с помощью протокола STK500. При первом подключении платформы необходимо установить драйверы для работы кабеля CH340G и иного конвертера.

Arduino Pro Mini

Это одна из самых простых и миниатюрных плат Ардуино. На ней только минимум компонентов: микроконтроллер, кварцевый резонатор, блокировочные конденсаторы, два светодиода и стабилизатор напряжения.

Преобразователя интерфейсов плата не содержит. Для подключения к компьютеру через интерфейс USB, в том числе для загрузки программы из Arduino IDE, необходимо использовать внешний USB-UART конвертер.

Размеры платы Arduino Pro Mini всего 18 x 33 мм, что позволяет применять ее в проектах критичных к габаритам электроники.

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

Естественно, простота и миниатюрные размеры платы отразились на ее стоимости. Это одна из самых дешевых плат Ардуино. На момент написания статьи (февраль 2017 г.) по моей партнерской ссылке плата Arduino Pro Mini с микроконтроллером ATmega328 стоит всего 180 руб.

Arduino Pro Mini

Все вышесказанное делает привлекательным применение Arduino Pro Mini:

  • в проектах с ограниченными конструктивными размерами;
  • при отсутствии необходимости связи с компьютером;
  • при серийном выпуске;
  • при ограничениях на стоимость изделия.

Платы выпускаются в модификациях:

  • тип микроконтроллера ATmega168 или ATmega328;
  • напряжение питания 3,3 или 5 В.

В варианте с микроконтроллером ATmega168 объемы всех типов памяти (ОЗУ, FLASH и EEPROM) уменьшены в 2 раза.

В вариантах с питанием 3,3 В уменьшена тактовая частота с 16 до 8 мГц.

Характеристики платы Arduino Pro Mini.

Большей частью плата имеет такие же параметры, как и другие платы Ардуино с микроконтроллерами ATmega168/328.

Тип микроконтроллера ATmega168 ATmega328
Архитектура AVR
Напряжение питания микроконтроллера 3,3 или 5 В (в зависимости от модификации)
Напряжение питания платы 3,35 - 12 В (модификация 3,3 В) или 5,2 – 12 В (модификация 5 В)
Тактовая частота 8 мГц (модификация 3,3 В) или 16 мГц (модификация 5 В)
Объем оперативной памяти (SRAM) 1 кбайт 2 кбайт
Объем памяти программ (FLASH) 16 кбайт 32 кбайт
Объем энергонезависимой памяти (EEPROM) 512 байт 1 кбайт
Дискретные входы/выходы 14 ( 6 могут быть использованы для генерации ШИМ сигналов)
Аналоговые входы 6 или 8 входов
Максимально-допустимый ток цифрового выхода 40 мА (суммарный ток выводов не более 200 мА)
Размеры платы 18 x 33 мм

Назначение выводов платы Arduino Pro Mini.

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

Питание.

Arduino Pro Mini может получать питание следующими способами.

  • От внешнего стабилизированного источника питания напряжением 5 В. В этом случае используется вывод VCC.
  • От USB порта компьютера через преобразователь интерфейсов USB-UART, подключенный к 6 контактному разъему платы. Используется вывод VCC 6 контактного разъема.
  • От внешнего не стабилизированного источника питания напряжением до 12 В. В этом случае используется встроенный стабилизатор напряжения платы. Питание подключается через вывод RAW.

Схема питания платы Arduino Pro Mini выглядит так.

Схема питания Arduino Pro Mini

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

В качестве стабилизатора напряжения питания микроконтроллера используется микросхема MIC5205. Это линейный стабилизатор с низким падением напряжения.

При внешнем питании платы через вывод RAW этот стабилизатор может быть использован для питания внешнего устройства через вывод VCC. Ток потребления ограничен нагрузочной способностью MIC5205 и не должен превышать 150 мА. Кроме того необходимо учитывать максимально-допустимую мощность рассеивания стабилизатора. По этой ссылке mic5205.pdf можно получить подробную информацию о MIC5205 и расчете максимальной мощности для этого стабилизатора.

  • Все выводы, аналоговые или цифровые, могут работать в диапазоне от 0 до 5 В (от 0 до 3,3 В для модификации платы с питанием 3,3 В).
  • Для дискретного вывода в режиме выхода втекающий или вытекающий ток не должен превышать 40 мА. Суммарный ток выводов микроконтроллера должен быть не более 200 мА.
  • Все выводы микроконтроллера подключены к источнику питания через подтягивающие резисторы сопротивлением 20-50 кОм. Подтягивающие резисторы могут быть отключены программно.
  • Если на любой аналоговый или дискретный вход подать напряжение ниже 0 В или свыше 5 В (свыше 3,3 В для модификации с питанием 3,3 В), то оно будет ограничено защитными диодами микроконтроллера.

Защитные диоды на входах микроконтроллера

Сигналы с высоким напряжением и отрицательным напряжением должны подключаться к входам платы через ограничительные резисторы. В противном случае микроконтроллер обязательно выйдет из строя.

Цифровые выводы. У платы есть 14 цифровых выводов. Каждый из них может работать в режиме входа и выхода. Некоторые выводы еще имеют дополнительные функции.

Последовательный интерфейс UART: выводы 0(RX) и 1(TX). Используются для обмена данными по интерфейсу UART и загрузки программы в микроконтроллер из Arduino IDE. Плата не содержит преобразователя интерфейса USB-UART. Для связи с компьютером необходимо использовать внешний конвертер интерфейсов.

ШИМ: выводы 3,5,6,9, 10, 11. На этих выводах может быть сформирован аппаратным способом сигнал ШИМ. После сброса в системе установливаются параметры ШИМ: 8 бит, 500 Гц.

Интерфейс SPI: выводы 10 (SS), 11 (MOSI), 13 (SCK). Выводы аппаратного последовательного интерфейса SPI.

Интерфейс I2C: выводы 4 (SDA) и 5 (SCL). Сигналы аппаратного интерфейса I2C.

Светодиод: вывод 13. К этому выводу подключен светодиод общего назначения. Светится при высоком уровне сигнала на выводе 13.

Аналоговые входы: A0…A8. 6 или 8 аналоговых входов, предназначенных для измерения напряжения. Разрядность АЦП – 10 бит, что соответствует 1024 градациям сигнала. Время измерения порядка 100 мкс. Для сохранения точности выходное сопротивление источника сигнала не должно превышать 10 кОм.

RST. Сигнал сброса микроконтроллера. Низкий уровень приводит к перезагрузке системы. Вывод RST на 6 контактном разъеме имеет несколько другое назначение и используется при загрузке программы в микроконтроллер.

На плате есть 2 светодиода.

Светодиоды Arduino Pro Mini

  • Светодиод красного свечения, индицирующий наличие питания микроконтроллера.
  • Светодиод зеленого свечения. Управляется программой и может использоваться для любых целей по выбору разработчика.

Принципиальная схема платы Arduino Pro Mini.

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

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

Загрузка программы в плату Arduino Pro Mini.

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

С платой Arduino Pro Mini все сложнее. Некуда подключать стандартный USB кабель.

Как происходит загрузка программ в платы Ардуино из среды Arduino IDE.

При нажатии кнопки ”Загрузка” в Arduino IDE происходит компиляция скетча. О чем сообщает надпись “Компиляция скетча” в нижней части окна.

Окно компиляция программы

Окно загрузка программы

В этот момент Arduino IDE инициирует импульс низкого уровня на выходе DTR. DTR это один из сигналов управления передачей данных COM порта. Обычно он формируется на выходе встроенного преобразователя интерфейсов USB-UART.

Во всех платах Ардуино сигнал DTR подключен к выводу сброса микроконтроллера через конденсатор емкостью 0,1 мкФ. Получается простейшая дифференцирующая цепочка с постоянной времени 1 мс.

У платы Arduino Pro Mini внутреннего конвертера интерфейсов нет, поэтому сигнал DTR выведен на 6 контактный разъем. Схема сброса от сигнала DTR для Arduino Pro Mini выглядит так.

Схема сброса от сигнала DTR Arduino Pro Mini

Независимо от длительности импульса DTR на входе ”RESET” микроконтроллера будет сформирован короткий импульс сброса.

По любому сбросу микроконтроллер передает управление программе загрузчика. В течение примерно 1 секунды загрузчик ожидает связи с компьютером по протоколу STK500. Если данные от компьютера поступают, то происходит загрузка программы из Arduino IDE.

Если в течение секунды данные от компьютера не приходят, то управление передается пользовательской программе микроконтроллера. Так происходит, например, при включении питания. Секунду плата ожидает, не собираются ли в нее загружать данные, а затем выполняется уже загруженная программа.

Из всего вышесказанного становится понятно, что если плату Arduino Pro Mini подключить через полноценный конвертер интерфейсов с сигналами RXD, TXD и DTR, то загрузка будет происходит совершенно так же, как и в других платах Ардуино со встроенным преобразователем интерфейсов. Дополнительно можно использовать для питания платы сигнал 5 В интерфейса USB. Или 3,3 В для плат с питанием 3,3 В.

Для подключения внешнего преобразователя интерфейсов предназначен 6 контактный разъем платы Arduino Pro Mini (при необходимости его можно впаять). Разъем содержит все сигналы, необходимые для загрузки программы в плату.

6 контактный разъем Arduino Pro Mini

Надо только учитывать, что на некоторых платах сигналы RXI и TXO 6 контактного разъема могут соответствовать сигналам RXD и TXD микроконтроллера, а могут и быть включены наоборот. Например, как на этой плате.

Лучше прозвонить цепи выводов RXI и TXO. На моей плате сигналы соответствуют. Схема подключения конвертера USB-UART к моей плате выглядит так.

Схема подключения конвертера USB-UART для программирования Arduino Pro Mini

Обратите внимание, что сигнал DTR надо подключать к выводу RST именно на 6 контактном разъеме. Он соединен с входом сброса микроконтроллера через дифференцирующий конденсатор. На плате есть еще один вывод RST. Он подключен непосредственно ко входу “RESET” микроконтроллера.

В качестве внешнего USB-UART конвертера можно использовать любой модуль, например, PL2303 USB-UART BOARD или модуль CH340. Не забудьте установить на компьютер драйвер для модуля преобразователя интерфейсов.

Беда в том, что большинство модулей – конвертеров интерфейсов не имеют на выходном разъеме сигнала DTR. Можно, конечно, припаять проводок к выводу DTR микросхемы конвертера. Практически на всех микросхемах преобразователей интерфейсов этот сигнал есть. Просто он не выведен на разъем модуля.

Другой способ – использовать кнопку ”RESET” платы Arduino Pro Mini.

Кнопка Arduino Pro Mini

В следующем уроке собираюсь начать новую большую тему – обмен данными между платами Ардуино.



Доставка быстрая, упаковка в виде стандартного антистатического пакета и конверта с внутренней пупырчатой поверхностью. Продавец общительный, русскоязычный.
На 328 чипе. 3,3 вольта, 8МГц. Почему именно так? Да по ошибке. Хотел на 5 вольт, 16МГц, а купил эту. Сам виноват. Впрочем, для данного проекта не критично — поставил лишний преобразователь напряжения. Собственно и всё. Огромных отличий от других Mini я не нашел. Фирменное отличие — черный текстолит(?) Из косяков: на плате не работает пин RAW. Но и это не остановило. Хотя, с ним мог бы сэкономить преобразователь на 3,3 В. гребенки не распаяны. Плата сделана добротно.
Почему так кратко? Потому что про этого продавца и его платы уже есть пристрастный обзор (п.18). Желающие найдут легко. Пересказывать его не имеет смысла. Я в комментах к нему тоже вставил свои пять копеек. И с продавцом напереписывался вдоволь.


Магазин
$2.28 за пять штук. С защитой. Пока заряжается — горит красный светодиод, окончание зарядки — синий светодиод. Обзор здесь был.

Магазин
$0.50 за штуку. Доставка, правда, платная, но я брал в этом магазе еще целый ворох всякой всячины, поэтому доставка не напрягла. USB гнездо выпаял для облегчения веса))) На выходе выдает 5,12 вольт.






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



Магазин
$1.5 за штуку. Вообще-то я заказал сначала такой. Он в два раза дешевле. Но, по каким-то странным причинам, он пал смертью храбрых. Я так и не понял, чем я его убил. По этой причине проект застопорился на месяц, пока не пришел новый, более продвинутый — не надо давить reset. Это ли не прогресс?

Регулятор напряжения1117Т-3,3V в корпусе TO220, конденсаторы 1500,0х6,3 и 470,0х16, два конденсатора по 0,1 мкФ, белый светодиод и микропереключатель от детской машинки, резистор 220 Ом. Аккумулятор валялся несколько лет без дела. Когда-то я разобрал сгоревший (в прямом смысле) портативный DVD-проигрыватель. Из хорошего там только аккумуляторы и уцелели. Вот один из них и пригодился. Вольтаж 3,7 V, емкости я в маркировке не нашел.
Клеевой пистолет, резинка для денег, два крючка от… лифчика (спасибо супруге. Дорогая, я тебя люблю!), два мебельных шканта, четыре шурупа, четыре клейких отбойника для мебельных дверей, кусок макетной платы, провода, разъемы.


Сложнее обстояло дело с корпусом. Было перепробовано множество коробок. Коробка из пластика от часов Tissot оказалась хрупкой, частично картонной. Но металлические завесы от нее подошли. Одна даже в запасе осталась. Пробовал готовые корпуса от парфюма, коробку от вина, от конфет. В итоге, решил сделать сам.
Качественная фанера, скорее всего березовая, нашлась в детском наборе для выжигания. Ребенок вырос — набор остался. С одной стороны был нанесен рисунок, зато другая сторона выглядела прямо-таки сказать, отлично

Youtube сильно ухудшил качество. Если нужно глянуть в оригинале — качайте. 21 МБ.
Здесь в скетч внесено изменение, позволяющее увидеть все шесть программ по очереди, чтобы вы имели представление обо всех. В жизни, как я писал, у них псевдо-случайный порядок.


Ее особенность — в способности управлять различными системами без участия владельца, а суть заключается в объединении электронных устройств в одну сеть для экономии электроэнергии, управления освещением и электроприборами, оповещения о проникновении в дом посторонних лиц и решении других задач.

Одним из главных элементов системы умный дом в рассматриваемом варианте является Arduino. Что это такое? Как он работает? Какие функции выполняет? Все подробно мы рассмотрим в этой статье.

Что такое Arduino?

Ардуино (Arduino) — специальный инструмент, позволяющий проектировать электронные устройства, имеющие более тесное взаимодействие с физической средой в сравнении с теми же ПК, фактически не выходящими за пределы виртуальной реальности.

Другими словами, Ардуино — небольшое устройство, обеспечивающее управление различными датчиками, системами освещения, принятия и передачи данных.


В состав Arduino входит микроконтроллер, представляющий собой собранный на одной схеме микропроцессор. Его особенность — способность выполнять простые задачи. В зависимости от модели устройство Ардуино может комплектоваться микроконтроллерами различных типов.

Существует несколько моделей плат, самые распространённые из них – UNO, Mega 2560 R3.

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

Особенность последних заключается в управлении с помощью только двух параметров — логической единицы или нуля. Что касается аналогового вывода, между 1 и 0 имеется много мелких участков.

Сегодня Arduino используется при создании электронных систем, способных принимать информацию с различных датчиков (цифровых и аналоговых).


Устройства на Ардуино могут работать в комплексе с ПО на компьютере или самостоятельно.

Что касается плат, их можно собрать своими руками или же приобрести готовое изделие. Программирование Arduino производится на языке Wiring.

ЧИТАЙТЕ ПО ТЕМЕ : Умный дом Xiaomi Smart Home, обзор, комплектация, подключение и настройка своими руками, сценарии.

Чем управляет Arduino?

Благодаря большому количеству выводов на печатной плате, к Ардуино удается подключить множество различных устройств, а именно:


Кроме того, к Ардуино подключается набор датчиков в зависимости от задач, поставленных перед системой. Как правило, устанавливаются датчики освещенности, дыма и состава воздуха, магнитного поля, влажности, температуры и прочие.


Принцип работы системы

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

Главную функцию выполняет центральный датчик, который можно приобрести или собрать самостоятельно. Разъемы на платах являются стандартными, что значительно упрощает выбор комплектующих.


Питание

Питание Arduino производится через USB разъем или от внешнего питающего устройства. Источник напряжения определяется в автоматическом режиме.

Провода от АКБ подключаются к различным выводам питающего разъема — Vin и Gnd.

Для нормальной работы платформа нуждается в напряжении от 6 до 20 Вольт. Если параметр падает ниже 7 вольт, на выводе 5V может оказаться меньшее напряжение и появляется риск сбоя.

Если подавать 12 В, возможен перегрев регулятора напряжения и повреждения платы. По этой причине оптимальным уровнем является питание с помощью 7 — 12 В.


В отличие от прошлых типов плат, Arduino Mega 2560 работает без применения USB-микроконтроллера типа FTDI. Для обеспечения обмена информацией по USB применяется запрограммированный под конвертер USB-to-serial конвертер.

На Ардуино предусмотрены следующие питающие выводы:

  • 5V — используется для подачи напряжения на микроконтроллер, а также другие элементы печатной платы. Источник питания является регулируемым. Напряжение подается через USB-разъем или от вывода VIN, а также от иного источника питания 5 Вольт с возможностью регулирования.
  • VIN — применяется для подачи напряжения с внешнего источника. Вывод необходим, когда нет возможности подать напряжение через USB-разъем или другой внешний источник. При подаче напряжения на 2,1-миллиметровй разъем применяется этот вход.
  • 3V3 — вывод, напряжение на котором является следствием работы самой микросхемы FTDI. Предельный уровень потребляемого тока для этого элемента составляет 50 мА.
  • GND — заземляющие выводы.


Принципиальную схему платы в pdf формате можно посмотреть ЗДЕСЬ.

Связь

Возможности Arduino позволяют подключить группу устройств, обеспечивающих стабильную связь с ПК, а также другими элементами системы — микроконтроллерами или такими же платами Ардуино.

Модель ATmega 2560 отличается наличием 4 портов, через которые можно передавать данные для TTL и UART. Специальная микросхема ATmega 8U2 на плате передает интерфейс (один из них) через USB-разъем. В свою очередь, программы на ПК получают виртуальный COM.


Здесь имеются нюансы, которые зависят от типа операционной системы:

  • Если на ПК установлен Linux, распознавание происходит в автоматическом режиме.
  • Если стоит Windows, потребуется дополнительный файл .inf.

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

Мигание светодиодов TX и RX свидетельствует о передаче данных. Для последовательной отправки информации применяется специальная библиотека Software Serial.

К особенностям ATmega 2560 стоит отнести наличие интерфейсов SPI и I2C. Кроме того, в состав Ардуино входит библиотека Wire.

Разработка проекта

Какие проекты можно создавать на Arduino?

Ардуино позволяет создавать множество уникальных проектов. Вот лишь некоторые из них:


Как подключить проходной выключатель: одноклавишный, двухклавишный, как обычный, схемы, критерии выбора

Составление проекта для умного дома

Рассмотрим ситуацию, когда необходимо сделать автоматику для дома с одной комнатой.

Такое здание состоит из пяти основных зон — прихожей, крыльца, кухни, санузла, а также комнаты для проживания.

При составлении проекта стоит учесть следующее:

  • КРЫЛЬЦО . Включение света производится в двух случая — приближение хозяина к дому в темное время суток и открытие дверей (когда человек выходит из здания).
  • САНУЗЕЛ . В бойлере предусмотрен выключатель питания, который при достижении определенной температуры выключается. Управление бойлером производится в зависимости от наличия соответствующей автоматики. При входе в помещение должна срабатывать вытяжка, и загорается свет.
  • ПРИХОЖАЯ . Здесь требуется включение света при наступлении темноты (автоматическое), а также система обнаружения движения. Ночью включается лампочка небольшой мощности, что исключает дискомфорт для других жильцов дома.
  • КОМНАТА . Включение света производится вручную, но при необходимости и наличии датчика движения эта манипуляция может происходить автоматически.
  • КУХНЯ . Включение и отключение света на кухне осуществляется в ручном режиме. Допускается автоматическое отключение в случае продолжительного отсутствия перемещений по комнате. Если человек начинает готовить пищу, активируется вытяжка.

Отопительные устройства выполняют задачу поддержания необходимой температуры в помещении. Если в доме отсутствуют люди, нижний предел температуры падает до определенного уровня.

После появления людей в здании этот параметр поднимается до прежнего значения. Рекуперация воздуха осуществляется в случае, когда система обнаружила присутствие владельца. Продолжительность процесса — не более 10 минут в час.


Подбираем комплектацию под проект на примере Arduino Mega 2560 R3

Что входит в комплект поставки?

Arduino Mega 2560

Необходимы и дополнительные инструменты — отвертки, паяльники и прочее.

Учтите, что покупать наборы для монтажа системы стоит в сертифицированных пунктах. Это объясняется тем, что при реализации проекта применяется электричество, а использование подделки может привести к снижению уровня безопасности.

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


Прошивается плата с помощью специального софта, предназначенного для различных операционных систем, в том числе и кабеля USB. При этом в программаторах нет необходимости.

Что касается ПО, которое применяется в Ардуино, оно написано на языке Си. На число байт имеются определенные ограничения, но текущей памяти достаточно для реализации поставленной задачи.


Что такое GSM розетка для умного дома, устройство, принцип работы, инструкция по подключению, как сделать своими руками

Начало работы

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

Этапы

  • Инсталляция программного кода;
  • Конфигурация приложения под применяемое устройство;
  • Переадресация портов (для роутера);
  • Проведение тестов;
  • Внесение правок и так далее.

В Сети имеется весь необходимый софт на применяемое оборудование — его достаточно скачать с официального сайта и установить (ссылку смотрите выше).

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

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

Чтобы начать работать с Ардуино в Windows, сделайте следующие шаги:

Работа с роутером

После требуется присвоить адресу доменное имя и перейти к процессу тестирования проекта. Учтите, что для такой системы запрещено применение открытого IP-адреса, ведь в этом случае высок риск взлома через Сеть.


Расширение возможности на Ардуино

Одной из возможностей умного дома является визуализация состояния автоматики и проходящих в системе процессов. Для этого рекомендуется применять отдельный сервер, обеспечивающий обработку состояний (может применяться программа Node.js).


Для реализации задуманного подойдет ноутбук, обычный ПК или Raspberry Pi. Применение такой системы позволяет увеличить ее возможности. Так, если на плате Ардуино имеется небольшой объем памяти, на сервере такие ограничения отсутствуют. Программа пишется таким образом, чтобы обеспечить полное управление платформой.

При желании можно задать алгоритм, который будет фиксировать факт нахождения человека в доме, и собирать эту информацию. Если владелец ежедневно возвращается где-то к 17.30, за час может быть включен бойлер или отопительные устройства. По приходу домой человек попадает в теплое здание с горячей водой.

Программа может запомнить время, когда владелец ложится отдыхать и отключать нагрев воды. Таких нюансов, которые при необходимости вносятся в программу, множество. Именно наличие внешнего ПК дает большие возможности контроллеру на Ардуино.

Общение с Arduino

Чтобы узнать, какие действия осуществлять, процессор должен получить соответствующую команду. Общение производится с помощью специального языка, который адаптирован под работу с Ардуино и достаточно прост. При желании в нем легко работаться даже при отсутствии навыков программирования.


Как можно управлять?

Как отмечалось, сервер Node.js позволяет связать между собой оборудование в доме. Одним из способов управления процессами являются облачные сервисы в Сети. При этом включить отопление или бойлер можно за один-два часа до приезда.



Реле контроля фаз и напряжения: устройство, принцип работы, схемы подключения, характеристики, обзор моделей

В итоге, что мы получим?

Сегодня Arduino востребовано среди людей, которые ничего не знают о программировании.

Причиной этому является простой интерфейс, а также ряд преимуществ — простой язык программирования, возможность создания своего алгоритма, благодаря открытому исходному коду, а также легкость переноса программ с помощью USB-кабеля. Необходимый для Ардуино софт имеется в Интернете, поэтому тут проблем нет.

Это и есть основные преимущества системы.

К особенностям платы стоит отнести возможность подключения к компьютеру и получения визуализации процессов на дисплее планшета или ПК.

Читайте также: