Найти тему

Введение в Arduino. Часть 2

Оглавление

Всем привет! В прошлой статье мы рассмотрели, в общих чертах, что такое Arduino. Сегодня мы более подробно взглянем на плату и разберем разъемы. Поговорим о такой штуке как "макетная плата" и научимся собирать свой первый проект "Бегущий огонёк".

И так, что же у нас на плате?

-2

Как мы видим, выше на картинке, Ардуино - довольно обширная плата, со множеством готовых компонентов и разъемов. Поговорим о них подробнее.

Разъем 5,5х2,1мм для внешнего источника питания, например, кроны или блока питания (до 12v).

Микро USB порт, тип B (на других моделях платы так же есть MicroUSB, Type-C и т.п.). Служит для подключения питания через USB кабель, а, так же, для записи программы на микроконтроллер.

VIN (Voltage INput) на плате Arduino UNO используется для подачи напряжения на плату. Подключение источника питания к этому пину позволяет питать микроконтроллер Arduino и все подключенные к нему компоненты. Напряжение на PIN VIN должно быть в пределах 6-20В (рекомендуемое напряжение 7-12В). Использование PIN VIN удобно в случаях, когда требуется подать напряжение с внешнего источника, например, от батареек, адаптера или другого устройства.

Кнопка сброса нужна для перезагрузки микроконтроллера и начала выполнения программы сначала. Это может быть полезно в случае возникновения ошибок или для обновления программного обеспечения. Кнопка сброса также может использоваться для перевода микроконтроллера в специальный режим загрузки (bootloader mode), что позволяет прошивать его через последовательный порт UART.

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

Предохранитель защищает плату от перегрузок и коротких замыканий, что помогает предотвратить повреждение платы.

"In/Out reference" (Aref) на плате Arduino является опорным напряжением и может быть использовано для определения точной величины напряжения, с которым микроконтроллер будет сравнивать входные сигналы. Обычно это напряжение составляет 5 Вольт, но его значение можно изменить при необходимости. Например, если нужно подключить датчик, работающий с напряжением 3.3 Вольта, можно установить опорное напряжение на 3.3 Вольта. Для этого в коде программы Arduino можно использовать функцию "analogReference(EXTERNAL)" и подать на вход Aref нужное напряжение.

Контакт сброса так же служит для перезагрузки микроконтроллера.

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

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

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

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

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

Цифро-аналоговые входы/выходы на плате Arduino позволяют подключать аналоговые датчики и устройства, которые изменяют своё состояние или выводят аналоговый сигнал. Например, датчики освещённости, температуры, влажности и другие.

Интерфейс TWI/I2C/IIC также полезен для подключения периферийных устройств, таких как дисплеи, ЖК-экраны, EEPROM-память, сенсоры и другие устройства, использующие этот стандарт для обмена данными. Использование этих интерфейсов позволяет подключить больше устройств к вашей плате Arduino и расширить её функциональность.

Дополнительные контакты интерфейсов UART, TWI/I2C и питания на Arduino используются для увеличения возможностей платформы и подключения дополнительных устройств или датчиков.

Контакты UART позволяют передавать и получать данные по последовательному интерфейсу, что может быть полезно для подключения различных периферийных устройств, как например Bluetooth модулей, GPS приемников, GSM модулей и других.

Контакты TWI/I2C предназначены для подключения устройств по шине I2C, таких как аналогово-цифровые преобразователи, датчики температуры, акселерометры и других устройств, которые поддерживают этот протокол передачи данных.

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

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

ICSP-разъем на плате Ардуино с микроконтроллером ATMega328 предназначен для программирования микроконтроллера через интерфейс SPI. Этот разъем позволяет загружать программный код на микроконтроллер и обновлять его без необходимости удаления микроконтроллера с платы.

Интерфейс SPI (Serial Peripheral Interface) обеспечивает передачу данных между микроконтроллером и программатором, что делает процесс загрузки программы на микроконтроллер более удобным и эффективным. Использование ICSP-разъема упрощает процесс разработки и отладки программного кода для платформы Ардуино.

Микроконтроллер ATMega328 используется для управления различными входами и выходами, выполнения программного кода и обеспечения взаимодействия с другими устройствами. Основные функции, которые выполняет микроконтроллер ATMega328 на Arduino, включают в себя обработку данных, управление сенсорами, выполнение различных алгоритмов, коммуникацию с другими устройствами по различным интерфейсам и другие.

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

Светодиоды L, RX, LX и ON используются для обозначения различных состояний платы и связанных с ней процессов. Вот их основные функции:

  1. Светодиод L (иногда обозначается как LED13): этот светодиод обычно используется как индикатор питания. Он светится при подаче питания на плату Arduino.
  2. Светодиод RX: этот светодиод мигает каждый раз, когда Arduino получает данные через последовательный порт (обычно это соответствует порту USB).
  3. Светодиод LX: этот светодиод мигает каждый раз, когда Arduino передает данные через последовательный порт (обычно это также USB-порт).
  4. Светодиод ON: этот светодиод светится, когда плата Arduino подключена к источнику питания.

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

Цифровые входы/выходы, ШИМ, интерфейсы UART и SPI на Ардуино используются для взаимодействия с различными устройствами и сенсорами.

  1. Цифровые входы/выходы позволяют подключать и управлять различными устройствами, такими как светодиоды, кнопки, реле и т.д.
  2. ШИМ (Широтно-импульсная модуляция) используется для управления яркостью светодиодов, скоростью двигателей, а также для генерации звуковых сигналов.
  3. Интерфейсы UART и SPI позволяют связывать Ардуино с другими микроконтроллерами, сенсорами, модулями и дисплеями. Они обеспечивают двустороннюю передачу данных между устройствами.

Опорное напряжение Analog reference используется для задания точной опорной точки, относительно которой производятся измерения напряжения на аналоговом входе. Это позволяет увеличить точность измерений и уменьшить возможные ошибки, связанные с плавающим опорным напряжением. Кроме того, использование опорного напряжения позволяет установить диапазон измерения с помощью входного напряжения от 0 до заданного опорного напряжения, что также улучшает точность измерений.

Что-ж, как мы убедились, плата UNO довольно богатая на компоненты. Перейдем к макетной плате.

Макетная плата или "BreadBord".

-3

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

Макетная плата разделена на 2 половины. Сверху и снизу расположены 4 пластины, протянутые по горизонтали вдоль всего корпуса. По вертикали расположены пластины замыкающие пять отверстий сверху, и пять снизу.

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

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

Для начала мы соберем схему, как на картинке ниже.

-4

Как мы можем видеть, тут идет подключение земли на "-" макетной платы. Далее, мы на короткие ножки светодиодов, (катоды), подаем минус с общей линии. От длинной ножки (анода) у нас идет подключение на резистор на 220 Ом (Есть в стартовых наборах ардуино) и подключаем последовательно в цифровые пины платы, начиная с 12го. Конечно можно подключать в любой последовательности, в любом порядке и всё это настроить уже в IDE, непосредственно в коде программы, но на столе будет бардак и неудобства.

Если мы сейчас подадим питание на плату без программы то почти ничего не произойдет. На плате загорится светодиод ON и всё. поэтому давайте напишем программу, которая заставит это всё работать.

-5
-6

Теперь загрузим программу на плату. Как это сделать написано в статье "Как загрузить программу Arduino". Вот и всё, наш "Бегущий огонек" побежал.

-7

Эпилог.

В сегодняшней статье мы рассмотрели, из чего состоит плата, какие есть разъемы на ней, и для чего они нужны. Так же разобрали, как устроена макетная плата и собрали свой небольшой проект на ней. Заглянули в IDE, и немного строк кода.

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