Звоните нам!
Звоните нам!
Связаться с нами
zakaz@robot-kit.ru
Москва, Жулебинский бульвар д.36 корп.1
Пн-Пт 11:00–19:00
Сб-Вс 11:00–17:00
0Избранное0Сравнить
0Корзина пуста

Корзина

Ваша корзина пуста

Каталог товаров
0Избранное0Сравнить
0Корзина пуста

Корзина

Ваша корзина пуста

Плата Arduino Uno R3

В статье Вы найдете подробное описание одной из самых популярных плат Arduino Uno R3 на базе 8-битного микроконтроллера ATmega328 типа AVR фирмы Atmel.

Немного теории о платах Arduino.

Микроконтроллер (МК) - однокристальный компьютер, имеющий процессор, память (в т.ч. энергонезависимую) и интерфейсы для ввода и вывода.

Любая плата Arduino – это печатная плата (вернее различные модификации) с общеизвестными стандартными габаритами и расположением выводов микроконтроллера. По сути Arduino является просто оберткой для МК ATmega, предоставляя собой стандартный форм-фактор, облегчающий физическое подключение дополнительных модулей.

Многие модели плат Arduino так же имеют элементы контроля напряжения питания и USB интерфейс, используемый одновременно и для питания и для связи с контроллером через последовательное соединение (USB-serial).

Кроме удобства подключения, работу с Arduino облегчает наличие готового открытого программного обеспечения для программирования контроллера - среды Arduino IDE. Это среда для разработки со встроенным компилятором и загрузчиком кода в МК, а так же набором библиотек, облегчающих написание некоторых операций.

Специальный загрузчик, заранее записанный в память МК, обеспечивает загрузку и выполнение загруженного кода (т.н. скетчей, как называют программы в терминах Arduino), так что пользователю не нужно задумываться, как загружается и стартует его код. Достаточно написать скетч в среде разработки и нажать кнопку загрузки - код загрузится в память МК и запустится сразу, а так же будет стартовать автоматически при перезагрузке микроконтроллера.

Arduino UNO R3 на микроконтроллере ATmega328P

Плата Arduino Uno R3

Плата Arduino UNO R3 - новая, очень популярная, плата на базе 8-битного микроконтроллера ATmega328 типа AVR фирмы Atmel.

Контроллер Arduino UNO R3 имеет 14 цифровых вход/выходов, 6 из которых поддерживают режим ШИМ, 6 аналоговых входов. Частота работы микропроцессора 16 MHz. Плата также имеет встроенный USB коннектор, вход для питания, коннектор ICSP и кнопку перезагрузки. Питание может осуществляться как через USB, так и внешним источником питания.

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

Внешний вид Arduino Uno R3

Контроллер Arduino Uno R3 на базе Atmega328P

Чтобы увидеть, насколько Arduino является «оберткой» МК ATmega, можно изучить схему выводов ATmega328 в исполнении 28DIP и соотнести их описание с выводами Arduino.

Схема выводов ATmega328

Почти все выводы МК напрямую соединены с выводами Arduino. При чем, некоторые выводы одновременно и доступны для подключения и задействованы во внутренней схеме. Например, D0 и D1 одновременно являются RX и TX последовательного интерфейса, подключенного к USB-serial контроллеру, реализованному на отдельном МК ATmega16U (этот МК обслуживает только USB интерфейс и не имеет отношения к функционированию «основного» МК).

У Arduino Uno имеется USB интерфейс, который используются как для питания (5 В), так и для связи с компьютером, при этом на компьютере он распознается как асинхронный последовательный (COM) порт. Со стороны МК связь с компьютером так же выглядит как обмен данными через последовательный порт.

Так же имеется вход для внешнего питания 7-12 В. Регулятор напряжения всегда будет выводить напряжение на 5 В - рабочее напряжение Arduino Uno. Arduino автоматически переключает питание между USB портом и внешним источником питания, делая выбор в пользу внешнего, если он дает напряжение более 6,6 В.

ISCP для USB интерфейса предназначен для программирования контроллера USB интерфейса.

ISCP для «основного» МК используется для работы с программатором, через который можно совершать операции, недоступные через обычный последовательный интерфейс - запись загрузчика и изменение фьюзов (fuses), изменяющих поведение МК.

Выводы МК делятся на цифровые (D0-D13) и аналоговые (A0-A5) , хотя при написании программ используется «сквозная» нумерация выводов, т.е. вывод 13 = D13, а 14 = A0, 15 = A1 и т.д.

Цифровые выводы могут использоваться и как входы и как выходы (режим входа или выхода задается в программе), аналоговые используются как входы, с разрешением АЦП 10 бит (0-1023) и пределом измерений 5 В относительно земли или вывода AREF.

Выводы D0, D2 используются для передачи данных через асинхронный последовательный порт и подключены к USB-serial контроллеру. Внимание - эти выводы нельзя подключать напрямую к порту RS323! Эти выводы используют последовательный интерфейс ТТЛ, который несовместим с RS232 и требует преобразования.

Выводы D2, D3 могут использоваться для вызова внешних прерываний.

Выводы D3, D5, D6, D9, D10, и D11 связаны с внутренними счетчиками-таймерами МК и могут использоваться для вывода ШИМ-сигнала (Широтно-импульсная модуляция, PWM) и в качестве счетчиков внешних импульсов.

Выводы D10-D13 могут использоваться для работы с внешними устройствами по протоколу SPI, при чем D10 (SS) используется в случае, если МК является ведомым (slave).

Вывод D13 подключен к светодиоду «L» на плате, что никак не влияет на его использование, но может быть полезным для индикации чего-либо.

Два вывода I2C в верхнем (или «длинном») ряду - дублируют A4 и A5. Они могут использоваться для работы с внешними устройствами по протоколу I2C, что является дополнительной функцией A4, A5.

Вывод Vin используется для подачи питания от внешнего источника, далее он проходит через регулятор напряжения.

Выводы GND, 5V, 3V3 - земля и регулируемое напряжение 5 В, 3,3 В.

Вывод IOREF - выдает рабочее напряжение, т.е. 5 В для Arduino Uno.

Таким образом, возможности ввода-вывода достаточно разнообразные. Через аналоговые входы можно измерять напряжение сигнала, для цифровых входов-выходов можно как считывать, так и выставлять состояние, в т.ч. генерировать ШИМ сигнал (обычно используется для управления двигателями или генерирования звука), а через целый ряд интерфейсов можно общаться с внешними устройствами: однопроводная шина на базе любого цифрового вывода, асинхронный последовательный порт, I2C, SPI.

При чем I2C и SPI позволяют одновременно подключать множество устройств на одну шину.

Большинство сенсоров для Arduino подключаются с помощью аналоговых входов, однопроводной шины или I2C.

Через SPI обычно работают устройства, требующие большой скорости передачи данных (Ethernet shield, Wi-Fi shield).

Очень полезно для экспериментов использовать платы расширения (Shield). Это платы с удобным дублированием всех выводов вместе с землей и питанием для подключения внешних устройств или платы для расширения функциональности контроллеров.

Платы расширения для Arduino =>>

Так же очень удобна макетная плата для быстрого подключения устройств и пассивных компонентов без пайки.

Макетные платы для Arduino =>>

Нельзя превышать допустимые величины силы тока!

Ток на любом отдельном выводе не должен превышать 40 мА.

Ток на любой группе выводов (D0-D4, D5-D13, A0-A5) не должен превышать 100 мА.

Ток на всем МК не должен превышать 200 мА.

Рекомендуемые товары
0Избранное
Товар в избранных
0Сравнение
Товар в сравнении
0Просмотренные
0Корзина
Товар в корзине