Платы разработки Ардуино предлагают своим пользователям множество преимуществ, поэтому они идеально подходят для создания различных и интересных устройств. В этой статье мы приводим назначение и описание выводов платы Arduino UNO R3 на базе 8-битного микроконтроллера AVR ATmega328P.
Содержание
- Arduino UNO — распиновка выводов
- Arduino — блок питания
- Arduino — аналоговые контакты
- Arduino — цифровые контакты
- Arduino — цифровые выводы с функцией генерации сигналов ШИМ
- Arduino — контакты связи — интерфейс UART
- Arduino — контакты связи — интерфейс SPI
- Arduino — контакты связи — интерфейс I2C
- Arduino — контакты прерывания
- Arduino — разъем ICSP на UNO R3
1. Arduino UNO распиновка выводов
Большинство моделей Ардуино, включая самую популярную Arduino UNO R3, оснащены 8-битным микроконтроллером AVR ATmega328P. Дорожки на печатной плате соединяют выводы микроконтроллера с гребенкой контактов. Благодаря этому мы можем подключить к Arduino внешние устройства, такие как Arduino Shield, светодиоды, транзисторы, датчики, потенциометры и другие.
Контакты Arduino UNO R3 включают в себя 14 цифровых контактов, 6 аналоговых контактов, разъемы питания, разъем USB и разъем для дополнительного внешнего программатора USB-ASP. Полная схема распиновки платы Arduino UNO R3 показана на следующем рисунке:
2. Arduino — питание платы
Как подключить Arduino к питанию. Как и любое другое электронное устройство, для работы платы Ардуино необходимо подключить питающее напряжение. Питание к Arduino UNO R3 может подаваться тремя способами.
- Первый способ — использовать разъем питания Arduino 5,5 мм/2,1 мм (круглый). В данном случае выходное напряжение должно быть в диапазоне от 7В до 12В.
- Второй способ — подать на вывод «VIN» напряжение от внешнего источника в диапазоне от 7В до 12В. Это может быть лабораторный блок питания или два литий-ионных аккумулятора формата 18650, соединенных последовательно. Вывод «VIN» подключен к выпрямительному диоду, что предотвращает повреждение в случае подключения напряжения с обратной полярностью.
- Третий способ — также питание можно подать через разъем USB типа B — как при подключении Ардуино к компьютеру, так и при питании от зарядного устройства для смартфона. Необходимо иметь в виду, что USB компьютера обеспечивает максимальный ток до 500 мА.
Мощность блока питания следует подобрать в соответствии с энергопотреблением разрабатываемого устройства. Независимо от выбранного источника питания, схема должна соединяться с землей (GND). На плате Ардуино есть пять контактов «GND», которые гальванически связаны друг с другом.
Также на плате есть контакт «RESET», который после короткого замыкания на землю, например, с помощью кнопки на плате, вызывает временное отключение питания и перезапуск Arduino.
На Arduino можно подать внешний источник опорного напряжения через вывод «IOREF».
3. Arduino — аналоговые контакты
У Arduino UNO 6 аналоговых входов («A0» — «A5»). Эти входы соединены через мультиплексор с входом аналого-цифрового преобразователя (АЦП) микроконтроллера ATmega328.
АЦП преобразовывает входной аналоговый сигнал в диапазоне 0В-5В в цифровую форму. Разрешение АЦП в Ардуино составляет 10 бит. Это означает, что количество уровней напряжения на входе преобразователя равно 1023 с разрешением 4,89 мВ. Разрешение можно расширить с помощью опорного напряжения ниже 5В, которое подается на вывод «AREF».
Частота дискретизации преобразователя АЦП составляет примерно 9600 Гц. АЦП будет безупречно обрабатывать данные пока сигнал будет ниже половины частоты дискретизации АЦП, т.е. не более 4800Гц.
Типичные приложения с использованием АЦП Arduino: аналоговые датчики, потенциометры, а также управление голосом через микрофон (VoIP).
4. Arduino — цифровые контакты
У Arduino Uno 14 цифровых контактов («D0» — «D13»), которые можно настроить как входы или выходы. Один из этих контактов «D13» подключен к встроенному светодиоду.
Максимальный ток (нагрузка) каждого цифрового контакта составляет 20 мА. Цифровые выводы работают с логическими состояниями: низкое состояние означает лог.0, а высокое состояние — лог.1. Если цифровые контакты Ардуино настроены как выходы, то низкое напряжение равно 0 В, а высокое равно 5 В.
Если же цифровые контакты сконфигурированы как входы, принимающие сигналы от внешних устройств, то логические уровни будут другие. Ардуино интерпретирует входное напряжение в диапазоне 0,0В — 0,8В как низкое состояние («0»), а в диапазоне 2,0В до 5,0В как высокое состояние («1»). Диапазон 0,8В — 2,0В означает запрещенное состояние, в котором нет права на изменение логического состояния.
5. Arduino — цифровые выводы с функцией генерации сигналов ШИМ
В дополнение к своей стандартной функциональности некоторые цифровые контакты используются для генерации сигнала ШИМ. Выходы ШИМ в Arduino: «D3», «D5», «D6», D9», «D10» и «D11». По умолчанию частота ШИМ Arduino составляет 490 Гц.
Величина скважности определяет, в течение какой части периода на цифровом выводе находиться низкое состояние. Например, если скважность ШИМ-сигнала составляет 40%, то при пиковом напряжении 5В среднее значение напряжения такого сигнала будет равно 2В. Соответственно, чем больше значение коэффициента заполнения, тем выше среднее значение сигнала ШИМ.
Популярными приложениями, использующие ШИМ-сигнал, являются регуляторы скорости электродвигателя, регуляторы яркости светодиодного освещения, музыкальные синтезаторы.
6. Arduino — коммуникационные контакты — интерфейс UART
Ардуино использует несколько интерфейсов для связи с внешними устройствами. Одним из них является протокол UART (Universal Asynchronous Receiver-Transmitter — универсальный асинхронный приемник-передатчик). Это последовательный протокол, реализованный с помощью цифровых выводов:
- «D0» («RX» — приемник, который получает сигнал от внешнего устройства)
- «D1» («TX» — передатчик, который отправляет сигнал на внешнее устройство)
UART обеспечивает связь с внешними модулями, а также с компьютером, к которому он подключается через USB разъем.
7. Arduino — коммуникационные контакты — интерфейс SPI
Другим интерфейсом, является SPI (Serial Peripheral Interface — последовательный периферийный интерфейс ). Это последовательный протокол, который позволяет микроконтроллеру обмениваться данными с одним или несколькими устройствами. Данный протокол обеспечивает синхронную связь с другим микроконтроллером в топологии Master — Slave.
В Arduino UNO R3 шина SPI имеет следующие контакты:
- SS (Slave Select) — пин «D10» — выбор адреса ведомого устройства, с которым должен связаться микроконтроллер
- SCK (Serial Clock) — пин «D13» — тактовый сигнал, синхронизирующий передачу данных в обе стороны
- MISO (Master Input Slave Output) — пин «D12» — линия отправки информации от ведомых устройств к ведущему устройству
- MOSI (Master Output Slave Input) — пин «D11» — линия, которая отправляет информацию от ведущего устройства к ведомым устройствам
8. Arduino — коммуникационные контакты — интерфейс I2C
Ардуино также имеет шину I2C, которая обеспечивает связь между двумя компонентами. Для платы UNO R3 связь по I2C реализована с помощью двух контактов:
- SDA (Data Series) — пин «A4» для передачи данных по шине I2C
- SCL (Serial Clock) — пин «A5» тактового сигнала, синхронизирующий передачу данных по шине I2C в обе стороны
Каждое внешнее устройство, которое обменивается данными с Arduino через шину I2C, имеет свой уникальный адрес, например, 0x23. К одной шине одновременно может быть подключено до 255 устройств.
9. Arduino — контакты прерывания
В микроконтроллерах, таких как ATmega238P, встроенных в Arduino, мы можем инициировать процедуру внешнего прерывания. Внешнее прерывание — системное прерывание, которое инициируется автоматически с уровня взаимодействующего устройства или вручную с уровня пользователя по причине внешних сигналов.
Простейшим примером использования прерывания является подсчет количества импульсов и определение частоты от внешнего источника сигнала.
В Arduino UNO R3 за прерывания отвечают следующие контакты:
- «INT0» — пин «D2»
- «INT1» — пин «D3»
Активацию и деактивацию каждого из прерываний можно настроить индивидуально в программе: запуск как по спадающему, так и по нарастающему фронту, а также по низкому и высокому состоянию.
10. Arduino — разъем ICSP на UNO R3
ICSP (In-Circuit Serial Programming — внутрисхемное последовательное программирование) — 6-контактный разъем, позволяющий подключить внешний программатор USB-ASP. Это решение реализовано для пользователей, предпочитающих «традиционное» программирование на языках Си и Ассемблер и желающих сэкономить дополнительно 5кБ памяти микроконтроллера, которую занимает загрузчик Ардуино.
Контакты ICSP выполняют следующие функции:
- SCK (Serial Clock) — тактовый сигнал, синхронизирующий передачу данных между памятью микроконтроллера и компьютером
- MISO (Master Input Slave Output) — линия, которая отправляет информацию от ведомых устройств на ведущее устройство (компьютер)
- MOSI (Master Output Slave Input) — линия, которая отправляет информацию с ведущего устройства (компьютера) на ведомые устройства
- VCC — линия вспомогательного питания 5В
- GND — земля вспомогательного питания
- RESET — сброс микроконтроллера
шаговый двигатель создаёт помехи на входы процессора, из-за этого показания датчиков не стабильны. что делать?