Подключение и программирование Ардуино для начинающих

0 5

Изучeниe микрoкoнтрoллeрoв кaжeтся чeм-тo слoжным и нeпoнятным? Дo пoявлeния Aрудинo – этo былo дeйствитeльнo нe лeгкo и трeбoвaлo oпрeдeлeнный нaбoр прoгрaммaтoрoв и прoчeгo oбoрудoвaния.

 
          
           Пoдключeниe и прoгрaммирoвaниe Aрдуинo для нaчинaющиx

Чтo тaкoe Arduino?

Этo свoeгo рoдa элeктрoнный кoнструктoр. Изнaчaльнaя зaдaчa прoeктa – этo пoзвoлить людям лeгкo oбучaться прoгрaммирoвaнию элeктрoнныx устрoйств, возле этoм удeляя минимaльнoe врeмя элeктрoннoй чaсти.

Сбoркa слoжнeйшиx сxeм и сoeдинeниe плaт мoжeт oсущeствляться бeз пaяльникa, a с пoмoщью пeрeмычeк с рaзъёмными сoeдинeниями «пaпa» и «мaмa». Тaк мoгут пoдключaться кaк нaвeсныe элeмeнты, тaк и плaты рaсширeния, кoтoрыe нa лeксикoнe aрдуинщикoв зoвут прoстo «Шилды» (shield).

Кaкую пeрвую плaту Arduino откупить нoвичку?

Бaзoвoй и сaмoй пoпулярнoй плaтoй считaeтся Arduino Uno. Этa плaтa рaзмeрoм нaпoминaeт крeдитную кaрту. Дoвoльнo крупнaя. Бoльшинствo шилдoв кoтoрыe eсть в прoдaжe идeaльнo пoдxoдят к нeй. Нa плaтe в (видах пoдключeния внешних устройств расположены гнезда.

В отечественных магазинах сверху 2017 год её валюта порядка 4-5 долларов. Сверху современных моделях её сердцем является Atmega328.

Копия платы ардуино и расшифровка функций каждого вывода, Arduino UNO pinout

Микроконтроллер возьми данной плате сие длинна микросхема в корпусе DIP28, что-что говорит о том, чисто у него 28 ножек.

Следующая по части популярности плата, имеет смысл почти в двое меньше предыдущей – 2-3 доллара. Сие плата Arduino Nano. Актуальные платы построены фолиант же Atmega328, функционально они аналогичны с UNO, различия в размерах и решении согласования с USB, об этом спустя время подробнее. Еще одним отличием является ведь, что для подключения к плате устройств предусмотрены штекера, в виде иголок.

Намолот пинов (ножек) этой платы совпадает, да вы можете приглядывать что микроконтроллер выполнен в больше компактном корпусе TQFP32, в корпусе добавлены ADC6 и ADC7, часть две «лишних» ножки дублируют шину питания. Её размеры поёб) да хуй под мышку компактные – приблизительно, как большой большой вашей руки.

Aruino Nano pinout 

Третья объединение популярности плата – сие Arduino Pro Mini, бери ней нет USB порта чтобы подключения к компьютеру, по образу осуществляется связь я расскажу чуточку позже.

Сравнение размеров Arduino Nano и Pro Mini

Сие самая маленькая магазинаж из всех рассмотренных, в остальном симпатия аналогична предыдущим две, а её сердцем является согласно-прежнему Atmega328. Некоторые люди платы рассматривать никак не будем, так наподобие это статья в целях начинающих, да и приравнивание плат – сие тема отдельной статьи.

Arduino Pro Mini pinout, в верхней части изложение подключения USB-UART, пин «GRN» — разведен для цепь сброса микроконтроллера, может именоваться по иному, для того чего это нужно ваша милость узнаете далее.

Итоги:

Делать что UNO удобна для макетирования, в таком случае Nano и Pro Mini удобны про финальных версий вашего проекта, ибо что занимают один-другой места.

Как ввести Arduino к компьютеру?

Arduino Uno и Nano подключаются к компьютеру объединение USB. При этом несть аппаратной поддержки USB порта, после этого применено схемное определение преобразования уровней, естественно называемое USB-to-Serial иначе USB-UART (rs-232). Близ этом в микроконтроллер прошит подготовленный Arduino загрузчик, кто позволяет прошиваться в области этим шинам.

В Arduino Uno реализована каста вязь на микроконтроллере с поддержкой USB – ATmega16U2 (AT16U2). Из этого явствует такая ситуация, а дополнительный микроконтроллер возьми плате нужен исполнение) прошивки основного микроконтроллера.

В Arduino Nano сие реализовано микросхемой FT232R, либо — либо её аналогом CH340. Сие не микроконтроллер — сие преобразователь уровней, данный факт облегчает сборку Arduino Nano с нуля своими руками.

В большинстве случаев драйвера устанавливаются механически при подключении платы Arduino. Одначе, когда я купил китайскую копию Arduino Nano, звено было опознано, только оно не работало, возьми преобразователе была наклеена круглая ценник с данными о дате выпуска, безлюдный (=малолюдный) знаю нарочно ли сие было сделано, хотя отклеив её я увидел маркировку CH340.

Предварительно этого я не сталкивался с таким и думал, ровно все USB-UART преобразователи собраны держи FT232, пришлось считать драйвера, их без памяти легко найти согласно запросу «Arduino ch340 драйвера». Дальше простой установки – целое заработало!

Через данный же USB порт может и насыщаться микроконтроллер, т.е. если вас подключите его к адаптеру ото мобильного телефона – ваша прием будет работать.

Какими судьбами делать если держи моей плате вышел USB?

Плата Arduino Pro Mini имеет меньшие параметры. Это достигли тем что-нибудь убрали USB разъём интересах прошивки и тот самый USB-UART выпрямитель. Поэтому его нужно докупить врозь. Простейший преобразователь держи CH340 (самый бо), CPL2102 и FT232R, продаётся нужно от 1 доллара.

Около покупке обратите первый план на какое нервотрепка рассчитан этот переводник. Pro mini бывает в версиях 3.3 и 5 В, держи преобразователях часто расположен джампер исполнение) переключения напряжения питания.

Близ прошивке Pro Mini, сам перед её началом нужно нажимать на RESET, но в преобразователях с DTR это чинить не нужно, конфигурация подключения на рисунке вверх.

Стыкуются они специальными клеммами «Мамуша-Мама» (female-female).

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

Во вкусе писать программы к Arduino?

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

Этак выглядит интерфейс программы. Чиркать программы можно возьми специально разработанном про ардуино упрощенном языке C AVR, до сути это сверток библиотек, который называют Wiring, а вот и все на чистом C AVR. Эксплуатация которого облегчает адрес и ускоряет его работу.

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

В нижней части окна – ветвь для вывода информации о проекте, о состоянии стих, прошивки и наличии ошибок.

Основания программирования в Arduino IDE

В начале стих нужно объявить переменные и присоединить. Ant. выключить дополнительные библиотеки, кабы они имеются, делается сие следующим образом:

#include biblioteka.h; // подключаем библиотеку с названием “Biblioteka.h”

#define peremennaya 1234; // Объявляем переменную со значением 1234

Одиннадцать надежд Define дают компилятору самому поднять тип переменной, так вы можете его дать по шапке вручную, например, цельночисленный int, или с плавающей точкой float.

int led = 13; // создали переменную “led” и присвоили ей цена «13»

Список может определять фрустрация пина, как 1 иначе 0. 1 –сие логическая единица, в случае если пин 13 равен 1, в таком случае напряжение на его физической ножке перестаньте равняться напряжению питания микроконтроллера (исполнение) ардуино UNO и Nano – 5 В)

Писание цифрового сигнала осуществляется командой digitalWrite (пин, масштаб), например:

digitalWrite(led, high); //уравнение единицы в пин 13(наша сестра его объявили сверх) лог. Единицы.

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

digitalWrite (13, high); // устанавливаем резюме 13 в едиицу

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

delayMicroseconds() Delay (1000); //микроконтроллер хорошенького понемножку ждать 1000 мс (1 момент)

Настройки портов возьми вход и выход задаются в функции void setup{}, командой:

void setup() {

 pinMode(NOMERPORTA, OUTPUT/INPUT); // доводы – название переменной или — или номер порта, портал или выход нате выбор

}

Void loop{}

Понимаем первую программу «Blink»

В качестве своеобразного «Hello, world» к микроконтроллеров является интерпретатор мигания светодиодом, давайте разберем её шифр:

В начале командой pinMode автор этих строк сказали микроконтроллеру влепить порт со светодиодом нате выход. Вы сейчас заметили, что в коде в помине (заводе) нет объявления переменной “LED_BUILTIN”, предприятие в том, что в платах Uno, Nano и других с завода к 13 выводу подключен вделанный светодиод и он распаян возьми плате. Он может браться использован вами интересах индикации в ваших проектах иль для простейшей проверки ваших программ-мигалок.

Следом мы установили следствие к которому подпаян светодиод в единицу (5 В), следующая строчка заставляет МК помедлить 1 секунду, а затем устанавливает пин LED_BUILTIN в серьезность нуля, ждет подожди и программа повторяется в соответствии с кругу, таким образом, иным часом LED_BUILTIN равен 1 – светодиод(отлично и любая другая задание подключенная к порту) включен, идеже в – выключен.

Целое работает и всё вестимо? Тогда идём следом!

Читаем значение с аналогового порта и используем прочитанные показатели

Микроконтроллер AVR Atmega328 имеет замонтированный 10 битный аналогово числовой преобразователь. 10 битный АЦП позволяет считывать спица в колеснице напряжение от по 5 вольт, с шагом в 1/1024 через всего размаха амплитуды сигнала (5 В).

С тем было понятнее рассмотрим ситуацию, скажем значение напряжения нате аналоговом входе 2.5 В, знать микроконтроллер прочитает вес с пина «512», даже если напряжение равно – «0», а делать что 5 В – (1023). 1023 – потому как что счёт лады с 0, т.е. 0, 1, 2, 3 и т.д. раньше 1023 – лишь 1024 значения.

Чисто как это выглядит в коде, бери примере стандартного скетча «analogInput»

int sensorPin = A0;

int ledPin = 13;

int sensorValue = 0;

void setup() {

 pinMode(ledPin, OUTPUT);

}

void loop() {

 sensorValue = analogRead(sensorPin);

 digitalWrite(ledPin, HIGH);

 delay(sensorValue);

 digitalWrite(ledPin, LOW);

 delay(sensorValue);

}

Сценарий подключения потенциометра к Arduino, соответственно аналогии центральный суд вы можете присоединить. Ant. выключить к любому аналоговому входу.

Объявляем переменные:

  • Ledpin – единолично назначаем пин со встроенным светодиодом держи выход и даём индивидуальное наименование;

  • sensorPin – аналоговый ход, задаётся соответственно маркировке получай плате: A0, A1, A2 и т.д.;

  • sensorValue – аргумент для хранения целочисленного прочитанного значения и дальнейшей работы с ним.

Адрес работает так: sensorValue сохраняем прочитанное с sensorPin аналоговое смысл (команда analogRead). – тут. Ant. там работа с аналоговым сигналом заканчивается, тогда всё как в предыдущем примере.

Записываем единицу в ledPin, светодиод включается и ждем наши дни равное значению sensorValue, т.е. с до 1023 миллисекунд. Выключаем светодиод и вдругорядь ждем этот этап времени, после что такое? код повторяется.

Таким образом положением потенциометра пишущий эти строки задаем частоту миганий светодиода.

Тотиент map для Арудино

Неважный (=маловажный) все функции для того исполнительных механизмов (ми ни одной неважный (=маловажный) известно) в качестве аргумента поддерживают «1023», взять, сервопривод ограничен домиком поворота, т.е на половая принадлежность оборотоа (180 градуов) (секс оборота) сервомоторчика наивысший аргумент функции равен «180»

Теперича о синтаксисе: map (значение которое ты да я переводим, минимальная габариты входного, максимальная количество входного, минимальная выходного, максимальная выходного значения).

В коде сие выглядит так:

(map(analogRead(pot), 0, 1023, 0, 180));

Наша сестра считываем значение с потенциометра (analogRead(pot))через до 1023, а получи и распишись выходе получаем числа ото до 180

Значения игра в карты величин:

  • 0=0;

  • 1023=180;

На практике применим сие к работе коду того-но сервопривода, взгляните возьми код с Arduino IDE, если бы вы внимательно читали предыдущие разделы, в таком случае он пояснений маловыгодный требует.

И схема подключения.

Выводы Ардуино – беда удобное средство исполнение) обучения работы с микроконтроллерами. А коли использовать чистый C AVR, аль как его время от времени называют «Pure C» — вам значительно уменьшите тяжесть кода, и его значительнее поместиться в память микроконтроллера, в результате ваша милость получите отличную отладочную плату заводского исполнения с возможностью прошивки соответственно USB.

Мнение автора:

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

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

До сего часа больше информации для Ардуино и особенности его использования в различных схемах как угодно в электронной книге — Ардуино к чайников. Иллюстрированное практическое шефмонтаж.

Алексей Бартош

Любите умные гаджеты и DIY? Станьте специалистом в сфере Internet of Things и создайте бредень умных гаджетов!

Записывайтесь в онлайн-учреждение от GeekBrains:

Журфак Интернет вещей

Ваша милость сможете:

  • Изучить C, машины отладки и программирования микроконтроллеров;

  • Настричь опыт работы с реальными проектами, в команде и самодостаточно;

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

Starter box для первых экспериментов в взятка!

После прохождения курса в вашем портфолио кончай: метостанция с функцией часов и встроенной игрой, распределенная путы устройств, устройства регулирования температуры (ПИД-сигнализатор), устройство контроля влажности воздуха, теория умного полива растений, звено контроля протечки воды…

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

Подробнее тогда:
Интернет вещей и современные встраиваемые системы

Гейзер