Андрей Смирнов
Время чтения: ~16 мин.
Просмотров: 51

Arduino leonardo: распиновка, схема подключения и программирование

Размеры Уно

Arduino Uno R3 – самая популярная плата, построенная на базе процессора ATmega328. В зависимости от конкретной модели платы этой линейки используются различные микроконтроллеры, на момент написания статьи самой распространённой является версия именно R3.

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


Плата Ардуино Уно

Размеры платы представлены на схеме ниже. Общие размеры Уно составляют 53,4 мм на 68,6 мм.

Связь с внешними устройствами

Для подключения внешних устройств к Arduino Uno необходимо подсоединить USB-порт к контактам RX и TX. Они передают данные от контроллера к ПК при помощи последовательного интерфейса UART. Для взаимодействия с компьютером программным способом необходимо использовать среду Arduino IDE. Контроль качества соединения платы с ПК производится при помощи приложения Serial Monitor.

Датчики, светодиоды и иные дополнительные модули необходимо подключать к цифровым и аналоговым контактам платы. При подсоединении используются 3 порта для питания и принятия сигнала. Многие модули производятся сторонними компаниями и не поддерживаются компьютерами с операционной системой Windows в автоматическом режиме. Для их стабильной работы необходимо устанавливаться дополнительные драйверы.

Общение с Arduino

Как же процессор узнаёт, что именно ему следует делать? Вы должны рассказать ему это. Существует язык для общения с микроконтроллером, упрощённый и адаптированный специально для Arduino. Освоить этот язык совсем не сложно при желании и определённой настойчивости, даже если вы никогда раньше не программировали. 

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

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

8 или 32 бита

Основные сражения происходят между 8 и 32 битными платами.

8-бит: Uno, Nano, and Mega

32-бит: Zero, MKR, ESP8266 и ESP32

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

Более простые архитектуры означают, что регистры прямого программирования, как правило, относительно легки. 32-разрядные процессоры предлагают более высокие тактовые частоты вместе с большим количеством ОЗУ, ПЗУ и последовательной периферии. Их архитектура может усложнить программирование. К счастью, такие структуры, как библиотека Arduino и CircuitPython, зарывают большую часть этой сложности.

Выбор микропроцессора только потому, что он является 8-битным или 32-битным, может быть, скажем так, довольно «близоруким»

Поэтому важно подумать о том, как вы планируете использовать его

Допустим, вы уже в курсе, как обращаться с проводами, контактами и микросхемами. Поэтому разберемся с самыми популярными платами на сегодняшний день.

Know your Pinout

The Arduino Uno Microcontroller is one of the most versatile boards on the market today and that’s why we decided to focus on it in this guide. This guide displays most of its capabilities, but there are also more advanced options which we did not go into in this post.

The important thing to know when you choose a board for your project is its capabilities and limitations. It’s also important to understand the different communication protocols that the board uses. Of course, you don’t need to remember all of this information, you can always go back to this post and read the relevant information for you (this is a good time to bookmark this post btw).

If you have any comments or questions, you are welcome to write them below and of course, feel free to share this post with your Arduino-loving friends

=D

Способы соединения проводов

Соединение проводов в распределительной коробке делается, учитывая множество факторов:

1. Тип материала из которого изготовлены провода:

  • алюминий;

  • медь;

  • сталь и сплавы.

2. От окружающей среды в которой будет находиться проводка:

  • улица;

  • помещение;

  • проводка под землей;

  • проведение кабеля под водой.

3. Количество используемых проводов.

4. Совпадает сечение жил или нет.

Принимая во внимание все эти аспекты, монтер выбирает способ, которым будет монтировать контактный узел в распредкоробке. Существует восемь способов соединения проводов.

Скрутка

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

Скрутка это самый простой способ стыковки проводов.Источник zdorovaya-eda.com

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

Плюсы скрутки:

  • Не требует дополнительных затрат для покупки дополнительных аксессуаров.

  • Не нужно прилагать усилий для выполнения данной работы.

  • Есть возможность соединить между собой несколько кабелей.

Минусы:

  • Этот способ самый ненадежный для использования при современной прокладке электропроводки.

  • Ею нельзя стыковать кабеля, жилки которых, изготовленные из разных металлов.

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

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

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

Скрутка в качестве основы для соединения кабеля с помощью пайки.Источник viva-el.by

Пайка

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

Достоинства:

  • соединение проводов между собой с помощью пайки намного надежнее, чем скрутка;

  • спаивать между собой можно многожильные кабеля;

  • более надёжный в эксплуатации и не требует дополнительных проверок;

  • относится к одному из дешевых способов монтажа электрических узлов.

Недостатки:

  • требует большой затраты времени и труда, поскольку материал к работе нужно правильно подготовить;

  • этот способ требует квалифицированного работника, умеющего работать с паяльником.

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

Описание пинов Arduino Uno Rev3

Пины Ардуино используются для подключения внешних устройств и могут работать как в режиме входа, так и в режиме выхода. Каждый вывод имеет нагрузочный резистор (по умолчанию отключен) 20-50 кОм и может пропускать до 40 мА.

Некоторые выводы имеют особые функции:

  • Пины 0 и 1 – контакты UART (RХ и TX соответственно) .
  • Пины c 10 по 13 – контакты SPI (SS, MOSI, MISO и SCK соответственно)
  • Пины A4 и A5 – контакты I2C (SDA и SCL соответственно).

Цифровые пины платы Uno

Пины с номерами от 0 до 13 являются цифровыми. Это означает, что вы можете считывать и подавать на них только два вида сигналов: HIGH и LOW. С помощью ШИМ также можно использовать цифровые порты для управления мощностью подключенных устройств.

Пин Адресация Специальное назначение ШИМ
RX
1 1 TX
2 2 Вход для прерываний
3 3 Вход для прерываний ШИМ
4 4
5 5 ШИМ
6 6 ШИМ
7 7
8 8
9 9 ШИМ
10 10 SPI (SS) ШИМ
11 11 SPI (MOSI) ШИМ
12 12 SPI (MISO)
13 13 SPI (SCK)
К выходу также подсоединен встроенный светодиод (есть в большинстве плат Arduino)

Аналоговые пины Arduino Uno

Аналоговые пины Arduino Uno Rev3 предназначены для подключения аналоговых устройств и являются входами для встроенного аналого-цифрового преобразователя (АЦП), который в ардуино уно десятиразрядный.

Пин Адресация Специальное назначение
A0 A0 или 14
A1 A1 или 15
A2 A2 или 16
A3 A3 или 17
A4 A4 или 18 I2C (SCA)
A5 A5 или 19 I2C (SCL)

Дополнительные пины на плате

  • AREF – выдает опорное напряжения для встроенного АЦП. Может управляться функцией analogReference().
  • RESET – Низкий уровень сигнала на выводе перезагружает микроконтроллер. Обычно применяется для подключения кнопки перезагрузки на плате расширения, закрывающей доступ к кнопке на самой плате Arduino.

Arduino Uno pinout — Power Supply

There are 3 ways to power the Arduino Uno:

  • Barrel Jack — The Barrel jack, or DC Power Jack can be used to power your Arduino board. The barrel jack is usually connected to a wall adapter. The board can be powered by 5-20 volts but the manufacturer recommends to keep it between 7-12 volts. Above 12 volts, the regulators might overheat, and below 7 volts, might not suffice.
  • VIN Pin — This pin is used to power the Arduino Uno board using an external power source. The voltage should be within the range mentioned above.
  • USB cable  — when connected to the computer, provides 5 volts at 500mA.

There is a polarity protection diode connecting between the positive of the barrel jack to the VIN pin, rated at 1 Ampere.

The power source you use determines the power you have available for your circuit. For instance, powering the circuit using the USB limits you to 500mA. Take into consideration that this is also used for powering the MCU, its peripherals, the on-board regulators, and the components connected to it. When powering your circuit through the barrel jack or VIN, the maximum capacity available is determined by the 5 and 3.3 volts regulators on-board the Arduino.

5v and 3v3

They provide regulated 5 and 3.3v to power external components according to manufacturer specifications.

GND

In the Arduino Uno pinout, you can find 5 GND pins, which are all interconnected.

The GND pins are used to close the electrical circuit and provide a common logic reference level throughout your circuit. Always make sure that all GNDs (of the Arduino, peripherals and components) are connected to one another and have a common ground.

  • RESET — resets the Arduino
  • IOREF —  This pin is the input/output reference. It provides the voltage reference with which the microcontroller operates.

Описание пинов платы

Микроконтроллер имеет 14 цифровых пинов, они могут быть использованы, как вход или выход. Из них 6 могут выдавать ШИМ-сигнал. Они нужны для регулировки мощности в нагрузке и других функций.

Пин ардуино Адресация в скетче Специальное назначение ШИМ
Цифровой пин 0 RX
Цифровой пин 1 1 TX
Цифровой пин 2 2 Вход для прерываний
Цифровой пин 3 3 Вход для прерываний ШИМ
Цифровой пин 4 4
Цифровой пин 5 5 ШИМ
Цифровой пин 6 6 ШИМ
Цифровой пин 7 7
Цифровой пин 8 8
Цифровой пин 9 9 ШИМ
Цифровой пин 10 10 SPI (SS) ШИМ
Цифровой пин 11 11 SPI (MOSI) ШИМ
Цифровой пин 12 12 SPI (MISO)
Цифровой пин 13 13 SPI (SCK)
К выходу дополнительно подсоединен встроенный светодиод

Вызов ШИМ-сигнала осуществляется через команду AnalogWrite (номер ножки, значение от 0 до 255). Для работы с аналоговыми датчиками присутствует 6 аналоговых входов/выходов.

Пин Адресация в скетче Специальное назначение
Аналоговый пин A0 A0 или 14
Аналоговый пин A1 A1 или 15
Аналоговый пин A2 A2 или 16
Аналоговый пин A3 A3 или 17
Аналоговый пин A4 A4 или 18 I2C (SCA)
Аналоговый пин A5 A5 или 19 I2C (SCL)

Их тоже можно использовать, как цифровые.

Аналоговый сигнал обрабатывается 10 битным аналогово-цифровым преобразователем (АЦП), а при чтении микроконтроллер выдаёт численное значение от 0 до 1024. Это равно максимальному значению, которое можно записать в 10 битах. Каждый из выводов способен выдать постоянный ток до 40 мА.

Принципиальная схема платы выглядит так (нажмите для увеличения):

Прием последовательных данных

Принимающее устройство UART проверяет принятый пакет (через вывод RX) на наличие ошибок, вычисляя число единиц и сравнивая его со значением бита четности, содержащегося в пакете.

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

Принимающее устройство UART использует бит четности для определения факта потери данных при передаче. Потеря данных при передаче происходит, когда бит во время передачи изменил свое состояние. Бит может меняться, в том числе, из-за расстояния передачи, магнитного излучения, несовпадения скоростей передачи.

Подключение вашей платы Arduino к компьютеру

После того как вы установили Arduino IDE на свой компьютер следующим логичным шагом будет подключение платы Arduino UNO к компьютеру. Чтобы сделать это просто используйте кабель для программирования (синего цвета) и соедините его с платой Arduino и USB портом вашего компьютера.

Синий кабель для программирования может выполнять следующие три функции:

  1. Он запитывает плату Arduino UNO, то есть чтобы обеспечить выполнение программ на ней необходимо просто запитать ее с помощью USB кабеля.
  2. Через него программируется микроконтроллер ATmega328, находящийся на плате Arduino UNO. То есть код программы пересылается из компьютера в микроконтроллер именно по этому кабелю.
  3. Он может функционировать в качестве кабеля для последовательной связи, то есть с его помощью можно передавать данные с Arduino UNO в компьютер – это полезно для целей отладки программы.

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

Поскольку вы подключаете плату Arduino в первый раз к компьютеру необходимо некоторое время чтобы драйвера для нее успешно установились. Чтобы проверить правильно ли все установилось и определилось откройте «Диспетчер устройств (Device manager)» на вашем компьютере.

В диспетчере устройств откройте опцию «Порты» “Ports (COM & LPT)”, кликните на ней и посмотрите правильно ли отображается там ваша плата.

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

Если вы не можете в диспетчере устройств найти опцию “Ports (COM & LPT)”, то это означает, что ваша плата не корректно определилась компьютером. В большинстве случает это означает проблему с драйверами – по какой то причине они автоматически не установились для вашей платы. В этом случае вы должны будете вручную установить необходимые драйверы.

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

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

Загрузка библиотек и запуск SD card на Arduino

Чтобы подсоединиться к SD карте и свободно передавать на неё данные, потребуется написать немало кода, однако здесь нам поможет встроенная библиотека SD.

Библиотеку по работе с картами памяти можно найти на официальном сайте производителя микроконтроллера: https://www.arduino.cc/en/Reference/SD

Открыв подменю «образцов», найдите заготовку «cardinfo», именно её мы не будем использовать в качестве прописной функции при загрузке информации. Скетч пригодится лишь для проверки, опознаётся ли дополнительная память на устройстве. Проверяйте chipSelect, учитывая, что подключение идёт через 10 пин.

#include <SD.h>

const int chipSelect = 4;

void setup()
{

Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect.
}
Serial.print(“Initializing SD card…”);
pinMode(10, OUTPUT);

//iniot SD card
if (!SD.begin(chipSelect))
{
Serial.println(“Card failed, or not present”);
return;
}
Serial.println(“card initialized.”);
}

void loop()
{

String dataString = “”;

// read three sensors and append to the string
for (int analogPin = 0; analogPin < 3; analogPin++)
{
int sensor = analogRead(analogPin);
dataString += String(sensor);
if (analogPin < 2)
{
dataString += “,”;
}
}

// open the file.
File dataFile = SD.open(“data.txt”, FILE_WRITE);

// if the file is available, write to it:
if (dataFile)
{
dataFile.println(dataString);
dataFile.close();
}
// if the file isn’t open
else
{
Serial.println(“error opening data.txt”);
}
}

Если всё прошло удачно, то на экран выведется информация о типе файловой системы и объёме вашей SD-карты. Если же производитель подсунул вам не лучший продукт, могут возникнуть ошибки. Здесь проще купить новую флешку, чем бороться с ошибками файловой системы, изначально заложенными в девайс.

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

Цифровые и аналоговые выводы

Не все выводы у Arduino одинаковые. Есть выводы цифровые, а есть аналоговые. Принципиальная разница между ними в том, что на цифровых выводах может быть только два значения: либо логическая «1» (TRUE, от 3 до 5 вольт), либо логический «0» (FALSE, от 0 до 1,5 вольт), а на аналоговых выводах — диапазон от логической 1 до 0 разбит на множество мелких участков.

Зачем это нужно? Давайте рассмотрим такой наглядный пример. Если подключить к цифровому выводу Arduino светодиод и подать на вывод логическую «1», то светодиод загорится с максимальной яркостью; если подать «0» — светодиод погаснет. Никаких промежуточных вариантов нет. Если светодиод подключить к аналоговому выводу, то яркостью светодиода можно управлять плавно. На практике к аналоговым выводам чаще всего подключаются какие-либо аналоговые датчики. 

Интерфейсы и порты ввода/вывода

В Arduino Uno присутствует 2 интерфейса:

  1. SPI: используется для подключения периферийных устройств и их высокоскоростного сопряжения с микроконтроллером. Позволяет синхронно передавать большие объемы данных в режиме полного дуплекса.
  2. I2C: применяется для подключения внешних цифровых приборов и синхронизации информации. Он работает с помощью протокола I2C, что обеспечивает целостность передаваемых данных.

Для работы с такими интерфейсами применяется среда Arduino IDE. В нее встроены электронные библиотеки, где содержатся файлы с программным кодом.

Для передачи различных видов данных используются следующие порты ввода/вывода:

  1. Цифровые пины: применяются для подачи команд к внешним устройствам. К этим контактам по умолчанию подключаются подтягивающие резисторы, активируемые при помощи программы.
  2. АЦП: комплекс, состоящий из 6 аналоговых портов. Передача данных осуществляется в виды 10-битного числа.
  3. TWI/I2C: пины для связи платы с периферией при помощи синхронного протокола I2C. К ним относятся порты SDA и SCL.
  4. SPI пины: контакты для связи по интерфейсу Serial Peripheral Interface. В эту группу входят порты SS, MOSI, MISO и SCK.
  5. UART пины: предназначены для подключения платы к компьютеру. К ним относятся контакты RX и TX. Порты соединены с выводами микроконтроллера, выполняющего функции преобразователя USB-UART.
Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации