Амперка проекты. Приложение. Готовые каркасы и роботы Arduino. Какие решения предлагает Arduino

Доброго времени суток, Хабр. Запускаю цикл статей, которые помогут Вам в знакомстве с Arduino. Но это не значит, что, если Вы не новичок в этом деле – Вы не найдёте ничего для себя интересного.

Введение

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

Начало

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


main(){ void setup(){ } void loop(){ } }

Важно заметить, что обязательную в С++ функцию main() процессор Arduino создаёт сам. И результатом того, что видит программист есть:


void setup(){ } void loop(){ }

Давайте разберёмся с двумя обязательными функциями. Функция setup() вызывается только один раз при старте микроконтроллера. Именно она выставляет все базовые настройки. Функция loop() - циклическая. Она вызывается в бесконечном цикле на протяжении всего времени работы микроконтроллера.

Первая программа

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


int Led = 13; // объявляем переменную Led на 13 пин (выход) void setup(){ pinMode(Led, OUTPUT); // определяем переменную } void loop(){ digitalWrite(Led, HIGH); // подаём напряжение на 13 пин delay(1000); // ожидаем 1 секунду digitalWrite(Led, LOW); // не подаём напряжение на 13 пин delay(1000); // ожидаем 1 секунду }

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

Прошивка Arduino

Для того, чтоб залить скетч на Arduino нам необходимо сначала просто сохранить его. Далее, во избежание проблем при загрузке, необходимо проверить настройки программатора. Для этого на верхней панели выбираем вкладку «Инструменты». В разделе «Плата», выберете Вашу плату. Это может быть Arduino Uno, Arduino Nano, Arduino Mega, Arduino Leonardo или другие. Также в разделе «Порт» необходимо выбрать Ваш порт подключения (тот порт, к которому вы подключили Вашу платформу). После этих действий, можете загружать скетч. Для этого нажмите на стрелочку или во вкладке «Скетч» выберете «Загрузка» (также можно воспользоваться сочетанием клавиш “Ctrl + U”). Прошивка платы завершена успешно.

Прототипирование/макетирование

Для сборки макета нам необходимы следующие элементы: светодиод, резистор, проводки (перемычки), макетная плата(Breadboard). Для того, чтоб ничего не спалить, и для того, чтоб всё успешно работало, надо разобраться со светодиодом. У него есть две «лапки». Короткая – минус, длинная – плюс. На короткую мы будем подключать «землю» (GND) и резистор (для того, чтоб уменьшить силу тока, которая поступает на светодиод, чтоб не спалить его), а на длинную мы будем подавать питание (подключим к 13 пину). После подключения, загрузите на плату скетч, если вы ранее этого не сделали. Код остаётся тот же самый.


На этом у нас конец первой части. Спасибо за внимание.

Arduino/Genuino UNO — это флагманская плата для разработки собственных проектов, построения простых систем автоматики и робототехники на базе микроконтроллера ATmega328 с бесплатным программным обеспечением и открытой архитектурой. Arduino UNO R3 является сегодня самой популярной платформой для начинающих изобретателей, любителей мастерить своими руками, студентов и школьников.

Arduino UNO: распиновка платы

Что такое Arduino UNO CH340 мы уже рассказывали, поэтому перейдем сразу к характеристикам и описанию платы Ардуино УНО. Распиновка и принципиальная схема платформы представлена на фото далее. Как мы уже говорили, вся линейка плат имеет полностью открытую архитектуру системы, что позволяет любому стороннему производителю копировать и модернизировать платы Arduino Genuino UNO.

Arduino UNO распиновка платы на русском, ICSP

UNO является лучшим вариантом для знакомства с микроконтроллерами. Плата имеет удобный размер и все необходимое для начала работы: 14 цифровых входов/выходов (6 портов могут работать в режиме ШИМ), 6 аналоговых входов для датчиков, разъем USB для программирования и разъем питания Arduino UNO от блока питания или кроны. Но главное — это огромное множество уроков и инструкций в Интернете.

Характеристики платы Arduino UNO

  • Микроконтроллер: ATmega328
  • Тактовая частота: 16 МГц
  • Напряжение логических уровней: 5 В
  • Входное напряжение питания: 7–12 В
  • Портов ввода-вывода общего назначения: 20
  • Максимальный ток с порта ввода-вывода: 40 мА
  • Максимальный выходной ток порта 3.3 В: 50 мА
  • Максимальный выходной ток порта 5 В: 800 мА
  • Портов с поддержкой ШИМ: 6
  • Портов, подключённых к АЦП: 6
  • Разрядность АЦП: 10 бит
  • Flash-память: 32 КБ
  • EEPROM-память: 1 КБ
  • Оперативная память: 2 КБ
  • Габариты: 69×53 мм

Arduino UNO: схема электрическая


Arduino UNO: порты ввода вывода, питание

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


Arduino UNO: питание от внешнего источника

5V – на пин Ардуино подает 5В, его можно использовать для питания устройств
3.3V – на пин подается напряжение 3.3В от внутреннего стабилизатора
GND – вывод земли
VIN – пин для подачи внешнего напряжения
IREF – пин для информирования о рабочем напряжении платы

Можно питание на микроконтроллер подать через порт VIN с помощью проводов. «Плюс» от внешнего источника подается на порт VIN, а «Минус» на GND (заземление). Подача внешнего напряжения 5 Вольт на пин 5V не допустимо, так как питание Genuino Arduino Uno обходит стороной стабилизатор, что может привести к поломке. Все цифровые порты на плате выдают стабилизированное напряжение в 5 Вольт.

Arduino UNO: прошивка, память



Программирование платы происходит в бесплатной среде Arduino IDE на русском , которую можно скачать на официальном сайте. Для подключения устройств и модулей используются коннекторы («папа-папа» и «папа-мама»), которые подключаются к портам Ардуино. Чтобы начать работать с платформой, перейдите в раздел Arduino uno r3 «Уроки для начинающих » , где представлены подробные инструкции с примерами.

Плата поддерживает три типа памяти:

Flash – память объемом 32 кБ, используется для хранения программы. Когда контроллер прошивается скетчем через USB, он записывается именно во Flash – память. Чтобы очистить память Arduino UNO следует загрузить пустой скетч.

SRAM память — это оперативная память Ардуино объемом 2 кБ. Здесь хранятся переменные и объекты, создаваемые в скетче. SRAM память энерго-зависимая, при отключении источника питания от платы, все данные удалятся.

EEPROM — это энергонезависимая память объемом 1кБ. Сюда можно записывать данные, которые при выключении питания не исчезнут. Минус EEPROM в ограничении циклов перезаписи — 100 000 раз по утверждениям производителя.

Описание Ардуино УНО на русском

Рекомендуем вам ознакомиться с другими платами из линейки Arduino-Genuino, например, аналог самой популярной платы UNO — RobotDyn UNO R3 от китайского производителя. Плата по своим характеристикам ничем не уступает официальному производителю, но при этом имеет более демократичную цену и ряд преимуществ. Таких как, более удобный USB-разъем и большее количество аналоговых входов.

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

Краткие сведения об Arduino

Что такое Arduino?

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

Как связаны Arduino и роботы?

Ответ очень прост — Arduino часто используется как мозг робота.

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

Урок 1. Мигающий светодиод на Arduino

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

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

Урок 2. Подключение кнопки на Arduino

На этом уроке вы научитесь подключать кнопку и светодиод к Arduino.

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

Урок 3. Подключение потенциометра на Arduino

В этом уроке вы научитесь подключать потенциометр к Arduino.

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

Урок 4. Управление сервоприводом на Arduino

На этом уроке вы научитесь подключать сервопривод к Arduino.

Сервопривод – это мотор, положением вала которого можно управлять, задавая угол поворота.

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

Урок 5. Трехцветный светодиод на Arduino

На этом уроке вы научитесь подключать трехцветный светодиод к Arduino.

Трехцветный светодиод (rgb led) — это три светодиода разных цветов в одном корпусе. Они бывают как с небольшой печатной платой, на которой расположены резисторы, так и без встроенных резисторов. В уроке рассмотрены оба варианта.

Урок 6. Пьезоэлемент на Arduino

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

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

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

Урок 7. Фоторезистор на Arduino

На этом уроке нашего курса вы научитесь подключать фоторезистор к Arduino.

Фоторезистор — резистор, сопротивление которого зависит от яркости света, падающего на него.

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

Урок 8. Датчик движения (PIR) на Arduino. Автоматическая отправка E-mail

На этом уроке нашего курса вы научитесь подключать датчик движения (PIR) к Arduino, а также организовывать автоматическую отправку e-mail.

Датчик движения (PIR) инфракрасный датчик для обнаружения движения или присутствия людей или животных.

В нашей модели при получении с PIR-датчика сигнала о движении человека Arduino посылает компьютеру команду отправить E-mail и отправка письма происходит автоматически.

Урок 9. Подключение датчика температуры и влажности DHT11 или DHT22

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

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

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

Урок 10. Подключение матричной клавиатуры

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

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

Урок 11. Подключение модуля часов реального времени DS3231

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

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

Приложение. Готовые каркасы и роботы Arduino


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

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

Еще один вариант — покупка каркаса или корпуса робота: платформы на колесиках или гусенице, гуманоида, паука и т.п. В этом случае начинку робота придется делать самостоятельно.

Приложение. Мобильный справочник


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

Приложение состоит из 3-х основных разделов:

  • Операторы;
  • Данные;
  • Функции.

Где купить Arduino


Наборы Arduino

Курс будет пополняться дополнительными уроками. Подпишитесь на нас

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

Как это реализовать?

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

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

Автоматическое управление температурой дома


По порядку: Arduino Nano, Arduino Uno и NRF24L01


Я не хотел называть этот пункт как «умный» дом, ведь эта идея заключается только в управлении температурой. Я бы реализовал эту идею с помощью нескольких Arduino Nano и одной Arduino Mega/Uno. Связь между ними будет осуществляться с помощью модуля радиосвязи NRF24L01. Этот модуль позволяет связывать между собой до шести Arduino.

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


DHT2 и текстовый LCD дисплей


Данные с Arduino Nano будут приниматься «базой», которой является Arduino Uno или Mega, заключенная в большой корпус вместе с NRF24L01 (в качестве приемника), текстовым LCD-дисплеем и источником питания (батарейка). Все это будет находиться возле системы отопления. «База» сможет принимать и обрабатывать данные о температуре и в зависимости от значения этих данных, будет посылаться команда системе отопления - повысить или понизить температуру.

«Умная» теплица


Пример готового решения.


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


По порядку: Arduino Mega, DHT22 и текстовый LCD дисплей.


Одна Arduino способна контролировать температуру теплицы (с помощью того же датчика DHT22), выводить нужную информацию на LCD дисплей, подавать команду на открытие крана для подачи воды, а также управлять моторами для открытия и закрытия дверей.

ЧПУ станок


По порядку: Arduino Mega, L298N и шаговый двигатель.


Сюда же можно отнести и 3D принтеры. В интернете есть множество способов сделать ЧПУ станок на базе Arduino. Не все из них рабочие, но хорошие варианты точно найдутся. Из «железа» вам потребуется Arduino, желательно Mega, а также драйвер двигателей L298N и, естественно, сами двигатели. Все остальное - это рама и программный код. Должен заметить, что это одна из самых сложных идей в плане реализации.

Роботы


Пример готового решения.


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

По порядку: HC-SR04, L293D, HC-06 и NRF24L01


Ультразвуковой дальномер HC-SR04 может определять расстояние до препятствий, чтобы в последствии их обогнуть. Драйвер двигателей L293D, который используется как плата расширения, способен управлять сразу четырьмя двигателями и тремя сервоприводами. В плане связи, мы не сильно ограничены. Можно использовать bluetooth-модуль HC-06, что позволит управлять вашим детищем со смартфона, но не может похвастаться хорошей дальностью связи, что не скажешь о уже известном модуле радиосвязи NRF24L01. Однако, тогда у вас пропадет возможность управления со смартфона.


Аккумуляторы 18650


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

Итог

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

В любом случае, надеюсь, вам было интересно. Напишите в комментариях, сталкивались вы с подобными идеями?

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

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

Оригинал статьи на английском http://www.bunniestudios.com/blog/?p=2407

На фотографии готовые печатные платы для Leonardo

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

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

В этом проекте автор покажет, как можно подключить полноцветную светодиодную матрицу 8x8 к Arduino. Сама матрица имеет 32 входа: 8 анодов, 8 катодов красного цвета, 8 зеленого и 8 синего. При этом для управления матрицей будут задействованы всего 3 выхода на Arduino. Никакой магии тут нет, а есть 4 сдвиговых регистра 74HC595.

Более подробно об использовании 74HC59 с Arduino можно почитать в инструкции Использование сдвигового регистра 74HC595 для увеличения количества выходов .

Один регистр дает нам 8 выходов, так как у нашей матрицы 32 входа, в проекте использована техника каскадирования сдвиговых регистров. Нам понадобится 4 регистра 74HC59, при этом количество подключений к Arduino не изменится и будут задействованы 3 выхода на Arduino. для управления. Питание осуществляется по USB, но можно подключить и автономное.

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

Cтрого говоря, Arduino будет управлять не затвором камеры, а фотовспышкой. К сожалению, задержка реакции камеры на сигнал — в районе 20 миллисекунд, что для человеческого глаза не заметно, но все же дольше, чем можно себе позволить при съемке лопнувшего шарика. Поэтому съемка производится в темной комнате с выдержкой 10 секунд, а вот вспышка срабатывает именно в нужный момент. Так как в комнате практически нет освещения, то всё экспонирование фотографии произойдет именно в момент работы вспышки (около 1 миллисекунды).