Что такое Arduino и что с ним можно сделать. Проекты Arduino для всех

Nokia 03.09.2019
Nokia

Доброго времени суток, Хабр. Запускаю цикл статей, которые помогут Вам в знакомстве с 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 - это маленькое электронное устройство, состоящее из одной печатной платы, которое способно управлять разными датчиками, электродвигателями, освещением, передавать и принимать данные… Arduino - это целое семейство устройств разных размеров и возможностей. А также это целый зоопарк клонов Ардуино и мир ардуино-совместимых устройств. Но давайте обо всём по порядку.

1 «Мозг» Arduino

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

Atmega328 - мозг Arduino UNO

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

2 «Руки» Arduino

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


На фотографии показаны в сравнении Arduino Mega и Arduino Pro Mini. Представляете, что мог бы делать человек, имея столько рук, сколько Arduino Mega - выводов?

3 Цифровые и аналоговые выводы

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

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

4 Чем может управлять Arduino

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

  • кнопки, герконы и джойстики,
  • светодиоды и фотодиоды,
  • микрофоны и динамики,
  • электродвигатели и сервоприводы,
  • ЖК дисплеи,
  • считыватели радиометок (RFID и NFC),
  • bluetooth, WiFi и Ethernet модули,
  • считыватели SD карт,
  • радиоприёмники и радиопередатчики,
  • GPS и GSM модули…

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

  • освещённости,
  • магнитного поля,
  • ультразвуковые и лазерные дальномеры,
  • гироскопы и акселерометры,
  • датчики дыма и состава воздуха,
  • датчики давления, температуры и влажности…

И ещё многое, многое другое

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


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

5 Общение с Arduino

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

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

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

Вы можете заказать Arduino и множество разнообразных датчиков для него в китайском онлайн-магазине Али-Экспресс . Здесь цены ниже, но доставка занимает время от 3 недель до 1,5 месяцев. Можно заказать Arduino в магазине электроники Voltiq.ru . Здесь цены чуть выше, чем в китайских интернет-магазинах, но не придётся ждать целый месяц. Ещё один хороший магазин электроники и робототехники - FastNVR.ru .

Ну и напоследок, посмотрите, какие разные и замечательные проекты можно воплотить с помощью Ардуино!

Все об ардуино и электронике!

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

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

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

В данном материале будет предоставлен пример как использовать несколько датчиков температуры 18b20 + добавлять нужное количество и производить удаленный мониторинг по средствам платы esp8266 nodemcu и приложения blynk. Данный материал будет полезен если нужно снимать удаленно несколько показаний температуры для мониторинга.

Хотите поиграть в видеоигры из детства? Танчики, Контра, Чип и Дэйл, Черепашки Ниндзя… Все эти игры ждут вас! Из данного руководства вы узнаете как просто и быстро собрать и настроить ретро-консоль на базе микрокомпьютера Raspberry Pi и сборки эмуляторов RetroPie.

Интерактивная снежинка соответствующей формы, созданная Ардуино Нано. Используя 17 независимых каналов PWM и сенсорный датчик для включения и эффектов.

Снежинка состоит из 30 светодиодов, сгруппированных в 17 независимых сегментов, которые могут управляться отдельно микроконтроллером Arduino Nano. Каждый блок управляется отдельным пином PWM, и регулирует яркость каждого блока светодиодов и эффекты отдельно.

Данная статья будет полноценной инструкцией для сборки машинки робота на базе кит комплекта 2wd robot на основе вай-фай платы esp8266 и мотор шилда под неё .

Так же в конце будет прошивка под эту плату и настройка приложения для управления нашим роботом через смартфон по средствам вай-фай сети.

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

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

Популярная глушилка спаммер на базе платы ESP8266 (nodemcu \WEMOS) получила вторую версию прошивки c исправлением ошибок, улучшением интерфейса и добавлением более широкого функционала. Все это собрал до кучи и решил написать пост. Так же добавил подробный ворклог с упрощенной прошивкой через FLASHER (прошивка в 3 клика)

WIFI часы с метеостанцией на ESP8266 и матричном индикаторе на MAX7219

Очень интересный и простой проект часов с веб интерфейсом на базе платы ESP8266 nodemcu и дисплея MAX7219 . Наверное лучший вариант часов и спаренной погодной станции которая получает данные с интернета!

Дополнительные поля
test 1:

Этот проект сделан на плате WIFI ESP8266 и заточен на управление и мониторинг через приложение BLYNK на вашем смартфоне. Так же в проект можно добавить IP-камеру (или использовать старый смартфон с камерой в виде сервера) для мониторинга в реальном времени через IP Webcam Pro через виджет в приложении BLYNK .Для подачи корма используется шаговый двигатель NEMA17 c шагом в 1.8 градуса - 200 шагов на полный оборот. Двигатель вращает шнек в сантехническомпереходнике, в который из бункера попадает корм.

Давайте начнем с тех возможностей, которые откроются перед вами, если вы обеспечите беспроводной обмен данными между двумя платами Arduino:

  • Удаленное снятие показаний с датчиков температуры, давления, систем сигнализации на основе пироэлектрических датчиков движения и т.п.
  • Беспроводное управление и мониторинг состояния роботов на расстоянии от 50 2000 футов.
  • Беспроводное управление и мониторинг помещений в соседних домах.
  • И т.д. и т.п. В общем, практически все, что требует беспроводных систем управления и мониторинга...

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

Для начала стоит познакомиться с функционалом микропроцессора Ардуино уно, на котором строится большинство проектов, а также рассмотреть причины выбора данного приспособления. Ниже описаны факторы, по которым начинающему изобретателю стоит остановиться на Аrduino uno:

  1. Довольно простой в использовании интерфейс. Понятно, где какой контакт, и к чему прикреплять соединительные провода.
  2. Чип на плате подключается прямо к USB-порту. Преимущество этой установки заключается в том, что последовательная связь – это очень простой протокол, который проверен временем, а USB делает соединение с современными компьютерами очень удобным.
  3. Легко найти центральную часть микроконтроллера, которая представляет собой чип ATmega328. Он имеет больше аппаратных функций, таких как таймеры, внешние и внутренние прерывания, пины PWM и несколько режимов ожидания.
  4. Устройство с открытым исходным кодом, поэтому большое количество радиолюбителей могут исправить баги и неполадки в программном обеспечении. Это облегчает отладку проектов.
  5. Тактовая частота равна 16 МГц, что достаточно быстро для большинства приложений и не ускоряет работу микроконтроллера.
  6. Очень удобно управлять мощностью внутри него, и она имеет функцию встроенного регулирования напряжения. Также микроконтроллер можно отключить от USB-порта без внешнего источника питания. Можно подключить внешний источник питания до 12 В. Причем микропроцессор сам определит нужное напряжение.
  7. Наличие 13 цифровых контактов и 6 аналоговых контактов. Эти пины позволяют подключать оборудование к плате Arduino uno со стороннего носителя. Контакты используются в качестве ключа для расширения вычислительной способности Arduino uno в реальном мире. Просто подключите свои электронные устройства и датчики к разъемам, которые соответствуют каждому из этих контактов.
  8. Имеется в наличии разъем ICSP для обхода USB-порта и сопряжения с Arduino напрямую в качестве последовательного устройства. Этот порт необходим, чтобы перезагрузить чип, если он поврежден и больше не может использоваться на вашем компьютере.
  9. Наличие 32 КБ флэш-памяти для хранения кода разработчика.
  10. Светодиод на плате подключается к цифровому контакту 13 для быстрой отладки кода и упрощения этого процесса.
  11. Наконец, у него есть кнопка для сброса программы на чипе.

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

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

Теперь переходим непосредственно к проектам на Аrduino uno.

Самый простой проект для начинающих

Рассмотрим несколько простых и интересных проектов Ардуино uno, которые под силу сделать даже новичкам в этом деле - система сигнализации.

Мы уже делали урок по этому проекту - . Вкратце о то, что делается и как.

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

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

Для этого проекта вам понадобятся :

  1. Ультразвуковой датчик «пинг» – HC-SR04.
  2. Пьезо-зуммер.
  3. Светодиодная лента.
  4. Автомобильное освещение посредством ленты RGB. В этом руководстве по проекту Arduino вы узнаете, как сделать внутреннее освещение автомобиля RGB, используя плату Arduino uno.

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

Вы можете изменить цвет освещения с помощью устройства Android (телефон или планшет) с помощью приложения «Bluetooth RGB Controller » (Dev Next Prototypes), которое вы можете бесплатно загрузить с Android Play Store. Также вы можете найти схему электронной EasyEDA или заказать свою собственную схему на основе Arduino на печатной плате.

Удивительные проекты на Ардуино Уно

Большинство профессионалов в сфере разработки электронных проектов на Аrduino uno любят экспериментировать. Вследствие этого появляются интересные и удивительные устройства, которые рассмотрены ниже:

  1. Добавление ИК-пульта в акустическую систему . В бытовой электронике пульт дистанционного управления является компонентом электронного устройства, такого как телевизор, DVD-плеер или другой бытовой прибор, используемый для беспроводного управления устройством с короткого расстояния. Пульт дистанционного управления, в первую очередь, удобен для человека и позволяет работать с устройствами, которые не подходят для непосредственной работы элементов управления.
  2. Будильник . Часы реального времени используются для получения точного времени. Здесь эта система отображает дату и время на ЖК-дисплее, и мы можем установить будильник с помощью кнопок управления. Как только время сигнала тревоги наступит, система подает звуковой сигнал.
  3. Шаговый двигатель . означает точный двигатель, который можно поворачивать на один шаг за раз. Такое устройство делают с помощью робототехники, 3D-принтеров и станков с ЧПУ.

    Для этого проекта возьмите самый дешевый шаговый двигатель, который вы можете найти. Двигатели доступны в режиме онлайн. В этом проекте используется шагомер 28byj-48, который подходит для большинства других подобных проектов. Его легко подключить к плате Arduino.
    - Вам понадобятся 6 кабелей с разъемами типа «женщина-мужчина». Вам просто нужно подключить двигатель к плате, и все! Вы также можете добавить небольшую часть ленты на вращающуюся головку, чтобы увидеть, что она производит вращательные движения.

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

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

Увлечение платформой Arduino привело меня к устройствам, работающим по шине I2C (сокращение от английских слов Inter-Integrated Circuit) также называемые как "Two-Wire" устройства. Выпускается большое количество микросхем, аппаратно поддерживающих I2C шину. Это и всевозможные датчики, часы реального времени, память, расширители портов и много чего другого. В статье ниже представлена модернизация проекта сканера устройств с шиной I2C на базе Arduino, который описан на странице http://playground.arduino.cc/Main/I2cScanner и пример практической работы с автономным от компьютера прототипом устройства.

Управляющая программа, способы дистанционного управления (bluetooth или APC220), все остаётся прежним.

В статью добавлены схемы и программные коды для переноса проекта на распространенные палаты управления моторами ( и )

Читать

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

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

Плюс ещё отъезды на дачу на выходные... А один только полметровый куст эвкалипта способен за два дня и ночь испарить 2-3л воды и успеть завянуть.

Фитильная система не понравилась тем, что она нерегулируема и жрёт место на окне. Которого и так мало. Лейки-пипетки типа plant genie не подошли по причине того, что даже познав дао втыкания их в горшок(не так воткнул -- или не капает или вытекает за пару часов), их надо или так много, что не хватает площади горшка или горшок небольшой и просто переворачивается. Ну и на заявленные две недели этих 0.22л тоже не особо хватает.



Рекомендуем почитать

Наверх