Микроконтроллер arduino: характеристики, возможности, проекты

Что такое Arduino

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

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

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

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

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

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

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

С 2008 года в компании-разработчике начался раскол, выразившийся в существовании двух независимых ветвей развития и продаж под одной торговой маркой: одна на сайте arduino.cc, другая на arduino.org. Докризисные изделия на обоих сайтах продаются под одинаковыми названиями.

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

Тем не менее, говоря об Ардуино, обычно подразумевают первоначальную ветвь проекта на сайте arduino.cc.

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

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

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

Аппаратная часть

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

Конструктив

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

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

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

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

Миниатюрные клоны Arduino

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

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

Как и Arduino, сборка плат производится в стопки.

Самый миниатюрный клон был выпущен под торговой маркой Femtoduino. Его размеры всего 15*20 мм, включая разъем micro USB, стабилизатор напряжения и полный комплект ввода-вывода Arduino UNO. Той же компанией выпущен самый нафаршированный миниатюрный клон под торговой маркой IMUduino.

Это клон Arduino Leonardo с поддержкой USB Host (клавиатура и мышь), Bluetooth 4 Low Energy, шестиосный гироскоп/акселерометр, трехосный магнитометр (компас), барометр. Размер устройства 16*40 мм. К сожалению, проект на данный момент не предлагает совместимых по цоколевке плат расширения.

Микроконтроллер

Микроконтроллеры для Arduino отличаются наличием предварительно прошитого в них загрузчика (bootloader).

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

Загрузчик соединяется с компьютером через интерфейс USB (если он есть на плате) или с помощью отдельного переходника UART-USB. Поддержка загрузчика встроена в Arduino IDE и выполняется в один щелчок мыши.

На случай затирания загрузчика или покупки микроконтроллера без загрузчика разработчики предоставляют возможность прошить загрузчик в микроконтроллер самостоятельно. Для этого в Arduino IDE встроена поддержка нескольких популярных дешевых программаторов, а большинство плат Arduino имеет штыревой разъем для внутрисхемного программирования (ICSP для AVR, JTAG для ARM).

В Arduino IDE от компании, базирующейся на сайте arduino.cc, встроена возможность создания своих программно-аппаратных платформ. Этой возможностью пользуются сторонние компании, добавляющие в Arduino IDE свои наборы плат и компиляторов-загрузчиков к ним. Компания на сайте arduino.org не поддерживает такую возможность.

AVR

В линейке устройств Arduino в основном применяются микроконтроллеры Atmel AVR: ATmega328, ATmega168, ATmega2560, ATmega32U4, ATTiny85 с частотой тактирования 16 или 8 МГц. В старых изделиях применялись ATmega8, ATmega1280 и другие.

ARM Cortex M

Есть также платы на процессоре ARM Cortex M.

ESP8266

Сторонние разработчики портировали в Arduino поддержку популярного Wi-Fi микроконтроллера ESP8266. Теперь компилировать и загружать прошивку для ESP8266 со своими скетчами и поддержкой Wi-Fi можно прямо из Arduino IDE, получая одноплатную схему с поддержкой сети Wi-Fi. Подробное русскоязычное описание процесса установки и доступного API здесь, пример работы здесь.

Intel x86

В рамках сотрудничества со сторонними производителями в Arduino IDE была включена поддержка некоторых аппаратных средств Intel x86.

Intel Galileo (процессор Intel Quark X1000 400 МГц), Intel Edison и Arduino 101 — Arduino-совместимые платы на Intel x86 архитектуре. Платы механически и электрически совместимы с периферийными платами Ардуино.

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

Периферия

Порты ввода-вывода микроконтроллеров оформлены в виде штыревых линеек. Никакого буферизирования, защиты, конвертации уровней или подтяжек, как правило, нет. Микроконтроллеры питаются от 5В или 3,3В, в зависимости от модели платы.

Соответственно порты имеют такой же размах допустимых входных и выходных напряжений. Программисту доступны некоторые специальные возможности портов ввода-вывода микроконтроллеров, например широтно-импульсная модуляция , аналогово-цифровой преобразователь, интерфейсы UART, SPI, I2C.

Количество и возможности портов ввода-вывода определяются конкретным вариантом микропроцессорной платы.

Помимо портов на платах микроконтроллеров иногда устанавливается периферия в виде интерфейсов USB или Ethernet. Опциональный набор внешней периферии на модулях расширения включает в себя:

  • USB Device (чаще всего как виртуальный COM порт через FTDI FT232, имеются также версии с эмуляцией USB HID Class клавиатур и мышек).
  • Проводной и беспроводной Ethernet как на основной плате так и на платах расширения.
  • Модуль GSM и другие беспроводные интерфейсы.
  • USB Host.
  • SD card.
  • Модуль управления низковольтным мотором на базе L298. Поддерживаются шаговый и коллекторный двигатели с напряжением до 12В и током до 2А на канал. Могут подключаться также реле, электромагниты и т. п. Модуль не имеет гальванической развязки.
  • Графический ЖКИ индикатор.
  • Модуль с макетным полем.

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

ArduinoМКНапряжение питанияФлеш-память,КБEEPROM,КБSRAM,КБДвоичныевходы/выходы…cШИМАналоговыевходыUSB-интерфейсПрочиеинтерфейсыРазмеры,мм
Due Atmel SAM3X8E ARM Cortex-M3 3.3 В 512 Нет 256 54 12 12 + 2ЦАП ATmega16U2 CAN, JTAG, I2C 101,6 × 53.3
ADK ATmega2560 5 В 256 4 8 54 14 16 ATmega8U2 MAX3421EUSB хост 101,6 × 53.3
BT (Bluetooth) ATmega328 5 В 32 1 2 14 4 6 Нет Bluegiga WT11 Bluetooth
Diecimila ATmega168 5 В 16 0.5 1 14 6 6 FTDI 68,6 × 53.3
Duemilanove ATmega168/328P 5 В 16/32 0.5/1 1/2 14 6 6 FTDI 68,6 × 53.3
Ethernet ATmega328 5 В 32 1 2 14 4 6 Нет Wiznet EthernetMicroSD
Fio ATmega328P 3.3 В 32 1 2 14 6 8 Нет 40,6 × 27.9
Leonardo Atmega32u4 5 В 32 1 2 14 6 12 Atmega32u4 68,6 × 53.3
LilyPad ATmega168V или ATmega328V 2.7-5.5 В 16 0.5 1 14 6 6 Нет 50 ⌀
Mega ATmega1280 5 В 128 4 8 54 14 16 FTDI 101,6 × 53.3
Mega2560 ATmega2560 5 В 256 4 8 54 14 16 ATmega8U2 ATmega16U2 101,6 × 53.3
Nano ATmega168 или ATmega328 5 В 16/32 0.5/1 1/2 14 6 8 FTDI 43 × 18
Uno ATmega328P 5 В 32 1 2 14 6 6 ATmega8U2 ATmega16U2 68,6 × 53.3

Язык программирования

Программирование ведется целиком через собственную программную оболочку (IDE), бесплатно доступную на сайте Arduino. В этой оболочке имеется текстовый редактор, менеджер проектов, препроцессор, компилятор и инструменты для загрузки программы в микроконтроллер. Оболочка написана на Java на основе проекта Processing, работает под Windows, Mac OS X и Linux.

Язык программирования Arduino является стандартным C++ (используется компилятор AVR-GCC) с некоторыми особенностями, облегчающими новичкам написание первой работающей программы.

  • Программы, написанные программистом Arduino называются наброски (или иногда скетчи) и сохраняются в файлах с расширением .ino. Эти файлы перед компиляцией обрабатываются препроцессором Ардуино. Также существует возможность создавать и подключать к проекту стандартные файлы C++.
  • Обязательную в C++ функцию main() препроцессор Arduino создает сам, вставляя туда необходимые «черновые» действия.
  • Программист должен написать две обязательные для Arduino функции setup() и loop(). Первая вызывается однократно при старте, вторая выполняется в бесконечном цикле.
  • В текст своей программы (скетча) программист не обязан вставлять заголовочные файлы используемых стандартных библиотек. Эти заголовочные файлы добавит препроцессор Arduino в соответствии с конфигурацией проекта. Однако пользовательские библиотеки нужно указывать.
  • Менеджер проекта Arduino IDE имеет нестандартный механизм добавления библиотек. Библиотеки в виде исходных текстов на стандартном C++ добавляются в специальную папку в рабочем каталоге IDE. При этом название библиотеки добавляется в список библиотек в меню IDE. Программист отмечает нужные библиотеки и они вносятся в список компиляции.
  • Arduino IDE не предлагает никаких настроек компилятора и минимизирует другие настройки, что упрощает начало работы для новичков и уменьшает риск возникновения проблем.

Простейшая Arduino-программа состоит из двух функций:

  • setup(): функция вызывается однократно при старте микроконтроллера.
  • loop(): функция вызывается после setup () в бесконечном цикле все время работы микроконтроллера.

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

«Ардуино» имеет одно преимущество – ему не нужен программатор. Всё сделано так, чтобы программирование Arduino для начинающих не составляло труда. Написанный код можно загрузить в МК посредством USB-шнура.

Достигается это преимущество не каким-то встроенным уже заранее программатором, а спецпрошивкой – бутлоадером.

Читайте также:  Карманный источник питания на 12 вольт своими руками

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

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

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

Пользователь может самостоятельно запрограммировать загрузчик в чистый микроконтроллер. Для этого в IDE интегрирована поддержка программатора на основе проекта AVRDude. Поддерживается несколько типов популярных дешёвых программаторов.

Почему 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. Соответственно, имеется возможность добавить код из среды AVR-C в программу Arduino.

Аппаратные средства с возможностью расширения и открытыми принципиальными схемами – микроконтроллеры ATMEGA8 и ATMEGA168 являются основой Arduino.

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

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

Источник: http://micpic.ru/home/proekty-na-arduino/186-chto-takoe-arduino.html

Что такое Arduino и что с ним можно сделать

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 позволит вам узнать много нового и интересного и в электронике, и в программировании. В итоге это может стать вам отличным хобби, увлекательным занятием с детьми, замечательным и полезным времяпровождением. 

Источник: https://www.kakprosto.ru/kak-920473-chto-takoe-arduino-i-chto-s-nim-mozhno-sdelat

Глава 3. Краткий обзор семейства микроконтроллеров Arduino

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

Основа — контроллер ATmega компании Atmel широко распространенного 8-разрядного семейства AVR. К нему добавляется узел электропитания и последовательный интерфейс. В последних версиях Arduino имеется USB-интерфейс.

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

Плату Arduino часто рассматривают как устройство ввода/вывода. Плата Arduino предоставляет в распоряжение пользователя 14 цифровых входов или выходов, из них шесть можно использовать как аналоговый выход (8-разрядный ШИМ-канал). Следующие шесть входов могут принимать аналоговые сигналы (10-разрядный АЦП). В качестве дополнительных интерфейсов предусмотрены шины SPI и 12С.

Имеется несколько вариантов исполнения плат Arduino (рис. 3.1-3.7). Оригинальные изделия производит итальянская фирма Smart Projects. Существуют также многочисленные клоны и копии других поставщиков, наконец, встречаются свободно распространяемые аппаратные средства.

Важный компаньон проекта Arduino— компания Sparkfun (Боулдер, Колорадо). Совместно с американским партнером выпущен ряд оптимизированных плат Arduino, в название которых добавлено обозначение «Pro».

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

Многие пользователи предпочитают плату Arduino Duemilanove, изготовленную компанией Smart Projects, на которой установлен ATmega-контроллер в DIP-корпусе на панельке. Это изделие несущественно отличается от весьма успешного предшественника— Arduino Diecimilanove (рис. 3.2), которая названа в честь первых 10 000 проданных плат. На плате добавлен чип компании FTDI, реализующий интерфейс USB.

Новая плата Arduino Mega (рис. 3.1) имеет более мощный микроконтроллер (Atmegal280) и память большего объема, а также расширенные функции интерфейса ввода/вывода.

Плата Arduino Mini (рис. 3.3) существенно меньше по размеру и имеет формат DDP24. Весь модуль вставляется в 24-контактую панельку. Версия платы Arduino Pro Mini (рис. 3.5) компании Sparkfun почти идентична, но поставляется в планар-ном корпусе. Для программирования предусмотрен USB-адаптер, который может вставляться с боковой стороны модуля.

Плата LilyPad Leah Buechley (выпущенная в сотрудничестве с компанией Sparkfun) также совместима с Arduino, но обладает своими особенностями. Плата LilyPad и вспомогательные комплектующие специально разработаны для установки в одежду и реализуют симбиоз техники и дизайна. Характерная круглая форма платы LilyPad-Arduino (рис. 3.

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

) выполнены в едином стиле под девизом «Сочетание электроники со швейным производством».

Информация о новых версиях платы и комплектующих имеется на сайте проекта Arduino и сайте компании SparkFun Electronics.

3.1. Плата Arduino Mega

Технические данные:

□ Микроконтроллер ATmegal280. 

□ Flash-память 128 Кбайт.

□ RAM-память 8 Кбайт, EEPROM 4 Кбайт.

□ Тактовая частота 16 МГц.

□ 54 цифровых канала ввода/вывода, из них 14 применимы для ШИМ. 

□ 4 аппаратных средства UART.□ Интерфейс I2C, SPI.□ 16 аналоговых входов 10-разрядных АЦП.□ Интерфейс USB, источник питания, начальный загрузчик и т. д., как у Arduino Duemilanove.

□ Габаритные размеры примерно 101x53x12 мм.

3.2. Плата Arduino Duemilanove

Технические данные:

□ Микроконтроллер ATmega328.

□ Flash-память 32 Кбайт (из них 2 Кбайт для начального загрузчика системы). 

□ RAM 2 Кбайт, EEPROM 1 Кбайт.

□ Тактовая частота 16 МГц

□ 14 цифровых каналов ввода/вывода, из них 6 применимы для ШИМ.

□ 6 аналоговых входов 10-разрядных АЦП.

□  Встроенный интерфейс USB FT232RL от компании FTDI.

□ Рабочее напряжение 5 В, питание через USB или от стабилизатора напряжения (входное напряжение 7-12 В).

□ Габаритные размеры примерно 69x53x12 мм.

□ Загрузчик системы уже установлен при поставке, загрузка возможна без программного адаптера.

3.3. Плата Arduino Mini

Технические данные:

□ Микроконтроллер ATmegal68 с тактовой частотой 16 МГц.

□ Программирование через адаптер USB (ARDUINO/USB, адаптер USB с чипом компании FTDI).

□  EEPROM 512 бит.

□ SRAM 1 Кбайт.

□ FLASH 16 Кбайт (2 Кбайт требуется для начального загрузчика системы).

Читайте также:  Поделки с микроконтроллерами avr: примеры решений

□ Рабочее напряжение 5 В.

□ 14 цифровых каналов ввода/вывода, 6 из них могут использоваться для формирования ШИМ.

□ Восемь аналоговых входов 10-разрядных АЦП.

□ Напряжение питания 7-9 В.

3.4. Плата Arduino Nano

Технические данные:

□ ATmega328 или более старая версия 168 с тактовой частотой 16 МГц.

□ Программирование через встроенный разъем USB.

□ Функция автоматического сброса.

□ Рабочее напряжение 5 В.

□ 14 цифровых каналов ввода/вывода, 6 из них могут использоваться для формирования ШИМ.

□  Восемь аналоговых входов 10-разрядных АЦП.

□ Flash-память объемом 32 Кбайт или 16 Кбайт.

□ SRAM 1 Кбайт.

□ EEPROM 512 байт или 1 Кбайт.

□ Максимальный выходной ток 40 мА.

□ Напряжение питания 6-20 В.

□  Габаритные размеры: 18×43 мм.

3.5 Плата Arduino Pro Mini

Технические данные:

□ ATmega328 с тактовой частотой 16 МГц (точность 0,5%).

□ Программирование через адаптер USB (ARDUINO/USB).

□ Функция автоматического сброса.

□ Варианты платы под рабочее, напряжение 5 и 3,3 В.

□ Максимальный выходной ток 150 мА.

□ Защита от перегрузки.

□ Защита от неправильной полярности.

□ Напряжение питания 5-12 В.

□ Встроенное питание и светодиоды состояния.

□ Габаритные размеры: 18×33 мм.

□ Вес менее 2 г.

3.6. Плата Arduino Pro

Технические данные:

□ ATmega328 и более старые ATmegal68 с тактовой частотой 16 МГц.

□ Программирование через адаптер USB (ARDUINO/USB).

□ Варианты исполнения под рабочее напряжение 5 и 3,3 В.

□ 14 цифровых выводов каналов ввода/вывода, из них 6 применимы для ШИМ.

□ Шесть аналоговых входов 10-разрядных АЦП.

□  Напряжение питания 3,35-12 В (версия 3,3 В), 5-12 В (версия 5 В).

□ Выходной ток цифрового выхода 40 мА.

□ FLASH 32 Кбайт или 16 Кбайт (ATmegal68).

□  SRAM1 Кбайт (ATmegal68) или 2 Кбайт (ATmega328).

□ 512-(ATmega 168) или EEPROM 1 Кбайт.

3.7. Плата LilyPad

Технические данные:

□ ATmega328V и более старые ATmega 168V с тактовой частотой Программирование через адаптер USB (ARDUINO/USB)

□ Напряжение питания 2,7-5,5 В.

□ 14 цифровых каналов ввода/вывода, из них 6 применимы для ШИМ. П Шесть аналоговых входов 10-разрядных АЦП.

□ Выходной ток 40 мА.

□  FLASH 32 Кбайт или 16 Кбайт (ATmegal68).

□ SRAM 1 Кбайт (Atmegal68) или 2 К.

3.8. USB-адаптер

Адаптер USB (рис. 3.8) выпускается в исполнении на 3,3 и 5 В.

Адаптер предназначен для программирования Arduino-платбез USB-порта. Расположение выводов соответствует оригинальным спецификациям Arduino. Адаптер может использоваться также для обмена данными через виртуальный последовательный интерфейс. Код программы Arduino можно загружать в плату без аппаратного сброса системы кнопкой Reset.

Источник: http://radiogid.ucoz.ru/index/glava_3_kratkij_obzor_semejstva_mikrokontrollerov_arduino/0-11

Arduino Leonardo

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

  Не остаются в стороне и достижения производителей микропроцессоров.

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

Arduino Leonardo – одна из относительно новых разработок итальянской команды. По внешнему виду плата несколько напоминает Arduino UNO. Но использование стандартного форм-фактора фактически стало единственным схожим элементом. Вся начинка платы претерпела значительные изменения.

Первое что бросается в глаза – тотальное применение элементов поверхностного монтажа и использование разъема mini-USB, вместо стандартного. При более внимательном рассмотрении оказывается, что увеличилось количество контактов для подключения периферийных модулей, и исчез чип преобразователя USB.

Также изменилось расположение светодиодов и кнопки Reset.

Плата Arduino Leonardo

В основу Leonardo разработчики заложили микроконтроллер ATmega32U4. Именно его использование и породило отличия от предыдущих вариантов и, соответственно, новые возможности платы. Главной особенностью микроконтроллера стала аппаратная поддержка Full Speed USB.

Этот факт позволил отказаться от дополнительного преобразователя, а также привнес еще несколько возможностей. В частности плата Leonardo может быть использована совместно с ПК в качестве HID-устройства.

Некоторым недостатком стала необходимость использовать кнопку Reset, для загрузки скетча, в случае зависания пользовательского алгоритма.

Еще одним серьезным отличием Leonardo от предыдущих версий стало изменение распиновки таких интерфейсов как USART, I2C и SPI. Типовой последовательный интерфейс больше не связан с цепями загрузки и работает отдельно. Интерфейс SPI убран с цифровых выходов.

При необходимости его использования, можно подключиться к разъему ICSP. I2C наоборот получил отдельные вывода, чем удлинил старшую колодку Digital.  Еще два вывода добавлены к колодке питания.

Первый IOREF — предназначен для правильного выбора напряжения питания цифровых выводов, которое в данной модели рано 5В. Второй никуда не подключен.

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

Параметр Uno Leonardo
Микроконтроллер ATmega328p ATmega32u4
Тактовая частота кварцевого генератора (МГц) 16 16
Количество цифровых входов/выходов 20 20
Поддержка ШИМ (выходов) 6 7
Количество аналоговых входов 6 12
Количество входов аппаратных прерываний 2 2
Объём Flash-памяти (Кб) 32 32
Объём SRAM-памяти (Кб) 2 2,5
Объём EEPROM-памяти (Кб) 1 4
Тип USB-разъёма Type B micro-USB

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

Еще по теме:

Шилды для Arduino

Робот на Arduino

You have no rights to post comments

Источник: https://mcucpu.ru/index.php/platformy-8-bit/arduino/138-arduino-leonardo

SimpleCortex — отладочная плата, совместимая с Arduino. Часть 1 — Аппаратная часть

Журнал РАДИОЛОЦМАН, июль 2012

BRC-Electronics

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

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

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

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

Одной из самых мощных версий Arduino на базе «чужих» процессоров стала плата chipKIT32. Сегодня она существует в двух вариантах: chipKIT32 Uno32 и chipKIT32 Max32. По своим характеристикам платы копируют «родные» варианты Uno и Max, соответственно, от Arduino.

Обе платы оснащаются процессорами серии PIC32 компании Microchip, которая фактически и является владельцем торговой марки chipKIT. Платы представляют собой высокоинтегрированные отладочные модули с разнообразной периферией. Самым главным достоинством данного проекта стала полная совместимость с языком программирования Wiring и, соответственно, программой ArduinoIDE.

Чтобы достичь этого был создан новый компилятор под PIC32, а среда разработки получила название mpide.

Но уже появляются отладочные платы и модули на микроконтроллерах ARM. Так Arduino не так давно представила плату Arduino Due на микроконтроллере ATMEL семейства SAM3U с ядром Cortex-M3. В статье мы подробно рассмотрим еще один вариант отладочного модуля на микроконтроллере ARM.

SimpleCortex – это компактная отладочная плата на базе быстродействующего микроконтроллера LPC1769 компании NXP, сконструированная в форм-факторе Arduino (Рисунок 1).

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

Микроконтроллер LPC1769 разработан на основе ядра ARM Cortex-M3, работающего на тактовой частоте до 120 МГц, имеет встроенную Flash-память программ объемом 512 Кбайт, 64 Кбайт ОЗУ и разнообразную периферию. В Таблице 1 сравниваются характеристик отладочных плат SimpleCortex и Arduino.

Рисунок 1. Внешний вид отладочной платы SimpleCortex.

Отличительные особенности и технические характеристики микроконтроллера LPC1769:

  • Ядро ARM Cortex-M3, рабочая частота до 120 МГц
  • Блок защиты памяти (MPU), поддержка до восьми областей памяти
  • Встроенный контроллер вложенных векторных прерываний (NVIC)
  • Усовершенствованный ускоритель памяти позволяет работать на скорости до 100 МГц без циклов ожидания
  • Внутрисхемное программирование (ISP) и программирование приложением (IAP) через программный загрузчик
  • Восьмиканальный DMA контроллер общего назначения (GPDMA) на многоуровневой матрице AHB может использоваться с SSP, I2S, UART, аналого-цифровыми и цифро-аналоговыми преобразователями, сигналами совпадения таймера и для пересылок память-память
  • Отдельная шина APB для высокоскоростного обмена между ЦПУ и DMA
  • Коммуникационные интерфейсы:
    • Ethernet MAC с интерфейсом RMII и контроллером DMA
    • Полноскоростной контроллер устройства/хоста/OTG USB2.0 с соответствующим контроллером DMA и встроенным PHY для устройства, функциями Хост и OTG
    • Четыре UART с контроллерами дробной скорости передачи, внутренней FIFO, поддержкой DMA и RS-485. Один UART снабжен полным набором модемных сигналов, и один поддерживает IrDA
    • Контроллер CAN 2.0B с двумя каналами
    • SPI контроллер с синхронной, последовательной, полнодуплексной передачей и программируемой длиной данных
    • Два контроллера SSP с FIFO и мультипротокольными возможностями. Интерфейсы SSP могут использоваться с контроллером GPDMA
    • Два интерфейса шины I2C, поддерживающие быстрый режим работы со скоростью 400 Кбит/с с распознаванием адресов и режимом монитора
    • Один интерфейс шины I2C, полностью поддерживающий работe со скоростью 1 Мбит/с, распознавание адресов и режим монитора
  • 70 линий ввода-вывода общего назначения (GPIO) с конфигурируемыми подтягивающими резисторами и новым конфигурируемым режимом открытого стока
  • Многоканальный 12 битный АЦП
  • 10 битный ЦАП с выделенным для него таймером и поддержкой DMA
  • Четыре таймера/счетчика общего назначения с восемью входами захвата и десятью выходами сравнения. Каждый блок таймера имеет внешний вход счета и поддержку DMA
  • Специализированный канал ШИМ для управления электродвигателями, включая трехфазные
  • Один стандартный ШИМ/таймер с внешним входом счета
  • Часы реального времени (RTC) с отдельным источником питания и генератором
  • Сторожевой таймер (WDT)
  • Таймер системных тиков с возможностью внешнего тактирования
  • Таймер повторяющихся прерываний для программирования и повторения синхронизированных прерываний
  • Каждая периферийная схема имеет собственный делитель тактового сигнала для большей экономии энергии
  • Напряжение питания 3.3 В (2.4 В – 3.6 В)
  • Области применения:
    • Электронные измерения
    • Осветительная аппаратура
    • Промышленные сети
    • Системы сигнализации
    • Предметы домашнего обихода
    • Управление электродвигателями

Таблица 1. Сравнение характеристик отладочных плат SimpleCortex и Arduino.

Параметры SimpleCortex Arduino UNO Arduino MEGA
Flash-память 512 Кбайт 32 Кбайт 128 Кбайт
ОЗУ 64 Кбайт 2 Кбайт 8 Кбайт
EEPROM Нет 1 Кбайт 4 Кбайт
Тактовая частота 120 МГц 16 МГц 16 МГц
Встроенный отладчик Да Нет Нет
Слот MicroSD Да Нет Нет
Интерфейс Ethernet Да Нет Нет
Прерывания 30 2 6
Линии ввода/вывода 40 14 54
Интерфейс I2C 3 1 1
Интерфейс SPI 1 1 1
Модуль UART 4 1 3
АЦП 8 6 16
ЦАП 1 Нет Нет
Каналы ШИМ 6 6 14
Читайте также:  Полное руководство по покупке смартфона в 2016 году - arduino+

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

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

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

В состав отладочной платы SimpleCortex входят источник питания, отладчик, микроконтроллер LPC1769 и интерфейс Ethernet.

Основной источник питания на микросхеме импульсного регулятора LM2575 вырабатывает напряжение +5 В из входного напряжения в диапазоне 7 … 40 В (Рисунок 2). Напряжение 3.3 В для питания микроконтроллера и периферии вырабатывает линейный стабилизатор LM1117. Кроме того, при подключении к ПК плата может питаться от интерфейса USB.

Рисунок 2. Принципиальная схема источника питания и подключения средств организации пользовательского интерфейса отладочной платы SimpleCortex.

Встроенный USB отладчик выполнен на отдельном микроконтроллере LPC1343 и может использоваться для программирования по интерфейсу JTAG любых внешних микроконтроллеров, поддерживаемых средой CoIDE. Для этого на плате установлены разъем JTAG и DIP-переключатель DB-EX (Debugger Extern), который просто отключает питание от микроконтроллера платы SimpleCortex (Рисунки 3 и 4).

Рисунок 3. Использование встроенного отладчика SimpleCortex для программирования микроконтроллеров во внешних устройствах.

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

Рисунок 4. Принципиальная схема отладчика платы SimpleCortex.

Микроконтроллер и периферия

Принципиальная схема отладочной платы SimpleCortex изображена на Рисунке 5. Все сигналы свободных линий ввода/вывода микроконтроллера доступны на разъемах, расположенных по периметру платы в соответствии с форм-фактором платформы Arduino.

Для организации простого пользовательского интерфейса установлены 4 светодиода и 2 кнопки. Помимо пользовательских светодиодов имеются светодиоды статуса (наличие питания +5 В и 3.

3 В, отладчик подключен к ПК и работает, ошибка отладки, отладчик занят), а также кнопки сброса и переключения в режим программирования внешнего микроконтроллера.

Интерфейс Ethernet выполнен на базе контроллера LAN7280 (10/100 Мбит) со всеми необходимыми компонентами обвязки. Стандартный разъем Ethernet со светодиодами статуса установлен на плату.

Каждый порт USB (а их на плате два – один для отладки, второй – USB Host) имеет защитный диод, а USB Host дополнительно имеет перемычку, которая устанавливается при необходимости подачи напряжения питания на USB устройство для чтения. Если порт USB Host используется для обмена по последовательному интерфейсу, перемычка не устанавливается.

Рисунок 5. Принципиальная схема отладочной платы SimpleCortex.

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

Рисунок 6. Расположение разъемов, переключателей и светодиодов и сигналы линий ввода/вывода на плате SimpleCortex.

Загрузки

Принципиальная схема отладочной платы (Eagle), расположение и назначение разъемов платы – скачать

Часть 2 — Приступая к работе с платой SimpleCortex

brc-electronics.nl

Источник: https://www.rlocman.ru/shem/schematics.html?di=134042

Мое первое знакомство с Arduino

  • Магазины Китая
  • TINYDEAL.COM
  • Радиоуправляемые модели

В какой-то момент жизни я осознал, что темное пятно в понимании микроконтроллеров не дает мне жить спокойной размеренной жизнью.

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

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

Вместо пролога

Тема использования Arduino глубоко раскрыта в статьях уважаемых участников форума Spc, Sanja и Bim_Sony. Данная статья не претендует на полноту описания, но показывает опыт человека, никоим образом ранее не сталкивавшегося ни с электроникой, ни с микро контролерами в частности. Отчетливо понимая, что мир микроконтроллеров не начинается с Arduino и то, что данная платформа скроет от меня многие премудрости работы с ними (равно как и уберет многие грабли для начинающего) я запасаюсь терпением и желанием открыть для себя что-то, что окружает ежедневно, но спрятано за стеной непонимания, а скорее просто не заметно глазу.

Первым шагом стала покупка Arduino Duemilanove. Почему именно эта модель? Абсолютно спонтанное решение — просто подвернулась в списке новинок магазина.

Техническая информация

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

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

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

Кстати, забегая вперед скажу, что под Ubuntu среда разработки видеть плату без бубна не захотела — пункт последовательный порт не был активен в меню «Сервис». Решение подсказал гугл.

Следующим шагом стала покупка платформы с четырьмя моторами, и motor driver shield.

Дополнительная информация о шасси

Количество моторов: 4

Количество колес: 4
Цвет: черный или прозрачный
Крепления: платформа содержит множество отверстий, предназначенных для крепления датчиков, кроме того возле каждого колеса есть посадочное место под датчик прерывания (для получения обратной связи по скорости вращения колеса)

Дополнительная информация о LM293D

Motor Shield – силовой модуль управления двигателями для микроконтроллеров серии Freeduino/Arduino. Модуль предназначен для упрощения разработки моторизированных и робототехнических устройств.

Технические возможности позволяют реализовать разнообразные проекты, связанные с подключением и управлением слаботочными двигателями следующих типов: * четырёх двигателей постоянного тока (DC motors); * двух шаговых двигателей униполярных или биполярных с одинарной или * двойной обмоткой (stepper motors); * двух 5В сервоприводов.

Технические характеристики

напряжение питания: +7…+ 24 В;
количество силовых каналов: 4;
максимально-продолжительный ток каждого канала: 0,6 А;
напряжение питания сервоприводов: 5 В;
возможность реверса каждого двигателя;
возможность независимого управления каждым каналом;
Отверстия на платформе оказались не приспособленными для крепления Arduino-подобных, но это не смутило. Вооружившись стяжками удалось закрепить на ней Duemilanove, поверх которого тут же был водружен motor shield:Еще одним неприятным моментом стало отсутствие припаянных проводов к моторам. Пришлось потратить какое-то время на лужение и припаивание проводов из тех что были в наличии.

Совет

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

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

Совет

Мне, как новичку, показалось удобным на этапе сборки платформы пронумеровать пары проводов и сами моторы, чтобы не путаться в дальнейшем при написании кода. Моторы:И пары проводов:Кроме того, чтобы не путать полярность при отключении проводов от моторов, плюсовые провода и зажимные контакты шилда были также помечены красным маркером:Конечно, если вы будете использовать провода разных цветов, помечать провода не имеет смысла. Мне же было удобно, так как все использованные мною провода были черного цвета.Чтобы закончить с материальной составляющей, осталось лишь обеспечить питание для моторов. Источником, по-началу, была выбрана сборка из четырех элементов AAA:Но такого запаса хватало не на долго и немного позже была добавлена сборка из 6 AA элементов, которая в отличии от первой не имела кнопки включения/выключения, поэтому в разрез плюсового проводника был вставлен переключатель:Обе батареи решил оставить для чистоты эксперимента — разделить по питанию Ардуино и мотор шилд и оценить разницу.

Справка

Для написания кода (т.н. скетчей) используется одноименная среда разработки «Arduino IDE».

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

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

Код скетча

#include #define MAX_SPEED 255 // Maximum motor speed #define LEFT 33 #define RIGHT 44 #define TURN_TIME 660 //Создаем объекты для двигателей AF_DCMotor frontLeftMotor(1); //канал М1 — передний левый AF_DCMotor frontRightMotor(2); //канал М2 — передний правый AF_DCMotor rearLeftMotor(3); //канал М3 — задний левый AF_DCMotor rearRightMotor(4); //канал М4 — задний правый void setup() {} void setSpeed(int newSpeed) { frontLeftMotor.setSpeed(newSpeed); rearLeftMotor.setSpeed(newSpeed); frontRightMotor.setSpeed(newSpeed); rearRightMotor.setSpeed(newSpeed); } void turn(int dir) { switch(dir) { case LEFT: frontLeftMotor.run(BACKWARD); rearLeftMotor.run(BACKWARD); frontRightMotor.run(FORWARD); rearRightMotor.run(FORWARD); break; case RIGHT: frontLeftMotor.run(FORWARD); rearLeftMotor.run(FORWARD); frontRightMotor.run(BACKWARD); rearRightMotor.run(BACKWARD); break; default: break; } delay(TURN_TIME); } void move(int dir) { switch (dir) { case FORWARD: frontLeftMotor.run(FORWARD); rearLeftMotor.run(FORWARD); frontRightMotor.run(FORWARD); rearRightMotor.run(FORWARD); break; case BACKWARD: frontLeftMotor.run(BACKWARD); rearLeftMotor.run(BACKWARD); frontRightMotor.run(BACKWARD); rearRightMotor.run(BACKWARD); break; default: frontLeftMotor.run(RELEASE); rearLeftMotor.run(RELEASE); frontRightMotor.run(RELEASE); rearRightMotor.run(RELEASE); } delay(500); } void loop() { setSpeed(MAX_SPEED); move(FORWARD); turn(RIGHT); move(FORWARD); move(BACKWARD); delay(500); turn(RIGHT); move(FORWARD); turn(LEFT); move(FORWARD); delay(80); turn(LEFT); move(RELEASE); delay(9500); }
После компиляции и заливки в Ардуино машинка прошла боевое крещение:И даже вызвала интерес у домашнего любимца:

И напоследок несколько фото агрегата.

Эпилог

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

Резюме

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

Плюсы:

Огромное комьюнити, тонны видео и статей Открытая архитектура Легкое макетирование

Минусы:

Цена некоторых шилдов кусается.

Upd: Магазин снизил цену с $13.49 до $10.99

Планирую купить +86 Добавить в избранное Обзор понравился +103 +187

Источник: https://mysku.ru/blog/china-stores/18729.html

Ссылка на основную публикацию