Простые проекты Ардуино
Давайте начнем наш обзор с традиционно самых простых, но очень важных проектов, включающих в себя минимальное количество элементов: светодиоды, резисторы и, конечно же, плату ардуино. Все примеры рассчитаны на использование Arduino Uno, но с минимальными изменениями будут работать на любой плате: от Nano и Mega до Pro, Leonardo и даже LilyPad.
Проект с мигающим светодиодом – маячок
Все без исключения учебники и пособия для начинающих по ардуино стартуют с примера мигания светодиодом. Этому есть две причины: такие проекты требуют минимального программирования и их можно запустить даже без сборки электронной схемы – уж что-что, а светодиод есть на любой плате ардуино. Поэтому и мы не станем исключением – давайте начнем с маячка.
Нам понадобится:
- Плата Ардуино Uno, Nano или Mega со встроенным светодиодом, подключенным к 13 пину.
- И все.
Что должно получиться в итоге:
Светодиод мигает – включается и выключается через равные промежутки времени (по умолчанию – 1 сек). Скорость включения и выключения можно настраивать.
Схема проекта
Схема проекта довольно проста: нам нужен только контроллер ардуино со встроенным светодиодом, подсоединенным к пину 13. Именно этим светодиодом мы и будем мигать. Подойдут любые популярные платы: Uno, Nano, Mega и другие.
Подсоединяем Arduino к компьютеру, убеждаемся, что плата ожила и замигала загрузочными огоньками. Во многих платах «мигающий» скетч уже записан в микроконтроллер, поэтому светодиод может начать мигать сразу после включения.
С помощью такого простого проекта маячка вы можете быстро проверить работоспособность платы: подключите ее к компьютеру, залейте скетч и по миганию светодиода сразу станет понятно – работает плата или нет.
Программирование в проекте Ардуино
Если в вашей плате нет загруженного скетча маячка – не беда. Можно легко загрузить уже готовый пример, доступный в среде программирования Ардуино.
Открываем программу Arduino IDE, убеждаемся, что выбран нужный порт.
Проверка порта Ардуино – выбираем порт с максимальным номером
Затем открываем уже готовый скетч Blink – он находится в списке встроенных примеров. Откройте меню Файл, найдите подпункт с примерами, затем Basics и выберите файл Blink.
Открываем пример Blink в Ардуино IDE
В открытом окне отобразится исходный код программы (скетча), который вам нужно будет загрузить в контроллер. Для этого просто нажимаем на кнопку со стрелочкой.
Кнопки компиляции и загрузки скетча
Информация в Arduino IDE – Загрузка завершена
Ждем немного (внизу можно отследить процесс загрузки) – и все. Плата опять подмигнет несколькими светодиодами, а затем один из светодиодов начнет свой размеренный цикл включений и выключений. Можно вас поздравить с первым загруженным проектом!
Проект маячка со светодиодом и макетной платой
В этом проекте мы создадим мигающий светодиод – подключим его с помощью проводов, резистора и макетной платы к ардуино. Сам скетч и логика работы останутся таким же – светодиод включается и выключается.
Графическое изображение схемы подключения доступно на следующем рисунке:
Другие идеи проектов со светодиодами:
- Мигалка (мигаем двумя свтодиодами разных цветов)
- Светофор
- Светомузыка
- Сонный маячок
- Маячок – сигнализация
- Азбука Морзе
Подробное описание схемы подключения и логики работы программы можно найти в отдельной статье, посвященной проектам со светодиодами.
Описание элементов платы Arduino Nano V3
- USB Jack – разъем USB Mini-B для подключения устройств USB;
- Analog Reference Pin – для определения опорного напряжения АЦП;
- Ground – земля;
- Digital Pins (2-13) – цифровые выводы;
- TXD – пин передачи данных по UART;
- RXD – пин приема данных по UART;
- Reset Button – кнопка перезагрузки микроконтроллера;
- ISCP (In-Circuit Serial Programmer) – контакты для перепрограммирования платы;
- Microcontroller ATmega328P – микроконтроллер — главный элемент на плате;
- Analog Input Pins (A0-A7) – аналоговые входы;
- Vin – вход используется для подачи питания от внешнего источника;
- Ground Pins – земля;
- 5 Volt Power Pin – питание 5 В;
- 3 Volt Power Pin – питание 3.3 В;
- RST – вход для перезагрузки;
- SMD Crystal – кварцевый резонатор (жарг. «кварц») — прибор, в котором пьезоэлектрический эффект и явление механического резонанса используются для построения высокодобротного резонансного элемента электронной схемы;
- TX LED (White) – светодиод — индикатор отправления данных по UART;
- RX LED (Red) – светодиод — индикатор приёма данных по UART;
- Power LED (Blue) – светодиод — индикатор питания;
- Pin 13 LED (Wellow) – подключенный светодиод к 13-му пину.
Распиновка
Пины питания
- VIN: Входной пин для подключения внешнего источника питания с напряжением в диапазоне от 7 до 12 вольт.
- 5V: Выходной пин от регулятора напряжения на плате с выходом 5 вольт и максимальных током 800 мА. Питать устройство через вывод не рекомендуется — вы рискуете спалить плату.
- 3.3V: Выходной пин от стабилизатора микросхемы FT232R с выходом 3,3 вольта и максимальных током 50 мА. Питать устройство через вывод не рекомендуется — вы рискуете спалить плату.
- GND: Выводы земли.
Порты ввода/вывода
-
Цифровые входы/выходы: пины –
Логический уровень единицы — 5 В, нуля — 0 В. Максимальный ток выхода — 40 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно. -
ШИМ: пины ,,,, и
Позволяет выводить аналоговые значения в виде ШИМ-сигнала. Разрядность ШИМ не меняется и установлена в 8 бит. -
АЦП: пины –
Позволяет представить аналоговое напряжение в цифровом виде. Разрядность АЦП не меняется и установлена в 10 бит. Диапазон входного напряжения от 0 до 5 В. При подаче большего напряжения — вы убьёте микроконтроллер.
Установка драйвера Arduino Mega в Windows 10
Для установки драйверов Меги шаги будут очень похожими на шаги для любой другой платы. Можно заранее установить Windows-версию сервера LANforge. Процесс будет выглядеть таким образом:
2. Скачайте zip-файл Arduino IDE на рабочий стол. Щелкните правой кнопкой мыши → Извлечь все… (Extract All…), чтобы разархивировать содержимое в папку на рабочем столе. Этот процесс требует, чтобы вы управляли как администратор.
3. Переход к диспетчеру устройств (Device Manager).
- Нажмите Ctrl + F для поиска
- Ищем устройство (Device)
- Выберите диспетчер устройств (Device Manager)
- В окне диспетчера устройств щелкните правой кнопкой мыши на компьютер и выберите пункт «Сканировать на предмет изменений оборудования» (Scan for hardware changes).
6. Если вы нашли ранее установленный драйвер, удалите его. Особенно, если это обозначено как Windows Arduino Mega.
Щелкните правой кнопкой мыши → Удалить (Uninstall)
Выберите «Удалить программное обеспечение драйвера для этого устройства» (Delete the driver software for this device) и нажмите ОК.
- Щелкните компьютер правой кнопкой мыши и выберите пункт Сканировать на предмет изменений оборудования (Scan for Hardware Changes).
- Возможно, вам придется отключить и подключить аттенюатор.
- Если контекстное меню не позволяет вам изменить драйверы, перезагрузите систему.
7. Установите драйвер Arduino IDE
В диспетчере устройств (Device Manager) щелкните правой кнопкой мыши «Неизвестное устройство» (Unknown Device) и выберите «Обновить программное обеспечение драйвера…» (Update Driver Software…)
8. Выберите «Найти на моем компьютере драйверы» (Browse my computer for driver software):
- Перейдите в «Desktop\arduino-1.8.9\drivers» и нажмите ОК. Версия Arduino IDE у вас может отличаться.
- Нажмите «Далее» (Next)
Вы увидите подтверждение обновления программного обеспечения драйвера. Щелкните «Закрыть» (Close).
Вам не нужно перезагружать вашу систему, чтобы запустить аттенюатор.
Соединяем все детали
На данном этапе у нас:
- куплены все детали;
- установлены все нужные программы (Arduino IDE и Fritzing при необходимости);
- нарисована схема устройства.
Теперь мы начинаем собирать всё вместе. Не забываем заранее подготовить все провода-перемычки и все детали. Внимательно следуйте инструкциям и не спешите, чтобы убедиться, что все соединения выполнены правильно.
Обратите внимание, что зеленый провод подключен к земле. Красный контакт подключен к контакту 13.
Если вы еще не вставили Arduino Nano к макетке — самое время это сделать:
Вставляем перемычки:
Теперь подключаем наше сопротивление:
И наконец вставляем светодиод:
И последнее на данном шаге — вставляем наш USB-кабель, который при покупке часто идет в комплекте с микроконтроллером:
Скачать драйвер CH340G
Установка драйвера
Если статья оказалась вам полезна то я очень рад. А если вы воспользуетесь социальными кнопками ниже то я буду рад в 2 раза больше
30 комментариев
Большое спасибо! Я только начинаю работать с Ардуино. Целый день бился с китайской платой, пока не догадался рассмотреть под лупой надпись на микросхеме порта. Скачал драйвер — ошибки исчезли. Хорошо, что в интернете есть добрые люди, помогающие тем, кто только встал на этот путь. Спасибо!
Доволен как кот Матроскин. Урааааа заработало. Спасибо!
несколько секунд и всё.спасибо.
БЛАГОДАРЮ ВАС, ЗАРАБОТАЛО!
ребят сделал все по правилам у меня все равно ПК не мидет схему,просто порт 1 появился, кто сталкивался и подскажет что делать. в ручную вводил адрес тогда выдаёт ошибку как на экране. что делать?
а у меня он вообще не работает
Парни, спасибо! Всё получилось.
Надо снести все старые драйверы, с которыми не заработало, Перегрузиться и начинать с начала.
Большое спасибо. Все мгновенно установилось.
Помогло, я уж было её хоронить собрался
Огромное спасибо! Очень быстро установилось и заработало!
Произвел апгрейд компа. Установил проверенную ОС: win7, Arduino 1.8.8 и …засада. Драйвер CH340 — не работает. То нет подписи, то ошибка и блокируется. Перелопатил русскоязычные сайты — 0, нашел на каком-то англоязычном версию для win8.1:CH341SER Установка через обновление драйвера.
Спасибо. Пол дня мучался с этим драйвером. Десятки установил разных. Помог только Ваш. Спасибо.
Considerações Finais
Espero que tenha gostado do post. O objetivo aqui foi apenas iniciar sua jornada de conhecimento sobre o Arduino Nano, porém há ainda muito a aprender. Confira nossos outros post no blog para ficar por dentro de tudo que o Arduino pode nos proporcionar.
Quer saber mais sobre outros tipos de Arduino? Confira os post abaixo e aprenda mais!
- Guia Completo do Arduino Pro Mini;
- Guia Completo do ARDUINO MEGA;
- Guia Completo do Arduino Leonardo;
- Gamepad de PC: Arduino Pro Micro;
- O que é Arduino: Para que serve, vantagens e como utilizar;
Avalie o post e deixe um comentário sobre seu interesse em Arduino e se esse artigo te ajudou a descobrir mais sobre essa plataforma.
Siga-nos também no Instagram para receber conteúdos diários sobre Arduino e eletrônica: @eletrogate.
Até mais!
Arduino IDE
Давайте для начала коротко выясним, что такое IDE и получим ответы на наиболее часто возникающие вопросы. Если вы опытный разработчик, то можете смело перелететь в следующий раздел статьи со ссылками на скачивание.
Что такое Arduino IDE
Аббревиатура IDE расшифровывается как Integrated Development Environment, в переводе – интегрированная среда разработки. С помощью этой программы программисты пишут программы, причем делают это гораздо быстрее и удобнее, чем при использовании обычных текстовых редакторов.
В рамках платформы Ардуино программа Arduino IDE делает то же – помогает программистам писать программы. С ее помощью скетч, написанный на языке Arduino, проверяется, превращается в C++, компилируется, загружается в Arduino. Теоретически, вы можете обойтись без этой программы, но реально других вариантов начать работы с Ардуино для новичка практически не существует. Поэтому первое, что вы должны сделать – это найти и установить себе эту среду программирования. Это совершенно не трудно и абсолютно бесплатно.
Как скачать и установить Arduino IDE
Процедура скачивания и установки абсолютно традиционна. Вы загружаете файл, запускаете установку. На официальном сайте доступны версии c установщиком (exe) и обычных zip архивах. Вы можете найти версии Arduino IDE для всех основных операционных систем.
Процедура установки достаточно проста, вам нужно будет ответить на несколько вопросов. Важным этапом этого процесса является установка драйвера COM-порта. Для большинства «китайских» плат ардуино понадобится установить дополнительные драйвера.
После установки потребуется небольшая настройка среды – об этом мы поговорим в отдельной статье про установку и настройку Ардуино IDE.
Какую версию Ардуино IDE выбрать?
Первая версия среды разработки Ардуино официально появилась в августе 2005 года. С тех пор утекло много воды, программа несколько раз претерпевала революционные изменения. До 2011 года номера версий состояли из одной цифры (последней была 0023 – версия от 09.11.2011). Затем появилась более привычная запись с «минорными» и «мажорными» обновлениями. Так, Arduino 1.0.0 появилась 30.11.2011, а версия 1.0.1 – в мае 2012.
Ключевыми по количеству обновлений и связанных с ними проблем совместимости стали переходы с версии 1.0.7 и 1.5. Многие библиотеки, написанные под «старые версии» программы не могли компилироваться в новых из-за изменений в системных библиотеках и других внутренних механизмах сборки проекта. Особенно сильно это проявилось при переходе на 1.6 версию. Если в вашем проекте есть древние библиотеки, некорректно работающие с современными версиями IDE, вам придется изменять их самому, ждать, пока это сделают авторы или подчиниться обстоятельствам и установить ту версию, с которой будет работать библиотека.
Последней стабильной версией Arduino IDE на момент написания статьи является 1.8.7 (август 2018).
Arduino на русском
Еще один важный вопрос – русификация среды разработки. Давайте сразу разберемся с тем, как перевести Arduino IDE на русский. На самом деле, для этого не нужно искать или скачивать специальные версии. Вы загружаете и устанавливаете обычную версию, достаточно просто выбрать ваш язык в списке доступных языков в соответствующем пункте настроек.
Код для Arduino управления драйвером A4988 (DRV8825)с использованием библиотеки AccelStepper.
Управление шаговым двигателем без библиотеки идеально подходит для простых проектов на Arduino с одним двигателем. Но если вы хотите управлять несколькими шаговыми двигателями, вам понадобится библиотека. Итак, для нашего следующего примера будем использовать библиотеку шаговых двигателей под названием AccelStepper library.
AccelStepper library поддерживает.
Ускорение и замедление. Несколько одновременных шаговых двигателей с независимыми одновременными шагами на каждом шаговом двигателе. Эта библиотека не включена в IDE Arduino, поэтому вам необходимо сначала установить ее.
Установка библиотеки AccelStepper.
Чтобы установить библиотеку, перейдите в «Скетч» -> «Подключить библиотеку» -> «Управление» библиотеками. Подождите, пока диспетчер библиотек загрузит индекс библиотек и обновит список установленных библиотек.
Отфильтруйте свой поиск, набрав «Accelstepper». Щелкните первую запись и выберите «Установка».
Код Arduino с использованием библиотеки AccelStepper.
Вот простой пример, который ускоряет шаговый двигатель в одном направлении, а затем замедляется до полной остановки. Как только двигатель делает один оборот, меняет направление вращения. Данный цикл повторяется снова и снова.
// Подключаем библиотеку AccelStepper #include <AccelStepper.h> // Устанавливаем выводы const int dirPin = 2; const int stepPin = 3; int i = 0; // Определение тип интерфейса двигателя #define motorInterfaceType 1 // Создаем экземпляр AccelStepper myStepper(motorInterfaceType, stepPin, dirPin); void setup() { // Устанавливаем максимальную скорость, коэффициент ускорения, // начальную скорость и целевую позицию myStepper.setMaxSpeed(1000); myStepper.setAcceleration(50); myStepper.setSpeed(200); myStepper.moveTo(100); } void loop() { // Изменение направления вращения, когда двигатель достигнет заданного положения if (myStepper.distanceToGo() == 0) { myStepper.moveTo(-myStepper.currentPosition()); } // Передвинуть на 1 шаг myStepper.run(); }
Пояснение к коду:
Подключаем библиотеку AccelStepper.
#include <AccelStepper.h>
Дальше определяем выводы Arduino, к которым подключаются
выводы
STEP и DIR A4988. Мы также
устанавливаем
motorInterfaceType на 1. (1 означает внешний шаговый драйвер с
выводами
Step и Direction).
const int dirPin = 2; const int stepPin = 3; int i = 0; // Определение тип интерфейса двигателя #define motorInterfaceType 1
Затем мы создаем экземпляр библиотеки под названием myStepper.
// Создаем экземпляр AccelStepper myStepper(motorInterfaceType, stepPin, dirPin);
В функции настройки мы сначала устанавливаем максимальную скорость
двигателя равной тысяче. Затем мы устанавливаем коэффициент ускорения для
двигателя, чтобы добавить ускорение и замедление к движениям шагового
двигателя. Дальше устанавливаем обычную скорость 200 и количество шагов,
которое мы собираемся переместить, например, 200 (поскольку NEMA 17 делает 200
шагов за оборот).
void setup() { myStepper.setMaxSpeed(1000); myStepper.setAcceleration(50); myStepper.setSpeed(200); myStepper.moveTo(100); }
В основном цикле loop() используем оператор if, чтобы
проверить, как далеко двигателю нужно проехать (путем чтения свойства
distanceToGo), пока он не достигнет целевой позиции (установленной moveTo). Как
только
distanceToGo достигнет нуля, поменяем направление вращения двигателя в
противоположном направлении, изменив значение
moveTo на отрицательное по
отношению к его текущему значению. Теперь вы заметите, что в конце цикла мы
вызвали функцию
run (). Это самая важная функция, потому что шаговый двигатель
не будет работать, пока эта функция не будет выполнена.
void loop() { if (myStepper.distanceToGo() == 0) myStepper.moveTo(-myStepper.currentPosition()); myStepper.run(); }
Это небольшой пример использования библиотеки AccelStepper. В следующем уроке подробнее рассмотрим данную библиотеку и сделаем пару классных примеров использования шаговых двигателей в Arduino проектах.
Понравился Урок 2. Как подключить A4988 (DRV8825) к Arduino? Скетч, библиотека? Не забудь поделиться с друзьями в соц. сетях.
А также подписаться на наш канал на YouTube, вступить в группу , в группу на .
Спасибо за внимание!
Технологии начинаются с простого!
Фотографии к статье
Файлы для скачивания
Скачивая материал, я соглашаюсь с
Правилами скачивания и использования материалов.
Код вращения шагового двигателя NEMA 17, драйвер A4988, DRV8825 без использования библиотеки.ino | 1 Kb | 230 | Скачать | |
Код вращения шагового двигателя NEMA 17, драйвер A4988, DRV8825 без использования библиотеки.ino | 1 Kb | 183 | Скачать | |
библиотека AccelStepper.zip | 86 Kb | 190 | Скачать |
Drivers (If You Need Them)
The CH340 has been tested on:
- Windows 7/10
-
Mac OSX
- v10.10.5 (Yosemite)
- v10.11.6 (El Capitan)
- v10.13.0 (High Sierra)
- v10.14.5 (Mojave)
-
Linux
- Raspbian Stretch (11-13-2018 release) for the Raspberry Pi
- Raspbian Buster (2019-07-10 release) for the Raspberry Pi
- Ubuntu v18.04.2, 64-bit
These operating systems have the CDC drivers pre-installed, which means you shouldn’t need to install any extra software. However, there are a wide range of operating systems out there, so if you run into driver problems, you can get the archived drivers linked below:
- Windows (EXE) — Driver executable
- Windows (ZIP) : Driver v3.4 (2016-09-27)
- Mac (ZIP) : Driver v1.5 (2018-07-04)
- Linux (ZIP) : Driver v1.5 (2018-03-18)
The CH340 is made by WCH. You can find the latest version of their drivers in their English translated website.
Note: At the time of writing, you were only able to find the latest version of their drivers from their website in Mandarin. If you use a Chrome web browser, you had the option to have the web page translated. However, you now have the option of browsing the WCH website in either language. For those interested in heading to the Mandirin side, you can click on the button below.
WCH: CH340 Drivers (Mandirin page)
Заключение
Arduino Nano одна из самых маленьких полноценных версий плат Ардуино. По сути своей, она с точностью повторяет Arduino Uno, но имеет два главных отличия:
- Размеры платы.
- Связь платы UNO с компьютером осуществляется с помощью USB serial преобразователя на базе микроконтроллера типа Atmega8u.
На нано-плате использован преобразователь на базе ft232, однако более дешевые китайские версии используют другой способ связи с ПК Arduino Nano CH341. По сути, эти микросхемы являются основой для USB-UART конвертера.
Конструктор Arduino создан для любителей электроники и робототехники начального уровня, чтобы помочь им обойти сложности низкоуровнего программирования микроконтроллеров, где требуются знания инженера-профи и опыт. Да и монтажника высокого разряда тоже, особенно для новой версии платы.
Паковать крупные платы в большие корпуса в последние десятилетия стало моветоном. Микроконтроллеры слегка улучшили ситуацию тем, что схемы с их использованием стали значительно компактнее, к тому же повысилась простота повторения результата или конструкции.
Вместе с тем активное распространение Ардуино-плат для освоения разработки и проектирования устройств на микроконтроллерных системах породило новый виток в вопросе качества и эргономики.
Всего выпущено несколько платформ Arduino, Nano является одной из них, в миниатюрном исполнении
В то же время сохраняется легкость подключения при помощи разъемов с шагом выводов 2,54 мм, что важно для любительских экспериментов. Для программирования используется Arduino IDE (среда разработки) и язык высокого уровня, похожий на Си, а фактически это и есть C/C++, просто структура программы немного изменена
Вместо функции main() используются две другие: setup() и loop(). Компилятор сам создает из них остальное)
Достоинства. Функциональная маленькая плата Arduino Nano, ничуть не уступающая по функциям большой UNО, – дешевле, удобнее для монтажа и сборки миниатюрных устройств.
Конечно, нельзя забывать, что это все та же 8-битная Атмега, которая имеет свой потенциал, и нельзя возлагать на неё невозможное – используйте её там, где ей место, а именно в малой автоматизации без особых прецизионных задач.
Разработчику программы для Arduino приходится также иметь дело со схемотехникой подключаемых устройств. Он должен знать уровни допустимых токов и напряжений, обеспечивать защиту электроники при использовании деталей с большой индуктивностью (моторов, катушек реле). Ардуино объединяет две области знаний: электронику и программирование, основу для построения роботов (здесь немного не хватает еще механики).
Раз уж тут объединены программирование и электроника, то ключевой вещью в использовании модуля становится спецификация его выводов, или распиновка, как еще принято говорить. Выводы модуля можно классифицировать разными способами, поскольку их функции зависят от программной конфигурации контроллера. Кроме того, поскольку есть две версии модулей, один из них использует чип ATmega168, а другой ATmega328, то появляется вопрос, есть ли у них различия в подключении.
В каждом конкретном проекте назначение каждого пина конфигурируется программой пользователя. При запуске контроллера сначала выполняется инициализация регистров конфигурации. Поэтому беспокойства по поводу функций выводов в отлаженном устройстве быть не должно.
Конечно, наборы Ардуино (Arduino) не предназначены для разработки встраиваемых приложений, работающих с большой скоростью в ответственных случаях, поэтому при их использовании возможны косяки, тем более что пользователи еще только учатся.
Но как часть конструктора для изучения автоматизации и робототехники он играет важную роль в образовательных целях и способен привлечь в отрасль много будущих специалистов.