Проекты ардуино для начинающих

Что такое Arduino Web Editor

Arduino Web Editor – это онлайн инструмент, который позволяет вам писать скетчи и загружать их в любую плату Arduino с помощью вашего веб-браузера (Chrome, Firefox, Safari и Edge). Разработчики платформы Arduino рекомендуют использовать браузер Google Chrome.

Эта IDE (Integrated Development Environment – интегрированная среда разработки) является частью проекта Arduino Create, онлайн платформе, которая позволяет разработчикам писать программы, иметь доступ к обучающим материалам, конфигурировать платы и делиться своими проектами с другими участниками сообщества Arduino. Обеспечивая пользователей непрерывным трудовым процессом, Arduino Create обеспечивает взаимосвязи между всеми процессами создания готового изделия, начиная от его задумки и заканчивая его осуществлением. То есть с помощью этого сервиса вы можете управлять всеми аспектами создания проекта для Arduino.

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

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

Шаг 2. Необходимые компоненты

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

  • Микроконтроллер Atmel Atmega328p-pu
  • 28-контактная база IC
  • 16 МГц кварцевый генератор
  • конденсатор 22 пФ — 2 шт.
  • конденсатор 100 нФ — 4 шт.
  • Электролитический конденсатор 100 мкФ — 3 шт.
  • 3 мм красный светодиод — 2 шт.
  • 330E 1/4W резистор — 2 шт.
  • 240E 1/4W резистор — 1 шт.
  • 390E 1/4W резистор — 1 шт.
  • 10K 1/4W резистор — 1 шт.
  • Кнопка для сброса
  • Диод общего назначения 1N4007
  • Линейный регулятор напряжения 7805
  • Линейный регулятор переменного напряжения LM317
  • DC разъем мама
  • 2-контактный винтовой клеммный блок
  • много разъемов «папа» и «мама»

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

Вам также понадобится программатор USBASP ICSP или конвертер USB в TTL, такой как FTDI для программирования Arduino с вашего компьютера.

Вот проектная спецификация от компании Easyeda:

Собираем все компоненты и переходим к следующему шагу.

Распиновка Arduino Mega 2560 R3

Как уже было написано выше, плата имеет 54 цифровых пинов. Они могут быть как входом так и выходом. Рабочее напряжение этих пинов составляет 5 В. Каждый из них имеет подтягивающий резистор и поданное на один из этих пинов напряжения ниже 5 вольт все равно будет считаться как 5 вольт (логическая единица).

Аналоговые пины являются входами и не имеют подтягивающих резисторов. Они измеряют поступающее на них напряжение и возвращают значение от 0 до 1024 при использовании функции analogRead(). Эти пины измеряют напряжение с точностью до 0,005 В.

ШИМ Arduino Mega

Если внимательно посмотреть на плату то можно увидеть значок тильды (

) рядом с некоторыми цифровыми пинами. Этот значок означает, что данный пин может быть использован как выход ШИМ. На некоторых платах ардуино этого значка нет так как производители не всегда находят место для этого символа на плате. У Arduino Mega есть 15 выводов ШИМ, это цифровые пины со 2 по 13 и с 44 по 46. Для использования ШИМ в Arduino есть специальная функция analogWrite().

Другие пины:

  • Serial: 0 (rx) и 1 (tx), Serial1: 19 (rx) 18 (tx), Serial2: 17 (rx) и 16 (tx), Serial3: 15 (rx) и 14 (tx) используются для передачи данных по последовательному интерфейсу.
  • Выводы 53 (SS), 51 (MOSI), 50 (MISO), 52 (SCK) рассчитаны для связи по интерфейсу SPI.
  • Так же на выводе 13 имеется встроенный в плату светодиод.
  • 20 (SDA) и 21 (SCL) могут использоваться для связи с другими устройствами по шине I2C. Подробнее про этот интерфейс вы можете почитать на википедии. В среде разработке Arduino IDE есть встроенная библиотека «wire.h» для более легкой работы с I2C.
  • Внешние прерывания: выводы 2 (прерывание 0), 3 (прерывание 1), 18 (прерывание 5), 19 (прерывание 4), 20 (прерывание 3) и 21 (прерывание 2). Эти выводы могут использоваться в качестве источников прерываний, возникающих при различных условиях: при низком уровне сигнала, при фронте, спаде или изменении сигнала. Для получения дополнительной информации см. функцию attachInterrupt().
  • AREF. Опорное напряжение для аналоговых входов. Может быть задействован функцией analogReference().
  • Reset. Формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения

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

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

Мы уже делали урок по этому проекту — Датчик движения с Arduino, HC-SR04 и светодиодом (LED). Вкратце о то, что делается и как.

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

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

Приведем примеры нескольких простых самоделок на Ардуино, которые может сделать даже неопытный в конструировании электронных приборов человек:

  1. Arduino RFID дверной замок. RFID обозначает радиочастотную идентификацию. Каждая RFID-карта имеет уникальный идентификатор, встроенный в нее, и считыватель RFID используется для считывания RFID-карты no. EM-18 RFID-считыватель работает на частоте 125 кГц, поставляется со встроенной антенной и может питаться от источника питания 5 В. Он обеспечивает последовательный выход вместе с выходом Weigand. Диапазон составляет около 8-12 см. Параметры последовательной связи – 9600 бит/с, 8 бит данных, 1 стоповый бит. Эта беспроводная RF-идентификация используется во многих системах.
  2. Знаменитый Аrduino проект – взаимодействующий датчик наклона с микроконтроллером. Переключатель датчика наклона представляет собой электронное устройство, которое определяет ориентацию объекта и дает свой выход, высокий или низкий, соответственно. В нем есть ртутный шар, который перемещается. Таким образом, датчик наклона может включать или выключать схему, в зависимости от ориентации. В этом проекте мы взаимодействуем с датчиком Mercury/Tilt с Arduino UNO. Мы контролируем светодиод и зуммер в соответствии с выходом датчика наклона. Всякий раз, когда мы наклоняем датчик, будильник включается.
  3. На Ардуино делается элементарный проект – цифровой вольтметр. С простым знанием цепи Arduino и Voltage Divider Circuit мы можем превратить Arduino в цифровой вольтметр и измерить входное напряжение с помощью Arduino и ЖК-дисплея 16×2. Arduino имеет несколько аналоговых входных контактов, которые соединяются с аналого-цифровым преобразователем (АЦП) внутри Arduino. Arduino ADC – это десятибитовый преобразователь. Это означает, что выходное значение будет находиться в диапазоне от 0 до 1023. Мы получим это значение, используя функцию analogRead. Если вы знаете опорное напряжение, вы можете легко рассчитать текущее напряжение на аналоговом входе. Мы можем использовать схему делителя напряжения для расчета входного напряжения.

Дистанционное управление «умным» домом

Для подключения платы к интернету, понадобится:

  • Wi-Fi-адаптер, настроенный на прием и передачу сигнала через маршрутизатор;
  • или подключенный через Ethernet кабель Wi-Fi роутер.

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

Есть несколько вариантов управления умным домом Arduino: с помощью приложения для смартфона или через веб. Рассмотрим каждое подробнее.

Приложения управления

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

Blynk

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

Virtuino

Крутое бесплатное приложение на Android, позволяющее совмещать проекты в одно целое и управлять с помощью Wi-Fi или Bluetooth сразу несколькими платами.

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

Bluino Loader – Arduino IDE

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

Arduino Bluetooth Control

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

RemoteXY: Arduino Control

С помощью приложения пользователь может создать свой собственный интерфейс управления платой. Подключение происходит с помощью Wi-Fi, Блютуз или интернет, через облачный сервер.

Bluetooth Controller 8 Lamp

Созданное с помощью Bluetooth-модулей HC-05, HC-06 и HC-07 приложение, обеспечивает восьмиканальный контроль. Таким способом достигается контроль и регулирование работы Ардуино, в соответствии с каждым из 8 светодиодов.

BT Voice Control for Arduino

Приложение специально заточено под дистанционное управление данными с ультразвукового датчика, подключенного по блютуз через Arduino. Реализуется подключения через модуль HC-05.

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

IoT Wi-Fi контроллер

Приложение с интерфейсом, информирующем о конфигурации каждого входа/выхода в плате Arduino. В утилите можно переключать в реальном времени GPIO и показывать значение АЦП.

Веб-клиент

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

Для этих целей понадобится Arduino Ethernet Shield – сетевое расширение для пинов Ардуино Уно, позволяющее добавить разъем RJ-45 для подключения к сети.

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

Затем, подключите по USB плату к компьютеру, а по Ethernet плату к роутеру, которой раздает интернет компьютеру. При правильном установлении соединения, вы увидите зеленый свечение на порту.

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

Уведомления по SMS

С помощью подключаемой библиотеки GSM в Arduino IDE можно:

  1. Работать с голосовыми вызовами.
  2. Получать и отправлять СМС.
  3. Подключаться к Интернету через GPRS.

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

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

Передача данных от Ардуино

Сначала мы заставим нашу ардуину передавать данные на отдельный сайт, который будет изображать данные, полученные с датчиков ардуино. Для этого прекрасно подойдет сайт для интернет вещей — dweet.io

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

Попробуем на него передавать данные изменения температуры нашей комнаты.

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

На главной странице можно посмотреть возможные варианты работы данного сайта

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

Описание пинов Ардуино

pinMode

  • Пины 0 и 1  – контакты UART (RХ и TX соответственно) .
  • Пины c 10 по 13 – контакты SPI (SS, MOSI, MISO и SCK соответственно)
  • Пины A4 и A5 – контакты I2C (SDA и SCL соответственно).

Цифровые пины платы Uno

Пины с номерами от 0 до 13 являются цифровыми. Это означает, что вы можете считывать и подавать на них только два вида сигналов: HIGH и LOW. С помощью ШИМ также можно использовать цифровые порты для управления мощностью подключенных устройств.

Пин ардуино Адресация в скетче Специальное назначение ШИМ
Цифровой пин 0 RX
Цифровой пин 1 1 TX
Цифровой пин 2 2 Вход для прерываний
Цифровой пин 3 3 Вход для прерываний ШИМ
Цифровой пин 4 4
Цифровой пин 5 5 ШИМ
Цифровой пин 6 6 ШИМ
Цифровой пин 7 7
Цифровой пин 8 8
Цифровой пин 9 9 ШИМ
Цифровой пин 10 10 SPI (SS) ШИМ
Цифровой пин 11 11 SPI (MOSI) ШИМ
Цифровой пин 12 12 SPI (MISO)
Цифровой пин 13 13 SPI (SCK)

К выходу также подсоединен встроенный светодиод (есть в большинстве плат Arduino)

Аналоговые пины Arduino Uno

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

Пин Адресация в скетче Специальное назначение
Аналоговый пин A0 A0 или 14
Аналоговый пин A1 A1 или 15
Аналоговый пин A2 A2 или 16
Аналоговый пин A3 A3 или 17
Аналоговый пин A4 A4 или 18 I2C (SCA)
Аналоговый пин A5 A5 или 19 I2C (SCL)

Дополнительные пины на плате

  • AREF – выдает опорное напряжения для встроенного АЦП. Может управляться функцией analogReference().
  • RESET – подача низкого сигнала на этом входе приведет к перезагрузке устройства.

Мигание светодиодом на плате Arduino из браузера

1. Запустите и настройте внешний вид Arduino Web Editor по своему желанию (пункт меню Preferences).

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

3. Начнем работу с самого простого примера. Для этого выберите в меню слева пункт ‘Examples’ (примеры), затем ‘Basic’ (основные) и затем ‘Blink’ (мигание). После этого код скетча для мигания светодиодом высветится в поле кода.

4. Чтобы загрузить его в вашу плату нажмите кнопку ‘Upload ’. Пока код скетча будет проверяться и загружаться в плату на месте этой кнопки появится метка ‘BUSY’ (занято). Если загрузка скетча в плату прошла успешно внизу окна вывода данных появится сообщение “Success: Done uploading”.

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

6. Иногда новые платы Arduino/Genuino уже при изготовлении программируются программой мигания светодиодом. Так как же в этом случае понять что вы успешно загрузили программу мигания светодиодом в плату? Да очень просто. Просто уменьшите задержку в представленном примере и после этого загружайте его в плату – если все прошло успешно, то вы заметите что светодиод начнет мигать быстрее чем он мигал до этого.

Установка Arduino IDE

Прежде чем начать работу с Arduino необходимо установить среду программирования Arduino IDE на ваш компьютер/ноутбук. Все описанные далее шаги по установке данной программной среды будут ориентированы на операционную систему Windows, для остальных операционных систем последовательность действий будет примерно такой же. Если возникнут проблемы с другими системами, то помощь можно найти по следующим ссылкам – для пользователей Mac и пользователей Linux. Перед началом установки Arduino IDE убедитесь что вы обладаете правами администратора на вашем компьютере – это облегчит установку.

Шаг 1. Загрузите Arduino IDE с официального сайта — https://www.arduino.cc/download_handler.php.

Шаг 2. Запустите скачанный exe файл.

Шаг 3. В открывшемся окне кликните на “I Agree” чтобы согласиться с условиями лицензии Arduino.

Шаг 4. В окне опций установки отметьте все галочки (см. рисунок).

Шаг 5. На этом шаге необходимо выбрать место установки Arduino IDE. По умолчанию стоит путь установки в Program files на диске C – крайне рекомендуется оставить именно этот путь.

Шаг 6. На этом шаге вы можете наблюдать как Arduino IDE устанавливается на ваш компьютер (см. рисунок). После того как установка будет завершена нажмите кнопку “completed”.

Шаг 7. После завершения установки запустите на выполнение файл Arduino.exe. Откроется окно IDE с минимумом кода внутри него – см. рисунок.

Лучшие контроллеры: топ 5 проверенных моделей за данный год

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

VeraEdge

Модель имеет интуитивно понятный интерфейс для настройки параметров включения и выключения механических датчиков, настройки индивидуальных сценариев использования смарт-устройств. Связь осуществляется с использованием протокола Z-Wave. Контроллер Wi-Fi «Умный дом» позволяет удаленно узнать, что происходит дома: какие датчики сработали, какая температура в комнатах, были ли посетители и другие бытовые проблемы.

Fibaro Home Center 2

Смарт-устройство использует протокол Z-Wave для настройки связи с датчиком. Универсальный контроллер умного дома, использующий плагины, поддерживает устройства и программы, которых изначально не было в программной конфигурации. Интеллектуальный централизованный блок управления совмещает работу с «Google Ассистентом»; имеет понятный и удобный интерфейс для настройки параметров и определения настроек программного обеспечения. Среди характеристик и технических параметров можно отметить, что для подключения потребуется проводной кабель. Перенастройка значений возможна только тогда, когда датчики поднесены к контроллеру. С приложением удобно работать на компьютере или ноутбуке, а при использовании смартфона покупатели замечают неудобный интерфейс.

Siemens

Устройства немецких производителей собираются в систему взаимодействия в частных домах, коттеджах, производственных помещениях. Двухкомпонентный модуль LOGO представляет собой дисплейную клавиатуру с функциями ввода / вывода, надежный и удобный проводной интерфейс для управления контроллером. Для работы в разных режимах сотрудниками компании было разработано программное обеспечение Soft Comfort. Конфигурация системы, благодаря дополнительным модулям, формируется по единому варианту использования. Благодаря постоянным обновлениям повышается эффективность использования и эксплуатационные качества: удобство использования, настройки, понятная схема монтажа и подключения.

ARDUINO

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

Самые необычные проекты

Теперь перейдем к необычным проектам с использованием Аrduino микропроцессора:

  1. Игрушка Easy Robot Toy PipeBot. Если вы ищете более простой проект, возможно, тот, с которым вы можете работать со своими детьми, тогда рассмотрите вариант создания игрушки PipeBot. Потребуются лишь материалы, которые всегда находятся под рукой. Когда вы построите, вы получите рулонную политрубку, которой вы можете управлять с помощью вашего смартфона.
  2. 3D-сканер. Разработчик-любитель Ричард создал этот проект для сканирования 3D-моделей своих детей. Это на самом деле довольно революционный дизайн, поскольку он не заставляет людей стоять на месте в течение длительного времени во время сканирования. Вместо этого этот 3D-сканер мгновенно снимает несколько фотографий с разных ракурсов и собирает изображения в виде 3D-сканирования. Ричардский сканер построен с 40 контактами Pis, 40 поддерживающими контакты Pi камерами и 40 8GB SD-картами. Итак, как вы можете себе представить, этот проект мгновенно окупится.
  3. Приспособление для людей с ограниченными возможностями. С помощью ардуиноподобного устройства, называемого Tongueduino, которое разработано исследователем MIT Гершоном Дублоном, отправляется информация на площадку с электродами, расположенными по сетке. Этот пэд помещается в рот пользователя. При подключении к электронному датчику пэд преобразует сигналы от датчика в небольшие импульсы электрического тока через сетку, которые язык читает, как образец человеческого языка. Известно, что язык имеет чрезвычайно плотное сенсорное разрешение, а также высокую степень нейропластичности, способность адаптироваться к каждому человеку. Исследования показали, что электротактильные языковые дисплеи могут использоваться в качестве протезов зрения для слепых. Пользователи быстро учатся читать и перемещаться по естественным средам. С помощью Tongueduino сигналы сопоставляют пространственные и интенсивные карты с количеством импульсов внутри кадра. Пользователь Tongueduino может идентифицировать пиксели и линии, нарисованные на сетке 3×3, коллегой на компьютере. Конечная цель состоит в том, чтобы выйти за рамки простой замены зрения в сторону большего сенсорного увеличения. Соединение с магнитометром может предоставить пользователю внутреннее чувство направления.