5 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Создаем свой первый Arduino проект и выбираем плату

Arduino – это плата используемая для создания устройств способных взаимодействовать с окружающей средой и воспринимать различные данные из нее при помощи различных датчиков и управляющих устройств, таких как двигатели и т.д. Также это платформа с открытым исходным кодом, основанная на микроконтроллерах. Термин «открытый исходный код» означает, что все ресурсы платы, включая CAD файлы и т.д., находятся в свободном доступе для всех пользователей. Поэтому каждый может изменить их исходя из своих потребностей. Платы Arduino были разработаны для того, чтобы предоставить любому интересующемуся пользователю недорогой и легкий способ создания микроконтроллерных устройств, взаимодействующих с окружающей физической средой.

Следует выделить 2 сегмента:

  • Аппаратную часть – саму плату;
  • Программную часть – которая включает в себя Arduino IDE (простое и легкое в освоении программное обеспечение для написания программ Arduino).

Простота и легкость в освоении Arduino сделали данную платформу невероятно популярной по всему миру.

Arduino или чтототам-duino

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

Поскольку Arduino — это бренд производителя, аналоги имеют другие, но обычно созвучные с Arduino названия — Freduino, Freeduino, DCcduino, Xdruino, Funduino, Robotale и множество других. Более того, бренд вообще может быть не указан, а будет присутствовать надпись типа for Arduino. Оригинальные Arduino производятся в Италии, большинство аналогов — в Китае. Есть и российские разработки.

Визуально большинство этих плат выглядит одинаково (на Arduino присутствует фирменный логотип) и даже имеют одинаковый синий цвет (исключения есть, но немного, Funduino, например, красного цвета). Также платы-аналоги Arduino обычно в своем названии имеют такие же приставки, как и сама Arduino, например, DCcduino UNO соответствует Arduino UNO (что такое UNO — ниже).

Безымянный аналог Arduino UNO

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

Все инструкции, все методические разработки, уроки и т.п., ориентированные на Arduino, в полной мере подходят и для аналогов. Поэтому, если имидж для вас ничто, то смело берите другие -duinы!

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

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

На некоторых цифровых пинах можно увидеть значок

. Такие контакты можно использовать в качестве выходов ШИМ. Ардуино нано оснащена шестью такими контактами – это пины D3, D5, D6, D9, D10, D11. Для работы с ШИМ выводами используется функция analogWrite().

Описание пинов Ардуино Нано

  • Цифровые входы/выходы: D0-D13.
  • Аналоговые входы/выходы: A0-A7 (10-разрядный АЦП).
  • ШИМ: пины 3, 5, 6, 9, 10, 11.
  • UART : D0 и D1 (TX и RX соответственно).
  • I2C: SDA – A4, SCL -A5.
  • SPI: MOSI – 11, MISO – 12, SCK – 13, SS(10).

Пробежимся по пинам:

  • 0 – TX (передача данных UART), D0.
  • 1 – RX (прием данных UART), D1. RX и TX могут использоваться для связи по последовательному интерфейсу или как обычные порты данных.
  • 3, 29 – сброс.
  • 4, 29 – земля.
  • 5 – D2, прерывание INT0.
  • 6 – D3, прерывание INT1 / ШИМ / AIN0.
  • 7 – A4, счетчик T0 / шина I2C SDA / AIN1. AIN0 и AIN1 – входы для быстродействующего аналогового компаратора.
  • 8 – A5, счетчик T1 / шина I2C SCL / ШИМ.
  • 9 – 16 – порты D6-D13, из которых D6 (9й), D9 (12й), D10 (13й) и D11 (14й) используются как выходы ШИМ. D13 (16й пин) – светодиод. Также D10 – SS, D11 – MOSI, D12 – MISO, D13 – SCK используются для связи по интерфейсу SPI.
  • 18 – AREF, это опорное напряжение для АЦП микроконтроллера.
  • 19 – 26: аналоговые входы A0… A7. Разрядность АЦП 10 бит. A4 (SDA), A5 (SCL) – используются для связи по шине I2C. Для создания используется специальная библиотека Wire.

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

Подготовка к работе

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

Все примеры проверялись и тестировались на следующем оборудовании:

  • плата NodeMCU ESP8266-12E;
  • драйвер моторов L293D;
  • I2C-дисплей 0,96″ 128 × 64;
  • Adafruit NeoPixel Ring 16.

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

Для прошивки платы нам понадобится Python. Точнее, даже не он сам, а утилита esptool, распространяемая с помощью pip. Если у тебя установлен Python (неважно, какой версии), открой терминал (командную строку) и набери:

После установки esptool надо сделать две вещи. Первое — скачать с официального сайта версию прошивки для ESP8266. И второе — определить адрес платы при подключении к компьютеру. Самый простой способ — подключиться к компьютеру, открыть Arduino IDE и посмотреть адрес в списке портов.

Для облегчения восприятия адрес платы в примере будет /dev/ttyUSB0 , а файл прошивки переименован в esp8266.bin и лежит на рабочем столе.

Открываем терминал (командную строку) и переходим на рабочий стол:

Форматируем флеш-память платы:

Если при форматировании возникли ошибки, значит, нужно включить режим прошивки вручную. Зажимаем на плате кнопки reset и flash. Затем отпускаем reset и, не отпуская flash, пытаемся отформатироваться еще раз.

И загружаем прошивку на плату:

Visuino

Visuino — это бесплатная графическая среда, работающая на базе совместимых с Arduino промышленных контроллеров (ПЛК) Controllino. Она дает возможность создания сложных систем автоматизации и решений IoT (Internet of Things, интернета вещей), причем сделать это можно, просто перемещая и соединяя визуальные блоки. Программная среда автоматически генерирует код для промышленных контроллеров.

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

К плюсам Visuino относится большой набор компонентов для математических и логических функций, сервоприводов, дисплеев, интернета и пр.

Когда ПЛК запрограммирован, графическая среда подсказывает доступный способ подключения к контроллеру. Это может быть последовательный порт, Ethernet, Wi-Fi или GSM.

Наконец ваш проект готов: все контроллеры прописаны, все работает. Теперь, нажав на логотип Arduino, расположенный на верхней панели, вы заставите Visuino создать коды для Arduino и открыть среду его разработки (Arduino IDE), через которую уже можно скомпилировать код и загрузить его в ПЛК.

Совет. Если установленная плата не соответствует вашему Arduino, вы можете изменить ее с помощью команды «Select Board» (Выбрать панель).

Варианты прошивки Ардуино

Прошивка с помощью Arduino IDE

Прошить плату при помощи среды разработки Arduino IDE можно в несколько шагов. В первую очередь нужно скачать и установить саму программу Arduino IDE. Также дополнительно нужно скачать и установить драйвер CH341. Плату Ардуино нужно подключить к компьютеру и подождать несколько минут, пока Windows ее опознает и запомнит.

После этого нужно загрузить программу Arduino IDE и выбрать нужную плату: Инструменты – Плата. Также нужно выбрать порт, к которому она подключена: Инструменты – Порт. Готовая прошивка открывается двойным кликом, чтобы ее загрузить на плату, нужно нажать кнопку «Загрузить» вверху панели инструментов.

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

Прошивка с помощью программатора

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

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

После этого нужно выбрать плату, для которой нужно прошить загрузчик. Это делается в меню Сервис >> Плата.

Затем нужно выбрать программатор, к которому подключен контроллер. В данном случае используется USBasp.

Последний шаг – нажать на «записать загрузчик» в меню Сервис.

После этого начнется загрузка. Завершение произойдет примерно через 10 секунд.

Прошивка Arduino через Arduino

Для того чтобы прошить одну плату с помощью другой, нужно взять 2 Ардуино, провода и USB. В первую очередь нужно настроить плату, которая будет выступать в качестве программатора. Ее нужно подключить к компьютеру, открыть среду разработки Arduino IDE и найти в примерах специальный скетч ArduinoISP. Нужно выбрать этот пример и прошить плату.

Теперь можно подключать вторую плату, которую нужно прошить, к первой. После этого нужно зайти в меню Инструменты и выставить там прошиваемую плату и тип программатора.

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

Arduino Micro – очередная миниатюрная плата, ее габариты сопоставимы со стандартным USB-накопитель.

Используемый микроконтроллер ATmega32u4 имеет все те же 32 кб оперативки + 2,5 SRAM. Цифровыми и аналоговыми пинами плата не обделена (20 цифровых +7 аналоговых). Отлично подойдет для миниатюрных проектов.

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

Шаг шестой: Поехали!

  1. МК — готов к работе, потому что в нём есть скетч с готовым сценарием (программой на языке Си, загруженной в МК при помощи стандартной среды разработки IDE — да, я люблю всё усложнять =)
  2. Собираем: компоненты и МК ставим их (или сажаем) на шилд.
  3. Подключаем питание. Вот на этом этапе можно было бы всё сжечь, будь у вас хлебная доска. А так — просто следите, чтобы было не больше пяти вольт. Для этого просто подключите Ардуину по USB в комп и забудьте на время, что я только что сказала про «какие-то» вольты.
  4. PROFIT.

Troubleshooting

Если вы всё делали правильно, то у вас всё уже давно что-то работает и сюда вы не дочитали (а покажите в комментариях, пожалуйста?). Но иногда бывает такой день, что что-нибудь невнимательно прочитаешь и привет. Основные ошибки:

1. Сожгли микроконтроллер. Вам не горозит — шилд обычно имеет все резисторы, понижает ток и напряжение докуда ей надо и всё норм. Нет, ну конечно если вы в шилд 220 вольт дадите то да, а так нет.

Что делать? делайте выводы. Шутка. Купите новый. А из этого спаяйте себе серёжки:

2. Вместо того, чтобы загрузить в МК скетч, «нажали не туда» и покалечили ему прошивку. Это примерно как снести BIOS в компьютере — вы получите груду мёртвого железа, на которое невозможно установить ось, пока не вернёшь BIOS как было.

Что делать? Ну, во-первых, это трудно сделать. Во-вторых, если да, то не всё потеряно: читайте форумы и официальный сайт, или ждите нашего нового поста. Всё, что вам нужно, это прошить МК ещё раз. It’s not rocket science!

3. Скетч не заливается. Об этом читайте выше и не сдавайтесь! Замените вашу версию IDE или ваш МК. Попробуйте перезапускать IDEкомпьютер, переподключать к разным разъемам USB.

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

Простая электросхема с использованием беспаечной монтажной платы

Основы работы с беспаечной монтажной платой мы рассмотрели. Давайте рассмотрим пример простой электрической цепи, в которой будем использовать breadboard.

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

  • Breadboard
  • Регулятор/стабилизатор напряжения
  • Блок питания
  • Светодиоды
  • Резисторы на 330 Ом 1/6 Вт
  • Коннекторы
  • Тактовые кнопки (квадрат 12 мм)

Собираем электрическую цепь

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

Красная плата слева — стабилизатор напряжения, который обеспечивает питание 5 В на рельсах макетки.

Схема собирается следующим образом:

  • К позитивной ноге (аноду) светодиода подключается питание 5 В от соответствующей рельсы breadboard ‘а.
  • Отрицательная нога (катод) светодиода, подключена к резистору 330 Ом.
  • Резистор подключен к тактовой кнопке.
  • Когда кнопка нажата, цепь замыкается с землей и светодиод зажигается.

Электрическая схема проекта

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

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

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

Электрическая схема нашего проекта показана на рисунке ниже. Питание 5 В изображено стрелкой в верхней части схемы. 5 В подключается к светодиоду (треугольник и горизонтальная линия со стрелками). После этого светодиод подключается к резистору (R1). После этого установлена кнопка (S1), которая замыкает цепь. И в конце цепи — земля (Gnd — горизонтальная линия снизу).

Наверняка возникает вопрос: а зачем нам электрические схемы, если можно просто создать принципиальную схему подключения с использованием того же Fritzing? Например, как на подобном рисунке:

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

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector