Arduino uno что это такое
Перейти к содержимому

Arduino uno что это такое

  • автор:

Arduino.ru

плата Arduino Uno

Существует несколько версий платформ Arduino. Последняя версия Leonardo базируется на микроконтроллере ATmega32u4. Uno, как и предыдущая версия Duemilanove построены на микроконтроллере Atmel ATmega328 (техническое описание). Старые версии платформы Diecimila и первая рабочая Duemilanoves были разработаны на основе Atmel ATmega168 (техническое описание), более ранние версии использовали ATmega8 (техническое описание). Arduino Mega2560, в свою очередь, построена на микроконтроллере ATmega2560 (техническое описание).

Примечание: На всю документацию Arduino распространяется лицензия ShareAlike 3.0 Creative Commons Attribution. Обратитесь к странице «Вы хотите собрать Arduino?» (англ) за более подробной информацией по разработке собственной платформы.

Версии платформы Arduino:

Ниже представлены основные версии плат Arduino:

  • Due — новая плата на базе ARM микропроцессора 32bit Cortex-M3 ARM SAM3U4E.
  • Leonardo — последняя версия платформы Arduno на ATmega32u4 микроконтроллере . Отличается разъемом microUSB, по размерам совпадает с UNO.
  • Yun (описание на англ.) — новая плата, с встроенной поддержкой WiFi на базе ATmega32u4 and the Atheros AR9331
  • Micro — новое компактное решение на базе ATmega32u4.
  • Uno — самая популяраня версия базовой платформы Arduino USB. Uno имеет стандартный порт USB. Arduino Uno во многом схожа с Duemilanove, но имеет новый чип ATMega8U2 для последовательного подключения по USB и новую, более удобную маркировку вход/выходов. Платформа может быть дополнена платами расширения, например, пользовательскими платами с различными функциями.
  • Arduino Ethernet — контроллер со встроенной поддержкой работы по сети и с опциональной возможностью питания по сети с помощью модуля POE (Power over Ethernet).
  • Duemilanove — является предпоследней версией базовой платформы Arduino USB. Подключение Duemilanove производится стандартным кабелем USB. После подключения она готова к использованию. Платформа может быть дополнена платами расширения, например, пользовательскими платами с различными функциями.
  • Diecimila — предыдущая версия базовой платформы Arduino USB.
  • Nano — это компактная платформа, используемая как макет. Nano подключается к компьютеру при помощи кабеля USB Mini-B.
  • Mega ADK — версия платы Mega 2560 с поддрежкой USB host интерфейса для связи с телефонами на Android и другими устройствами с USB интерфейсом.
  • Mega2560 – новая версия платы серии Mega. Построена на базе Atmega2560 и с использованием чипа ATMega8U2 для последовательного соединения по USB порту.
  • Mega – предыдущая версия серии Mega на базе Atmega1280.
  • Arduino BT платформа с модулем Bluetooth для беспроводной связи и программирования. Совместима с платами расширения Arduino.
  • LilyPad– платформа, пурпурного цвета, разработанная для переноски, может зашиваться в ткань.
  • Fio – платформа разработана для беспроводных применений. Fio содержит разъем для радио XBee, разъем для батареи LiPo и встроенную схему подзарядки.
  • Mini – самая маленькая платформа Arduino. Прекрасно работает как макетная модель, или, в проектах, где пространство является критическим параметром. Платформа подключается к компьютеру при помощи адаптера Mini USB.
  • Адаптер Mini USB – плата, конвертирующая подключение USB в линии 5 В, GND, TX и RX для соединения с платформой Arduino Mini или другими микроконтроллерами.
  • Pro – платформа, разработанная для опытных пользователей, может являться частью большего проекта. Она дешевле, чем Diecimila и может питаться от аккумуляторной батареи, но в тоже время требует дополнительной сборки и компонентов.
  • Pro Mini – как и платформа Pro разработана для опытных пользователей, которым требуется низкая цена, меньшие размеры и дополнительная функциональность.
  • Serial – базовая платформа с интерфейсом RS232 для связи и программирования. Плата легко собирается даже начинающими пользователями. (включает схемы и файлы CAD)
  • Serial Single Sided – платформа разработана для ручной сборки. Она обладает чуть большим размером, чем Diecimila, но совместима с платами расширения Arduino.
  • USB Serial Light Адаптер — адаптер, позволяющий подключать платы Arduino к компьютеру для обмена данными и заливки скетчей. Удобен для программирования таких плат, как Arduino Mini, Arduino Ethernet и других, не имеющих своего разъема USB
Платы расширения

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

  • Плата расширения WiFiиспользуется для соединения с беспроводными сетями стандарта 802.11 b/g.
  • Плата расширения Xbee Shield обеспечивает при помощи модуля Maxstream Xbee Zigbee беспроводную связь нескольким устройствам Arduino в радиусе до 35 метров (в помещении) и до 90 метров (вне помещения).
  • Плата расширения Motor Shield обеспечивает управление двигателями постоянного тока и чтение датчиков положения.
  • Плата расширения Ethernet Shield обеспечивает подключение к интернету.
Рекомендуемые аппаратные средства других разработчиков

Испытанные и понравившиеся устройства других разработчиков, совместимые с программой Arduino:

Платформа Boarduino от Adafruit Industries. Предназначена для использования с кабелем FTDI USB-to-TTL-Serial или другим адаптером USB-to-serial. Доступна в виде пустой печатной платы или в комплекте.

Другие сопутствующие устройства

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

Arduino.ru

Электронный конструктор Ардуино

Arduino – это инструмент для проектирования электронных устройств (электронный конструктор) более плотно взаимодействующих с окружающей физической средой, чем стандартные персональные компьютеры, которые фактически не выходят за рамки виртуальности. Это платформа, предназначенная для «physical computing» с открытым программным кодом, построенная на простой печатной плате с современной средой для написания программного обеспечения.

Arduino применяется для создания электронных устройств с возможностью приема сигналов от различных цифровых и аналоговых датчиков, которые могут быть подключены к нему, и управления различными исполнительными устройствами. Проекты устройств, основанные на Arduino, могут работать самостоятельно или взаимодействовать с программным обеспечением на компьютере (напр.: Flash, Processing, MaxMSP). Платы могут быть собраны пользователем самостоятельно или куплены в сборе. Среда разработки программ с открытым исходным текстом доступна для бесплатного скачивания.

Язык программирования Arduino является реализацией Wiring, схожей платформы для «physical computing», основанной на мультимедийной среде программирования Processing.

Разработка электронных устройств Arduino

Почему Arduino?

Существует множество микроконтроллеров и платформ для осуществления «physical computing». Parallax Basic Stamp, Netmedia’s BX-24, Phidgets, MIT’s Handyboard и многие другие предлагают схожую функциональность. Все эти устройства объединяют разрозненную информацию о программировании и заключают ее в простую в использовании сборку. Arduino, в свою очередь, тоже упрощает процесс работы с микроконтроллерами, однако имеет ряд преимуществ перед другими устройствами для преподавателей, студентов и любителей:

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

Кросс-платформенность – программное обеспечение Arduino работает под ОС Windows, Macintosh OSX и Linux. Большинство микроконтроллеров ограничивается ОС Windows.

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

Программное обеспечение с возможностью расширения и открытым исходным текстом – ПО Arduino выпускается как инструмент, который может быть дополнен опытными пользователями. Язык может дополняться библиотеками C++. Пользователи, желающие понять технические нюансы, имеют возможность перейти на язык AVR C на котором основан C++. Соответственно, имеется возможность добавить код из среды AVR-C в программу Arduino.

Аппаратные средства с возможностью расширения и открытыми принципиальными схемами – микроконтроллеры ATMEGA8 и ATMEGA168 являются основой Arduino. Схемы модулей выпускаются с лицензией Creative Commons, а значит, опытные инженеры имеют возможность создания собственных версий модулей, расширяя и дополняя их. Даже обычные пользователи могут разработать опытные образцы с целью экономии средств и понимания работы.

Arduino.ru

Arduino Uno контроллер построен на ATmega328 (техническое описание, pdf). Платформа имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB, либо подать питание при помощи адаптера AC/DC или батареи.

В отличие от всех предыдущих плат, использовавших FTDI USB микроконтроллер для связи по USB, новый Ардуино Uno использует микроконтроллер ATmega8U2 (техническое описание, pdf).

«Uno» переводится как один с итальянского и разработчики тем самым намекают на грядущий выход Arduino 1.0. Новая плата стала флагманом линейки плат Ардуино. Для сравнения с предыдущими версиями можно обратиться к полному списку плат Arduino.

Характеристики

Микроконтроллер
Рабочее напряжение
Входное напряжение (рекомендуемое)
Входное напряжение (предельное)
Цифровые Входы/Выходы
14 (6 из которых могут использоваться как выходы ШИМ)
Аналоговые входы
Постоянный ток через вход/выход
Постоянный ток для вывода 3.3 В
Флеш-память
32 Кб (ATmega328) из которых 0.5 Кб используются для загрузчика
2 Кб (ATmega328)
1 Кб (ATmega328)
Тактовая частота

Схема и исходные данные
Питание

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

Внешнее питание (не USB) может подаваться через преобразователь напряжения AC/DC (блок питания) или аккумуляторной батареей. Преобразователь напряжения подключается посредством разъема 2.1 мм с центральным положительным полюсом. Провода от батареи подключаются к выводам Gnd и Vin разъема питания.

Платформа может работать при внешнем питании от 6 В до 20 В. При напряжении питания ниже 7 В, вывод 5V может выдавать менее 5 В, при этом платформа может работать нестабильно. При использовании напряжения выше 12 В регулятор напряжения может перегреться и повредить плату. Рекомендуемый диапазон от 7 В до 12 В.

  • VIN. Вход используется для подачи питания от внешнего источника (в отсутствие 5 В от разъема USB или другого регулируемого источника питания). Подача напряжения питания происходит через данный вывод.
  • 5V. Регулируемый источник напряжения, используемый для питания микроконтроллера и компонентов на плате. Питание может подаваться от вывода VIN через регулятор напряжения, или от разъема USB, или другого регулируемого источника напряжения 5 В.
  • 3V3. Напряжение на выводе 3.3 В генерируемое встроенным регулятором на плате. Максимальное потребление тока 50 мА.
  • GND. Выводы заземления.
Память

Микроконтроллер ATmega328 располагает 32 кБ флэш памяти, из которых 0.5 кБ используется для хранения загрузчика, а также 2 кБ ОЗУ (SRAM) и 1 Кб EEPROM.(которая читается и записывается с помощью библиотеки EEPROM).

Входы и Выходы

Каждый из 14 цифровых выводов Uno может настроен как вход или выход, используя функции pinMode(), digitalWrite(), и digitalRead(), . Выводы работают при напряжении 5 В. Каждый вывод имеет нагрузочный резистор (по умолчанию отключен) 20-50 кОм и может пропускать до 40 мА. Некоторые выводы имеют особые функции:

  • Последовательная шина: 0 (RX) и 1 (TX). Выводы используются для получения (RX) и передачи (TX) данных TTL. Данные выводы подключены к соответствующим выводам микросхемы последовательной шины ATmega8U2 USB-to-TTL.
  • Внешнее прерывание: 2 и 3. Данные выводы могут быть сконфигурированы на вызов прерывания либо на младшем значении, либо на переднем или заднем фронте, или при изменении значения. Подробная информация находится в описании функции attachInterrupt().
  • ШИМ: 3, 5, 6, 9, 10, и 11. Любой из выводов обеспечивает ШИМ с разрешением 8 бит при помощи функции analogWrite().
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Посредством данных выводов осуществляется связь SPI, для чего используется библиотека SPI.
  • LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.

На платформе Uno установлены 6 аналоговых входов (обозначенных как A0 .. A5), каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Стандартно выводы имеют диапазон измерения до 5 В относительно земли, тем не менее имеется возможность изменить верхний предел посредством вывода AREF и функции analogReference(). Некоторые выводы имеют дополнительные функции:

  • I2C: 4 (SDA) и 5 (SCL). Посредством выводов осуществляется связь I2C (TWI), для создания которой используется библиотека Wire.

Дополнительная пара выводов платформы:

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

Обратите внимание на соединение между выводами Arduino и портами ATmega328.

Связь

На платформе Arduino Uno установлено несколько устройств для осуществления связи с компьютером, другими устройствами Arduino или микроконтроллерами. ATmega328 поддерживают последовательный интерфейс UART TTL (5 В), осуществляемый выводами 0 (RX) и 1 (TX). Установленная на плате микросхема ATmega8U2 направляет данный интерфейс через USB, программы на стороне компьютера «общаются» с платой через виртуальный COM порт. Прошивка ATmega8U2 использует стандартные драйвера USB COM, никаких стороних драйверов не требуется, но на Windows для подключения потребуется файл ArduinoUNO.inf. Мониторинг последовательной шины (Serial Monitor) программы Arduino позволяет посылать и получать текстовые данные при подключении к платформе. Светодиоды RX и TX на платформе будут мигать при передаче данных через микросхему FTDI или USB подключение (но не при использовании последовательной передачи через выводы 0 и 1).

Библиотекой SoftwareSerial возможно создать последовательную передачу данных через любой из цифровых выводов Uno.

ATmega328 поддерживает интерфейсы I2C (TWI) и SPI. В Arduino включена библиотека Wire для удобства использования шины I2C.

Программирование

Платформа программируется посредством ПО Arduino. Из меню Tools > Board выбирается «Arduino Uno» (согласно установленному микроконтроллеру). Подробная информация находится в справочнике и инструкциях.

Микроконтроллер ATmega328 поставляется с записанным загрузчиком, облегчающим запись новых программ без использования внешних программаторов. Связь осуществляется оригинальным протоколом STK500.

Имеется возможность не использовать загрузчик и запрограммировать микроконтроллер через выводы ICSP (внутрисхемное программирование). Подробная информация находится в данной инструкции.

Автоматическая (программная) перезагрузка

Uno разработана таким образом, чтобы перед записью нового кода перезагрузка осуществлялась самой программой Arduino на компьютере, а не нажатием кнопки на платформе. Одна из линий DTR микросхемы ATmega8U2, управляющих потоком данных (DTR), подключена к выводу перезагрузки микроконтроллеру ATmega328 через 100 нФ конденсатор. Активация данной линии, т.е. подача сигнала низкого уровня, перезагружает микроконтроллер. Программа Arduino, используя данную функцию, загружает код одним нажатием кнопки Upload в самой среде программирования. Подача сигнала низкого уровня по линии DTR скоординирована с началом записи кода, что сокращает таймаут загрузчика.

Функция имеет еще одно применение. Перезагрузка Uno происходит каждый раз при подключении к программе Arduino на компьютере с ОС Mac X или Linux (через USB). Следующие полсекунды после перезагрузки работает загрузчик. Во время программирования происходит задержка нескольких первых байтов кода во избежание получения платформой некорректных данных (всех, кроме кода новой программы). Если производится разовая отладка скетча, записанного в платформу, или ввод каких-либо других данных при первом запуске, необходимо убедиться, что программа на компьютере ожидает в течение секунды перед передачей данных.

На Uno имеется возможность отключить линию автоматической перезагрузки разрывом соответствующей линии. Контакты микросхем с обоих концов линии могут быть соединены с целью восстановления. Линия маркирована «RESET-EN». Отключить автоматическую перезагрузку также возможно подключив резистор 110 Ом между источником 5 В и данной линией.

Токовая защита разъема USB

В Arduino Uno встроен самовостанавливающийся предохранитель (автомат), защищающий порт USB компьютера от токов короткого замыкания и сверхтоков. Хотя практически все компьютеры имеют подобную защиту, тем не менее, данный предохранитель обеспечивает дополнительный барьер. Предохранитель срабатыват при прохождении тока более 500 мА через USB порт и размыкает цепь до тех пока нормальные значения токов не будут востановлены.

Физические характеристики

Длина и ширина печатной платы Uno составляют 6.9 и 5.3 см соответственно. Разъем USB и силовой разъем выходят за границы данных размеров. Четыре отверстия в плате позволяют закрепить ее на поверхности. Расстояние между цифровыми выводами 7 и 8 равняется 0,4 см, хотя между другими выводами оно составляет 0,25 см.

Arduino uno что это такое

В данной статье мы познакомимся с такой великолепной и интересной по своим возможностям платформе как Arduino Uno. Данная статья является обзорной и ориентирована исключительно на начинающих.

Что такое Arduino UNO

Arduino UNO по своей природе это плата расширения для микроконтроллера, которая делает работу с данными микроконтроллером значительно проще и удобнее (в рассматриваемой нами Arduino UNO Rev3 установлен микроконтроллер ATmega328p).

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

Arduino UNO решает все эти проблемы, он предоставляет всю необходимую среду для работы микроконтроллера, а так же делает его программирование крайне простым делом не требующим от вас каких либо сложных знаний или дополнительного оборудования кроме вашего ПК. Более того, производители предоставили широкие возможности питания Arduino: USB или любой источник питания от 7В до 12В, что позволяет питать плату как от USB порта вашего ПК так и от блока питания или обычной батарейки, например «кроны».

Все что вам необходимо что бы запрограммировать ваш Arduino это подключить его по USB к вашему ПК и используя предоставленную среду разработки написать код и нажать кнопку «Загрузить на микроконтроллер», дальше среда разработки сделает все сама.

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

И так что же такое Arduino UNO теперь думаю немного понятнее, теперь давайте знаем что же он может.

Программа для Arduino

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

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

Эта функция и является основной рабочей функцией вашего Arduino. После выполнения функции setup() ваш микроконтроллер приступит к выполнению именно этой функции и когда функция дойдет до конца, микроконтроллер начнет ее выполнение повторно, и так до бесконечности. Думаю название функции loop (петля) говорит само за себя. В общем эта функция которая будет выполняться по кругу пока будет подключено питание.

Стандартный шаблон программы для Arduino выглядит так:

Включение требуемых файлов если нужно Объявление глобальных переменных если нужно Объявление прототипов функций если нужно void setup() Код настройки >

// Основной код

Управление пинами Arduino

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

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

pinMode(6, OUTPUT); // 6 пин будет работать на выход pinMode(5, INPUT) // 5 пин будет работать на вход

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

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

На плате Arduino UNO существуют 3 вида пинов: Цифровые пины. Это пины: 0,1,2,4,7,8,12 Цифровые пины с функцией PWM (Широтно-импульсная модуляция). Это пины: 3,5,6,9,10,11,13 Аналоговые пины: Это пины: А0,А1,А2,А3,А4,А5

Цифровые пины Если пин работает на вход (INPUT), то любое напряжение на нем, рассматривается микроконтроллером как 1 (единица), а если напряжение отсутствует то 0 (ноль). Таким образом используя цифровой пин на выход, вы можете только узнать о том факте есть на пине напряжение или нет, но не то какой оно величины, для этого есть другие пины, о которых будет сказано чуть ниже. Получить информацию о состоянии данного типа пина в можете так:

int val = digitalRead(4); // Получить состояние пина 4:

В переменную val будет записано значение 1 или 0, что будет означать: 1 — есть напряжение, 0 — нет напряжения.

Если пин работает на выход (OUTPUT), то вы можете либо подать на пин максимальное напряжение либо подать на пин нулевое напряжение, но регулировать уровень напряжения вы не сможете. Подать напряжение на пин вы можете следующим образом:

digitalWrite(4, HIGH); // Подать максимальное напряжение на пин 4 digitalWrite(4, LOW); // Подать нулевое напряжение на пин 4

Константы HIGH и LOW в данном контексте означают, подать/выключить (HIGH) и не подавать/выключить (LOW). В целом просто цифровой пин это как выключатель, имеющий лишь два положение либо «Вкл.» либо «Выкл.» и вы можете либо узнавать положение выключателя либо управлять этим выключателем.

Цифровые пины с функцией PWM Если пин работает на вход (INPUT), то он совершенно аналогичен обычному цифровому пину работающему на вход.

Если пин работает на выход (OUTPUT), то с помощью функции PWM мы получаем возможность контролировать напряжением и подавать его от нулевого до максимального (на самом деле меняется не напряжение а сигнал PWM но в целом выглядит именно как изменение напряжения). Для того что бы сделать это, вам потребуется всего пара строк кода (Запишите в требуемый цифровой пин с функцией PWM любое значение от 0 до 255):

analoglWrite(6, 0); // Подать нулевое напряжение на 6 пин digitalWrite(6, LOW); // То же самое что и analoglWrite(6, 0); analogWrite(6, 128); // Подать половину максимального напряжения на 6 пин analogWrite(6, 255); // Подать максимальное напряжение на 6 пин digitalWrite(6, HIGH); // То же самое что и analogWrite(6, 255);

Таким образом возможный диапазон напряжений «размазывается» по диапазону от 0 до 255 соответственно. То есть получается следующие, если к примеру ваш Arduino может выдавать на пин от 0В до +5В, то значение 0 будет равно 0В, значение 255 будет равно +5В, а например значение 128 будет равно 2.5В, так как 128 это половина диапазона 0-255. Таким образом вы можете рассчитать любое требуемое вам напряжение в данном диапазоне.

Аналоговые пины Если пин работает на вход (INPUT), то данный пин может узнавать уровень напряжения которое присутствует на нем. Эти пины как правило являются теми самыми «рабочими лошадками» которые получают информацию об уровне напряжения с различных аналоговых датчиков.(Например в эксперименте: Ночной светильник, вы будите получать информацию о напряжение с фоторезистора что бы определить уровень освещенности) Получить значение информацию об уровне напряжения на пине можно так:

int val = analogRead(A0); // Получить уровень напряжения на пине А0

В переменную val будет записано значение от 0 до 1023. Диапазон возвращаемых данной функцией значений от 0 до 1023, уровень напряжение на пине от нуля до максимального будет «размазано» по данному диапазону, таким образом 0 будет соответствовать отсутствию напряжения а 1023 будет соответствовать максимальному входящему напряжению.

Если пин работает на выход (OUTPUT), то данный пин работает совершенно так же как и цифровой пин с функцией PWM. И совершенно все что было сказано про цифровой пин с функцией PWM выше, применимо к аналоговым пинам работающим на выход. Установить требуемый уровень напряжения на пине можно так:

analogWrite(A0, 0); // Установить нулевое напряжение на пине А0 digitalWrite(A0, LOW); // То же самое что и analogWrite(A0, 0); analogWrite(А0, 128); // Установить половину максимального напряжения на А0 пин analogWrite(A0, 255); // Установить максимальное напряжение на пине А0 digitalWrite(A0, HIGH); // То же самое что и analogWrite(A0, 255);

Важно обратить внимание на следующие, хотя пины и называются аналоговыми и способны изменять уровень входящего напряжения, так как микроконтроллер имеет встроенный АЦП (аналогово-цифровой преобразователь) но вот выходное напряжение достигается опять такие с помощью PWM сигнала, так как Arduino UNO не имеет встроенного ЦАП (цифро-аналоговой преобразователь) что бы выдавать аналоговый сигнал. Таким образом, в режиме работы аналоговых пинов на выход, вы получаете именно PWM сигнал. В большинстве случаев это не имеет никакого значения, но в некоторых ситуациях может быть очень важным.

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

А в заключении пара важных моментов которые вы обязаны помнить: Обязательно устанавливаете режимы пинов, (желательно делать это в функции setup), какой пин в каком режиме вы будите использовать, с помощью функции pinMode(), это обязательно, следите за этим. Arduino способен пропускать через каждый пин ток не более чем 20 mA (миллиампер), а это значит что вы должны всегда следить за этим в своих проектах, и при необходимости обязательно использовать токоограничивающие резисторы. В противном случае вы можете легко сжечь микроконтроллер. Максимальное напряжение питания 12В, не подавайте напряжение выходящие за этот предел, это может привести к выходу из строя вашего Arduino.

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

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Noncommercial-Share Alike 4.0 International

Производные работы должны содержать ссылку на http://wiki.amperka.ru, как на первоисточник, непосредственно перед содержимым работы.
Вики работает на суперском движке DokuWiki.

arduino-быстрый-старт/arduino-uno.txt · Последние изменения: 2014/06/23 18:51 — acos

Инструменты страницы

  • Показать исходный текст
  • История страницы
  • Ссылки сюда
  • Наверх

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *