Что нужно знать об Ардуино в целом и моих разработках в частности

Ардуино(на фото) – семейство печатных плат на основе микроконтроллеров Atmega.

Микроконтроллер – это по сути посредник между цифровым миром и событиями в нашем окружении.

Почти все бытовые приборы, имеющие кнопки и экранчики (даже просто светодиодные) управляются микроконтроллерами.

Они трудятся в стиральных машинах, микроволновках, хлебопечках, робопылесосах, гиробордах, квадрокоптерах и электровелосипедах.

А внутри автомобиля Логан я насчитал их до десятка!

Ардуино(есть еще STM, ESP – в общем, я делал проекты на всех трех платформах) отличается от упоминаемых выше микроконтроллеров удобством подключения внешних элементов, простотой программирования (синтаксис языка Си) и широкой поддержкой группами разработчиков в интернет.

На фото – беспаечная макетная плата для моделирования и творчества – вставляя проводники и радиодетали в отверстия мы образуем связи(контакты) между ними.

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

И если по определенным причинам повторить приведенные на этом(и не только) сайте конструкции Вам тяжело – без проблем помогут друзья/дети/внуки.

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

Ну и естественно объем материалов был расширен для наглядности и простоты восприятия.

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

Не верите?

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

Да, отверстия по краям платы (Про Мини) – это пины(порты) ввода-вывода, они могут выпольнять как простые задачи (прочитать состояние двери – открыто/закрыто, включить выключить свет, измерить напряжение), так и управлять экранами, сервоприводами, другими усройствами.

Просто для этого потребуется больше одного пина(контакта ввода-вывода).

К примеру, подключение духстрочного LCD-экранчика на 16 сммволов в строке (такие были в пэйджерах Motorola) требует 6 пинов.

Но обычно обмен информацией происходит по двум проводам/пинам (помимо питания).

В нашем распоряжении их 21(на чипе Atmega 328), на Atmega 2560 – целых 70!

Еще, прежде чем начать, поясню почему в своих конструкциях использую Arduino Pro Mini 8MHz 3.3В.

  1. Энергопотребление – около 3мА – это в 10 раз меньше, чем у обычной версии Uno.
    Данный факт обусловлен как вдвое меньшей рабочей частотой, так и сниженным напряжением питания.
    Кроме того, отсутствует такой “лишний” потребитель как преобразователь USB-TTL (необходим только для записи программы).
    Подобные вещи позволяют отказаться от использования режима сна для экономии батареи, дополнительных модулей часов реального времени и преобразователей питания.
    Что выливается в простоту конструкции и неоднозначность отзывовов по поводу применяемых решений.
    Надо сказать, в индикаторе полива удалось снизить показатель потребления еще на порядок, но эту уже выходит за рамки Ардуино
    Для сравнения – спящая плата Pro Mini 5V 16MHz потребляет столько-же, как работающий контроллер Atmega328P на частоте 1MHz с питанием 2V.

  2. В отличии от Arduino Uno можно напрямую работать с GSM-модулями без риска их сжечь, да и для питания требуется одна литиевая батарея без дополнительных преобразователей напряжения.

Ну и наконец, в разы меньшая стоимость.

Единственный минус – необходимость использовать USB-TTL преобразователь для программирования:

Я использую модель на чипе CH340 (на фото под Ардуино)

Кроме того, нам понадобятся 4 провода Dupont 20см мама-мама для соединения данных плат.

При этом, земля/минус/gnd преобразователя соединяется с землей Arduino, плюс/Vcc – соответственно.

А вот сигнальные проводники (TxD, RxD) соединяются перекрестно – TX ардуино к RX преобразователя и наоборот.

Это обусловлено спецификацией последовательного протокола RS232 – TxD – канал передачи, RxD – приема.

По сути все как в телефоне – говорим мы в микрофон, а звук выходит из динамика.

С этим разобрались, но как написанная нами на компьютере программа(скетч) попадает в микроконтроллер?

Для этого существует интегрированная среда разработки (англ. Integrated development environment — IDE).

Если по-простому – это инструмент, обьединяющий редактор кода, проверяющий корректность его написания и делающий загрузку в микроконтроллер.

Для каждого семейства контроллеров используется своя среда, у нас соответсвенно Arduino IDE

Скачать и установить/распаковать программу можно(и нужно) с официального сайта Arduino IDE

Пункт software-downloads-Windows ZIP file for non admin install (на фото отмечен красной стрелкой)

Распаковать лучше в корень на диск D: (C:)

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

Содержимое распаковывается с заменой файлов в каталог D:(C:)\arduino-“номерВашейверсии”\libraries

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

Ну и конечно-же драйвер для USB-TTL с того-же github – из распакованного архива просто запускается установка файлом SETUP.

Вот теперь можно запустить и настроить среду разработки: D:(C:)\arduino-“номерВашейверсии”\arduino

При первом запуске Arduino IDE, Windows может запросить параметры безопасности/доступа – отмечаем галочками оба пункта, нажимаем “Разрешить доступ”

После запуска окно программы будет иметь примерно следующий вид:

Для нас тут важным является основное(белое) поле редактирования программ(скетчей) – сюда они копируются , тут мы их правим и дополняем.

Кроме того, красной цифрой один я обозначил кнопку компилляции/проверки программы(галочка).

В самом низу – черная информационная полоса для отображения статуса операций и наличии ошибок.

Однако их отсутствие далеко не всегда означает что собранная нами конструкция заработает – есть еще ошибки сборки и банально плохой контакт.

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

Над желтой двойкой – кнопка загрузки программы в микроконтроллер(стрелка вправо).

Да, специфика платы Pro Mini(вернее многих USB-TTL преобразователей) такова, что кроме этой кнопки необходимо еще нажать reset(желтая/красная кнопка) на Ардуино после появления надписи “Загружаем” в окне диагностики внизу.

Либо просто подать питание на микроконтроллер – работает не менее успешно – проверено!

Ах да, еще на снимке экрана раскрыта ветка выбора типа микроконтроллера и его частоты(Инструменты)

В нашем случае -выбираем плату “Arduino Pro or Pro Mini” , процессор Atmega 328 3.3V 8 MHz

Без этого программа будет работать некорректно , либо как правило вообще не будет работать.

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

Да, сам преобразователь USB-TTL является отнюдь не бесполезной “в быту” вещью с его помощью к примеру можно осущестить диагностику/настройку газового оборудования 4 поколения.

Но это уже совсем другая история.

Leave a Reply

Your email address will not be published. Required fields are marked *