Найти в Дзене
Будни инженера

Очень кратко об Arduino

Ранее я писал о том, что купил себе для развлечения набор Ардуино. Сподвигло меня на это обнаружение на просторах интернета среды разработки для микроконтроллеров и Ардуино на Паскале. Прежде всего мне хочется узнать, насколько эта среда может заменить стандартную среду разработки для Ардуино, где, как известно, используется язык С++. Первый опыт я уже провёл (об этом здесь). А сейчас чуть подробнее о том, как написать простенькую программу для Ардуино в AVRPascal. Но для начала самые краткие сведения об Ардуино (вдруг кто не знает). Ардуино - это плата с несколькими входами и выходами, в основе которой микроконтроллер. Но программировать Ардуино намного проще, чем микроконтроллер. В то же время вы получаете все те возможности, которые имеет микроконтроллер. К тому же проще не только программировать, но и собирать устройства. В некоторых случаях (во всяком случае в учебных целях) можно даже обойтись без пайки. Платы Ардуино бывают разные. Одна из самых распространённых - это Arduino Un

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

Первый опыт я уже провёл (об этом здесь). А сейчас чуть подробнее о том, как написать простенькую программу для Ардуино в AVRPascal. Но для начала самые краткие сведения об Ардуино (вдруг кто не знает).

Ардуино - это плата с несколькими входами и выходами, в основе которой микроконтроллер. Но программировать Ардуино намного проще, чем микроконтроллер. В то же время вы получаете все те возможности, которые имеет микроконтроллер. К тому же проще не только программировать, но и собирать устройства. В некоторых случаях (во всяком случае в учебных целях) можно даже обойтись без пайки.

Платы Ардуино бывают разные. Одна из самых распространённых - это Arduino Uno. Но и их тоже есть несколько версий. Последняя на сегодняшний день - это UNO R4. Но моя плата, которая в купленном наборе, имеет версию R3.

Также надо знать, что есть оригиналы, которые имеют различные сертификаты и т.п., а есть копии (китайские, разумеется). Оригинал Arduino Uno R3 стоит около 30 долларов, в то время как я купил целый набор примерно за 1500 рублей. Конечно, это НЕ оригинал. Но копия достаточно качественная. Есть ещё более дешёвые. Но там уже может попасться совсем хлам.

И дальше я буду рассказывать о своих опытах именно с Arduino Uno R3, хотя большая часть этих опытов будет применима и к другим моделям плат Ардуино (иногда с определёнными оговорками).

Итак, Ардуино Уно Р3 имеет:

  • Микроконтроллер ATmega328P
  • Рабочее напряжение 5 В
  • Рекомендуемое напряжение питания 7…12 В
  • Предельно допустимое напряжение питания 6…12 В
  • Цифровые входы/выходы - 14 шт.
  • Цифровые входы/выходы с ШИМ - 6 шт.
  • Аналоговые входы - 6 шт.
  • Максимальная нагрузка на вход/выход - 20 мА
  • Суммарная максимальная нагрузка на все цифровые выводы - 200 мА
  • Максимальная нагрузка для вывода 3,3 В - 50 мА
  • SRAM - 2 КБ
  • EEPROM - 1 КБ
  • Тактовая частота - 16 МГц
  • Встроенный светодиод (выход 13)
  • Интерфейс I2C
  • Масса - 25 гр.
  • Ну и, разумеется, всё, что есть в микроконтроллере ATmega328P

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

Когда мы говорим про количество цифровых входов выходов, то надо понимать, что это количество не складывается. То есть если у нас 6 выходов с ШИМ и 14 обычных выходов, то это не значит, что общее количество 14 + 6 = 20. Нет. Это значит, что физические выводы могут настраиваться программно в один из следующих режимов:

  • Цифровой вход
  • Цифровой выход
  • Цифровой выход с ШИМ

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

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

Вот картинка из оригинальной документации:

Контакты D0…D13 - это как раз 14 цифровых входов/выходов. Причём выход D13 - это встроенный светодиод. Так что можно сказать, что у вас 13 свободных выводов. Хотя при желании можно использовать и четырнадцатый вывод D13 с внешней нагрузкой, но при этом надо помнить, что на этом выводе уже есть нагрузка - встроенный светодиод.

Также на плате есть красный светодиод - индикатор питания, ещё два светодиода, которые мигают при обмене данными по последовательному порту (RX/TX). А ещё на плате есть кнопка сброса.

Также к плате Ардуино можно подключать различные платы расширения, предназначенные для разных целей (например, для обмена данными через Ethernet или GSM), но это уже другая история…

На всякий случай скажу про максимальную нагрузку на цифровых выводах. На выводе она не должна превышать 20 мА, иначе вывод может выйти из строя. Всего, как вы помните, 14 выводов. 20 * 14 = 280 мА - это суммарный ток. Однако так, да не так. Потому что максимальный суммарный ток на всех выводах не должен превышать 200 мА. Это означает, что, например, если на 10 выводах у вас по 20 мА, то оставшиеся 4 должны быть отключены или работать как входы.

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