Содержание
- 1 Код:
- 2 Плата Arduino Uno
- 3 Описание платы
- 4 Подключение и прошивка Ардуино Leonardo
- 5 Практические рекомендации специалистов
- 6 Кому рекомендовано оздоровление
- 7 Подключение устройств
- 8 Загрузка прошивки
- 9 Изготовление теплоаккумулятора
- 10 Плата Arduino Uno
- 11 Настройка программы Arduino IDE
- 12 АЦП
- 13 Как преодолеть аппаратные ограничения
- 14 CAN модуль (контроллер шины CAN) MCP2515
- 15 Принципиальная схема контроллера
- 16 Готовим программное обеспечение
- 17 Ресурсы
- 18 Характеристики Arduino Nano
- 19 Настраиваем Arduino IDE
- 20 8 или 32 бита
- 21 Варианты прошивки Ардуино
- 22 Схема проекта
- 23 Создаем скетч для Arduino Nano
- 24 Характеристики платы
- 25 Варианты питания Ардуино Уно
- 26 Установка драйверов
Код:
Плата Arduino Uno
Слово Uno переводится с итальянского языка, как «один». Устройство названо в связи с началом выпуска Arduino 1.0.
Другими словами, Uno является эталонной моделью для всей платформы типа Arduino. Это последнее устройство в серии плат USB, доказавшее свою эффективность и проверенное временем.
Arduino Uno создано на микроконтроллере типа ATmega 328 (datasheet).
Его состав следующий:
- количество цифровых входов и выходов составляет 14 (а шесть из них имеется возможность использовать как выходы ШИМ);
- число аналоговых входов составляет шесть;
- 16 МГц – кварцевый резонатор;
- имеется разъём для питания;
- есть разъём, предназначенный для ICSP-программирования внутри самой схемы;
- присутствует кнопка для сброса.
Крайне важно отметить, что отличительной особенностью всех новых плат arduino является использование для интерфейсов USB–UART микроконтроллера типа ATmega 16U2 (или ATmega 8U2 в версиях R1, R2) вместо устаревшей микросхемы типа FTDI. Плата Uno по версии R2 снабжается дополнительным подтягивающим к земле резистором на линии HWB применяемого микроконтроллера
Плата Uno по версии R2 снабжается дополнительным подтягивающим к земле резистором на линии HWB применяемого микроконтроллера.
Распиновка выглядит следующим образом:
- Последовательный интерфейс использует шины №0 (RX – получение данных), №1 (TX – передача данных).
- Для внешнего прерывания используются выводы №2, №3.
- Для ШИМ используются выводы за номерами 3,5, 6, 9, 10, 11. Функция analog Write обеспечивает разрешение в 8 бит.
- Связь посредством SPI: контакты №10 (SS), №11 (MOSI), №12 (MISO), №13 (SCK).
- Вывод №13 запитывает светодиод, который загорается при высоком потенциале.
- Uno оснащена 6 аналоговыми входами (A0 – A5), которые имеют разрешение в 10 бит.
- Для изменения верхнего предела напряжения используется вывод AREF (функция analog Reference).
- Связь I2C (TWI, библиотека Wire) осуществляется через выводы №4 (SDA), №5 (SCL).
- Вывод Reset – перезагрузка микроконтроллера.
Описание платы
Свойства arduino pro mini аналогичны, как и у платы Ардуино Уно и Нано. Их отличие заключается в невозможности прошить Pro Mini по USB-UART. Вместо этого для создания связи с компьютером используется проводник FTDI с преобразователем интерфейса или дополнительная плата Sparkfun. Также есть отличия по скорости, с которой работает чип. У arduino про мини скорость ниже, чем у Ардуино уно, но это практически не сказывается на проектах.
Работать с Ардуино про мини нужно аккуратно. Если пользователь сожжет чип, подав на него чрезмерное напряжение, его будет невозможно вытащить и заменить.
Разъемы не припаяны к платформе. Произвести подключение можно как через разъемы, так и навесным монтажом. Ножки можно припаять.
Существует 2 модели микроконтроллера arduino pro mini – на 3,3 В и 5 В. В первой используется тактовая частота 8 МГц, вторая работает на 16 МГц. Какая именно это модель, должно быть указано на корпусе.
Скетч в микроконтроллер традиционно записывается через среду разработки Arduino IDE. Для загрузки кода потребуются специальные переходники. Изначально продается с уже установленной прошивкой.
Технические характеристики микроконтроллера arduino pro mini:
- Рабочее напряжение 3,3 В и 5 В (в зависимости от модели);
- 14 пинов, 6 из которых используются как выводы ШИМ;
- Постоянный ток для входа и выхода 40 мА;
- Суммарный ток выводов – не более 200 мА;
- 16 Кб флэш памяти, 2 Кб используются для загрузчика;
- 1 Кб оперативной памяти;
- 512 байт eeprom;
- Тактовая частота – 8 МГц или 16 МГц в зависимости от модели;
- I2c интерфейс;
- Размеры платы 18х33 мм.
Питание можно подавать тремя способами:
- Через переходник FTDI;
- При подаче стабилизированного напряжения на контакт Vcc;
- При подаче напряжения на контакт RAW.
Какие проекты можно реализовать на базе Ардуино Про Мини:
Управляемые конструкции для квадрокоптера;
- Таймер;
- Устройство для анализа влажности почвы;
- Автоматический полив растений;
- Устройство для измерения осадков и скорости ветра;
- Автоматизация аквариума.
И многие другие проекты для дома и дачи.
Подключение и прошивка Ардуино Leonardo
Для подключения устройства требуется кабель USB, подключенный к ПК, или подача питания от внешнего источника.
Для подключения устройства требуется кабель USB, подключенный к ПК, или подача питания от внешнего источника. Это может быть выносная батарея или адаптер типа AC/DC. Такое решение сделало контроллер более дешевым в производстве, повысилась гибкость применения в работе с компьютером.
При установке драйвера Arduino Leonardo нужно действовать таким образом:
- подключение устройства к ПК;
- ожидание запуска мастера установки ПО (при отсутствии запуска ручной переход в раздел оборудования, выбор строчки Arduino Leonardo и нажатие обновления);
- поиск драйверов на ПК и нажатие «Далее»;
- в папке с ПО выбор нужного драйвера;
- согласие с установкой.
Для прошивки устройства достаточно нажатия кнопки Upload, чтобы автоматически загрузить софт в память устройства. Далее инициируется сброс контроллера, что приводит к пуску загрузчика (отвечает за получение, сохранение и старт нового ПО). В отличие от других моделей здесь после автоматического сброса платформа ожидает нового последовательного порта. Далее скетч направляется на вновь созданный COM-порт. Если автоматический сброс по какой-либо причине не активировался, нужно сделать следующее:
- нажатие кнопки сброса и удерживание ее до момента появления слова Uploading;
- контроль запуска загрузчика (система должна увидеть новый порт).
Указанные действия необходимы, если стандартная система прошивки не сработала.
Практические рекомендации специалистов
Исходя из опыта специалистов, которые неоднократно изготавливали тепловой аккумулятор для котла своими руками, были выделены некоторые рекомендации, упрощающие и удешевляющие сборку оборудования:
- Заводской змеевик можно заменить гофрированным шлангом из металла.
- Чтобы избавиться от работ со сварочным агрегатом, можно использовать ёмкости из огнеупорного пластика. Чтобы пластмассовые баки не утратили свою форму, их помещают в решетчатый каркас.
- Компактные теплоаккумулирующие устройства можно устанавливать в системе тёплых полов.
- Для больших помещений лучше использовать заводские устройства расчёт мощности, которых производился опытными специалистами.
В процессе выбора готового теплового аккумулятора для любых типов котлов желательно обратить внимание на наличие нужного количества патрубков. От этого напрямую зависит возможность подключения устройства в систему горячего водоснабжения или тёплых полов, а также использование альтернативных нагревательных устройств, таких как солнечные коллекторы
Собрать теплоаккумулятор самостоятельно сможет практически каждый. Для этого не нужно покупать дорогостоящие запчасти. Простейшая модель состоит из материалов, которые могут пылиться в гараже или на даче. Но если есть сомнения в собственных силах, то всегда можно приобрести готовое изделие, тем более что цена теплоаккумулятора доступна людям с любым бюджетом.
Кому рекомендовано оздоровление
Экранирование и полировку рекомендуется проводит в первую очередь:
- женщинам, которые не носят головные уборы в холодное время года;
- при наличии поврежденных, секущихся, тусклых и безжизненных волос;
- тем, кто ограничивается лишь применением шампуня и бальзама;
- девушкам с окрашенными волосами;
- в случае выгорания волос на солнце;
- при ежедневном использовании выпрямителя, фена.
Противопоказания
- состав обладает сильным увлажняющим свойством, поэтому эта процедура не подойдет обладательницам жирных волос;
- наличие ран и повреждений;
- аллергия на компоненты препарата.
Экранирование и полировка полезные процедуры, которые укрепляют волосы и придают им ухоженный вид. Даже если женщина бережно относится к ним, не перегревает и не переохлаждает их, ведет здоровый образ жизни, и никаких проблем у нее не наблюдается, эти процедуры помогут сохранить и приумножить их красоту и здоровье.
Подключение устройств
Подключение любых устройств к плате осуществляется путем присоединения к контактам, расположенным на плате контроллера: одному из цифровых или аналоговых пинов или пинам питания. Простой светодиод можно присоединить, используя два контакта: землю (GND) и сигнальный (или контакт питания).
Самый простой датчик потребует задействовать минимум три контакта: два для питания, один для сигнала.
При любом варианте подключения внешнего устройства следует помнить, что использование платы в качестве источника питания возможно только в том случае, если устройство не потребляет больше разрешенного предельного тока контроллера.
Видео с инструкциями:
Загрузка прошивки
USBasp – ISP программатор для AVR (в том числе Arduino)
Что касается так называемого программатора: изначально способом загрузки прошивки в микроконтроллер является загрузка посредством ISP (in-system programming) программатора, который загружает прошивку напрямую в память микроконтроллера. Это способ хорош и надёжен, но он дороже и не такой универсальный как тот, который используется в Ардуино. Работает это так: вместо ISP программатора на плате стоит USB-TTL преобразователь, который позволяет Ардуино (на её стороне TTL – транзистор-транзистор логика) буквально общаться с компьютером (на его стороне – USB) и обмениваться данными. Но просто общаясь с компьютером загрузить прошивку не получится, поэтому в памяти микроконтроллера “живёт” загрузчик (он же bootloader), который умеет ловить данные, идущие с компьютера и загружать их во Flash память микроконтроллера. При каждом запуске микроконтроллера загрузчик ждёт команду от компьютера, мол желает ли тот загрузить новую прошивку. Если никто ему не отвечает какое-то время, он запускает уже имеющуюся в памяти МК прошивку. Отсюда вытекает несколько минусов:
- Загрузчик сидит во Flash памяти и занимает место (около 6%, что довольно-таки много)
- При подаче питания на МК прошивка стартует не сразу, каждый раз загрузчик ждёт команду от компьютера в течение какого-то времени (пару секунд), прежде чем передать управление имеющейся в памяти программе.
Оба этих минуса решаются частично или полностью:
- Можно прошить неофициальный загрузчик, который занимает меньше места в памяти и быстрее стартует
- Можно загружать скетчи напрямую через ISP, в этом случае вообще не будет потери места и задержек при запуске, так как загрузчика вообще не будет в памяти
Возвращаясь к USB-TTL преобразователю: почему именно такой способ загрузки прошивки выбрали разработчики Arduino? Да всё очень просто: микросхема USB-TTL преобразователя стоит дешевле микросхем, могущих в ISP (роль оных обычно выполняют микроконтроллеры), что прилично удешевляет платформу. Но самое главное – использование USB-TTL преобразователя добавляет нам возможность общаться с платой при помощи компьютера (смартфона, планшета) без использования дополнительного железа, т.е. мы можем как управлять какими-то устройствами (если это заложено в коде прошивки), так и получать от Ардуино данные, например показания с датчиков. Но самое-самое главное – это позволяет отлаживать код, вручную, но все таки отлаживать.
Изготовление теплоаккумулятора
Плата Arduino Uno
Контроллер Uno является самым подходящим вариантом для начала работы с платформой: она имеет удобный размер (не слишком большой, как у Mega и не такой маленький, как у Nano), достаточно доступна из-за массового выпуска всевозможных клонов, под нее написано огромное количество бесплатных уроков и скетчей.
Характеристики Arduino Uno
Микроконтроллер | ATmega328 |
Рабочее напряжение | 5В |
Напряжение питания (рекомендуемое) | 7-12В |
Напряжение питания (предельное) | 6-20В |
Цифровые входы/выходы | 14 (из них 6 могут использоваться в качестве ШИМ-выходов) |
Аналоговые входы | 6 |
Максимальный ток одного вывода | 40 мА |
Максимальный выходной ток вывода 3.3V | 50 мА |
Flash-память | 32 КБ (ATmega328) из которых 0.5 КБ используются загрузчиком |
SRAM | 2 КБ (ATmega328) |
EEPROM | 1 КБ (ATmega328) |
Тактовая частота | 16 МГц |
Изображения плат Ардуино Уно
Оригинальная плата выглядит следующим образом:
Оригинальный и официальный Arduino Uno
Многочисленные китайские варианты выглядят вот так:
Плата – клон Arduino Uno
Еще примеры плат:
Настройка программы Arduino IDE
После того как все детали соединены мы готовы снова вернуться к нашей Arduino IDE и создать блок кода для управления платой. Такой блок кода называют скетчем. Но для начала мы должны немного настроить нашу программу.
Сначала выбираем правильную плату с которой будем работать. Переходим в нужное меню и выбираем из списка нашу плату:
Tools → Board → Arduino Nano
Дальше мы обязательно должны выбрать на каком чипе сделана наша плата, т.к. Arduino Nano может идти в двух вариантах — с чипом ATmega168 и ATmega 328 (в нашем случае).
Tools → Processor → ATmega328
После мы убеждаемся, что правильно выбран серийный порт (Serial Port).
Tools → Port → COM8
И последнее — проверяем наш программер:
АЦП
ADC пины (с АЦП) помечены на плате буквой A. Да, пины A6 и A7 на плате Нано имеют только вход на АЦП и не являются GPIO пинами! АЦП – аналогово-цифровой преобразователь, позволяет измерять напряжение от 0 до VCC (напряжения питания МК) или опорного напряжения. На большинстве плат Ардуино разрядность АЦП составляет 10 бит (2^10 = 1024), что означает следующее: напряжение от 0 до опорного преобразуется в цифровую величину от 0 до 1023 (1024-1 так как отсчёт идёт с нуля). Опорное напряжение играет очень большую роль: при опорных 5V один шаг измерения АЦП составит 4.9 милливольта (0.00488 В), а при опорных 1.1В – 1.1 мВ (0.00107 В). Вся суть в точности, я думаю вы поняли. Если опорное напряжение установлено ниже напряжения питания МК, то оцифровывая напряжение выше опорного мы получим 1023. Подавая на АЦП напряжение выше 5.5 Вольт получим выгоревший порт. Подавать отрицательное напряжение также не рекомендуется. На ардуино есть несколько режимов опорного напряжения: оно может быть равно VCC (напряжению питания), 1.1V (от встроенного в МК стабилизатора) или получать значение с внешнего источника в пин Aref, таким образом можно настроить нужный диапазон и получить нужную точность. У других моделей Ардуино (например у Меги) есть и другие встроенные режимы. Опорное напряжение рекомендуется заводить на плату через резистор, например на 1 кОм. Для измерения напряжений выше 5.5 вольт необходимо использовать делитель напряжения на резисторах.
Как преодолеть аппаратные ограничения
Большинство распространённых плат имеют аналогичные характеристики, среди них:
- Uno;
- Nano;
- Pro mini;
- и подобные.
Но с развитием ваших навыков разработки в этой среде появляется проблема нехватки мощности и быстродействия этой платформы. Первым шагом для преодоления ограничений является использование языка C AVR.
С его помощью вы ускорите на порядок скорость обращения к портам, частоту ШИМ и размер кода. Если вам и этого недостаточно, то вы можете воспользоваться мощными моделями с аналогичным подходом к разработке. Для этого подойдёт плата Arduino Mega2560. Еще более мощная – модель Due. В противном случае вам стоит ознакомиться с разновидностями одноплатных компьютеров и STM микроконтроллеров.
Ардуино Uno R3 – отличная плата для большинства проектов, которая служит для изучения устройств цифровой электроники.
CAN модуль (контроллер шины CAN) MCP2515
Модуль MCP2515 включает в себя CAN контроллер MCP2515, который представляет собой высокоскоростной CAN приемопередатчик. Соединение модуля MCP2515 с микроконтроллером осуществляется с помощью интерфейса SPI, поэтому его легко подключить ко всем микроконтроллерам с данным интерфейсом.
Начинающим изучение CAN-шины целесообразно начинать именно с этого модуля ввиду его простоты и легкости подключения к большинству современных микроконтроллеров.
Основные технические характеристики модуля MCP2515:
- включает в себя высокоскоростной CAN приемопередатчик TJA1050;
- размеры модуля: 40×28mm;
- управление по интерфейсу SPI с возможностью подключения к CAN-шине нескольких устройств;
- кварцевый генератор на 8 МГц;
- сопротивление на концах 120 Ом;
- включает независимый ключ, светодиодный индикатор, индикатор мощности;
- поддерживает скорости передачи данных до 1 Мбит/с;
- низкий потребляемый ток в режиме ожидания;
- возможность подключения до 112 устройств (узлов).
Назначение контактов (распиновка) CAN модуля MCP2515 представлено в следующей таблице.
Наименование контакта | Назначение контакта |
VCC | контакт питания 5 В |
GND | общий провод (земля) |
CS | SPI SLAVE select pin (Active low) (выбор ведомого) |
SO | SPI master input slave output lead |
SI | SPI master output slave input lead |
SCLK | контакт синхронизации SPI |
INT | контакт прерывания MCP2515 |
В данном проекте мы будем передавать данные, считываемые с датчика температуры и влажности DHT11 платой Arduino Nano, плате Arduino Uno с помощью CAN модуля MCP2515.
Принципиальная схема контроллера
Готовим программное обеспечение
После того как вы купили нужные детали и их вам доставили — самое время подготовить программное обеспечение для того, чтобы мы могли взаимодействовать с нашим микроконтроллером. Нам нужно на наш компьютер установить Arduino IDE.
Как мы писали в обзорной статье про эту среду — используя программную среду Arduino IDE, можно, основываясь лишь на минимальных знаниях C++, решать самые разные творческие задачи, связанные с программированием и моделированием. Arduino IDE — это программная среда разработки, предназначенная для программирования одноимённой платы.
3.1 Скачиваем и устанавливаем ПО
Выбираем нужную версию, жмем «Just Download» и скачиваем:
После того как скачали ПО — запускам установку, открыв скачанный .EXE файл:
Дальше мы проходим все обычные шаги установки, как при установке любого другого приложения — соглашаемся с «лицензионным соглашением», ставим галочки, выбираем папку для установки и жмем ОК:
3.2 Запускам ПО и включаем русский язык
После того как мы прошли процесс установки мы увидим на рабочем столе иконку нашей Arduino IDE:
Нажимаем на иконку и видим процесс загрузки программы:
В итоге мы увидим такое окно:
Включаем русский язык.
Для включения русскоязычного интерфейса Arduino IDE нам нужно перейти в нужную вкладку и выбрать русский язык в списке:
File → Preferences → Language
Да, теперь, на этом шаге, у нас уже есть все комплектующие и установлено нужное программное обеспечение.
Ресурсы
Характеристики Arduino Nano
Микроконтроллер | Atmel ATmega168 или ATmega328 |
---|---|
Рабочее напряжение (логическая уровень) | 5 В |
Входное напряжение (рекомендуемое) | 7-12 В |
Входное напряжение (предельное) | 6-20 В |
Цифровые Входы/Выходы | 14 (6 из которых могут использоваться как выходы ШИМ) |
Аналоговые входы | 8 |
Постоянный ток через вход/выход | 40 mAh с одного вывода и 500 mAh со всех выводов |
Флеш-память | 16 Кб (ATmega168) или 32 Кб (ATmega328) при этом 2 Кб используются для загрузчика |
ОЗУ | 1 Кб (ATmega168) или 2 Кб (ATmega328) |
EEPROM | 512 байт (ATmega168) или 1 Кб (ATmega328) |
Тактовая частота | 16 МГц |
Размеры | 1.85 см x 4.2 см |
В первую очередь в разговоре о характеристиках нужно отметить, что Нано выпускается в различных версиях и самые распространённые:
- Nano v.2;
- Nano v.3.
Главное отличие – в самом микроконтроллере. Младшая версия использует Atmega168, Atmega328. Основные отличия чипов – это объём Flash-памяти:
- mega 328: Flash-память – 32 кб, ПППЗУ – 1024 и ОЗУ – 2 кб;
- mega 168: Flash-память – 16 кб, ПППЗУ – 512 и ОЗУ – 1 кб.
ПППЗУ — это перепрограммируемые запоминающее устройство.
Главный конкурент Arduino Nano по размеру – это Arduino Micro. В целом они похожи, но у «микро» интерфейс SPI разведен на другие пины, как и шина I2C, а также изменено количество выводов прерываний. В целом, платы похожи размерами, но различны соотношения сторон, а также некоторые схемотехнические нюансы.
Arduino Nano имеет 8 аналоговых входов, они могут использоваться как цифровой выход, 14 цифровых из которых 6 могут работать как широтно-импульсный модулятор (ШИМ), еще два задействованы под I2C и 3 под SPI.
В противоположном конце платы от разъёма микро-юсб расположена колодка Arudino ICSP для прошивки микроконтроллера.
ШИМ выходы и транзисторы помогут вам: регулировать обороты двигателя, яркость светодиодов, мощность нагревателей и многое другое. А аналоговые входы позволят читать значения с аналоговых датчиков, таких как:
- фоторезисторы;
- терморезисторы;
- термопары;
- измерители влажности;
- датчики давления и другие.
Выходы Digital 2 и 3 могут быть использованы для внешних прерываний
Это такие сигналы, которые сообщают микроконтроллеру о каком-либо важном событии. По этим сигналам вызывается программа обработки прерывания и выполняются необходимые действия, например, выход из режима энергосбережения и выполнение вычислений
На базе платы Nano получится отличный миниатюрный программатор Arduino ISP, для прошивки целого ряда контроллеров.
Настраиваем Arduino IDE
Запустить Arduino IDE, выбрать плату (Инструментыплата»ваша плата»). См. первый скриншот.
Выбрать порт: инструментыпорт«COM отличный от COM1, например COM3, COM5…» См. второй скриншот. Какой именно порт вы могли видеть при первом подключении Ардуино к компьютеру. Примечание: если у вас только СОМ1 — значит либо не встали драйвера, либо сдохла плата.
ВНИМАНИЕ, СОВЕТ! КАК ТОЛЬКО ДОСТАНЕТЕ ARDUINO ИЗ ПАКЕТИКА, СРАЗУ ПРОШЕЙТЕ В НЕЁ СКЕТЧ С МИГАНИЕМ СВЕТОДИОДА (blink.ino) Таким образом вы узнаете, что Ардуина изначально рабочая (на тот случай, когда после сборки/пайки она перестанет работать и прошиваться), то есть вы сами её сломали, а не она была изначально бракованная =)
Как установить библиотеку на Arduino
Допустим, скачали библиотеку. Её нужно разархивировать и положить в папку:
C:Program Files (x86)Arduinolibraries (Windows x64)
C:Program FilesArduinolibraries (Windows x86)
Как пример — библиотека для дисплея на чипе TM1637, смотрите скриншот
8 или 32 бита
Основные сражения происходят между 8 и 32 битными платами.
8-бит: Uno, Nano, and Mega
32-бит: Zero, MKR, ESP8266 и ESP32
В отличие от ранних видеоигровых консолей, выбор процессора не так прост, и не ограничивается только выбором количества бит. В целом, 8-битные процессоры предлагают базовые возможности при потреблении более низкой энергии.
Более простые архитектуры означают, что регистры прямого программирования, как правило, относительно легки. 32-разрядные процессоры предлагают более высокие тактовые частоты вместе с большим количеством ОЗУ, ПЗУ и последовательной периферии. Их архитектура может усложнить программирование. К счастью, такие структуры, как библиотека Arduino и CircuitPython, зарывают большую часть этой сложности.
Выбор микропроцессора только потому, что он является 8-битным или 32-битным, может быть, скажем так, довольно «близоруким»
Поэтому важно подумать о том, как вы планируете использовать его
Допустим, вы уже в курсе, как обращаться с проводами, контактами и микросхемами. Поэтому разберемся с самыми популярными платами на сегодняшний день.
Варианты прошивки Ардуино
Прошивка с помощью Arduino IDE
Прошить плату при помощи среды разработки Arduino IDE можно в несколько шагов. В первую очередь нужно скачать и установить саму программу Arduino IDE. Также дополнительно нужно скачать и установить драйвер CH341. Плату Ардуино нужно подключить к компьютеру и подождать несколько минут, пока Windows ее опознает и запомнит.
После этого нужно загрузить программу Arduino IDE и выбрать нужную плату: Инструменты – Плата. Также нужно выбрать порт, к которому она подключена: Инструменты – Порт. Готовая прошивка открывается двойным кликом, чтобы ее загрузить на плату, нужно нажать кнопку «Загрузить» вверху панели инструментов.
В некоторых ситуациях может возникнуть ошибка из-за наличия кириллицы (русских букв) в пути к папке с кодами. Для этого файл со скетчами лучше создать и сохранить в корне диска с английским наименованием.
Прошивка с помощью программатора
Одни из самых простых способов прошивки платы – при помощи программатора. Заливка будет производиться в несколько этапов.
В первую очередь нужно подключить программатор к плате и к компьютеру. Если программатор не опознается компьютером, нужно скачать и установить драйверы.
После этого нужно выбрать плату, для которой нужно прошить загрузчик. Это делается в меню Сервис >> Плата.
Затем нужно выбрать программатор, к которому подключен контроллер. В данном случае используется USBasp.
Последний шаг – нажать на «записать загрузчик» в меню Сервис.
После этого начнется загрузка. Завершение произойдет примерно через 10 секунд.
Прошивка Arduino через Arduino
Для того чтобы прошить одну плату с помощью другой, нужно взять 2 Ардуино, провода и USB. В первую очередь нужно настроить плату, которая будет выступать в качестве программатора. Ее нужно подключить к компьютеру, открыть среду разработки Arduino IDE и найти в примерах специальный скетч ArduinoISP. Нужно выбрать этот пример и прошить плату.
Теперь можно подключать вторую плату, которую нужно прошить, к первой. После этого нужно зайти в меню Инструменты и выставить там прошиваемую плату и тип программатора.
Можно начать прошивать устройство. Как только прошивка будет открыта или написана, нужно перейти в меню Скетч >> загрузить через программатор. Для заливания прошивки не подходит стандартная кнопка загрузки, так как в этом случае прошивка будет загружена на первую плату, на которой уже имеется прошивка.
Схема проекта
Схема проекта для связи между двумя платами Arduino с помощью протокола CAN и модулей MCP2515 представлена на следующем рисунке.
Соединения на передающей стороне:
Компонент — контакт | Arduino Nano |
MPC2515 — VCC | +5V |
MPC2515 — GND | GND |
MPC2515 — CS | D10 (SPI_SS) |
MPC2515 — SO | D12 (SPI_MISO) |
MPC2515 — S I | D11 (SPI_MOSI) |
MPC2515 — SCK | D13 (SPI_SCK) |
MPC2515 — INT | D2 |
DHT11 — VCC | +5V |
DHT11 — GND | GND |
DHT11 — OUT | A0 |
Соединения на приемной стороне:
Компонент — контакт | Arduino Uno |
MPC2515 — VCC | +5V |
MPC2515 — GND | GND |
MPC2515 — CS | 10 (SPI_SS) |
MPC2515 — SO | 12 (SPI_MISO) |
MPC2515 — SI | 11 (SPI_MOSI) |
MPC2515 — SCK | 13 (SPI_SCK) |
MPC2515 — INT | 2 |
LCD (ЖК дисплей) — VSS | GND |
LCD — VDD | +5V |
LCD — V0 | к среднему контакту потенциометра 10 кОм |
LCD — RS | 3 |
LCD — RW | GND |
LCD — E | 4 |
LCD — D4 | 5 |
LCD — D5 | 6 |
LCD — D6 | 7 |
LCD — D7 | 8 |
LCD — A | +5V |
LCD — K | GND |
Соединения между двумя CAN модулями MCP2515:
H – CAN High
L – CAN Low
MCP2515 (Arduino Nano) | MCP2515 (Arduino UNO) |
H | H |
L | L |
После сборки всей схемы на макетных платах у нас получилась следующая конструкция.
Создаем скетч для Arduino Nano
После этого мы можем поступить двумя способами. Первый — добавить код управления светодиодом вручную и его скомпилировать, или второй — выбрать готовую заготовку в Arduino IDE.
Если мы идем по первому пути — мы должны добавить следующий код в наше приложение:
int redPin = 12; void setup() { // initialize Leds pinMode(redPin, OUTPUT); } void loop() { digitalWrite(redPin, HIGH); delay(1000); digitalWrite(redPin, LOW); delay(1000); }
Второй вариант — это выбор уже готового проекта в нашей IDE. Для этого нужно сделать следующее.
File → Examples → 01. Basics → Blink
(Файл → Примеры → 01. Основы → Моргание)
После чего мы увидим код в нашем окне программы:
И здесь важный момент — нужно нажать стрелку сверху, чтобы скомпилировать скетч. После чего вы увидите надпись «Компиляция скетча» (Compiling sketch…) слева и справа процентную шкалу. В свою очередь стрелка запуска сверху поменяет свой цвет:
После этого светодиод начнет мигать.
Внимательно следите в программе за тем какие цифровые выводы вы указываете, т.к они должны соответствовать схеме подключения деталей.
Характеристики платы
Техническая сторона Arduino Pro Mini:
- рабочее напряжение, требуемое для нормальной работоспособности – 3,3 и 5 Вольт;
- напряжение, используемое при входе – 3-12 или 5-12 Вольт;
- количество цифровых входов и выходов – 14 штук, 6 из которых эксплуатируются как выходы ШИМ;
- состояние постоянного тока, требуемого для входа и выхода – 40 мА;
- flash-память – 16 Кб, но 2 Кб предназначены для загрузчика;
- оперативная память – 1 Кб;
- eeprom – 512 байт;
- частота тактов – в первой модели 8 МГц, а во второй 16 МГц;
- Arduino pro включает i2c-интерфейс.
Также стоит отдельно сказать про размеры платы — они, на самом деле очень скромные. Многие кто знакомятся с линейкой Ардуино в первый раз всегда удивляются размерам, когда достают контроллер из коробки.
Ниже вы можете оценить плату в дюймах и в сантиметрах.
Варианты питания Ардуино Уно
Рабочее напряжение платы Ардуино Уно – 5 В. На плате установлен стабилизатор напряжения, поэтому на вход можно подавать питание с разных источников. Кроме этого, плату можно запитывать с USB – устройств. Источник питания выбирается автоматически.
- Питание от внешнего адаптера, рекомендуемое напряжение от 7 до 12 В. Максимальное напряжение 20 В, но значение выше 12 В с высокой долей вероятности быстро выведет плату из строя. Напряжение менее 7 В может привести к нестабильной работе, т.к. на входном каскаде может запросто теряться 1-2 В. Для подключения питания может использоваться встроенный разъем DC 2.1 мм или напрямую вход VIN для подключения источника с помощью проводов.
- Питание от USB-порта компьютера.
- Подача 5 В напрямую на пин 5V. В этом случае обходится стороной входной стабилизатор и даже малейшее превышение напряжения может привести к поломке устройства.
Пины питания
- 5V – на этот пин ардуино подает 5 В, его можно использовать для питания внешних устройств.
- 3.3V – на этот пин от внутреннего стабилизатора подается напряжение 3.3 В
- GND – вывод земли.
- VIN – пин для подачи внешнего напряжения.
- IREF – пин для информирования внешних устройств о рабочем напряжении платы.
Установка драйверов
В Windows драйверы будут установлены автоматически, при подключении платы, если вы использовали установщик. Если вы загрузили и распаковали Zip архив или по какой-то причине плата неправильно распознана, выполните приведенную ниже процедуру.
- Нажмите на меню «Пуск» и откройте панель управления.
- Перейдите в раздел «Система и безопасность» (System and Security). Затем нажмите «Система» (System). Затем откройте диспетчер устройств (Device manager).
- Посмотрите под Порты (COM и LPT) (Ports (COM & LPT)). Вы должны увидеть открытый порт с именем «FT232R USB UART». Если раздел COM и LPT отсутствует, просмотрите раздел «Другие устройства», «Неизвестное устройство».
- Щелкните правой кнопкой мыши по порту FT232R USB UART и выберите опцию «Обновить драйверы…».
- Затем выберите опцию «Выполнить поиск драйверов на этом компьютере».
- Наконец, найдите каталог FTDI USB Drivers, который находится в папке «Drivers» программы Arduino.
- После этого Windows завершит установку драйвера.