Возможности ардуино уно – Arduino Uno. Устройство и применение. Особенности.Плюсы и минусы

Возможности ардуино уно – Arduino Uno. Устройство и применение. Особенности.Плюсы и минусы

ARDUINO UNO ДЛЯ НАЧИНАЮЩИХ

Введение

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

Конструирование робототехнической системы — это многоплановая задача, требующая знаний по широкому кругу научных и технических вопросов. Изготовление электромеханических исполнительных узлов, например, ходовой части робота, потребует знаний по общей механике, электротехнике. Создание алгоритма действий для робототехнической системы, требует знаний по информатике, в первую очередь навыков программирования. Для получения информации из внешней среды роботу необходимы различные датчики, использование которых потребует знания физических принципов работы этих датчиков. Создание всей системы в целом невозможно без знания электроники. Таким образом, процесс создания робототехнической системы потребует в процессе работы получения большого объема информации по различным естественно научным и физико-математическим дисциплинам, выходящего далеко за пределы объема школьной программы.

В настоящее время существует несколько основных путей позволяющих приступить к воплощению робототехнической системы. Первый использование готовых наборов для конструирования роботов, такие наборы изготовляет известный производитель конструкторов для детей фирма Lego. Они содержат все необходимые компоненты для изготовления робота. Arduino UNO: возможности, устройство и применение микроконтроллерной платы

Что представляет собой Arduino UNO. Как устроена плата Arduino UNO. Какие возможности предоставляет Arduino UNO. Для чего применяется Arduino UNO. Каковы основные характеристики Arduino UNO. Какие преимущества и недостатки у Arduino UNO.

Содержание

Что такое Arduino UNO

Arduino UNO — это популярная микроконтроллерная плата, предназначенная для быстрого прототипирования электронных устройств. Основой платы является 8-битный микроконтроллер ATmega328P, работающий на частоте 16 МГц. Arduino UNO обладает следующими ключевыми характеристиками:

  • 14 цифровых входов/выходов (6 из них могут использоваться как ШИМ-выходы)
  • 6 аналоговых входов
  • 32 КБ флеш-памяти
  • 2 КБ оперативной памяти SRAM
  • 1 КБ энергонезависимой памяти EEPROM
  • USB-интерфейс для связи с компьютером
  • Разъем питания для подключения внешнего источника 7-12В

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


Устройство платы Arduino UNO

Рассмотрим основные компоненты, из которых состоит плата Arduino UNO:

  • Микроконтроллер ATmega328P — главный управляющий элемент платы
  • USB-контроллер ATmega16U2 — обеспечивает связь с компьютером по USB
  • Кварцевый резонатор на 16 МГц — задает тактовую частоту МК
  • Стабилизатор напряжения на 5В и 3.3В
  • Разъем USB тип B — для подключения к компьютеру
  • Разъем питания — для подключения внешнего источника 7-12В
  • Кнопка сброса — для перезагрузки МК
  • Светодиоды индикации питания и активности портов
  • Штыревые разъемы для подключения периферии

Все эти компоненты размещены на одной печатной плате размером 68.6 мм х 53.4 мм. Такая компактная конструкция позволяет легко встраивать Arduino UNO в различные проекты.

Возможности Arduino UNO

Плата Arduino UNO предоставляет широкие возможности для разработки электронных устройств:

  • Управление цифровыми и аналоговыми входами/выходами
  • Генерация ШИМ-сигналов
  • Измерение аналоговых сигналов
  • Работа с различными интерфейсами: UART, I2C, SPI
  • Точное измерение временных интервалов
  • Хранение данных в энергонезависимой памяти
  • Обработка прерываний

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


Применение Arduino UNO

Благодаря своей универсальности и простоте использования, Arduino UNO находит применение во многих областях:

  • Обучение основам электроники и программирования
  • Быстрое прототипирование электронных устройств
  • Создание систем «умного дома»
  • Разработка роботов и автоматизированных систем
  • Управление различными механизмами
  • Сбор и обработка данных с датчиков
  • Создание интерактивных арт-объектов
  • Автоматизация научных экспериментов

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

Основные характеристики Arduino UNO

Рассмотрим подробнее ключевые технические характеристики платы Arduino UNO:

  • Микроконтроллер: ATmega328P
  • Рабочее напряжение: 5В
  • Входное напряжение (рекомендуемое): 7-12В
  • Входное напряжение (предельное): 6-20В
  • Цифровые входы/выходы: 14 (6 из них поддерживают ШИМ)
  • Аналоговые входы: 6
  • Постоянный ток через вход/выход: 20 мА
  • Постоянный ток для вывода 3.3 В: 50 мА
  • Флеш-память: 32 КБ (0.5 КБ занимает загрузчик)
  • ОЗУ: 2 КБ
  • EEPROM: 1 КБ
  • Тактовая частота: 16 МГц

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

Преимущества и недостатки Arduino UNO

Как и любое техническое решение, Arduino UNO имеет свои сильные и слабые стороны. Рассмотрим основные преимущества этой платы:

  • Простота освоения и использования
  • Низкая стоимость
  • Большое сообщество пользователей
  • Огромное количество готовых библиотек и примеров кода
  • Широкий выбор совместимых модулей расширения
  • Возможность работы от батарейного питания

Однако у Arduino UNO есть и некоторые недостатки:

  • Невысокая производительность
  • Ограниченный объем памяти
  • Отсутствие аппаратной поддержки сложных интерфейсов (Ethernet, Wi-Fi и т.п.)
  • Невозможность работы в режиме реального времени
  • Ограниченные возможности отладки

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


ARDUINO UNO ДЛЯ НАЧИНАЮЩИХ

Введение

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

Конструирование робототехнической системы — это многоплановая задача, требующая знаний по широкому кругу научных и технических вопросов. Изготовление электромеханических исполнительных узлов, например, ходовой части робота, потребует знаний по общей механике, электротехнике. Создание алгоритма действий для робототехнической системы, требует знаний по информатике, в первую очередь навыков программирования. Для получения информации из внешней среды роботу необходимы различные датчики, использование которых потребует знания физических принципов работы этих датчиков. Создание всей системы в целом невозможно без знания электроники. Таким образом, процесс создания робототехнической системы потребует в процессе работы получения большого объема информации по различным естественно научным и физико-математическим дисциплинам, выходящего далеко за пределы объема школьной программы.

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

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

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

Кроме приведенных выше вариантов, существует и третий путь – использование вычислительной платформы Arduino. Ее основой является специальная плата с микроконтроллером, а также специализированная среда разработки Wiring, созданная на основе языка C++.

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

Иными словами программа, написанная на языке Ассемблер, будет занимать места меньше, а выполняться быстрее. Если конструируется учебный робот, или бытовое электронное устройство, в большинстве случаев это не столь важно, в самом деле, если сигнализация среагирует на разбитое окно не через 0,1 с, а через 0,2 с, это ничего принципиально не изменит. Однако в ответственных случаях объем памяти требуемый для программы, и особенно, скорость работы могут стать критически важными, по этому среди специалистов по разработке аппаратно-программных комплексов отношение к данной платформе как минимум неоднозначное. Впрочем, в системах жизнеобеспечения, промышленных, авиационных и космических системах использовать Arduino никому и не придет в голову, к тому же любители крайне редко сталкиваются с необходимостью создания подобных систем.

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

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

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

Описание аппаратной части Arduino

Физически Arduino представляет собой небольшую печатную плату. Самой распространенной на данный момент версией является Arduino UNO с габаритами 75×55 мм.

На плате располагается микроконтроллер ATMega328, этот микроконтроллер имеет 2 кб оперативной памяти и 32 кб памяти флэш-памяти для программ. Пользователю доступно несколько меньшая часть памяти программ, потому что часть памяти программ отведено под программу-загрузчик, которая управляет работой платы при загрузке в нее пользовательской программы. Платы заводского изготовления обычно поставляются уже с записанной в память программой-загрузчиком. Если отдельный микроконтроллер, программируемый на Ассемблере, достаточно легко довести до неработоспособного состояния неверными командами, то с Arduino это сделать несколько сложнее, т.к. программное обеспечение Arduino играет роль «защиты от дурака», защищая микроконтоллер от неверных действий начинающего пользователя. Кварцевый резонатор задает тактовую частоту работы микроконтроллера 16 МГц. Так же в микроконтоллере имеется внутренний кварцевый резонатор на частоту 8 МГц, но его обычно не используют.

Для связи с компьютером на плате имеется разъем USB-BF. На платах разных производителей в этой части возможны существенные различия, кроме USB-BF автору встречались платы с micro-USB, на старых и самодельных платах, скорее всего, будет 9-контактный разъем COM-порта. На плате Arduino UNO установлен специальный преобразователь, поэтому подключенная к компьютеру плата, определяется как новый COM-порт. Одно из преимуществ Arduino состоит в том, что благодаря наличию программы загрузчика и возможности подключения Arduino к персональному компьютеру для ее программирования не нужен отдельный программатор. 

Подключенная к компьютеру плата Arduino питается через USB-порт. Если плата используется отдельно, то необходимо подключить к плате блок питания с выходным постоянным напряжением 7-12 В, разъем питания, вероятно, типа DS-210. На плате имеется стабилизатор напряжения, поэтому к качеству питающего напряжения устройство нетребовательно. Подойдет почти любой малогабаритный блок питания. В автономных условиях подходит 9 В батарея типа «Крона», или две последовательно соединенные батареи типа 3R12 (3336).

На плате располагается 14 цифровых портов ввода-вывода, 6 из которых поддерживают широтно-импульсную модуляцию (помечены на плате знаком «~»).

Кроме цифровых на плате есть 6 аналоговых портов. Аналоговые порты подключены в 10 битному аналогово-цифровому преобразователю, при необходимости их также можно использовать в качестве цифровых портов. 

На плате имеются четыре светодиода – индикатор питания (обозначен, как ON), светодиод, подключенный к 13 порту (L), два светодиода индикации обмена данными через последовательный порт (TX и RX). Также на плате имеется кнопка для перезагрузки микроконтроллера. 

Одним из достоинств Arduino является то, что кроме основной платы производится дополнительные платы, расширяющие возможности основного устройства. Такие платы расширения называют Shield, что дословно можно перевести как «щит» или «экран», обычно в русскоязычной литературе используется англицизм «шилд». Шилды позволяют подключать к Arduino электродвигатели, обеспечивают выход в компьютерные сети по протоколу Ethernet или WiFi, передачу информации по сети сотовой связи GSM, и выполняют многие другие функции. Для работы с такими платами существуют готовые программные библиотеки.

Плата Arduino UNO

Плата Arduino UNO хорошо подходит для отладки программ на стадии разработки и настройки конструкций. Но для множества практических приложений возможности Arduino UNO избыточны, ее размер для установки в готовые изделия может оказаться слишком большим. Кроме этого к Arduino UNO внешние устройства подключаются без пайки – с помощью разъемов. Со временем разъем может выпасть от вибрации или его контакты окислятся, что нарушит нормальный контакт, с очевидными последствиями для изготовленного устройства.

Для использования в готовых изделиях выпускаются платы ArdinoNano и ArdinoMini, они имеют меньшие физические размеры, и несколько меньшую стоимость. Эти платы совместимы программно с Arduino UNO, но не позволяют непосредственно подключать к ним шилды. ArdinoNano – плата уменьшенного размера, имеет разъем для непосредственной связи с компьютером, выводы позволяют использовать более надежное паяное соединение. ArdinoMini – еще более уменьшена, по сравнению с ArdinoNano, на плате отсутствует разъем для прямого подсоединения к компьютеру, для программирования требуется специальный переходник.

Если возможностей Arduino UNO недостаточно, можно применить расширенную версию ArdinoMega. Эта плата имеет расширенные возможности 54 цифровых порта из них 15 поддерживают ШИМ,16 — аналоговых портов, 128 кб (в поздних версиях 256 кб) — флэш-памяти для программ, 8 кб оперативной памяти.

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

Основной стандарт плат Arduino, тоже изменялся со временем. Более подробно с различными версиями плат можно познакомиться на сайте разработчика. На данный момент самым современным вариантом является Arduino Leonardo. Однако на данный момент Arduino UNO распространена наиболее широко, так что в дальнейшем остановим свое внимание именно на Arduino UNO.

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

Вообще проект Ардуино полностью открытый, авторским правом охраняется только сам термин «Arduino», поэтому множество сторонних производителей выпускают свои конструкции: Freeduino, Japanino, Seeeduino, CraftDuino, Diavolino и т.п. Существуют платы, как полностью повторяющие оригинальные, так и собственные разработки, часть из которых совместима с Arduino только программно, из-за того, что платы имеют отличную конфигурацию. В целом, на современном уровне производства электронных устройств, платы Arduino не содержат в себе каких-то действительно высоких технологий, поэтому приемлемый для любителя уровень качества способны обеспечить не только производители оригинальных устройств, но и малоизвестные фирмы, которые предлагают аналогичные конструкции по существенно более низким ценам.

Если плата заявлена как копия Arduino UNO, то, скорее всего, все сказанное о Arduino UNO будет относиться и к ней, хотя конечно за конкретного китайского производителя поручиться нельзя. Собственно конкретная плата, которая использовалась автором, обозначена просто UNO, слово «Arduino» отсутствует, так что это плата безвестного азиатского производителя, который уважает авторское право разработчиков оригинального проекта. Не смотря на сомнительное происхождение, ни каких нареканий к качеству самой платы автор предъявить не может. С вами был Denev.

   Форум по Ардуино

   Обсудить статью ARDUINO UNO ДЛЯ НАЧИНАЮЩИХ




radioskot.ru

Что такое Arduino и что с ним можно сделать 🚩 что такое arduino uno 🚩 Электроника

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

«Мозг» Arduino — это микроконтроллер семейства Atmega. Микроконтроллер представляет из себя микропроцессор с памятью и различными периферийными устройствами, реализованный на одной микросхеме. Фактически это однокристальный микрокомпьютер, который способен выполнять относительно простые задачи. Разные модели из семейства Arduino оснащены разными микроконтроллерами.

На фото микроконтроллер Atmega328. Такие микроконтроллеры стоят на Arduino UNO и Arduino Nano (но в другом корпусе).

Но какой толк от мозга, если он не имеет рук? Руками в данном случае служат электрические выводы, размещённые по периметру платы Arduino. Есть платы с большим количеством выводов, есть с меньшим. Например, самая большая плата в семействе Ардуино — Arduino Mega — имеет более 70 независимых выводов, а самая маленькая — Arduino Pro Mini — всего 22 вывода.

На фотографии показаны в сравнении Arduino Mega и Arduino Pro Mini.

Не все выводы у Arduino одинаковые. Есть выводы цифровые, а есть аналоговые. Принципиальная разница между ними в том, что на цифровых выводах может быть только два значения: либо логическая «1» (TRUE, от 3 до 5 вольт), либо логический «0» (FALSE, от 0 до 1,5 вольт), а на аналоговых выводах — диапазон от логической 1 до 0 разбит на множество мелких участков.

Зачем это нужно? Давайте рассмотрим такой наглядный пример. Если подключить к цифровому выводу Arduino светодиод и подать на вывод логическую «1», то светодиод загорится с максимальной яркостью; если подать «0» — светодиод погаснет. Никаких промежуточных вариантов нет. Если светодиод подключить к аналоговому выводу, то яркостью светодиода можно управлять плавно. На практике к аналоговым выводам чаще всего подключаются какие-либо аналоговые датчики. 

В итоге такое количество «рук» у Arduino позволяет подключать к нему огромное количество различных периферийных устройств. Среди них, например:



  • кнопки,

  • светодиоды,


  • микрофоны и динамики,

  • электродвигатели и сервоприводы,

  • ЖК дисплеи,

  • считыватели радиометок (RFID и NFC),

  • ультразвуковые и лазерные дальномеры,

  • bluetooth, WiFi и Ethernet модули,

  • считыватели SD карт,

  • GPS и GSM модули…

А также десятки различных датчиков:



  • освещённости,

  • магнитного поля,

  • гироскопы и акселерометры,

  • датчики дыма и состава воздуха,

  • температуры и влажности и многое, многое другое.

Всё это превращает Arduino в универсальное ядро системы, которое может быть сконфигурировано совершенно разнообразными способами. Хотите сделать радиоуправляемую кормушку для питомца? Пожалуйста! Хотите чтобы при начале дождя у вас на лоджии закрывалось окно? Пожалуйста! Хотите управлять яркостью освещения в комнате со смартфона? Запросто!

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

Как же процессор узнаёт, что именно ему следует делать? Вы должны рассказать ему это. Существует язык для общения с микроконтроллером, упрощённый и адаптированный специально для Arduino. Освоить этот язык совсем не сложно при желании и определённой настойчивости, даже если вы никогда раньше не программировали. 

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

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

Программирование – увлекательный процесс. Теперь не обязательно вводить много строчек кода на английском языке, чтобы освоить азы и получить первый результат. Появляется всё больше сред разработки, которые помогут ребенку быстро и эффективно создать собственную программу.

Содержание статьи

 

Языки программирования для детей можно разделить на две категории: визуальные и текстовые. При выборе языка адекватно оценивайте возрастные особенности ребенка. Если это ученик начальной школы, то лучше выбрать визуальную среду разработки. Всё, что необходимо будет ребенку – это умение читать, перетаскивать иконки на рабочую поверхность. Если ребенок является учащимся средней школы, то можно переходить к текстовому языку. Большое внимание стоит уделить синтаксису, так как неверное написание функции может прервать работу программы.

Программа является наиболее популярной среди школьников, так как имеет интуитивно понятный интерфейс. Каждая программа в Scratch – это отдельный проект. В создании проекта можно вводить своих собственных персонажей, выбирать время и место действия, создавать фоны. Обилие блоков позволяет выбрать нужные функции. При создании игры в Scratch можно запрограммировать героя на выполнение определенных действий, изменить его внешность, добавить звуковое сопровождение и обратную связь с пользователем. Данную среду хорошо использовать и в образовательных целях. Например, для урока химии вы можете создать модель атома водорода, а для урока биологии — симулятор собаки Павлова.

Python подойдет для ребят пятого класса и старше. Для его изучения отлично подойдет книга Майкла Доусона «Программироуем на Python», где предлагается осваивать базовые понятия объектно-ориентированного программирования. Через примеры небольших программ, состоящих из двух или десяти строчек, ребенок привыкает к данной среде разработки, запоминает основные функции. Благодаря расширению pygame, изучив основные понятия языка, можно перейти к созданию настоящей игры для персонального компьютера. Следует отметить, что Python хорош не только для образовательных целей, его используют в NASA, Google и других крупных компаниях. 

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

Видео по теме

Источники:

  • Выбор между визуальным и текстовым программированием для детей

www.kakprosto.ru

микроконтроллер на процессоре Atmega AVR

Arduino Uno – это плата, построенная на базе процессора ATmega AVR. В зависимости от конкретной модели платы используются различные микроконтроллеры, на момент написания статьи самой распространённой является версия R3. Плату используют для обучения, разработки, создания рабочих макетов устройств. Ардуино, по своей сути, – это AVR микроконтроллер с возможностью упрощенного программирования и разработки. Это достигнуто с помощью специально подготовленного загрузчика, прошитого в память МК, и фирменной среды разработки.

Характеристики и строение Arduino Uno R3

В основе платы лежит процессор ATmega 328. Кроме него на плате находится модуль USB для связи с компьютером и прошивки. Этот модуль называется «USB-TTL преобразователь». На фирменных платах Arduino Uno для этой целей используется дополнительный микроконтроллер ATmega16U2.

Особенность этого чипа заключается в аппаратной поддержке USB, что позволяет организовывать связь без дополнительных преобразователей. В то время как ATmega328 не поддерживает такой функции, поэтому 16u2 выступает в роли преобразователя данных из USB в последовательный порт для МК AVR. В него залита программа для выполнения этой задачи.

Однако так происходит не всегда: в более мелких платах, таких как Arduino Nano, используют преобразователи уровней на базе различных микросхем, например FT232, CP21XX, Ch440g и подобных. Это решение является более дешевым и не требует прошивки дополнительного связывающего контроллера, как описано выше.

Интересно! Стоит отметить, что не всё так однозначно: DCcduino UNO r3 на ch440g. В ней как раз и использован более дешевый, чем в оригинале, вариант преобразователя USB-TTL.

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

Микроконтроллер Arduino Uno содержит 32 кб флэш-памяти, из которой пользователю доступно 31.5 кб, потому как 0.5 занимает загрузчик. ОЗУ – 2 кб и 1 кб памяти EEPROM. АТМЕГА 328 работает на частоте 16 МГц. Она фиксирована кварцевым резонатором, который вы можете, по желанию, заменить, тем самым ускорив работу Uno r3.

Важно! После замены кварцевого резонатора функции, связанные со временем, такие как Delay, не будут соответствовать введенным значениям. Это функция задержки времени, по умолчанию её аргументом является требуемое время задержки в мс. Функция прописана в библиотеках Ардуино, с учетом стандартной тактовой частоты в 16 МГц. Поэтому после замены кварца заданное время не будет соответствовать написанному. Для этого нужно либо подбирать опытным путем и устанавливать зависимости, либо править файлы библиотек.

Как осуществляется питание платы?

Чтобы включить плату, нужно на неё подать питание либо от USB порта, можно прямо от ПК, либо от внешнего источника питания – от 7 до 15 Вольт. На плате установлен линейный стабилизатор, типа L7805, или же LDO. Он нужен для того, чтобы на микроконтроллер подавалось стабилизированное напряжение 5 В.

При этом приоритетно выбирается внешний источник питания, а не ЮСБ-порт. Внешнее питание подключается к выводу с пометкой «Vin» в разделе Power на плате.

Расположение выводов (пинов) на плате

Разработчики платы Arduino очень удобно и логично расположили выводы платы. Дело в том, что при разработке на «чистых» МК АВР приходилось обращаться к выводу порта, для этого нужно было запомнить название каждой ножки на чипе. Здесь это гораздо проще. На самой плате указано название каждого из пинов. Удобства добавляет и то, что пины разбиты на 3 группы:

  1. Digital – блок цифровых пинов.
  2. Analog – блок аналоговых пинов.
  3. Power – блок пинов, которые связаны с питанием и работой микросхемы.

При этом в разделе Digital пины, которые могут выдавать ШИМ (PWM)-сигнал, помечены тильдой «~». Для служебных целей и проверки работоспособности контроллера на плате установлен светодиод, который подключен к 13-му выводу, а из среды разработки Arduino IDE к нему можно обращаться через встроенную директиву LED_BUILTIN. Такие схемы расположения пинов называются «Arduino UNO pinout», при этом, вместо UNO, может быть указано название другой платы, которая вас интересует.

Микроконтроллер имеет 14 цифровых пинов, они могут быть использованы, как вход или выход. Из них 6 могут выдавать ШИМ-сигнал. Они нужны для регулировки мощности в нагрузке и других функций. Вызов ШИМ-сигнала осуществляется через команду AnalogWrite (номер ножки, значение от 0 до 255). Для работы с аналоговыми датчиками присутствует 6 аналоговых входов/выходов. Их тоже можно использовать, как цифровые.

Аналоговый сигнал обрабатывается 10 битным аналогово-цифровым преобразователем (АЦП), а при чтении микроконтроллер выдаёт численное значение от 0 до 1024. Это равно максимальному значению, которое можно записать в 10 битах. Каждый из выводов способен выдать постоянный ток до 40 мА.

Работа Arduino в комплексе с другими системами

Самое первое, с чем вы можете познакомиться, даже без приобретения дополнительных устройств для разработки – это связь по последовательному порту. Он активируется по команде Serial.begin (скорость, например 9600). Подробно о каждой команде вы можете прочитать в обучающем разделе на официальном сайте проекта Arduino.ru. Вы можете обмениваться с компьютером информацией. Плата, в зависимости от программного кода, может вам присылать данные, а вы их, через монитор портов в Arduino IDE, можете читать.

Кроме последовательного порта, в ардуино UNO реализована поддержка таких интерфейсов:

Через них можно осуществлять «общение» между несколькими платами, а также подключать разную периферию: датчики и дисплеи.

Платы расширения Arduino Shields что это такое?

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

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

Одним из самых популярных является Arduino Ethernet Shield. Он нужен для связи с Ардуино по обычному сетевому кабелю, витой паре. На нём расположен разъём rj45.

С подобным шилдом можно управлять вашим микроконтроллером по сети через веб-интерфейс, а также считывать параметры с датчиков, не отрываясь от компьютера. Существуют проекты с использованием такого комплекта в домашнем облачном хранилище, с ограничением по скорости, всё-таки Атмега328 слабовата для таких задач, и для этого лучше подойдут одноплатные компьютеры типа Raspberry pi.

Как преодолеть аппаратные ограничения платформы Arduino?

Большинство распространённых плат имеют аналогичные характеристики, среди них:

  • Uno;
  • Nano;
  • Pro mini;
  • и подобные.

Но с развитием ваших навыков разработки в этой среде появляется проблема нехватки мощности и быстродействия этой платформы. Первым шагом для преодоления ограничений является использование языка C AVR.

С его помощью вы ускорите на порядок скорость обращения к портам, частоту ШИМ и размер кода. Если вам и этого недостаточно, то вы можете воспользоваться мощными моделями с аналогичным подходом к разработке. Для этого подойдёт плата Arduino Mega2560. Еще более мощная – модель Due. В противном случае вам стоит ознакомиться с разновидностями одноплатных компьютеров и STM микроконтроллеров.

Выводы

Ардуино – это открытый проект для изучения устройств цифровой электроники, его авторы поделились с миром печатными платами, принципиальными схемами и программным кодом загрузчика.

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

arduinoplus.ru

Arduino — описание выводов на примере Arduino UNO

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

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

На рисунке ниже приведены платы Arduino UNO и Arduino MEGA:

Arduino MEGA совместима с версией UNO в области основных выводов. Дополнительные выводы MEGA расположены отдельно, что позволяет сохранить совместимость с Arduino UNO.

Распиновка Arduino Uno

Рядом с USB разъемом есть кнопка «RESET». Он позволяет вернуться к исходному состоянию программы, которое бывает при включении питания. После нажатия кнопки «RESET» данные в ОЗУ микроконтроллера сбрасываются и Arduino начинает выполнять программу с самого начала.

Интерфейс USB позволяет программировать Arduino и взаимодействовать и поддерживать связь с Serial монитором. Кроме того, непосредственно через USB вы можете запитать плату.

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

Для этого в Arduino имеет разъем для подключения внешнего источника питания. Напряжение питания может составлять от 5 до 20 В. Фактически, оптимальное напряжение должно находиться в диапазоне 7-12 В.

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

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

Arduino оснащена одним или двумя шестиконтактными разъемами, которые используются для программирования микроконтроллера. Разъемы обозначаются как ICSP1 и ICSP2. Разъем ближе к основному микроконтроллеру позволяет загружать BOOTLOADER, а разъем ближе к USB-порту позволяет загружать программу USB-UART преобразователя. Второй разъем используется только в платах Arduino, где в качестве USB-UART преобразователя используется микроконтроллер Atmega. Если установлен FT232, то второй разъем на плате отсутствует.

Плата Arduino оснащена группой, по крайней мере, из 4 светодиодов. Два из них помечены как «RX» и «TX» расположены рядом с микросхемой FT232 или Atmega. Они сигнализируют о последовательной передаче данных между компьютером и контроллером. Эти светодиоды полезны при программировании и тестировании программы, которая взаимодействует с компьютером. По их свечению вы можете визуально определить, происходит ли передача данных (программирование) или нет.

Еще один светодиод, обозначенный как «ON», является индикатором питания платы. Последний светодиод, как правило, — это светодиод, анод которого подключен к выводу 13, а катод к минусу питания. Поэтому высокий логический уровень на выводе 13 приведет к включению светодиода, в то время как низкий уровень приведет к его выключению.

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

Левая часть (POWER) обеспечивает доступ к питанию и управлению:

  • IOREF — указывает каким напряжением питается процессор Arduino (это важно для некоторых шилдов)
  • RESET — сброс Arduino
  • 3V3 – система питание модулей, требующих 3,3 В
  • 5V — система питания TTL
  • GND – масса
  • GND — масса
  • VIN — напряжение питания от внешнего источника

Правая часть (ANALOG IN) обеспечивает считывание аналоговые сигналов. Аналого-цифровой преобразователь (АЦП) позволяет считывать значения напряжения от 0 до AREF или 0…5 В.

Считанное значение может быть 8-битным или 10-битным. Аналоговые входы подписаны как A0, A1, A2, A3, A4, A5. Несмотря на их основное предназначение, выводы A0 — A5 так же могут быть использованы как цифровые входы или выходы.

Верхний ряд контактов также разделен на две части. Правая часть пронумерована от 0 до 7, левая от 8 до 13. Этот ряд содержит контакты цифрового входа/выхода.

Контакты 0 и 1 являются специальными выводами, на которые дополнительно выведены линии последовательного порта (RX и TX). Их можно использовать для последовательной связи с другой платой.

Контакты 3, 5, 6, 9, 10, 11 обозначаются как «~» или PWM. Они могут работать в режиме ШИМ, иногда называемым аналоговым выходом. Конечно же, это не реальные аналоговые выходы. Они только позволяют контролировать ширину импульса, которая часто используется в цифровой электронике для изменения «аналогового» сигнала.

И последние два вывода — это GND и AREF, которые используется для подключения внешнего опорного напряжения для аналого-цифрового преобразователя.

В итоге Arduino UNO имеет 14 цифровых линий входа/выхода и 6 аналоговых входов (которые могут служить в качестве цифровых входов/выходов).

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

Допустимое входное напряжение не должно превышать 5В или 3,3В (у плат с питанием от 3,3В). В случае если необходимо обработать сигнал напряжением больше 5В (3,3В для Arduino Pro Mini), то следует воспользоваться делителем напряжения.

Нагрузочная способность выходов при питании от 5 В составляет 40мА, при питании от 3,3 В — 50 мА. Это означает, что к одному выходному контакту можно подключить, например, до двух светодиодов, предполагая, что рабочий ток каждого из них составляет 20 мА.

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

www.joyta.ru

Arduino Uno: назначение, описание платформы

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

Описание устройства

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

Платформа Arduino Uno состоит программной и аппаратной частей, которые весьма гибки и просты в эксплуатации. Для программирования используют упрощенную версию С++ (Wiring). Проектирование можно осуществлять на бесплатном обеспечении Arduino IDE и на базе произвольного инструментария С/С++. Устройство поддерживает операционные системы Linux, MacOS и Windows. Для программирования и связи с компьютером используется USB-кабель, а для работы в автономном режиме необходим блок питания (6-20В). Для новичков разработаны готовые наборы для конструирования электроники — серия «Матрешка».

Arduino Uno R3

Это новая модель, произведенная в Италии. Выполнена она на базе микропроцессора ATmega328p, тактовая частота которого составляет 16 МГц, память — 32 кб. Плата имеет 20 контактов (контролируемых) вывода и ввода, предназначенных для взаимодействия с периферийными устройствами.

Возможности устройства

Arduino Uno способно взаимодействовать с другими Arduino, компьютерами и микроконтроллерами. Платформа устройства позволяет обеспечить последовательное соединение с помощью контактов RX (0) и TX (1). Процессор ATmega16U2 транслирует такое соединение через USB порт: в результате на компьютере устанавливается дополнительный виртуальный COM-порт. Программное обеспечение Arduino включает в себя утилиту, которая осуществляет обмен текстовых сообщений по созданному каналу. На плате устройства установлены светодиоды RX и TX, которые светятся во время передачи информации между компьютером и процессором ATmega162U. Благодаря отдельной библиотеке можно организовать соединение с использованием различных контактов, не ограничиваясь нулевым и первым. А с помощью дополнительных плат расширения появляется возможность организовать и другие способы взаимодействия, например, Wi-Fi, радиоканал, сеть Эзернет.

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

Заключение

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

fb.ru

Arduino UNO

5V

8-bit

16 MHz

AVR

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

«Uno» (в переводе с итальянского — «один») назван по случаю предстоящего выпуска Arduino IDE 1.0. Совместно с Arduino IDE 1.0 данные устройства будут базовыми версиями Ардуино. Uno — эталонная модель платформы Arduino и является последней в серии USB-плат.

Технические характеристики
Микроконтроллер
ATmega328P
Рабочее напряжение
5 В
Входное напряжение (рекомендованное)
7-12 В
Входное напряжение (предельное)
6-20 В
Цифровых входов / выходов
14 (6 из которых с поддержкой ШИМ)
ШИМ входов / выходов
6
Аналоговых входов / выходов
6
Максимальный ток одного вывода
20 мА
Максимальный выходной ток вывода 3.3В
50 мА
Flash-память
32 Кбайт (0.5 Кбайт из которых выделены под bootloader)
Энергозависимая память (SRAM)
2 Кбайт
Энергонезависимая память (EEPROM)
1 Кбайт
Частота процессора
16 МГц
Встроенный светодиод
на 13 порту
Длина
68.6 мм
Ширина
53.4 мм
Вес
25 г

Документация
Программирование

Arduino Mini программируется с помощью программного обеспечения Arduino IDE (скачать).

ATmega328 в Arduino Uno выпускается с прошитым загрузчиком, позволяющим загружать в микроконтроллер новые программы без необходимости использования внешнего программатора. Взаимодействие с ним осуществляется по оригинальному протоколу STK500 (описание, заголовочные файлы C).

Тем не менее, микроконтроллер ATmega328 можно прошить и через разъем для внутрисхемного программирования ICSP (In-Circuit Serial Programming), не обращая внимания на загрузчик; информацию о распиновке разъема ICSP для прошивки Mini через загрузчик смотри на соответствующей странице. Инструкции по использованию внешнего программатора для прошивки контроллера смотри здесь.

Исходный код прошивки микроконтроллера ATmega16U2 (или 8U2 на платах версии R1 и R2) находится в свободном доступе. Прошивка ATmega16U2/8U2 включает в себя DFU-загрузчик (Device Firmware Update), позволяющий обновлять прошивку микроконтроллера. Для активации режима DFU необходимо:

  • На платах версии R1: замкнуть перемычку на обратной стороне платы (возле изображения Италии), после чего сбросить 8U2.
  • На платах версий R2 и выше — для упрощения перехода в режим DFU присутствует резистор, подтягивающий к земле линию HWB микроконтроллера 8U2/16U2.

После перехода в DFU-режим для загрузки новой прошивки можно использовать программное обеспечение Atmel’s FLIP (для Windows) или DFU programmer (для Mac OS X и Linux). Альтернативный вариант — прошить микроконтроллер через разъем для внутрисхемного программирования ISP с помощью внешнего программатора, однако в этом случае DFU-загрузчик затрется. Для получения более подробной информации смотри эти инструкции, составленные пользователями официального портала.

Защита USB

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

Отличия

В отличие от всех предыдущих плат Arduino, Uno в качестве преобразователя интерфейсов USB-UART использует микроконтроллер ATmega16U2 (ATmega8U2 до версии R2) вместо микросхемы FTDI.

Питание

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

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

Напряжение внешнего источника питания может быть в пределах от 6 до 20 В. Однако, уменьшение напряжения питания ниже 7В приводит к уменьшению напряжения на выводе 5V, что может стать причиной нестабильной работы устройства. Использование напряжения больше 12В может приводить к перегреву стабилизатора напряжения и выходу платы из строя. С учетом этого, рекомендуется использовать источник питания с напряжением в диапазоне от 7 до 12В.

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

  • VIN. Напряжение, поступающее в Arduino непосредственно от внешнего источника питания (не связано с 5В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, когда устройство запитано от внешнего адаптера.
  • 5V. На вывод поступает напряжение 5В от стабилизатора напряжения на плате, вне независимости от того, как запитано устройство: от адаптера (7 — 12В), от USB (5В) или через вывод VIN (7 — 12В). Запитывать устройство через выводы 5V или 3V3 не рекомендуется, поскольку в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя.
  • 3V3. 3.3В, поступающие от стабилизатора напряжения на плате. Максимальный ток, потребляемый от этого вывода, составляет 50 мА.
  • GND. Выводы земли.
  • IOREF. Этот вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера Arduino. В зависимости от напряжения, считанного с вывода IOREF, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5В, так и с 3.3В-устройствами.
Память

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

Ввод / вывод

Смотрите также соответствие выводов Arduino и ATmega328. Распиновка для микроконтроллеров ATmega8, 168 и 328 идентична.

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

Помимо этого, некоторые выводы Arduino Uno могут выполнять дополнительные функции:

  • Последовательный интерфейс: выводы 0 (RX) и 1 (TX). Используются для получения (RX) и передачи (TX) данных по последовательному интерфейсу. Эти выводы соединены с соответствующими выводами микросхемы ATmega8U2, выполняющей роль преобразователя USB-UART.
  • Внешние прерывания: выводы 2 и 3. Могут служить источниками прерываний, возникающих при фронте, спаде или при низком уровне сигнала на этих выводах. Для получения дополнительной информации смотри функцию attachInterrupt().
  • ШИМ: выводы 3, 5, 6, 9, 10 и 11. С помощью функции analogWrite() могут выводить 8-битные аналоговые значения в виде ШИМ-сигнала.
  • Интерфейс SPI: выводы 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). С применением библиотеки SPI данные выводы могут осуществлять связь по интерфейсу SPI.
  • Светодиод: Встроенный светодиод, подсоединенный к выводу 13. При отправке значения HIGH светодиод включается, при отправке LOW — выключается.
  • TWI: вывод A4 или SDA и вывод A5 или SCL. С использованием библиотеки Wire данные выводы могут осуществлять связь по интерфейсу TWI.

В Arduino Uno есть 6 аналоговых входов (A0 — A5), каждый из которых может представить аналоговое напряжение в виде 10-битного числа (1024 различных значения). По умолчанию, измерение напряжения осуществляется относительно диапазона от 0 до 5 В. Тем не менее, верхнюю границу этого диапазона можно изменить, используя вывод AREF и функцию analogReference().

Помимо перечисленных на плате существует еще несколько выводов:

  • AREF. Опорное напряжение для аналоговых входов. Может задействоваться функцией analogReference().
  • Reset. Формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения
Связь

Arduino Uno предоставляет ряд возможностей для осуществления связи с компьютером, еще одним Arduino или другими микроконтроллерами. В ATmega328 имеется приемопередатчик UART TTL (5В), позволяющий осуществлять последовательную связь посредством цифровых выводов 0 (RX) и 1 (TX). Микроконтроллер ATmega16U2 на плате обеспечивает связь этого приемопередатчика с USB-портом компьютера, и при подключении к ПК позволяет Arduino определяться как виртуальный COM-порт. Прошивка микросхемы 16U2 использует стандартные драйвера USB-COM, поэтому установка внешних драйверов не требуется. На платформе Windows необходим только соответствующий .inf-файл. В пакет программного обеспечения Arduino входит специальная программа, позволяющая считывать и отправлять на Arduino простые текстовые данные. При передаче данных через микросхему-преобразователь USB-UART во время USB-соединения с компьютером, на плате будут мигать светодиоды RX и TX. (При последовательной передаче данных посредством выводов 0 и 1, без использования USB-преобразователя, данные светодиоды не задействуются).

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

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

Автоматический (программный) сброс

Чтобы каждый раз перед загрузкой программы не требовалось нажимать кнопку сброса, Arduino Uno спроектирован таким образом, который позволяет осуществлять его сброс программно с подключенного компьютера. Один из выводов ATmega8U2/16U2, участвующий в управлении потоком данных (DTR), соединен с выводом RESET микроконтроллера ATmega328 через конденсатор номиналом 100 нФ. Когда на линии DTR появляется ноль, вывод RESET также переходит в низкий уровень на время, достаточное для перезагрузки микроконтроллера. Данная особенность используется для того, чтобы можно было прошивать микроконтроллер всего одним нажатием кнопки в среде программирования Arduino IDE. Такая архитектура позволяет уменьшить таймаут загрузчика, поскольку процесс прошивки всегда синхронизирован со спадом сигнала на линии DTR.

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

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

Для получения более подробной информации смотри соответствующую ветку форума на официальном сайте.

Ревизии
  • Относительно 1.0: добавлены выводы SDA и SCL (возле вывода AREF), а также два новых вывода, расположенных возле вывода RESET. Первый — IOREF — позволяет платам расширения подстраиваться под рабочее напряжение Arduino. Данный вывод предусмотрен для совместимости плат расширения как с 5В Arduino на базе микроконтроллеров AVR, так и с 3.3В платами Arduino Due. Второй вывод ни к чему не подсоединен и зарезервирован для будущих целей.
  • Улучшена помехоустойчивость цепи сброса.
  • Микроконтроллер ATmega8U2 заменен на ATmega16U2.

arduino.on.kg

первые шаги в освоении электроники / Амперка

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

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

Сложно ли это?

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

Программы для Arduino пишутся на обычном C++, дополненным простыми и понятными функциями для управления вводом/выводом на контактах. Если вы уже знаете C++ — Arduino станет дверью в новый мир, где программы не ограничены рамками компьютера, а взаимодействуют с окружающим миром и влияют на него. Если же вы новичок в программировании — не проблема, вы с лёгкостью научитесь, это просто.

Для удобства работы с Arduino существует бесплатная официальная среда программирования «Arduino IDE», работающая под Windows, Mac OS и Linux. С помощью неё загрузка новой программы в Arduino становится делом одного клика, только лишь подключите плату к компьютеру через USB. Хотя для более пытливых умов возможна работа и через Visual Studio, Eclipse, другие IDE или командную строку.

Вам не понадобится паяльник. Полноценные устройства можно собирать, используя специальнуюмакетную доску, перемычки и провода абсолютно без пайки. Конструирование ещё не было таким быстрым и простым.

Принцип бутерброда

Ещё одной отличительной особенностью Arduino является наличие плат расширения, так называемых shields или просто «шилдов». Это дополнительные платы, которые ставятся подобно слоям бутерброда поверх Arduino, чтобы дать ему новые возможности. Так например, существуют платы расширения для подключения к локальной сети и интернету (Ethernet Shield), для управления мощными моторами (Motor Shield), для получения координат и времени со спутников GPS (модуль GPS) и многие другие.

Так что же такое Arduino

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

Взгляните лишь на несколько примеров того, что возможно. Ведь это грандиозно!

С чего начать

Вам понадобится сам Arduino. Arduino Uno — это самая популярная модель в настоящий момент. Для начала экспериментов её хватит с головой. Хотя если брать «на вырост», можно рассмотреть более мощную Arduino Mega.

Также вам понадобится USB-кабель, макетная доска, перемычки, резисторы, транзисторы… и ещё десяток подручных вещей. Чтобы не утомлять себя поисками необходимого, возьмите всё, что потребуется в виде одного из готовых наборов. Например, «Матрёшка Y» или «Матрёшка Z» — мы собрали в них всё, что нужно для старта.

amperka.ru

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

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