ARDUINO: Энциклопедия АРДУИНО: Урок 1. Введение. Общие сведения об Ардуино

image

Всем привет!

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

Что такое Ардуино – давайте рассмотрим поближе

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

image

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

Где можно применить Arduino

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

Заказал целый набор компонентов

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

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

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

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

Комплект для начинающих Ардуино UNO R3

Если нужно все и сразу, но без излишеств, то, наверное, это самый подходящий вариант. В набор входит плата с микроконтроллером, макетная плата типа Breadboard с комплектом проводов, позволяющая производить соединения без пайки, 4-разрядный семисегментный индикатор, LCD-дисплей, кнопочная панель, матрица светодиодов 8×8 элементов, джойстик, сервопривод с драйвером, реле, ИК-пульт и комплект светодиодов, кнопок, конденсаторов и резисторов россыпью.

Также в набор входят отдельные платки с датчиками:

  • звука;
  • уровня воды;
  • температуры и влажности;
  • RFID-считыватель c RFID-метками в виде ключа-таблетки и карточки;
  • цифровой часовой модуль.

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

В магазин

Продвинутый набор Arduino UNO R3

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

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

Можно взять со скидкой 57%

В магазин

Обучающий набор Ардуино для детей и взрослых

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

Также имеются дополнительные датчики:

  • датчик влажности почвы;
  • газовый датчик;
  • пироэлектрический датчик, реагирующий на движение.

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

В магазин

Оригинальный Arduino UNO R3

Это даже не набор, а просто одна плата UNO R3 с микроконтроллером, плюс USB-кабель и коробочка. Плата та же самая, какая использовалась в описанных выше комплектах.

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

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

В магазин

Самый дешёвый Arduino Nano

В случае, когда плата Ардуино UNO R3 избыточна, например, если не нужны лишние светодиоды, и элементы питания, или, если плата с контроллером должна быть меньших размеров, то решением может быть плата Nano. В отличие от UNO размером 69×54 мм, Nano занимает площадь всего в 19×42 мм. Кстати, стоит она тоже примерно в два-три раза дешевле.

Нюансом является то, что у используемого на плате Nano микропроцессора вдвое меньший объем флеш-памяти и оперативной памяти по сравнению с микропроцессором на UNO R3. Хотя, для большинства проектов, особенно, если это касается проектов начинающих, это не важно. Также в комплект не входит USB-кабель.

В магазин

Комплект проводов для работы плат Ардуино

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

Но, что называется, трагедии нет – провода вполне достаются отдельно, причем именно те, которые нужны. Например, в этот набор на выбор можно скомплектовать проводники длинной 10 см, 20 см или 30 см. Доступны провода со штыревым и с гнездовым соединениями.

В магазин

Сервоприводы

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

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

В магазин

Модуль для беспроводного управления 433 МГц

Стандартный набор состоит из приемника и передатчика на 433 МГц, либо только из приемника или только из передатчика – на выбор. Штука оказывается полезной для организации беспроводной связи между разными платами. Например, одна может управлять другой, или передавать по радио данные с датчиков.

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

В магазин

Wi-Fi модуль

Управление платой Arduino можно организовать и с помощью смартфона. Для этого понадобится расширение в виде Wi-Fi приемопередатчика. Платка-расширение очень простая и компактная.

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

В магазин

Модули реле

Для построения систем «умный дом» или для использования Arduino в составе автомобильной электросети важным элементом является реле. Этот элемент позволяет управлять системами с напряжением, большим, чем напряжение питания Arduino и сильноточными электрическими цепями без вреда плате. Без этого элемента не обойтись при управлении мощными электродвигателями или освещением.

На выбор доступны несколько модулей. С одним реле, точно таким же, какой входит в базовые комплекты UNO R3, с одним реле и индикационными светодиодами, с двумя реле, с четырьмя или с восемью. Каждое из них управляется сигналами напряжением 5 вольт, но рассчитано на коммутацию электрических цепей напряжением до 250 вольт при токе 10 ампер или до 125 вольт при токе 15 ампер.

В магазин

Друзья, если вам понравилась статья, то ставьте лайк 👍 и добро пожаловать на наш Техно-Блог!

Что такое Arduino

Если называть вещи своими именами, то Arduino — это конструктор для тех, кому надоело созидать бесполезные образы и захотелось хоть немного наделить их жизнью. В самом простейшем случае Arduino — печатная плата, на которой расположен контроллер, кварцевый генератор, АЦП/ЦАП, несколько разъёмов, диодов и кнопок. Остальное — дело рук хозяина: хотите — создавайте робота, хотите — программно-аппаратную платформу для «умного» дома, ну или забудьте про практическую пользу и развлекайтесь.

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

Arduino достаточно ограниченная платформа в плане возможностей программирования, особенно в сравнении с Raspberry Pi. В силу того, что порог входа неприлично низкий (базовый Tutorial занимает 3 листа формата A4), то рассчитывать на изобилие языков без подключения дополнительных модулей не приходится. За основу здесь принят C/C++, но с использованием различных IDE и библиотек вы получите доступ к оперированию Python, C#, Go, а также таким детским развлечениям, как Snap! и ArduBlock. О том как, когда и кому их использовать, поговорим далее.

C/C++

Базовый язык платформы Arduino, который с некоторыми доработками и упрощениями используется в стандартной программной оболочке. Найти все доступные команды «для новичка» можно здесь, но никто не мешает вам воспользоваться исходными возможностями языка C++, никаких надстроек не потребуетс. Если же есть желание поиграть с «чистым» C, то к вашим услугам программа WinAVR, предназначенная, как следует из названия, для взаимодействия ОС Windows и МК серии AVR, которые и используются на Arduino. Более подробное руководство можете прочитать вот здесь.

Использование C/C++ рекомендуется тем, кто уже имеет представление о программировании, выучил в школе пару языков и хочет создать на Arduino что-то большее, чем светодиодную «мигалку» или простую машинку.

Ardublock

Временно отойдем от языков взрослых к любимому ребятней языку Scratch, а вернее к его адаптации — Ardublock. Здесь всё тоже самое, но с адаптацией к вашей платформе: цветные блоки, конструктор, русские названия, простейшая логика. Такой вариант здорово подойдет даже тем, кто с программированием не знаком вовсе. Подобно тому, как в языке Logo вы можете перемещать виртуальную черепашку по виртуальной плоскости, здесь с помощью нехитрых операций вы можете заинтересовать ребенка реальной интерпретацией его программных действий.

Да, кстати, для использования необходимо на вашу стандартную среду Arduino IDE установить плагин. Последние версии лучше не хватать, они довольно сложные, для начала подойдет датированная концом 2013 года. Для установки скачанный файл переименовываем в «ardublock-all» и запихиваем в папку «Мои документы/Arduino/tools/ArduBlockTool/tool». Если её не существует – создаем. Если что-то не поняли, то вот здесь более подробно.

Snap!

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

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

Рекомендуется младшей возрастной группе, тем, кто учил программирование так давно, что уже ничего не помнит и тем, кто хочет завлечь своего ребенка в IT через Scratch и Snap!.

Python

Формально программировать на Arduino вы можете используя хоть язык Piet, просто потому что при должном упорстве вы скомпилируете в машинный код что угодно. Но в силу того, что Python — один из наиболее популярных языков с практически оптимальным сочетанием сложностьвозможности, то обойти стороной его применяемость в Arduino было бы нелепо. Начать изучение Python вы можете с нашего бесплатного интенсива “Основы языка Python”.

Итак, для этого вам понадобится библиотеки PySerial (ранее, возможно, вы использовали её для общения с портами компьютера) и vPython. О том, как правильно всё настроить и заставить в конечном счёте работать, можете соответственно почитать здесь и здесь.

Go и другие языки.

Подобно тому, как Arduino взаимодействует с Python через библиотеку PySerial, он может взаимодействовать и с Go, и c Java, и с HTML, и с чем только захотите. Arduino — достаточно популярная платформа, чтобы такой банальный вопрос, как выбор удобного языка, не остановил очередного исследователя. Единственное, что требуется от владельца этой маленькой платы — задумать что-нибудь удивительно интересное, а удобный инструмент неизбежно найдётся.

“>

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

Что такое Arduino

Если называть вещи своими именами, то Arduino — это конструктор для тех, кому надоело созидать бесполезные образы и захотелось хоть немного наделить их жизнью. В самом простейшем случае Arduino — печатная плата, на которой расположен контроллер, кварцевый генератор, АЦП/ЦАП, несколько разъёмов, диодов и кнопок. Остальное — дело рук хозяина: хотите — создавайте робота, хотите — программно-аппаратную платформу для «умного» дома, ну или забудьте про практическую пользу и развлекайтесь.

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

Arduino достаточно ограниченная платформа в плане возможностей программирования, особенно в сравнении с Raspberry Pi. В силу того, что порог входа неприлично низкий (базовый Tutorial занимает 3 листа формата A4), то рассчитывать на изобилие языков без подключения дополнительных модулей не приходится. За основу здесь принят C/C++, но с использованием различных IDE и библиотек вы получите доступ к оперированию Python, C#, Go, а также таким детским развлечениям, как Snap! и ArduBlock. О том как, когда и кому их использовать, поговорим далее.

C/C++

Базовый язык платформы Arduino, который с некоторыми доработками и упрощениями используется в стандартной программной оболочке. Найти все доступные команды «для новичка» можно здесь, но никто не мешает вам воспользоваться исходными возможностями языка C++, никаких надстроек не потребуетс. Если же есть желание поиграть с «чистым» C, то к вашим услугам программа WinAVR, предназначенная, как следует из названия, для взаимодействия ОС Windows и МК серии AVR, которые и используются на Arduino. Более подробное руководство можете прочитать вот здесь.

Использование C/C++ рекомендуется тем, кто уже имеет представление о программировании, выучил в школе пару языков и хочет создать на Arduino что-то большее, чем светодиодную «мигалку» или простую машинку.

Ardublock

Временно отойдем от языков взрослых к любимому ребятней языку Scratch, а вернее к его адаптации — Ardublock. Здесь всё тоже самое, но с адаптацией к вашей платформе: цветные блоки, конструктор, русские названия, простейшая логика. Такой вариант здорово подойдет даже тем, кто с программированием не знаком вовсе. Подобно тому, как в языке Logo вы можете перемещать виртуальную черепашку по виртуальной плоскости, здесь с помощью нехитрых операций вы можете заинтересовать ребенка реальной интерпретацией его программных действий.

Да, кстати, для использования необходимо на вашу стандартную среду Arduino IDE установить плагин. Последние версии лучше не хватать, они довольно сложные, для начала подойдет датированная концом 2013 года. Для установки скачанный файл переименовываем в «ardublock-all» и запихиваем в папку «Мои документы/Arduino/tools/ArduBlockTool/tool». Если её не существует – создаем. Если что-то не поняли, то вот здесь более подробно.

Snap!

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

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

Рекомендуется младшей возрастной группе, тем, кто учил программирование так давно, что уже ничего не помнит и тем, кто хочет завлечь своего ребенка в IT через Scratch и Snap!.

Python

Формально программировать на Arduino вы можете используя хоть язык Piet, просто потому что при должном упорстве вы скомпилируете в машинный код что угодно. Но в силу того, что Python — один из наиболее популярных языков с практически оптимальным сочетанием сложностьвозможности, то обойти стороной его применяемость в Arduino было бы нелепо. Начать изучение Python вы можете с нашего бесплатного интенсива “Основы языка Python”.

Итак, для этого вам понадобится библиотеки PySerial (ранее, возможно, вы использовали её для общения с портами компьютера) и vPython. О том, как правильно всё настроить и заставить в конечном счёте работать, можете соответственно почитать здесь и здесь.

Go и другие языки.

Подобно тому, как Arduino взаимодействует с Python через библиотеку PySerial, он может взаимодействовать и с Go, и c Java, и с HTML, и с чем только захотите. Arduino — достаточно популярная платформа, чтобы такой банальный вопрос, как выбор удобного языка, не остановил очередного исследователя. Единственное, что требуется от владельца этой маленькой платы — задумать что-нибудь удивительно интересное, а удобный инструмент неизбежно найдётся.

Всем нам широко известен бренд Arduino, но время идет и все меняется. И сегодня миру представлены две торговые марки, под которыми будет выпускаться продукция: Arduino и новая марка Genuino. По известной информации старый бренд остается исключительно для рынка Соединенных Штатов, а под новым будет поставляться продукция во все другие страны. Казалось бы, переживать не стоит, ведь для этого нет никаких причин. Но так ли это на самом деле и каковы истинные причины такого хода учредителей, мы и постараемся выяснить.

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

Но что вообще послужило причиной для такого раскола? На этот вопрос мы и попробуем найти ответ.

Вот что говорят по этому поводу специалисты, инженеры и просто интересующиеся люди на всем известном ресурсе Quora:

  • Anand Padmanabhan (рабочий компании Elementz Engineers Guild Private Limited). По его словам, нет никакой разницы между этими двумя брендами. Это лишь два названия одного и того же продукта в разных частях света. Компания фактически разделена на две большие группы – Arduino.cc и Arduino.org. Arduino.org больше занимались производством, а Arduino.cc развитием и продвижением продукции. Права на торговую марку Arduino в США принадлежат Arduino.cc, а во всем остальном мире – Arduino.org. Поэтому Arduino.cc продают платы за пределами США под брендом Genuino. Вот что произошло на самом деле: Arduino LLC – это компания, основанная Massimo Banzi, David Cuartielles, David Mellis, Tom Igoe and Gianluca Martino в 2009-ом году, которая дала нам программное обеспечение, дизайн, поддержку и т.д. плат Arduino. Платы изготавливались компанией-спонсором Smart Projects Srl., основанной тем же Gianluca Martino. И все шло нормально. Проблемы начались в ноябре позапрошлого года, когда Martino и новый CEO Federico Musto переименовали Smart Projects в Arduino Srl. и зарегистрировали arduino.org. Является ли это нарушением прав или нет, будет решаться в суде Массачусетса. Помимо этого, одной из основных причин раскола можно считать то, что Banzi и трое других учредителей хотели интернационализировать производство, в то время как Martino и Musto хотели сохранить все производство строго на итальянской фабрике.
  • Sandeep Patil (работал с AVR, PICs, ARMs). Говорит, что обе торговые марки принадлежат Arduino.cc. В США – Arduino, в остальных странах – Genuino. И привел к этому спор, разгоревшийся в компании.
  • Kiran Panchal (инженер в душе). Говорит, что единственное чем отличаются платы кроме названия – это цвет. Этому можно убедиться на официальном сайте. В спецификации плат нет совершенно никакой разницы. Так что, когда вы захотите купить оригинальную синюю плату, находясь где-нибудь в Индии, и вы ее получите, то скорее всего вас обманули. Единственный сценарий, при котором вы получите оригинальную плату – у продавцов остались старые платы, полученные до раскола.
  • Gokul Periyasamy (любитель). Также утверждает, что отличий нет. Genuino – это торговая марка, созданная соучредителями Massimo Banzi, David Cuartielles, Tom Igoe и David Mellis для продаж за пределами США. Бренд Genuino полностью соответствует философии open-hardware и open-source, которая так полюбилась пользователям Arduino.
  • Niral Shah (любитель). Дал самый короткий и лаконичный ответ – «Ничего». И приложил к своим словам скриншот главной страницы официального сайта.

Можно отметить и тот факт, что на официальном сайте имеется единое описание для плат и Arduino и Genuino.

Также через некоторое время после произошедшего спора, Массимо Банци (Massimo Banzi), руководитель Arduino LLC и куратор сформированного вокруг проекта сообщества, объявлял и о создании нового бренда Genuino.

Заключив партнерские отношения с компанией Adafruit в США и выпустив дочерний бренд Genuino, компания Arduino.cc пытается решить производственные проблемы, возникшие из-за спора.

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

После заключения соглашения с Adafruit, производство плат было перенесено из Италии в США. А необходимость создания новой торговой марки Genuino произошла из-за соглашения, которое дистрибьюторы по всему миру подписали c бывшими партнерами. В нем говорилось о запрете покупки плат Arduino у других производителей. И истинная цель этого соглашения вскрылась только с возникновением спора в компании. Вместо того, чтобы защитить себя и потребителей от подделок, сделанных в других местах, данное соглашение вводило монополию на поставки плат. А такое положение дел совершенно не устроило Arduino.cc.

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

Данная статья является собственностью Amperkot.ru. При перепечатке данного материала активная ссылка на первоисточник, не закрытая для индексации поисковыми системами, обязательна.

Поделиться:

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

Пины настроены как ВХОД

Пины Arduino по умолчанию настроены как входы, поэтому их не нужно явно объявлять как входы с помощью pinMode (), когда вы используете их в качестве входов. Считается, что выводы, настроенные таким образом, находятся в состоянии высокого импеданса. Входные контакты предъявляют чрезвычайно малые требования к цепи, которую они дискретизируют, что эквивалентно последовательному резистору 100 мОм перед контактом.

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

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

Подтягивающие резисторы

Подтягивающие резисторы часто полезны для приведения входного контакта в известное состояние, если вход отсутствует. Это можно сделать, добавив подтягивающий резистор (до + 5 В) или понижающий резистор (резистор к земле) на входе. Резистор 10K является хорошим значением для резистора с повышением или понижением.

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

В микросхему Atmega встроено 20 000 подтягивающих резисторов, к которым можно получить доступ из программного обеспечения. Доступ к этим встроенным нагрузочным резисторам можно получить, установив pinMode () как INPUT_PULLUP. Это эффективно инвертирует поведение режима INPUT, где HIGH означает, что датчик выключен, а LOW означает, что датчик включен. Значение этого подтягивания зависит от используемого микроконтроллера. На большинстве плат на базе AVR это значение гарантируется в пределах от 20 кОм до 50 кОм. На Arduino Due он составляет от 50 кОм до 150 кОм. Для точного значения, обратитесь к спецификации микроконтроллера на вашей плате.

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

Те же регистры (места внутренней памяти чипа), которые контролируют, является ли вывод ВЫСОКИМ или НИЗКИМ, управляют подтягивающими резисторами. Следовательно, вывод, который настроен на включение подтягивающих резисторов, когда вывод находится в режиме INPUT, будет иметь вывод, настроенный как ВЫСОКИЙ, если вывод затем переключается в режим ВЫХОД с помощью pinMode (). Это работает и в другом направлении, и на выходном выводе, который остается в ВЫСОКОМ состоянии, будет настроен подтягивающий резистор, если он переключен на вход с помощью pinMode ().

пример

pinMode(3,INPUT) ; // set pin to input without using built in pull up resistor pinMode(5,INPUT_PULLUP) ; // set pin to input using built in pull up resistor 

Пины настроены как выходной

Пины, настроенные как OUTPUT с pinMode (), как говорят, находятся в состоянии низкого сопротивления. Это означает, что они могут обеспечить значительную величину тока для других цепей. Контакты Atmega могут подавать (обеспечивать положительный ток) или потреблять (обеспечивать отрицательный ток) до 40 мА (миллиампер) тока на другие устройства / цепи. Этого тока достаточно, чтобы ярко загореться светодиод (не забывайте о последовательном резисторе) или запустить много датчиков, но недостаточно тока для работы реле, соленоидов или двигателей.

Попытка запустить устройства с высоким током от выходных выводов может привести к повреждению или разрушению выходных транзисторов в выводе или повреждению всего чипа Atmega. Часто это приводит к «мертвому» выводу в микроконтроллере, но оставшиеся микросхемы по-прежнему функционируют адекватно. По этой причине рекомендуется подключать выводы OUTPUT к другим устройствам через резисторы сопротивлением 470 Ом или 1 кОм, если для конкретного применения не требуется максимальный ток, снимаемый с выводов.

Функция pinMode ()

Функция pinMode () используется для настройки определенного вывода на поведение входа или выхода. Внутренние подтягивающие резисторы можно включить в режиме INPUT_PULLUP. Кроме того, режим INPUT явно отключает внутренние подтягивания.

pinMode () Синтаксис функции

Void setup () {    pinMode (pin , mode); } 
  • pin — номер пина, режим которого вы хотите установить

  • режим — INPUT, OUTPUT или INPUT_PULLUP.

pin — номер пина, режим которого вы хотите установить

режим — INPUT, OUTPUT или INPUT_PULLUP.

пример

Функция digitalWrite ()

Функция digitalWrite () используется для записи значения HIGH или LOW на цифровой вывод. Если вывод был сконфигурирован как OUTPUT с помощью pinMode () , его напряжение будет установлено на соответствующее значение: 5 В (или 3,3 В на платах 3,3 В) для ВЫСОКОГО, 0 В (заземление) для НИЗКОГО. Если вывод сконфигурирован как INPUT, digitalWrite () активирует (HIGH) или отключает (LOW) внутреннее подтягивание на входном выводе. Рекомендуется установить для pinMode () значение INPUT_PULLUP, чтобы включить внутренний подтягивающий резистор.

Если вы не установили pinMode () на OUTPUT и подключили светодиод к контакту, то при вызове digitalWrite (HIGH) светодиод может выглядеть тусклым. Без явной установки pinMode () digitalWrite () включит внутренний подтягивающий резистор, который действует как большой ограничивающий ток резистор.

Синтаксис функции digitalWrite ()

Void loop() {    digitalWrite (pin ,value); } 
  • pin — номер пина, режим которого вы хотите установить

  • значение — ВЫСОКОЕ или НИЗКОЕ.

pin — номер пина, режим которого вы хотите установить

значение — ВЫСОКОЕ или НИЗКОЕ.

пример

функция analogRead ()

Arduino может определить, есть ли напряжение на одном из его выводов, и сообщить об этом через функцию digitalRead (). Существует разница между датчиком включения / выключения (который обнаруживает присутствие объекта) и аналоговым датчиком, значение которого постоянно изменяется. Чтобы прочитать этот тип датчика, нам нужен другой тип булавки.

В правой нижней части платы Arduino вы увидите шесть выводов с пометкой «Analog In». Эти специальные контакты показывают не только напряжение, приложенное к ним, но и его значение. Используя функцию analogRead () , мы можем прочитать напряжение, приложенное к одному из выводов.

Эта функция возвращает число от 0 до 1023, которое представляет напряжения от 0 до 5 вольт. Например, если на вывод № 0 подается напряжение 2,5 В, analogRead (0) возвращает 512.

Синтаксис функции analogRead ()

analogRead(pin); 
  • pin — номер вывода аналогового входа для чтения (от 0 до 5 на большинстве плат, от 0 до 7 на Mini и Nano, от 0 до 15 на Mega)

pin — номер вывода аналогового входа для чтения (от 0 до 5 на большинстве плат, от 0 до 7 на Mini и Nano, от 0 до 15 на Mega)

пример

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Цепь в нашем 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, иначе настройка не будет работать.Как играть песню «С Днем Рождения» на клавиатуре:Видео: –>

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