Видео и фото обзор стартового набора Arduino для UNO R3 из посылки на Aliexpress

Расширение возможности на Ардуино

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

Упомянутая программная технология применяется для решения интернет-задач, поэтому для визуализации «Умного дома» используется язык Java Script (именно с его помощью создается обработчик и сервер). Результаты можно увидеть на экране компьютера или ПК.

Для реализации задуманного подойдет ноутбук, обычный ПК или Raspberry Pi. Применение такой системы позволяет увеличить ее возможности. Так, если на плате Ардуино имеется небольшой объем памяти, на сервере такие ограничения отсутствуют. Программа пишется таким образом, чтобы обеспечить полное управление платформой.

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

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

Наборы и конструкторы Ларт

ЛАРТ Сармат Армага

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

ЛАРТ Печенег Батана

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

Выбрать и купить наборы ЛАРТ можно на официальном сайте: lartmaster.ru/

Конструктор Смарт Робо

Готовый конструктор для создания электронного робота на основе Ардуино, в комплект входит необходимое количество элементов, и руководство к сборке. Базовый элемент набора – плата от Keyestudio (100% аналог Ардуино). Полученный робот может быть запрограммирован на движение по линии, возможность объезда препятствий и управление от дистанционного пульта. Все элементы соединяются при помощи быстроразъемных соединителей и не требуют пайки. Доработать и усовершенствовать полученную конструкцию можно добавив на плату дополнительные элементы, совместимые с контроллером Ардуино.

Конструктор Смарт

Серия наборов, которые отличаются по комплектации. Основной компонент – плата Smart Uno – аналог контроллера  Ардуино Уно, не уступающий ему по качественным характеристикам. В зависимости от комплектации (Смарт 10, Смарт 20 и Смарт 30) набор содержит элементы, как для начального уровня проектирования, так и для разработки более сложных проектов. При необходимости возможно подключение других электронных компонентов, совместимых с микроконтроллером.

Смарт Genuino

Серия наборов – Смарт 10 Genuino, Смарт 20 Genuino, Смарт 30 Genuino, которые отличны по количеству деталей в комплекте. Главный базовый компонент – плата Genuino Uno, кроме которой в составе имеются электронные детали, беспаечная макетная плата, провода и руководство по проектированию.  Набор будет интересен как новичкам, так и профессиональным пользователям.

Выбрать и купить конструктор SmartElements можно на официальном сайте: http://smartelements.ru/

Робоплатформа Robbo (ScratchDuino)

Конструктор предназначен для обучения детей и взрослых основам робототехники и электроники. Управление роботизированным механизмом может осуществляться из различных сред программирования (Scratch, Lazarus, Кумир) или же пульта управления. Базовый компонент – картридж Ардуино. В зависимости от типа комплектации варьируется количество составных элементов.

Выбрать и купить конструктор Robbo можно на официальном сайте: http://robboclub.ru/

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

Если посмотреть  на все проекты ардуино, информация о которых доступна в интернете, то можно их разделить на несколько основных групп:

Начальные учебные проекты, не претендующие на какое-то важное практическое использование, но помогающие разобраться в разных аспектах платформы.Мигающие светодиоды – маячок, мигалка, светофор и другие.
Проекты с датчиками: от простейших аналоговых до цифровых, использующих разнообразные протоколы для обмена данными.
Устройства регистрации и отображения информации.
Машины и устройства с сервоприводами и шаговыми двигателями.
Устройства с использованием различных беспроводных видов связи и GPS.

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

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

Как создавать проект на ардуино

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

Если речь идет не об учебном проекте, то вы обязательно столкнетесь со следующими этапами реализации с такими вот задачами:

  • Придумать что-то, что будет полезно и (или) интересно для окружающих. Даже самый простой проект несет какую-то пользу – как минимум, он помогает изучать новые технологии.
  • Собрать схему, подключить модули друг к другу и к контроллеру.
  • Написать скетч (программу) в специальной среде и загрузить ее в контроллер.
  • Проверить, как все работает вместе, и исправить ошибки.
  • После тестирования – готовиться к созданию готового устройства. Это означает, нужно собрать устройство в каком-то пригодном для эксплуатации корпусе, предусмотреть систему питания, связи с окружающей средой.
  • Если вы собираетесь распространять созданные вами устройства, то придется также заняться дизайном, системой транспортировки, задуматься о безопасности использования необученными пользователями и обучением этих самых пользователей.
  • Если ваше устройство работает, оно протестировано и обладает какими-то преимуществами перед другими решениями, то можно попытаться сделать из вашего инженерного уже бизнес-проект, попробовать привлечь инвестиции.

Каждый из этих этапов создания проекта достоин отдельной статьи

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

Электронные схемы

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

Программирование

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

Начало работы с Ардуино

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

Чаще всего плата выглядит вот так:

На рисунке показана одна из плат Ардуино – Arduino Uno. Мы изучим ее подробнее на следующих уроках.

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

Вся работа над проектом разбивается на следующие этапы:

  1. Придумываем идею и проектируем.
  2. Собираем электрическую схему. Тут нам пригодится макетная плата, упрощающая монтаж элементов. Безусловно, понадобятся навыки работы с электронными приборами и умение пользоваться мультиметром.
  3. Подключаем плату Arduino к компьютеру через USB.
  4. Пишем программу и записываем ее в плату буквально нажатием одной кнопки на экране в специальной среде программирования Arduino.
  5. Отсоединяем от компьютера.  Теперь устройство будет работать автономно – при включении питания оно будет управляться той программой, которую мы в него записали.

Программа и среда программирования выглядят вот так:

На экране показана программа (на сленге ардуинщиков текст программы называется “скетч”), которая будет мигать лампочкой, подсоединенной к 13 входу на плате Ардуино UNO. Как видим, программа вполне проста и состоит из понятных для знающих английский язык инструкций. В языке программирования Arduino используется свой диалект языка C++, но все возможности C++ поддерживаются.

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

Визуальную среду рекомендуется использовать школьникам младших классов, более старшим инженерам лучше сразу изучать “настоящий” Ардуино – это довольно просто, к тому же знания C++ никому не повредят.

В целом все выглядит довольно понятно, не так ли? Осталось разобраться в деталях.

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

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

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

Распиновка микроконтроллера ATmega328P


Распиновка микроконтроллера ATmega328P Uno

Пин Arduino

Название пина 

Функция

Генерация ШИМ

Цифровой пин №0

Serial (RX)

Цифровой пин №1

1

Serial (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) + светодиод

Аналоговый пин №А0

А0

Аналоговый пин №А1

А1

Аналоговый пин №А2

А2

Аналоговый пин №А3

А3

Аналоговый пин №А4

А4

I2C (SDA)

Аналоговый пин №А5

А5

I2C (SCL)

PinOut микроконтроллера ATmega328P


PinOut микроконтроллера ATmega328P Uno

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

Как настроить Ардуино?

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

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

  • Как уберечь Arduino и другие платы от кривых рук
  • 10 способов «убить» микроконтроллер Arduino

Алгоритм классической настройки программы Arduino выглядит так:

  • установка IDE, которую можно загрузить ниже или здесь или с сайта производителя;
  • установка программного обеспечения на используемый ПК;
  • запуск файла Arduino;
  • вписывание в окно кода разработанную программу и перенос ее на плату (используется USB кабель);
  • в разделе IDE необходимо выбрать тип конструктора, который будет использоваться. Сделать это можно в окне «инструменты» – «платы»;
  • проверяете код и жмете «Дальше», после чего начнется загрузка в Arduino.
1.8.7Код на Github
1.8.6Код на Github
1.8.5Код на Github
1.8.4Код на Github
1.8.3Код на Github
1.8.2Код на Github
1.8.1Код на Github
1.8.0Код на Github
1.6.13Код на Github
1.6.12Код на Github
1.6.11Код на Github
1.6.10Код на Github
1.6.9Код на Github
1.6.8Код на Github
1.6.7Код на Github
1.6.6Код на Github
1.6.5Код на Github
1.6.4Код на Github
1.6.3Код на Github
1.6.2Код на Github
1.6.1Код на Github
1.6.0Код на Github
1.5.8 BETAКод на Github
1.5.7 BETAКод на Github
1.5.6-r2 BETAКод на Github
1.5.5 BETAКод на Github
1.5.4 BETAКод на Github
1.5.3 BETAКод на Github
1.5.2 BETAКод на Github
1.5.1 BETAКод на Github
1.5 BETAКод на Github

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Предыдущая
ArduinoЧто такое ide arduino: характеристики и применение на практике
Следующая
ArduinoЛучшие курсы по Ардуино для начинающих

Отличие от других плат

Сегодня на рынке можно встретить множество вариантов плат ардуино. Самыми популярными конкурентами Уно являются платы Nano и Mega. Первая пойдет для проектов, в которых важен размер.  Вторая – для проектов, где у схема довольно сложна и требуется множество выходов.

Отличия Arduino Uno от Arduino Nano

Современные платы Arduino Uno и Arduino Nano версии R3 имеют, как правило, на борту общий микроконтроллер: ATmega328. Ключевым отличием является размер платы и тип контактных площадок. Габариты Arduino Uno: 6,8 см x 5,3 см. Габариты Arduino Nano: 4,2 см x 1,85 см. В Arduino UNO используются коннекторы типа «мама», в Nano – «гребень» из ножек, причем у некоторых моделей контактные площадки вообще не припаяны.  Естественно, больший размер UNO по сравнению с Nano в некоторых случаях является преимуществом, а в некоторых – недостатком. С платой большого размера гораздо удобнее производить монтаж, но она неудобна в реальных проектах, т.к. сильно увеличивает габариты конечного устройства.

На платах Arduino Uno традиционно используется разъем TYPE-B (широко применяется также для подключения принтеров и МФУ). В некоторых случаях можно встретить вариант с разъемом Micro USB. В платах Arduino Nano стандартом является Mini или Micro USB.

Естественно, различия есть и в разъеме питания. В плате Uno есть встроенный разъем DC, в Nano ему просто не нашлось места.

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

Отличия от Arduino Mega

Плата Mega в полном соответствии со своим названием является на сегодняшний день самым большим по размеру и количеству пинов контроллеров Arduino. По сравнению с ней в Uno гораздо меньше пинов и памяти. Вот список основных отличий:

  • Плата Mega использует иной микроконтроллер: ATMega 2560. Но тактовая частота его равна 16МГц, так же как и в Уно.
  • В плате Mega большее количество цифровых пинов – 54 вместо 14 у платы Uno. И аналоговых – 16 / 6.
  • У платы Mega больше контактов, поддерживающих аппаратные прерывания: 6 против 2. Больше Serial портов – 4 против 1.
  • По объему памяти Uno тоже существенно уступает Megа. Flash -память 32/256, SRAM –  2/8, EEPROM – 4/1.

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

Установка 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 с минимумом кода внутри него – см. рисунок.

Шаг 4. Создаем печатную плату

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

После завершения проектирования схемы преобразуйте ее в печатную плату и спроектируйте печатную плату на веб-сайте easyEDA (ссылка). Будьте терпеливы. Ошибка на этом шаге испортит вашу печатную плату. Проверьте несколько раз перед генерацией файла gerber. Вы также можете проверить 3d модель вашей платы здесь. Нажмите на создание файла gerber и оттуда вы можете напрямую заказать эту плату через JLCPCB. Загрузите файлы gerber, выберите правильную спецификацию, ничего не меняйте в этом разделе. Оставьте как есть. Это достаточно хорошие настройки для старта. Разместите заказ. Вы получите его через 1-2 недели.

Разработка проекта

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

Какие проекты можно создавать на Arduino?

Ардуино позволяет создавать множество уникальных проектов. Вот лишь некоторые из них:

  • Сборка кубика Рубика (система справляется за 0,887 с);
  • Контроль влажности в подвальном помещении;
  • Создание уникальных картин;
  • Отправка сообщений;
  • Балансирующий робот на двух колесах;
  • Анализатор спектра звука;
  • Лампа оригами с емкостным сенсором;
  • Рука-робот, управляемая с помощью Ардуино;
  • Написание букв в воздухе;
  • Управление фотовспышкой и многое другое.

Составление проекта для умного дома

Рассмотрим ситуацию, когда необходимо сделать автоматику для дома с одной комнатой.

Такое здание состоит из пяти основных зон — прихожей, крыльца, кухни, санузла, а также комнаты для проживания.

При составлении проекта стоит учесть следующее:

  • КРЫЛЬЦО. Включение света производится в двух случая — приближение хозяина к дому в темное время суток и открытие дверей (когда человек выходит из здания).
  • САНУЗЕЛ. В бойлере предусмотрен выключатель питания, который при достижении определенной температуры выключается. Управление бойлером производится в зависимости от наличия соответствующей автоматики. При входе в помещение должна срабатывать вытяжка, и загорается свет.
  • ПРИХОЖАЯ. Здесь требуется включение света при наступлении темноты (автоматическое), а также система обнаружения движения. Ночью включается лампочка небольшой мощности, что исключает дискомфорт для других жильцов дома.
  • КОМНАТА. Включение света производится вручную, но при необходимости и наличии датчика движения эта манипуляция может происходить автоматически.
  • КУХНЯ. Включение и отключение света на кухне осуществляется в ручном режиме. Допускается автоматическое отключение в случае продолжительного отсутствия перемещений по комнате. Если человек начинает готовить пищу, активируется вытяжка.

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

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

Стоит обратить внимание, что если в доме планируется установка умных розеток, то для управления ими лучше использовать приложения на мобильных устройствах, WIFI или через SMS сообщения. Визуальное программирование для Arduino можно осуществлять с помощью специального приложения FLProg, которое можно скачать с официального сайта http://flprog.ru/

Визуальное программирование для Arduino можно осуществлять с помощью специального приложения FLProg, которое можно скачать с официального сайта http://flprog.ru/.

Нужно ли знать программирование?

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

После того как программа составлена она загружается (прошивается) на плату. Ардуино в этом случае имеет неоспоримое преимущество – для программирования в большинстве случаев используется USB-кабель. Сразу после загрузки программа готова выполнять различные команды.

Начинающим работать с Arduino нужно знать две ключевые функции:

  • setup() – используется один раз при включении платы, применяется для инициализации настроек;
  • loop() – используется постоянно, является завершающим этапом настройки setup.

Пример записи функции setup():

void setup() {
	Serial.begin(9600);	// Открываем serial соединение
	pinMode(9, INPUT);	// Назначаем 9 пин входом
	pinMode(13, OUTPUT); // Назначаем 13 пин выходом
}

Функция setup() выполняется в самом начале и только 1 раз сразу после включения или перезагрузки вашего устройства.

Функция loop() выполняется после функции setup(). Loop переводится как петля, или цикл. Функция будет выполняться снова и снова. Так микроконтроллер ATmega328 (большинстве плат Arduino содержат именно его), будет выполнять функцию loop около 10 000 раз в секунду.

Также вы будете сталкиваться с дополнительными функциями:

  • pinMode – режим ввода и вывода информации;
  • analogRead – позволяет считывать возникающее аналоговое напряжение на выводе;
  • analogWrite – запись аналогового напряжения в выходной вывод;
  • digitalRead – позволяет считывать значение цифрового вывода;
  • digitalWrite – позволяет задавать значение цифрового вывода на низком или высоком уровне;
  • Serial.print – переводит данные о проекте в удобно читаемый текст.

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

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

9 Проблемы, с которыми я столкнулся

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

9.1 прозвонка проводов

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

9.2 Прототипирование

скурпулезность и креатив.

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

вот такой у меня в одном из проектов корпус для реле — старый металлический корпус от модема GVC

9.3 работоспособность блоков питания

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

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

9.4 Нумерация проводов

повторяться не буду просто сделайте это. потом скажете спасибо

9.5 проблема определения полюсов для блоков питания

в одном из проектов я столкнулся с двойной проблемой. прибор стоял в одном помещении, а реле по управлению питанием 12в 1а стояло в другой комнате и питание для этого прибора сперва ходило в другую комнату на выключатель по витой _паре_ и потом назад по витой _паре_. я же вместо выключателя поставил реле. и решил пустить не по паре туда и по паре назад питание, а по одному проводку из пары назад и по второму туда. работа устройства прекратилась и я почему-то стал чинить блок питания. в голову мне не пришло, что сопротивление одного проводка больше сопротивления двух параллельных это кстати и была проблема номер один — по одному проводку не хотел течь ток сопротивление велико)

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

Удачи, друзья! Самое сложное в Ардуино это найти ему применение в вашем конкретном случае

Первый проект

Вот мы и дошли до нашего первого проекта. Давайте соединим Ардуино, светодиод и кнопку. Этот проект отлично подойдет начинающим.

Схема у нас будет такая:

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

// пины подключенных устройств
int switchPin = 8;
int ledPin = 11;

// переменные для хранения состояния кнопки и светодиода
boolean lastButton = LOW;
boolean currentButton = LOW;
boolean ledOn = false;

void setup() {
	pinMode(switchPin, INPUT);
	pinMode(ledPin, OUTPUT);
}

// функция для подавления дребезга
boolean debounse(boolean last) {
	boolean current = digitalRead(switchPin);
	if(last != current) {
		delay(5);
		current = digitalRead(switchPin);
	}
	return current;
}

void loop() {
	currentButton = debounse(lastButton);
	if(lastButton == LOW && currentButton == HIGH) {
		ledOn = !ledOn;
	}
	lastButton = currentButton;
	digitalWrite(ledPin, ledOn);
}

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

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

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

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

Теперь загрузим нашу первую программу в плату Arduino при помощи программной среды Arduino IDE, которую мы только недавно установили. Установленная Arduino IDE содержит несколько примеров программ, которые будут весьма полезны для начинающих. Давайте откроем один из этих примеров программ используя следующий путь File -> Examples -> Basics -> Blink (как показано на рисунке).

При этом откроется программа Blink – ее цель состоит в том чтобы заставить мигать встроенный светодиод на плате Arduino. После открытия программы нам необходимо выбрать правильную плату Arduino – чтобы сделать это выберите пункт меню Tool -> Boards -> Arduino UNO/Genuino как показано на рисунке ниже.

Далее мы должны выбрать правильный порт для нашей платы. Ранее мы увидели, что для нашей платы был определен порт COM13. В вашем случае это может быть другой порт. Но для нашего рассматриваемого случая мы должны выбрать пункт меню Tools -> Port -> COM13.

Если все сделано правильно, то вы должны заметить что номер порта (в нашем случае COM 13) появится внизу экрана. После этого вам необходимо нажать кнопку загрузки программы (подсвечена синим цветом) на плату Arduino как показано на рисунке ниже.

После нажатия этой кнопки вы увидите надпись “Compiling sketch” и затем, если загрузка программы прошла успешно, вы увидите сообщение “Done Uploading” как показано на рисунке ниже.

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

Теперь попробуем написать программу, которая будет зажигать светодиод при нажатии кнопки.

Этапы настройки Arduino

  1. Во-первых, установите IDE. Вы можете скачать IDE с сайта Arduino.
  2. Установите программное обеспечение на свой компьютер.
  3. Теперь запустите .exe файл Arduino IDE. IDE выглядит так:
  4. Напишите в редакторе кода свою программу и загрузите её в Arduino. Чтобы сделать это, необходимо подключить Arduino к компьютеру, используя USB кабель.
  5. В IDE выберите тип Arduino, который вы используете, через меню Tools (Инструменты) → Boards (Платы).
  6. Теперь проверьте свой код, нажав на значок «галки» вверху окна IDE, затем нажмите на соседний значок «стрелка вправо», чтобы скомпилировать и загрузить код в Arduino.

Внимание: возможно, вам понадобится установить драйвера, если ваша система не обнаружит Arduino

Поделитесь в социальных сетях:FacebookTwitter
Напишите комментарий