Урок по Arduino №2 — для чего нужны аналоговые входы на Arduino и как их использовать?

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

image Тестер транзисторов / ESR-метр / генератор Многофункциональный прибор для проверки транзисторов, диодов, тиристоров… Подробнее

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

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

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

Хакерспейс (Hackerspace) — мастерская-клуб, где энтузиасты могут заниматься любимым делом. Благодаря этой популярности, в интернете вы найдете много людей, которые готовы оказать посильную помощь в обучении и освоении Arduino.

Внешний вид Arduino UNO

Плата контроллера Arduino UNO проста. С левой стороны есть USB разъем, который соединяет Arduino с компьютером.

По краям платы сверху и снизу расположен ряд контактов черного цвета, называемые пинами [англ. «Pin»]. Они сконструированы таким образом, что к ним легко подключить провода не используя при этом паяльник.

image

Именно к этим контактам подключаются различные устройства и датчики, которые взаимодействуют с Arduino. Также эти разъемы позволяют установить на плату контроллера дополнительные модули (платы расширения), увеличивающие возможности Arduino. Эти модули называются Шилд [англ. «Shield»].

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

Основные элементы на схеме обозначены синим цветом. Дополнительные, менее важные элементы обозначены зеленым цветом. Выводы питания с различным напряжением отмечены красным цветом. Выводы GND [минус] отмечены черным цветом.

Разъем «USB»

Разъем USB используется для подключения Arduino к компьютеру. Через этот разъем загружается программа (скетч) в микроконтроллер Ардуино. Этот разъем также служит для связи с компьютерной программой.

В процессе «общения» Arduino с компьютером мигают светодиоды:

  • LED_TX — при передаче данных на компьютер
  • LED_RX – при получении данных от компьютера

Разъем POWER

Разъем «POWER» служит для подключения блока питания. Внешний источник питания обычно используется тогда, когда Arduino должен работать без компьютера. Напряжение источника питания должно находиться в пределах от 7 до 12 В. По умолчанию Arduino может питаться от компьютера через разъем USB (5В).

Индикатор «ON»

Данный индикатор светится когда Arduino подключен и работает.

Кнопка «RESET»

После нажатия кнопки «RESET» ваша программа в Arduino запускается заново.

Выводы питания – «POWER»

Контакты питания расположены с левой стороны нижнего края платы. Они предназначены для обеспечения необходимого напряжения для проекта. На выбор у вас есть напряжение 3,3В и 5В. «GND» (масса) — это обозначение второго полюса питания, в народе называемый «минус». Вывод «VIN» — это напряжение с адаптера (блока питания).

Вывод «RESET»

Вывод «RESET» полностью выполняет ту же функцию, что и кнопка «RESET». Если на данный вывод соединить на некоторое время к землей (GND), то программа в Arduino запускается заново.

Вывод «IOREF»

Вывод «IOREF» позволяет адаптировать платы расширения и Arduino по напряжению.

«Digital» – Цифровой вывод

Данный тип выводов отмечен на рисунке как «Digital». Находятся на верхней кромке платы. Пронумерованы от 0 до 13. Каждый из них можно запрограммировать так, чтобы он выполнял роль входа или выхода.

Характеризуются они тем, что в качестве выходного сигнала присутствует 0В (лог.0) или 5В (лог.1). В качестве входа принимают также два уровня напряжения около 0В и напряжение между 2,5 и 5В. Они управляют устройствами в стиле вкл/выкл, например, для управления светом в доме.

«Analog» – Аналоговый вывод

Они отмечены на рисунке как «Analog». Пронумерованы от 0 до 5. Выполняют только функцию входа. Могут измерять напряжение от 0 до 5В. Аналоговые входы имеют разрешение 10 бит.

Распознают 1024 уровня напряжения, что дает точность примерно 0,005 В. Точность можно повысить, уменьшая программно диапазон опорного напряжений от 0 до 1,1В. С помощью вывода «AREF» можно подключить внешний источник опорного напряжения (ИОН) не превышающий 5В.

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

Светодиод «L»

Arduino имеет встроенный светодиод обозначенный как «L». Его можно включать и выключать с помощью программы. В Arduino UNO индикатор подключен к цифровому контакту номер 13.

«PWM» (ШИМ) вывод

Часть цифровых пинов имеет дополнительную функцию, обозначенную как ШИМ. Эта функция позволяет регулировать мощность, которая подается на светодиоды и электродвигатели. Благодаря ШИМ можно программно регулировать скорость вращения двигателя или яркость свечения светодиодов.

«INT» – вывод прерываний

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

«INT» вывод используется совместно с устройством, сигнал которого должн быть обработаны немедленно.

«Serial» — RS232 TTL

Основной последовательный интерфейс – «Serial». Его контакты вы найдете в группе цифровых пинов с номерами 0 и 1. Они помечены как «RX» (вход данных) и «ТХ» (вывод данных). Этот интерфейс работает в стандарте RS-232 TTL. Позволяет передавать последовательно данные, асинхронно со скоростью до 115200 бод. Этот же интерфейс используется для связи с компьютером через USB.

«I2C / TWI»

Другой последовательный интерфейс – «I2C», также называется «TWI». Это последовательная синхронная шина с тактовой частотой 100 или 400 кГц. Его выход расположен на левом конце цифровых контактных гнезд. Они помечены как «SCL» (Serial Clock) и «SDA» (Serial Data). Это позволяет подключать к одним и тем же выводам до 127 устройств.

«SPI»

«SPI» — это быстрая синхронная последовательная шина. В Arduino UNO ее таймер может работать с частотой до 8 Мгц. Выводы шины имеют маркировку «SCK» (Serial Clock), «MOSI» (Master Out Slave In), «MISO» (Master In Slave Out) и расположены в 6-контактном разъеме «ICSP» с правой стороны платы.

В Arduino UNO эти сигналы используются совместно с цифровыми выводами, пронумерованными от 10 до 13. Здесь же находится дополнительный сигнал «SS» для выбора устройства в шине.

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

Блок питания 0…30 В / 3A Набор для сборки регулируемого блока питания… Подробнее об2017-07-30

Сравнение плат Arduino. Какую выбрать?

Теория

КОМПОНЕНТЫ

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

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

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

Таблица сравнения

1. Arduino Uno

Arduino Uno является стандартной платой Arduino и возможно наиболее распространенной. Она основана на чипе ATmega328, имеющем на борту 32 КБ флэш-памяти, 2 Кб SRAM и 1 Кбайт EEPROM памяти. На периферие имеет 14 дискретных (цифровых) каналов ввода / вывода и 6 аналоговых каналов ввода / вывода, это очень разносторонне-полезные девайсы, позволяющие перекрывать большинство любительских задач в области микроконтроллерной техники. Данная плата контроллера является одной из самых дешевых и наиболее часто используемых. При планировании нового проекта, если вы незнакомы, с платформой Arduino, советуем начать с Uno.

2. Arduino Leonardo

Та же Arduino Uno, но с другим микроконтроллером, который находится в том же классе, но имеет некоторые отличия положительного характера. Большее количество аналоговых входов (12 против 6) для сенсоров, больше каналов ШИМ (7 против 6), больше пинов с аппаратным прерыванием (5 против 2), раздельные независимые serial-интерфейсы для USB и UART. Arduino Leonardo может притворяться клавиатурой или мышью (HID-устройством) для компьютера. Это позволяет легко сделать своё собственное устройство ввода. Из-за распиновки чуть отличной от Arduino Uno возможна несовместимость с некоторыми платами расширения.

3. Arduino Nano

Arduino Nano — это функциональный аналог Arduino Uno, но размещённый на миниатюрной плате. Отличие заключается в отсутствии собственного гнезда для внешнего питания, использованием чипа FTDI FT232RL для USB-Serial преобразования (либо CH340G, требуется установить соответствующие драйвера) и применением mini-USB кабеля для взаимодействия вместо стандартного. В остальном, начинка и способы взаимодействия совпадают с базовой моделью. Платформа имеет штырьковые контакты, что позволяет легко устанавливать её на макетную плату. Используйте Arduino Nano там, где важна компактность, а возможностей Arduino Mini либо не достаточно, либо не хочется заниматься пайкой.

4. Arduino Mega

Как Arduino Uno, но на базе более мощного микроконтроллера той же архитектуры. Отличный выбор «на вырост» или если Arduino Uno перестала справляться. В разы больше памяти: 256 КБ против 32 КБ постоянной и 8 КБ против 2 КБ оперативной. В разы больше портов: 60 из них 16 аналоговых и 15 с ШИМ. Немного длиннее базовой Arduino Uno: 101×53 мм против 69×53 мм.

5. Arduino Due

Одна из самых производительных плат от Arduino на микроконтроллере Cortex-M3 по форм-фактору аналогичная Arduino Mega. Процессор на 84 МГц и 512 КБ памяти. 66 пинов ввода-вывода, из которых 12 могут быть аналоговыми входами, 12 поддерживают ШИМ и все 66 могут быть настроены, как аппаратные прерывания. Встроенный контроллер шины CAN позволяет создавать сеть из Due или взаимодействовать с автомобильной электроникой. Два канала ЦАП позволяют синтезировать стереозвук с разрешением в 4,88 Гц. Родным напряжением для платы является 3.3 В, а не традиционные 5 В. Необходимо следить, чтобы выбираемая периферия поддерживала работу с этим уровнем или ставить преобразователи уровней напряжения.

6. Arduino Mini

Та же Arduino Uno, но в другом форм-факторе. Компактная: всего 30×18 мм. Из-за форм-фактора нельзя без ухищрений устанавливать платы расширения Arduino. Предполагается соединение с дополнительными модулями проводами и/или через макетную плату. На плате нет USB-порта, поэтому прошивать нужно через отдельный USB-Serial адаптер.

7. Arduino Micro

Arduino Micro — это Arduino Leonardo, исполненный на компактной плате. Отличие заключается в отсутствии собственного гнезда для внешнего питания, но оно может быть подведено непосредственно к контакту Vi. В остальном, начинка и способы взаимодействия совпадают с Arduino Leonardo. Он также имеет один микроконтроллер ATmega32u4 и для прошивки через USB, и для исполнения программ; также может выступать в роли клавиатуры или мыши; предоставляет то же количество памяти, цифровых, аналоговых и ШИМ-портов.

8. Arduino M0

Забудьте про экономию памяти программ и ресурсов на Arduino Uno. С платой Arduino M0 выполнять сложные математические расчёты, получать более точные аналоговые значения и при этом слушать музыку напрямую с микроконтроллера. Arduino M0 основана на 32-битном ARM-процессоре ATSAMD21G18 от Atmel с вычислительном ядром Cortex® M0. Микроконтроллер работает на частоте 48 МГц. А благодаря своей 32-битной архитектуре он выполняет большинство операций над целыми числами всего за один такт. В отличии от большинства плат Arduino, родным напряжением Arduino M0 Pro является 3.3 В, а не 5 В. Соответственно, выходы для логической единицы выдают 3.3 В, а в режиме входа ожидают принимать не более 3.3 В. Arduino M0 смотрит в сторону USB через виртуальный serial-порт, не через аппаратный. Это означает, что 0-й и 1-й контакты аппаратного порта остаются свободными и вы можете использовать их одновременно с коммуникацией с компьютером. Виртуальный serial-порт доступен через объект SerialUSB, а аппаратный — через объект Serial1.

9. Arduino LilyPad

Arduino LilyPad — довольно интересное устройство. Оно выпадает из привычных стереотипов об обычном Arduino, потому что имеет не прямоугольную, а круглую форму. Во-вторых, оно не поддерживает механические соединения с шилдами. Оно предназначено для, небольших автономных устройств. Круглая форма продиктовала то, что разъемы равномерно распределены по окружности, и его небольшой размер (2 дюйма в диаметре) делает его идеальным для переносных устройств. Это устройство легко спрятать, и несколько производителей разработали устройства, специально для LilyPad: экраны, датчики света, даже коробки для батарей питания, которые могут быть зашиты в ткань. Для того, чтобы сделать LilyPad как можно меньше и как можно легче, на сколько возможно, были принесены некоторые жертвы. У LilyPad нет регулятора напряжения на борту, так что ему для питания будет необходимо обеспечить по крайней мере 2.7 вольт, и не более 5.5 вольт.

Arduino Software
Arduino IDE с примером простой программы.
Тип Интегрированная среда разработки
Автор compote[d]
Разработчик Arduino Software
Написана на C++
Операционная система Кроссплатформенная
Аппаратная платформа AVR
Последняя версия 1.8.13[1] (16 июня2020 года)
Лицензия LGPL или GPL
Сайт arduino.cc
 Медиафайлы на Викискладе

Arduino — торговая марка аппаратно-программных средств для построения и прототипирования простых систем, моделей и экспериментов в области электроники, автоматики, автоматизации процессов и робототехники.

Программная часть состоит из бесплатной программной оболочки (IDE) для написания программ, их компиляции и программирования аппаратуры. Аппаратная часть представляет собой набор смонтированных печатных плат, продающихся как официальным производителем, так и сторонними производителями. Полностью открытая архитектура системы позволяет свободно копировать[2] или дополнять линейку продукции Arduino.

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

Компания

Название компании и платформы происходит от названия одноимённой рюмочной в Ивреа, часто посещавшейся учредителями проекта, которая, в свою очередь, была названа в честь короля Италии Ардуина Ивреаского[3].

История

История проекта начинается с курсов человеко-машинного интерфейса под брендом Interaction Design Institute Ivrea, существовавших в начале 2000-х годов в городке Ивреа в Италии. Для обучения использовались модули под брендом BASIC Stamp, стоившие около 50 USD. В 2003 году Эрнандо Барраган (Hernando Barragán) в рамках учебной работы создает первоначальную версию новой программно-аппаратной платформы Wiring. Целью проекта было создание дешевой и простой среды для начального обучения программированию. В том же году Массимо Банци, Дэвид Меллис и Давид Куартиллье делают форк Wiring, назвав его Arduino.

Первоначальная команда Ардуино состояла из Массимо Банци, Давида Куартиллье, Тома Иго, Джанлука Мартино и Дэвида Меллиса. В начале 2008 года пять соучредителей проекта Arduino создали компанию Arduino LLC, которой принадлежали авторские права и торговые марки компании, зарегистрированные в США.[4] Производством занимались другие компании, перечислявшие Arduino LLC платежи за использование авторских прав. В том же году Джанлука Мартино, втайне от компаньонов, регистрирует на свою компанию Smart Projects (позднее переименованную в Arduino SRL) часть торговых марок Ардуино в некоторых странах. В 2015 году начинаются судебные тяжбы Arduino LLC против Arduino SRL. В 2016 году конфликт разрешается путем слияния обеих компаний с образованием компании Arduino AG.

Команда разработчиков

Ядро команды разработчиков Arduino составляют: Массимо Банци (Massimo Banzi), Девид Куартиллье (David Cuartielles), Том Иго (Tom Igoe), Джанлука Мартино (Gianluca Martino), Девид Меллис (David Mellis), Николас Замбетти (Nicholas Zambetti) и Валерий Шумятский (Valeriy Shymatskiy).

С 2008 года в компании начался раскол. Джанлука Мартино зарегистрировал другую фирму, на которую сумел оформить авторские права на торговую марку Arduino в некоторых странах. Новая компания создала альтернативную ветвь продаж оригинальных продуктов Ардуино на сайте arduino.org. Первоначальная компания контролирует продажи через сайт arduino.cc[5][6][7]. Набор новых изделий на сайтах различался. Также существовали две ветви Arduino IDE, поддерживающие разный набор плат и библиотек. Одинаковые названия и пересекающиеся номера версий IDE вносили путаницу. 1 октября 2016 года на выставке World Maker Faire в Нью-Йорке руководители Arduino LLC и Arduino SRL объявили о слиянии компаний[8].

Лицензирование

Документация, прошивки и чертежи Arduino распространяются под лицензией Creative Commons Attribution ShareAlike 3.0 и доступны на официальном сайте Arduino. Рисунок печатной платы для некоторых версий Arduino также доступен.[9] Исходный код для интегрированной среды разработки опубликован и доступен под лицензией GPLv2.[10] Библиотеки используют лицензию LGPL.

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

Награды

Проект Arduino был удостоен почётного упоминания при вручении призов Prix Ars Electronica 2006 в категории Digital Communities.[12][13]

Частный способ применения Arduino

Программная часть

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

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

Язык программирования Arduino называется Arduino C и представляет собой язык C++ с фреймворкомWiring[17], Он имеет некоторые отличия по части написания кода, который компилируется и собирается с помощью avr-gcc, с особенностями, облегчающими написание работающей программы — имеется набор библиотек, включающий в себя функции и объекты. При компиляции программы IDE создает временный файл с расширением *.cpp.

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

Так выглядит полный текст простейшей программы (скетча) мигания светодиодом, подключенного к 13 выводу (пину) Arduino, с периодом 2 секунды (полпериода, то есть 1 секунду светодиод горит, полпериода — не горит)[18]. Он доступен в среде разработке в Скетч>примеры>стандартные>Blink.

voidsetup(){pinMode(13,OUTPUT);// Назначение порта 13 в качестве выходного порта}voidloop(){digitalWrite(13,HIGH);// Установка порта 13 в состояние "1", светодиод загораетсяdelay(1000);// Задержка на 1000 миллисекундdigitalWrite(13,LOW);// Установка порта 13 в состояние "0", светодиод гаснетdelay(1000);// Задержка на 1000 миллисекунд}

Все используемые в этом примере функции являются библиотечными. В комплекте Arduino IDE имеется множество встроенных примеров программ. Существует перевод документации по Arduino на русский язык[19][20].

Загрузка программы в микроконтроллер

Закачка программы в микроконтроллер Arduino происходит через предварительно запрограммированный специальный загрузчик (все микроконтроллеры от Ардуино продаются с этим загрузчиком). Загрузчик создан на основе Atmel AVR Application Note AN109. Загрузчик может работать через интерфейсы RS-232, USB или Ethernet в зависимости от состава периферии конкретной процессорной платы. В некоторых вариантах, таких как Arduino Mini или неофициальной Boarduino, для программирования требуется отдельный переходник.

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

Альтернативные IDE

Популярность, открытость и простота платформы Arduino вызвала большой вал сторонних программных решений. В основном это решения вокруг интеграции компилятора и бутлоадера (загрузчика) Arduino в имеющиеся оболочки для программистов (IDE). Большой список этих инструментов имеется здесь. Среди них можно выделить как профессиональные инструменты, вроде Proccesing, Eclipse[21], MicrosoftVisual Studio[22], Atmel Studio, так и инструменты для детей, например, Scratch for Arduino.

Графические языки программирования

Технологии

  • 6LoWPAN
  • ANT+
  • Bluetooth LE
  • DASH7
  • IEEE 802.15.4
  • Internet 0
  • Межмашинное взаимодействие
  • RFID
  • Умная пыль
  • Tera-play
  • XBee
  • LPWAN
  • NB-Fi
  • LoRa
  • NB IoT
  • Sigfox
  • XNB
  • Zigbee
  • Thread

Платформы

  • Arduino
  • Contiki
  • Electric Imp
  • .Net Gadgeteer
  • ioBridge
  • TinyOS
  • Wiring
  • Xively

Применение

  • Ambient device
  • CeNSE
  • Connected car
  • Домашняя автоматизация
  • HomeOS
  • Смарт-холодильник
  • Nabaztag
  • Умный город
  • Smart TV
  • Делая планету разумнее

Первые исследователи

  • Кевин Эштон
  • Адам Данкелс
  • Стефано Марцано
  • Дональд Норман
  • Роланд Пипер
  • Йозеф Прайсхубер-Пфюгль
  • Джон Сили Браун
  • Брюс Стерлинг
  • Марк Вейсер

См. также

  • Ambient Devices
  • AmbieSense
  • Ebbits project
  • Альянс IPSO

Эта страница в последний раз была отредактирована 17 июня 2021 в 01:24. Как создать своими руками интересные приборы на основе Ардуино — уроки для начинающих с пошаговыми и подробными объяснениями алгоритма действий. Фото и видео прилагаются. –> Содержание статьи:

Датчик движения с Ардуино — проект для начинающих

Для начала рассмотрим, как можно сделать датчик движения с помощью ультразвукового датчика (HC-SR04), который будет включать каждый раз светодиод. Это устройство легко смогут повторить новички, но при этом он будет интересен и более опытным инженерам.

Необходимые детали

Чтобы создать датчик движения с Arduino, HC-SR04 и светодиодом (LED) нам понадобятся следующие комплектующие:

Позиционирование деталей

Сначала подключите ультразвуковой датчик и светодиод на макетной плате. Подключите короткий кабель светодиода (катод) к контакту GND (земля) датчика. Затем установите резистор в том же ряду, что и более длинный провод светодиода (анод), чтобы они были соединены.

Подключение частей

Теперь нужно подключить несколько проводов на задней панели датчика. Есть четыре контакта — VCC, TRIG, ECHO и GND. После вставки проводов необходимо выполнить следующие подключения:Пометки обозначают, что контакт может быть подключен к любым двум цифровым выводам Arduino, просто убедитесь, что вы изменили их в коде позже.

Загрузка кода

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

Урок Ардуино для начинающих: управление устройствами со смартфона

Когда-нибудь задумывались о том, чтобы управлять любыми электронными устройствами с помощью смартфона? Согласитесь, управлять роботом или любыми другими устройствами таким образом было бы очень круто. Предлагаем простой урок для начинающих и чайников о том, как с помощью Ардуино через Bluetooth управлять смартфоном. Если вам после этого урока захочется познакомиться с Arduino поближе – вы можете найти книги о нём здесь.

  • Читайте также, как сделать микроскоп своими руками из веб-камеры

Необходимые детали

Устройства:Из программного обеспечения понадобитсяArduino IDE

Как это работает

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

Пошаговая сборка схемы проекта на Ардуино

Цепь в нашем Arduino проекте настолько проста и мала, что нам нужно сделать всего несколько соединений:Подключите минус светодиода к GND на Arduino, а плюс — к контакту 13 через сопротивление 220 Ом – 1 кОм. В целом, на нашем рисунке ниже всё довольно наглядно. Не подключайте RX к RX и TX к TX выходы Bluetooth к выходам Arduino, вы не получите никаких данных, здесь TX означает «передача», RX означает «прием».

Загрузка программы в Ардуино

Теперь нам нужно написать программу и загрузить её в наш Arduino. Код ниже именно то, что нам нужно загрузить в Ардуино.

Принцип работы

Модуль HC 05/06 работает по последовательному каналу связи. Андроид-приложение последовательно отправляет данные на модуль Bluetooth, когда вы нажимаете определенную клавишу. Bluetooth на другом конце получает данные и отправить на Arduino через TX-соединение модуля Bluetooth (RX-соединение Arduino).Код загруженный в Arduino проверяет полученные данные и сравнивает их. Если получена «1» — светодиод включается и выключается при получении «0». Откройте монитор последовательного порта и наблюдайте полученные данные.

Приложение для Андроид-устройств

В этом уроке мы не будем касаться создания приложений для устройств на основе Андроида. Вы можете скачать приложение на GitHub.Файлы для скачивания: prilozhenie.zip

После того, как мы подключились через Bluetooth, нужно скачать и установить приложение, которое будет управлять нашим светодиодом на расстоянии. Подсоединяем смартфон к модулю Bluetooth HC 05/06:После этого мы устанавливаем приложение на наш смартфон. Открываем его. Выбираем устройство — модуль Bluetooth из списка (HC 05/06). После успешного подключения нажимаем кнопку ON для включения светодиода и кнопку OFF, чтобы выключить его. Потом уже можно нажать кнопку «Отключить», чтобы отключиться от модуля Bluetooth.

  • Возможно, вам также будет интересна инструкция по созданию сигнализатора поклевки своими руками

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

Делаем мини-пианино с помощью Ардуино — схемы и видео

Сделаем пианино с помощью Arduino и сыграем на нем свою первую мелодию.Ардуино — платформа с открытым исходным кодом, используемая для создания проектов в электронике. Она состоит из программируемой платы (часто называемой микроконтроллером) и части программного обеспечения или интегрированной среды разработки Arduino IDE для ПК, которая используется для написания и загрузки компьютерного кода на плату.

Компоненты

Платформа Arduino стала довольно популярной среди начинающих в электронике и не зря. В отличие от большинства предыдущих программируемых печатных плат, Arduino не нуждается в отдельном аппаратном обеспечении для загрузки нового кода на плату — вы можете просто использовать USB-кабель.Кроме того, в Arduino IDE используется упрощенная версия C ++, что упрощает обучение программе. Наконец, Ардуино предоставляет стандартный форм-фактор, который разбивает функции микроконтроллера на более доступные пакеты.Необходимые компоненты для нашего проекта:

Соединяем компоненты

Подключаем клавиатуру строки к 3 2 8 0 контактам Arduino, а столбцы к 7 6 5 4 выводам Arduino. Подключаем провода динамика к клеммам 11 и Земля (GND).

Настройка

Кнопки клавиатуры (наше пианино) были подключены с помощью перемычек. Основной эскиз (скетч) определяет, какие частоты музыкальных нот связаны с каждой клавишей пианино. –> –> Для этого проекта мы использовали C4, D4, E4, F4, G4, A4, B4, C5, D5, E5, F5, G5, A5 и B5, причем C4 был переключателем «0», D4 — переключателем «1» и так далее. Измените значения частот или добавьте дополнительные переключатели, чтобы полностью настроить собственный проект. Динамик просто подключен одним концом к контакту 11 Arduino, а другой — к земле.Функция «тон» (tone) в коде будет искать этот вывод для воспроизведения вызываемой ноты.

Рабочий код

Вставьте код ниже в Arduino IDE и затем загрузите его в микроконтроллер. Нажмите кнопку сброса, если что-то пойдет не так. Вам также необходимо загрузить и установить библиотеку Arduino Keypad, которая доступна для скачивания ниже:Файлы для скачивания: arduino-keypad.rarЭскиз (скетч) начинается с импорта библиотек «Keypad.h» и «pitches.h», поэтому мы сможем ссылаться на различные элементы из них позже в коде. Далее код настраивается путем определения количества ROWS и COLUMNS, определяющих, какие контакты входы и выходы, а также устанавливаем контакт динамика как 11-й вывод Arduino.Затем мы определяем значение каждой ноты в форме Матрицы и назначаем, какой вывод нам нужно связать со строками и столбцами (в этом проекте мы использовали 3, 2, 8, 0 выводы как ROWS — строк, и 7, 6, 5, 4 в качестве COLUMNS — столбцов).Основной цикл. Мы сохраняем каждое значение ноты в переменную «customkey», а также печатаем значение в серийном мониторе Arduino IDE. Далее мы сравниваем каждую пользовательскую ноту и отправляем вывод SPEAKER NOTE (нота динамика) и DURATION (длительность) на функцию «тона».На предыдущем шаге мы скачали библиотеку Arduino Keypad. Разархивируйте её в папку Arduino в Arduino IDE и далее пройдите: Files — Example — Keypad — Custom Keypad

Играем песню «С Днем Рождения»

Динамик должен быть подключен только к любым штыревым (PWM) разъемам ARDUINO, иначе настройка не будет работать.Как играть песню «С Днем Рождения» на клавиатуре:Видео: –> Толкование

Arduino
Arduino Software
Arduino IDE с примером простой программы.
Тип

Интегрированная среда разработки

Разработчик

Arduino Software

Написана на

Java

Операционная система

Кроссплатформенная

Последняя версия

1.5[1] (21 мая2012 года)

Лицензия

LGPL или GPL license

Сайт

http://www.arduino.cc

Arduino — аппаратная вычислительная платформа, основными компонентами которой являются простая плата ввода/вывода и среда разработки на языке Processing/Wiring. Arduino может использоваться как для создания автономных интерактивных объектов, так и подключаться к программному обеспечению, выполняемому на компьютере (например, Adobe Flash, Processing, Max/MSP, Pure Data, SuperCollider). Рассылаемые в настоящее время версии могут быть заказаны уже распаянными. Информация об устройстве платы (рисунок печатной платы) находится в открытом доступе и может быть использована теми, кто предпочитает собирать платы самостоятельно. Микроконтроллеры ATmega328 дёшевы и стоят около 10$.

Проект Arduino был удостоен почётного упоминания при вручении призов Prix Ars Electronica 2006 в категории Digital Communities.[2][3]

Описание платформы

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

Плата Arduino состоит из микроконтроллераAtmelAVR (ATmega328 и ATmega168 в новых версиях и ATmega8 в старых), а также элементов обвязки для программирования и интеграции с другими схемами. На многих платах присутствует линейный стабилизатор напряжения +5В или +3,3В. Тактирование осуществляется на частоте 16 или 8 МГц кварцевым резонатором (в некоторых версиях керамическим резонатором[4]). В микроконтроллер предварительно прошивается загрузчик BootLoader, поэтому внешний программатор не нужен.

На концептуальном уровне все платы программируются через RS-232 (последовательное соединение), но реализация этого способа отличается от версии к версии. Плата Serial Arduino содержит простую инвертирующую схему для конвертирования уровней сигналов RS-232 в уровни ТТЛ, и наоборот. Текущие рассылаемые платы, например, Diecimila, программируются через USB, что осуществляется благодаря микросхеме конвертера USB-to-Serial FTDI FT232R. В версии платформы Arduino Uno в качестве конвертера используется микроконтроллер Atmega8 в SMD-корпусе. Данное решение позволяет программировать конвертер так, чтобы платформа сразу определялась как мышь, джойстик или иное устройство по усмотрению разработчика со всеми необходимыми дополнительными сигналами управления. В некоторых вариантах, таких как Arduino Mini или неофициальной Boarduino, для программирования требуется подключение отдельной платы USB-to-Serial или кабеля.

Платы Arduino позволяют использовать большую часть I/O выводов микроконтроллера во внешних схемах. Например, в плате Diecimila доступно 14 цифровых входов/выходов, 6 из которых могут выдавать ШИМ сигнал, и 6 аналоговых входов. Эти сигналы доступны на плате через контактные площадки или штыревые разъемы. Также доступны несколько видов внешних плат расширения, называемых «shields» («щиты»), которые присоединяются к плате Arduino через штыревые разъёмы.

Модели

Arduino Процессор Напряжение питания Флеш-память, КБ EEPROM, КБ SRAM, КБ …cШИМ USB-интерфейс
ADK ATmega2560 5 В 256 4 8 54 14 16 ATmega8U2 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 
Due[5] ATMEL SAM3U 256 [6] 50 54 16 16
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 Нет
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 or 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 ATmega8U2ATmega16U2 101.6 × 53.3 
Nano ATmega168 or ATmega328 5 В 16/32 0.5/1 1/2 14 6 8 FTDI 43 × 18 
Uno ATmega328P 5 В 32 1 2 14 6 6 ATmega8U2ATmega16U2 68.6 × 53.3 

Программное обеспечение

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

Среда разработки основана на языке программирования Processing и спроектирована для программирования новичками, не знакомыми близко с разработкой программного обеспечения. Язык программирования аналогичен используемому в проекте Wiring[7]. Строго говоря, это C++, дополненный некоторыми библиотеками. Программы обрабатываются с помощью препроцессора, а затем компилируется с помощью AVR-GCC.

Существует полный русский перевод языка Arduino[8], предназначенный для преодоления языкового барьера при распространении платформы по России.

Версии плат

Плата Arduino Diecimila

Оригинальные платы Arduino производит Smart Projects.

На данный момент доступны 15 версий плат,[9] перечисленных ниже.

  1. Serial Arduino, программируется через последовательное соединение (разъём DB-9), используется ATmega8.
  2. Arduino Extreme, с USB-интерфейсом для программирования, используется ATmega8.
  3. Arduino Mini, миниатюрная версия Arduino, использующая поверхностный монтаж ATmega328.
  4. Arduino Nano 3.0, ещё миниатюрнее, с питанием от USB и поверхностным монтажом ATmega328.
  5. LilyPad Arduino, минималистичный дизайн для носимых применений с поверхностным монтажом ATmega168 (в новых версиях ATmega328).
  6. Arduino NG, с USB-интерфейсом для программирования, используется ATmega8.
  7. Arduino NG plus, с USB-интерфейсом для программирования, используется ATmega168.
  8. Arduino BT, с Bluetooth-интерфейсом для программирования, используется ATmega168 (в новых версиях ATmega328).
  9. Arduino Diecimila, использует USB-интерфейс и Atmega168 в DIP28 корпусе.
  10. Arduino Duemilanove («2009»), на основе ATmega168 (в новых версиях ATmega328), с автоматическим выбором питания от USB или внешнего источника.
  11. Arduino Mega («2009»), на основе ATmega1280.
  12. Arduino Mega2560 R3 («2011»), на основе ATmega2560. Используется конвертер USB-UART на базе ATmega16U2.
  13. Arduino Uno R3 (2011), на основе ATmega328. Используется конвертер USB-UART на базе ATmega16U2.
  14. Arduino Ethernet (2011), на основе ATmega328. Конвертера USB-UART нет. Ethernet чип — W5100, также содержит модуль MicroSD.
  15. Arduino Mega ADK for Android (2011), на основе ATmega2560. Содержит USB-хост для соединения с телефонами на базе ОС Android (м/с MAX3421e). Конвертер USB-UART на базе ATmega8U2.

Открытые архитектура и код

Документация, прошивки и чертежи Arduino распространяется под лицензией Creative Commons Attribution ShareAlike 2.5 и доступны на официальном сайте Arduino. Рисунок печатной платы для некоторых версий Arduino также доступен.[9] Исходный код для интегрированной среды разработки и библиотек опубликован и доступен под лицензией GPLv2.[10]

Платы расширений

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

Существует множество различных по функциональности щитов — от простейших, предназначенных для макетирования (прототипирования), до сложных — плат управления шаговыми двигателями, плат беспроводного доступа по протоколам Bluetooth, ZigBee, WiFi, GSM и т. д.

Примеры шилдов:

Другие книги по запросу «Arduino» >>

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Citilink-kabinet.ru
Добавить комментарий