Как программировать ардуино нано

Подключение Arduino Nano 2.2 к компьютеру с помощью USB-кабеля с разъемом Mini-B. Обратите внимание, что синий светодиод питания расположен под платой.
Для подключения Arduino Nano к компьютеру вам понадобится USB-кабель с разъемом Mini-B. Через этот же кабель осуществляется питание платы, наличие которого показывает встроенный синий светодиод (который в Arduino Nano 2.x расположен на нижней стороне платы, а в Arduino Nano 3.0 — на верхней).
Если у вас Arduino Nano 3.0, то перед прошивкой в меню Tools > Board необходимо выбрать пункт » Arduino Duemilanove or Nano w/ ATmega328″ . Если у вас Arduino Nano 2.x, то выбирайте » Arduino Diecimila, Duemilanove, or Nano w/ ATmega168″ . После этого из меню Tools > Serial Port выберите необходимый последовательный порт и просто нажмите кнопку Upload в среде программирования Ардуино. Устройство автоматически сбросится, после чего ваш скетч будет загружен в память микроконтроллера. В случае возникновения проблем, загляните в раздел «Устранение неполадок».
Для получения дополнительной информации об Arduino Nano, см. страницу с описанием устройства.
- Последние новости
- подписаться на новости
- Последние темы с форума
Arduino.ru
Язык программирования устройств Ардуино основан на C/C++. Он прост в освоении, и на данный момент Arduino — это, пожалуй, самый удобный способ программирования устройств на микроконтроллерах.
Базовые и полезные знания, необходимые для успешного программирования под платформу Arduino:
- Начало работы с Arduino в Windows
- Работа с Arduino Mini
- Цифровые выводы
- Аналоговые входы
- Широтно-импульсная модуляция
- Память в Arduino
- Использование аппаратных прерываний в Arduino
- Перепрошивка контроллера Atmega8U2 для Arduino Uno и Mega2560
- Переменные
- Функции
- Создание библиотек для Arduino
- Использование сдвигового регистра 74HC595 для увеличения количества выходов
- Прямое управления выходами через регистры микроконтроллера Atmega
Справочник языка Ардуино
Язык Arduino можно разделить на три раздела:
Операторы
Управляющие операторы
Синтаксис
- ; (semicolon)
- <> (curly braces)
- // (single line comment)
- /* */ (multi-line comment)
Арифметические операторы
- = (assignment)
- + (addition)
- — (subtraction)
- * (multiplication)
- / (division)
- % (modulo)
Операторы сравнения
- == (equal to)
- != (not equal to)
- <(less than)
- > (greater than)
- <=(less than or equal to)
- >= (greater than or equal to)
Логические операторы
Унарные операторы
- ++ (increment)
- — (decrement)
- += (compound addition)
- -= (compound subtraction)
- *= (compound multiplication)
- /= (compound division)
Данные
Константы
- HIGH | LOW
- INPUT | OUTPUT
- true | false
- Целочисленные константы
- Константы с плавающей запятой
Типы данных
Преобразование типов данных
Область видимости переменных и квалификаторы
Функции
Цифровой ввод/вывод
Аналоговый ввод/вывод
- analogRead()
- analogReference()
- analogWrite()
Дополнительные фунции ввода/вывода
Работа со временем
Математические функции
Тригонометрические функции
Генераторы случайных значений
Внешние прерывания
- attachInterrupt()
- detachInterrupt()
Функции передачи данных
Библиотеки Arduino
Servo — библиотека управления сервоприводами.
EEPROM — чтение и запись энергонезависимой памяти микроконтроллера.
SPI — библиотека, реализующая передачу данных через интерфейс SPI.
Stepper — библиотека управления шаговыми двигателями.
Авторизация
Примеры
Изменяем яркость светодиода — плавное изменение яркости светодиода функцией analogWrite().
Мигаем светодиодом — пример подключения светодиода к Arduino и работы с ним
Тактовая кнопка — считывание состояния кнопки
Мигаем светодиодом без delay() — еще один, более практичный способ мигать светодиодом
Arduino Nano: распиновка, схема подключения и программирование
Плата Arduino Nano — аналог флагманской Uno в миниатюрном размере. На ней предусмотрено всё необходимое для удобной работы с микроконтроллером: 14 цифровых входов/выходов (6 из них могут использоваться в качестве ШИМ-выходов), 6 аналоговых входов, кварцевый резонатор на 16 МГц, разъём Mini-USB, разъём питания, разъём для внутрисхемного программирования (ICSP) и кнопка сброса.
Видеообзор
Подключение и настройка
Для запуска платформы скачайте и установите на компьютер интегрированную среду разработки Arduino IDE.
При выборе платформы выбирайте Arduino Nano.
Если всё получилось — можете смело переходить к экспериментам.
Элементы платы
Микроконтроллер ATmega328P
Сердцем платформы Arduino Nano является 8-битный микроконтроллер семейства AVR — ATmega328P с тактовой частотой 16 МГц. Контроллер предоставляет 32 КБ Flash-памяти для хранения прошивки, 2 КБ оперативной памяти SRAM и 1 КБ энергонезависимой памяти EEPROM для хранения данных.
Микросхема FT232R
Микросхема FTDI FT232R обеспечивает связь микроконтроллера ATmega328P с USB-портом компьютера. При подключении к компьютеру Nano определяется как виртуальный COM-порт.
USB-UART преобразователь общается с микроконтроллером ATmega328P по интерфейсу UART через пины 0(RX) и 1(TX) . Рекомендуем не использовать эти контакты в своём проекте.
Светодиодная индикация
| Имя светодиода | Назначение |
|---|---|
| RX и TX | Мигают при обмене данными между Arduino Nano и ПК. |
| L | Пользовательский светодиод подключённый к 13 пину микроконтроллера. При высоком уровне светодиод включается, при низком – выключается. |
| ON | Наличие питания на Arduino Nano. |
Разъём Mini-USB
Разъём Mini-USB предназначен для прошивки платформы с помощью компьютера.
Регулятор напряжения 5 В
Линейный понижающий регулятор напряжения LM1117MPX-5.0 с выходом 5 вольт обеспечивает питание микроконтроллера ATmega328P и другой логики платформы. Максимальный выходной ток составляет 800 мА.
ICSP-разъём для ATmega328
ICSP-разъём предназначен для загрузки прошивки в микроконтроллер ATmega328 через программатор.
Также через контакты ICSP Nano общается с платами расширения по интерфейсу SPI.
Распиновка

Пины питания
VIN: Входной пин для подключения внешнего источника питания с напряжением в диапазоне от 7 до 12 вольт.
5V: Выходной пин от регулятора напряжения на плате с выходом 5 вольт и максимальных током 800 мА. Питать устройство через вывод 5V не рекомендуется — вы рискуете спалить плату.
3.3V: Выходной пин от стабилизатора микросхемы FT232R с выходом 3,3 вольта и максимальных током 50 мА. Питать устройство через вывод 3V3 не рекомендуется — вы рискуете спалить плату.
GND: Выводы земли.
AREF: Пин для подключения внешнего опорного напряжения АЦП относительно которого происходят аналоговые измерения при использовании функции analogReference() с параметром «EXTERNAL».
Порты ввода/вывода
Цифровые входы/выходы: пины 0 – 13
Логический уровень единицы — 5 В, нуля — 0 В. Максимальный ток выхода — 40 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
ШИМ: пины 3 , 5 , 6 , 9 , 10 и 11
Позволяет выводить аналоговые значения в виде ШИМ-сигнала. Разрядность ШИМ не меняется и установлена в 8 бит.
АЦП: пины A0 – A7
Позволяет представить аналоговое напряжение в цифровом виде. Разрядность АЦП не меняется и установлена в 10 бит. Диапазон входного напряжения от 0 до 5 В. При подаче большего напряжения — вы убьёте микроконтроллер.
TWI/I²C: пины A4(SDA) и A5(SCL)
Для общения с периферией по интерфейсу I²C. Для работы используйте библиотеку Wire.
SPI: пины 11(MOSI) , 12(MISO) , 13(SCK) и 10(SS)
Для общения с периферией по интерфейсу SPI. Для работы — используйте библиотеку SPI.
UART: пины 0(RX) и 1(TX)
Используется для коммуникации платы Arduino с компьютером или другими устройствами по последовательному интерфейсу. Выводы 0(RX) и 1(TX) соединены с соответствующими USB-UART преобразователя FT232R. Для работы с последовательным интерфейсом — используйте методы библиотеки Serial.
Инструкция по Arduino для новичков. Первые шаги.
Введение. Впервые это вижу. Привет друзья, меня зовут Алексей, и от имени и по поручению команды профессионалов Giant4 я решил написать небольшой курс статей — инструкций по использованию платы Arduino Nano и так называемой адресной лентой, на основе светодиодов ws 2812 b . Давайте сначала поговорим о том, что Arduino из себя представляет в общем. Данное понимание просто необходимо, особенно если Вы в данном деле новичок. В этой серии статей мы преследуем цель обеспечить простой и безболезненный старт новичку, поэтому я намерен давать простые и понятные для восприятия термины и определения. Итак, поехали! Arduino
Для начала нам необходимо разобраться, что же такое Arduino . Если вы почитаете в интернете, то найдете множество разных определений, но я дам Вам свое, в корне отличающееся от остальных. Arduino – это платформа, предназначенная для простой и понятной разработки. Arduino позволит легко разрабатывать свои собственные устройства, не имея ни малейшего понятия об архитектуре микроконтроллера (МК), не имея каких-то серьезных навыков программирования и даже не зная основ электротехники. Arduino – это не программа для написания кода, не интерпретатор, не компилятор, не программатор и даже не сама плата, на которой находится микроконтроллер. Arduino – это все перечисленное выше, но и одновременно нечто гораздо большее. Это целая система, это философия, это то, что объединяет крутейшие идеи ведущих инженеров мира. Это комплекс программных и аппаратных решений. Но при всем при этом, Arduino считается детской игрушкой, с которой справится даже первоклассница. Arduino – это то, что может показаться неоправданно дорогим и то, что составляет конкуренцию мировым лидерам по разработке и производству электроники, как в вопросе себестоимости, так и в функционале. И то, чем будет Arduino в Ваших руках, зависит только от Вас. Возможно, я написал немало громких слов и немного запутал Вас. Тем не менее, все написанное выше чрезвычайно важно, и если Вы продолжите заниматься разработкой электроники с Arduino , то обязательно поймете это. А пока давайте вернемся к началу и сформулируем внятное определение. Arduino – это платформа, платформа для разработки электроники, позволяющая с минимальными затратами и усилиями программировать МК. Arduino Nano На фото изображена та самая плата к которой мы пишем инструкцию, она и называется Arduino Nano . Это уже готовая плата, в основе которой лежит МК ATmega 328, а также вся необходимая обвязка, превращающая популярный микроконтроллер в полноценное, самостоятельное устройство. Тут у нас и кварцевый резонатор, позволяющий МК работать на стабильной частоте, и стабилизатор напряжения, и микросхема, связывающая компьютер и устройство (для ее программирования). Также имеется кнопочка сброса программы, индикация в виде светодиодов. Ну и несколько простейших радиокомпонентов, без которых устройство не заработает. В общем, все организовано таким образом, чтобы можно было просто подключить плату к компьютеру (по USB проводу) и начать работать. Как по мне, это очень здорово, при том что Nano имеет небольшой размер и выводы, предназначенные для впаивания в них гребенки с контактами. Имея данные контакты и провода под них, можно даже не пользоваться паяльником.
Подделка или оригинал Дальше следует упомянуть о том, что плата, которая лежит у меня на столе, — это не совсем оригинал, это китайская реплика или даже можно сказать подделка. Она значительно дешевле оригинала. Но стоит отнестись к данной информации объективно. Во-первых, весь функционал такой же, как и в оригинале. Во-вторых, не потеряно удобство работы с данной платой. В-третьих, итальянцы действительно слишком дорого просят за оригинал и невольно задумываешься об их чрезмерных аппетитах. Если интересно, сравните стоимость Arduino Nano из Китая со стоимостью такой же платы из официального магазина Arduino , и сами все поймете. В общем, смысл простой: если есть возможность и желание переплатить, то можно поддержать разработчиков платформы, все-таки они подарили миру по-настоящему крутое решение. Но при желании сэкономить Вы ничего не теряете. Также если Вы будете читать статьи других авторов, то в них часто можно увидеть упоминания подобного рода: «У Китая, конечно, дешево, но они постоянно глючат, ломаются и требуют «танцев с бубном». Вам это нужно? Вот если взять оригинал, то проблем не будет…» И Вы в растерянности будете думать: «Почему мнения расходятся? Почему объясняют по-разному?» Ответ, как правило, очень простой: в этих же статьях Вы наткнетесь на ссылки, ведущие в официальный магазин Arduino , то есть эти статьи писали не авторы, а продавцы, участвующие в реферальной программе. Как правило, данные статьи частично или полностью скопированы у настоящих авторов и доверять им не стоит, так как велик шанс того, что они только запутают Вас. Подключение Arduino Nano Давайте разберемся, как подключать нашу плату, чтобы ее использовать. Прежде всего следует обратить внимание на то, что все выводы на плате подписаны. Давайте начнем с электропитания. Самый простой способ подключить Arduino Nano – это подключить ее по USB проводу к компьютеру. В этом случае плата сразу же будет запитана и появится связь с компьютером для ее программирования. Но этот способ используется, как правило, только для программирования и отладки работы. Согласитесь, будет не удобно таскать компьютер вслед за МК.
Зато на нашей плате имеются специальные выводы питания МК от внешнего источника. Подписаны они как: «+5», « VIN », « GND ». Если источник питания от 4,5В до 5,5В, то смело используем «+5» и « GND », если источник питания от 7-12В, то используем « VIN » и « GND ». Сразу хочу оговориться: во многих статьях указанно, что напряжение питания на « VIN » возможно подавать 6-20В, но я бы не советовал подключать больше 12в, так как понижающий стабилизатор может не справиться. Так как мы будем рассматривать Ардуино в связке с адресной лентой, нам больше и не потребуется.
Теперь давайте поговорим о других выводах платы. И сразу же ремарка: мы не будем говорить обо всех возможностях, а поговорим только конкретно о тех, что нам необходимы. На Arduino Nano имеются 14 контактов, начинающихся на букву « D ». Это цифровые входы и выходы. В зависимости от нашей программы, каждый из этих контактов может быть либо входом, либо выходом. Объясняю, что это значит. Если, к примеру, вывод « D 4» объявлен как выход, тогда своей программой мы можем подать на него напряжение (+5В) или же снять напряжение, и на нем будет общий ( GND ). Полностью физически отключить вывод (на сленге — «ногу») не получится, так как у нас внутри не выключатель, но это нам и не нужно.
А если вывод « D 4» объявлен как вход, то программа может определить, подано напряжение извне или нет. Это можно использовать для внешних элементов управления платой, к примеру, кнопок. Также хочу сказать, что для простоты понимания мы с Вами, в рамках данного курса, не будем оперировать выводами « D 0» и « D 1», там есть нюансы, которые только запутают нас на данном этапе. WS 2812 B И, наконец-то, пришло время поговорить об адресной светодиодной ленте на основе светодиодов ws 2812 b . Суть в том, что можно зажечь на данной ленте любой отдельный светодиод, любым цветом. Управление светодиодами происходит достаточно быстро и при должной сноровке можно организовывать целые световые шоу.
Каждый светодиод в ленте мы будем называть пикселем. Потому что один пиксель имеет внутри себя 3 светодиода разных цветов: красный, зеленый, синий. И, конечно же, пиксель «пляшет» от системы кодирования цветов RGB ( red , green , blue ). Также в каждом пикселе имеется микросхема, которая управляет степенью яркости того или иного цвета по средству ШИМ. То есть, три ШИМ сигнала с микросхемы, расположенной внутри пикселя, управляют яркостью каждого светодиода по отдельности. Каждый из трех ШИМ сигналов может принимать 0 до 255 значений, то есть 8 бит. Из этого можно сделать вывод, что каждый пиксель на ленте кодируется 24 битами, а это, в свою очередь, 16 777 216 различных цветов, которые можно получить с одного пикселя. С нашей точки зрения, это очень круто? А теперь небольшое разоблачение: на самом деле пиксели в адресной светодиодной ленте не имеют адресов. Данное название пошло скорее от народа. Работает это примерно так: пиксель, начиная с первого, получает пакет из 24 бит, начинает работать согласно инструкции, а получив за первым пакетом второй, передает его следующему пикселю, — и так до конца. Чтобы прервать этот цикл и начать заполнение с начала, необходимо выдержать временную паузу, причем эта пауза очень мала, а сами биты отправляются на достаточно большой частоте. Но если говорить честно, то мы не будем работать с битами напрямую, всю работу на себя возьмёт программная библиотека (которых, кстати, для Arduino огромное множество). У нашей светодиодной ленты имеются три контакта: «+5 V », « GND » и « D ». Причем с одной стороны от светодиода у нас промаркировано « DO », а с другой « DIN ». « D » — это как раз линия, по которой идут команды. Команды могут идти только в одном направлении. « DIN » — дискретный вход, « DO » — дискретный выход. И, как правило, направление команд отмечено стрелочками.
Заключение
В этой вводной статье мы познакомились, в общих чертах, с чем собираемся работать в дальнейшем. Как я и говорил, теперь мы имеем общее представление и в следующей статье приступим к практике с большей уверенностью и пониманием дела.