Как сделать умный дом на arduino своими руками

Где купить все необходимое

Мы собрали ссылки Aliexpress на стартовые наборы Arduino Starter Kit, в которых есть все самое необходимое для создания своих первых проектов.

Один из лучших и проверенных стартовых наборов для Ардуино на AliExpress!

Недорогой стартовый комплект для обучения Ардуино – от 1500 рублей!

Набор за 350 руб (!) с платой Arduino Uno и всем необходимым!

Новинка! Робот-лягушка на Arduino от Keyestudio с управлением на Android и iOS

Робот-манипулятор на Ардуино с 4 степенями свободы. DIY конструктор с акриловыми деталями, контроллером и серво

Полный набор машинки 4WD на Ардуино с датчиками, экраном и дистанционным управлением

RobotDyn MEGA 2560: распиновка платы

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

Плата RobotDyn MEGA 2560 R3: распиновка, порты входа-выхода

Подключение RobotDyn MEGA 2560 к компьютеру осуществляется через разъем microUSB, который используется большинством современных  телефонов, включая смартфоны Android. Все порты на плате обозначены: порты, подключенные к АЦП начинаются с буквы «А» — всего их 16. Пины ввода-вывода общего назначения пронумерованы с 0 по 54. Порты с ШИМ сигналом обозначены значком тильд.

Arduino AtMega2560 кварц 24MHz + Marlin. Краткая инструкция

Повторюсь, 24MHz кварц использовать нецелесообразно, появляются прерывистые движения кареток, связано, скорее, с не равномерным натяжением ремней. На низких скоростях печати, на определённом токе и напряжении питания драйверов менее 26VDC прерывистое движение не наблюдается. Проблема прерывистого движения может быть и в драйверах. Пока особых преимуществ использования 24MHz кварца не обнаружилось. Использование более высокой частоты тактирования должно убрать тормоза управления принтером во время печати и позводит добавить второй хотэнд для дельта принтера. Пока единственное преимущество 24MHz -перестало меню жутко тормозить во время печати. Разбираться с прерывистым движением планирую через использование промышленных драйверов, возможно попробую поставить ШВП.

Как описывалось в начале статьи производим замену smd кварца на «лодочку» 24MHz с дополнительной установкой чип конденсаторов 12-15pf. Если удастся найти, то можно установить кварц такого же типа. Не принципиально какого типа резонатор, самому пришлось кварцевый генератор на 24MHz ставить, под рукой не оказалось кварца на эту частоту, да так и оставил.

Редактируем файл Arduino IDE С:\arduino-1.6.13\hardware\arduino\avr\boards.txt меняем 2 параметра «mega.build.f_cpu=24000000L» -Частота кварца AtMega2560 и «mega.menu.cpu.atmega2560.upload.speed=62500» -Частота USART обмена между USB и AtMega16U2.

Корректируем файл «speed_lookuptable.h» marlin проекта или копируем с заменой предлагаемый, содержит частоты 24, 25, 27MHz, к уже имеющимся 16 и 20MHz.

Прошиваем AtMega16U2 и AtMega2560 прошивками бут загрузчиков Arduino-usbserial-atmega16u2-Mega2560-Rev3_16MHz_31250.hex и stk500boot_v2_mega2560_24MHz_31250.hex соответственно.
Запускаем проект в Arduino IDE, заливаем прошивку. На ошибки, после заливки не обращаем внимания.
Всё будет работать штатно.

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

Платы Arduino

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

Сердце платы – микроконтроллер семейства AVR. Изначально был применён микроконтроллер atmega8, но его возможности не безграничны, и плата подвергалась модернизации и изменениям. Стандартная плата, которая наиболее распространена у любителей – это плата версии UNO, существует много её вариаций, а её размеры сравнимы с кредитной карточкой.

Плата Arduino Nano –  полный аналог большего собрата, но в гораздо меньших размерах, версия arduino atmega168 была самой популярной и недорогой, но её сменила другая модель – arduino atmega328, стоимость которой аналогична, а возможности больше.

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

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

Клеммная колодка – отличный способ сделать надёжное разъёмное соединение и быстро выполнить изменения в схеме прототипов ваших устройств. Для тех, кому не хватает стандартных разъёмов, есть более крупные и мощные платы, например, на atmega2560, у которой доступно полсотни портов для работы с периферией.

На фото изображена плата Arduino Mega 2560. На её основе можно собрать довольно сложного робота, систему умного дома или 3d-принтер на ардуино.

Не стоит думать, что младшие версии слабы, например, микроконтроллер atmega328, на котором построены модели Uno, nano, mini и другие, имеет вдвое больше памяти по сравнению с 168 моделью – 2 кб ОЗУ и 32 кб Flash памяти. Это позволяет записывать более сложные программы в память микроконтроллера.

Пробуем кварц 24MHz

Кварца 24MHz не оказалось, был кварцевый генератор.
Для прошивки Arduino-usbserial-atmega16u2-Mega2560-Rev3_16MHz_31250.hex задаём частоту USART 31250. Ищем 19F420E130E0 и 20E1 исправляем на 2FE1 чек сумма 27.
Для stk500boot_v2_mega2560_24MHz_31250.hex задаём ту же частоту 31250. Ищем C00080E18093C40088E18093 и 80E1 меняем на 8FE2 чек сумма 94. Прошиваем, устанавливаем mega.build.f_cpu=24000000L и mega.menu.cpu.atmega2560.upload.speed=62500. Создаём таблицы speed_lookuptable_ для 24MHz
Проверяем:

Всё работает. Но непонятная ошибка осталась. Значение ошибки зависит от частоты кварца. На 24MHz загрузка происходит всегда и без задержек в начале загрузки. Но это не означает, что AtMega2650 не будет работать на 27MHz.

Остановился на 24MHz c 31250герц скоростью обмена между 16U2 и 2560. Можно частоту увеличить до 62500. Разницы между 31250 и 62500 не заметно, разве на 31250 прошивка длится в 2 раза дольше.

Пробовал AtMega16U2 менять на аппаратный преобразователь USB в USART на базе CP2104, чтобы исключить необходимость дополнительной доработки прошивок при работе с разными кварцами. На время эксперимента AtMega16U2 снималась с платы. Фокус удался частично. Передача данных от компьютера(pronterface) в Arduino не идёт, но приём идёт. Если нажать на reset кнопку Arduino, то в pronterface выдаются все сообщения как при подключении и устанавливается соединение. Если плата Arduino AtMega2560 не подключена к принтеру, то она на команды не реагирует. Т.е. всё должно работать, но для установления связи по USB с компьютером(pronterface) нужно нажимать reset на плате Arduino AtMega2560. Решено на этом закругляться. Выбрал кварц 24MHz со штатным загрузчиком. Но если кому интересно, то через аппаратный преобразователь можно 27MHz и более кварц повесить, с возможностью работы через pronterface с 3D принтером. Ниже фото стенда проверки работы с аппаратным преобразователем:

Fuse по умолчанию для AtMega2560

Fuse по умолчанию для AtMega16U2

Общее описание

ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561 — маломощный 8-разр. КМОП микроконтроллер, выполненный на основе AVR-ядра с RISC-архитектурой. За счет выполнения большинства инструкций за один машинный цикл ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561 достигает производительности 1 млн. операций в секунду при тактовой частоте 1 МГц.

AVR ядро объединяет богатый набор инструкций с 32 рабочими регистрами общего назначения. Все 32 регистра непосредственно подключены к АЛУ (арифметико-логическое устройство), что позволяет указывать два регистра в одной инструкции и выполнить ее за один цикл. Данная архитектура обладает большей эффективностью кода и в 10 раз большей производительностью по сравнению с CISC микроконтроллерами.

ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561 содержит следующие узлы: 64/128/256 кбайт внутрисхемно-программируемой флэш-памяти с возможностью чтения во время записи, 4 кбайт ЭСППЗУ, 8 кбайт статического ОЗУ, 54/86 линий ввода-вывода, 32 рабочих регистра общего назначения, часы реального времени, шесть гибких таймеров-счетчиков с режимами сравнения и ШИМ , 4 УСАПП, 2-проводной последовательный интерфейс с побайтной передачей, 16-канальный 10-разрядный АЦП с опциональным дифференциальным входным каскадом и программируемым усилением, программируемый сторожевой таймер с внутренним генератором, последовательный порт SPI, JTAG интерфейс для сканирования адресного пространства, реально-временной отладки и программирования, а также шесть программно настраиваемых режимов управления энергопотреблением. Режим холостого хода (Idle) останавливает ЦПУ, но оставляет в работе статическое ОЗУ, таймеры-счетчики, порт SPI и систему прерываний. Режим пониженного потребления (Power-down) сохраняет содержимое регистров, но останавливает генератор, выключает все встроенные функции до появления следующего запроса на прерывание или аппаратного сброса. В экономичном режиме (Power-save) асинхронный таймер продолжает работать, позволяя пользователю его использовать, а остальные устройства отключены. В режиме снижения шумов АЦП (ADC Noise Reduction) останавливается ЦПУ и все модули ввода-вывода, за исключением асинхронного таймера и АЦП, тем самым минимизируется влияние цифрового шума на результат преобразования В дежурном режиме (Standby) генератор на кварцевом резонаторе запущен, а остальная часть отключена. Данный режим позволяет реализовать быстрый запуск в комбинации с малым потреблением. В расширенном дежурном режиме (Extended Standby) и основной генератор и асинхронный таймер продолжают работать.

Микроконтроллеры выпускается по разработанной Atmel технологии энергонезависимой памяти высокой емкости. Встроенная ISP флэш-память может внутрисхемно перепрограммироваться через последовательный интерфейс SPI, обычным программатором энергонезависимой памяти или запущенной программой в секторе начальной загрузки AVR ядра. Программа в секторе начальной загрузки может использовать любой интерфейс для записи программы. Программа в секторе начальной загрузки выполняется даже при обновлении флэш-памяти приложения, обеспечивая действительную возможность чтения во время записи. За счет комбинирования 8-разрядного RISC ЦПУ с внутрисхемно самопрограммируемой флэш-памятью на одном кристалле, позволило ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561 быть мощным микроконтроллером, обеспечивающего высокую универсальность и обладающего низкой стоимостью, что делает его применение идеальным для построения встроенных систем управления.

Распиновка 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) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения

Платы расширения

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

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

Одним из самых популярных является Arduino Ethernet Shield. Он нужен для связи с Ардуино по обычному сетевому кабелю, витой паре. На нём расположен разъём rj45.

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

Описание пинов Arduino Mega 2560

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

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

Пин Адресация Специальное назначение ШИМ
RX (Serial)
1 1 TX (Serial)
2 2 Вход для прерываний 0 ШИМ
3 3 Вход для прерываний 1 ШИМ
4 4 ШИМ
5 5 ШИМ
6 6 ШИМ
7 7 ШИМ
8 8 ШИМ
9 9 ШИМ
10 10 ШИМ
11 11 ШИМ
12 12 ШИМ
13 13 Встроенный светодиод ШИМ
14 14 TX (Serial3)
15 15 RX (Serial3)
16 16 TX (Serial2)
17 17 RX (Serial2)
18 18 TX (Serial1)
Вход для прерываний 5
19 19 RX(Serial1)
Вход для прерываний 4
20 20 I2C SDA
Вход для прерываний 3
21 21 I2C SCL
Вход для прерываний 2
22-43 22-43
44 44 ШИМ
45 45 ШИМ
46 46 ШИМ
47 47
48 48
49 49
50 50 MISO
51 51 MOSI
52 52 SCK
53 53 SCL

Аналоговые пины платы

На платформе Mega2560 имеется 16 аналоговых входов, каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Стандартно выводы имеют диапазон измерения до 5 В относительно земли, тем не менее имеется возможность изменить верхний предел посредством вывода AREF и функции .

Пин Адресация Специальное назначение
A0 A0 или 54
A1 A1 или 55
A2 A2 или 56
A3 A3 или 57
A4 A4 или 58 TCK
A5 A5 или 59 TMS
A6 A6 или 60 TDO
A7 A7 или 61 TDI
A8 A8 или 62 PCINT16
A9 A9 или 63 PCINT17
A10 A10 или 64 PCINT18
A11 A11 или 65 PCINT19
A12 A12 или 66 PCINT20
A13 A13 или 67 PCINT21
A14 A14 или 68 PCINT22
A15 A15 или 69 PCINT23

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

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

Выводы питания

  • Vin: Входное напряжение платы Arduino при использовании внешнего источника (если отсутствует напряжение 5 вольт на USB-соединении или от другого источника питания). Можно подавать питание на этот вывод, или же, если питание подается на 2.1 мм разъем, то можно с этого вывода получить к питающему входному напряжению.
  • 5V: Напряжение на этих выводах регулируется встроенным в плату регулятором напряжения. Плата может быть запитана либо через 2.1 мм разъем питания (7-12 В), через USB-подключение (5 В), или же через вывод VIN (7-12 В) на плате. Подача питания через выводы 5 В или 3.3 В обходит регулятор и может привести к выходу платы из строя. Так делать не рекомендуется.
  • 3.3V: Напряжение 3.3 вольта формируется при помощи встроенного в плату регулятора. Максимальный ток потребления не должен превышать 50 мА.
  • GND: Выводы земли.
  • IOREF: Этот вывод обеспечивает опорное напряжение, с которым работает микроконтроллер. Для правильной конфигурации внешних плат, можно считывать напряжение с этого вывода и выбирать соответсвующий источник питания или включать преобразователи напряжений для работы с 5 В или 3.3 В.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Питание

Плату Mega 2560 можно запитать через USB-соединение или через внешний источник питания. Источник питания выбирается автоматически.

Внешнее (не USB) питание может идти либо от адаптера, конвертирующего переменный ток в постоянный, либо от батареи. Адаптер подключается путем присоединения 2,1-миллиметрового коннектора с центральным положительным контактом в разъем для питания на плате. Провода от батареи можно подключить к контактам GND и VIN на коннекторе POWER.

Плата может работать на внешнем питании в диапазоне от 6 до 20 вольт. Если подать на плату менее 7 вольт, то 5-вольтовый контакт может получить меньше 5 вольт, в результате чего плата будет работать нестабильно. Если подать более 12 вольт, регулятор напряжения может перегреться и повредить плату. Поэтому рекомендуемый диапазон – от 7 до 12 вольт.

Контакты для питания, имеющиеся на Mega2560:

  • Vin – входящее напряжение при использовании внешнего источника питания (в отличие от 5 вольт, идущих от USB-соединения или другого регулированного источника питания). Напряжение можно подавать через этот контакт или, если напряжение подается на разъем для питания, получить к нему доступ через этот контакт.
  • 5V – подача отрегулированных 5 вольт от регулятора напряжения, имеющегося на плате. Плату можно питать либо от разъема постоянного тока (7-12 вольт), либо от USB-соединения (5 вольт), либо через контакт VIN (7-12 вольт). Подача напряжения через 5-вольтовые или 3,3-вольтовые контакты идет в обход регулятора и поэтому может повредить плату. Делать этого не рекомендуется.
  • 3V3 – напряжение 3,3 вольта, генерируемое встроенным регулятором. Максимальная сила тока – 50 миллиампер.
  • GND«земля».
  • IOREF – эталонное напряжение для работы микроконтроллера. Правильно настроенный «шилд» может прочесть напряжение на этом контакте, а затем выбрать соответствующий источник питания или переключить вольтовую логику для работы либо с 5, либо с 3,3 вольтами.

Интересные проекты

Системы управления умным домом набирают популярность.

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

Здесь, для связи со смартфоном, применен специальный шилд, его название «1shield». С помощью официального приложения вы можете подключиться к вашем шилду через WiFi или Bluetooth. Для того чтобы заставить его работать с Arduino, нужно скачать 1shield library – специальная библиотека.

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

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

Ниже приведена примерная схема устройства.

Проекты на основе плате

Использование Arduino Mega 2560 дало возможность сделать по-настоящему большую и сложную микроконтроллерную систему.

Например, есть очень интересный проект, который получил поддержку в РФ и активно развивается – это Arduino Mega Server. Микроконтроллер настолько мощный, что может стать целым сервером для интернета сайтов или облака.

Единственное ограничение на таком сервере – это объём памяти, ведь в качестве накопителя можно использовать micro SD-карты памяти, а Ethernet поддерживает максимальный объём памяти 32 гб.

Arduino Mega Server – это серьезный проект с широким функционалом, в котором поддерживаются все нужные для веб-мастера технологии:

  • HTML;
  • CSS;
  • Javascript и другие.

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

Поддержка многих библиотек Javascript позволит сделать интерфейс красивым и современным.

С помощью Arduino Mega Server вы можете сделать мощные разветвленные системы автоматизированного управления с удаленным управлением и мониторингом всех параметров или домашнее облачное хранилище.

На рисунке ниже вы видите скриншот страницы управления умным домом с официального сайта проекта.

Вот небольшой перечень проектов, реализуемых с Arduino Mega Server:

  1. Умный дом – стал уже классической областью применения ардуино.
  2. Автоматизированная котельная.
  3. Тепличное хозяйство с автоматической поддержкой влажности и солевого состава почвы.
  4. Метеостанция.
  5. И многое другое.

Вы получаете операционную систему для работы с Ардуино с компьютера или смартфона по web интерфейсу.

Однако стоит осознавать возможности и мощность микроконтроллера Arduino Mega 2560, хоть и сама плата мощнее своих предшественников, но по современным меркам морально устарела.

Это все те же 8 бит и 8 кб ОЗУ. Скорость, с которой вы скачиваете данные с сервера, будет небольшой, но для веб-страниц вполне хватит.

Ардуино своими руками

Atmega2560 – хоть и мощный и продвинутый контроллер, но проще и быстрее собрать первую плату на atmega8 или 168.

Левая часть схемы – это модуль связи по USB, иначе говоря, USB-UART/TTL конвертер. Его, вместе с обвязкой, можно выбросить из схемы, для экономии места, собрать на отдельной плате и подключать только для прошивки. Он нужен для преобразования уровней сигнала.

DA1 – это стабилизатор напряжения L7805. В качестве основы можно использовать целый ряд avr микросхем, которые вы найдете, например, серии, arduino atmega32 или собрать arduino atmega16. Для этого нужно использовать разные загрузчики, но для каждого из МК нужно найти свой.

Можно поступить еще проще, и собрать всё на беспаечной макетной плате, как это показано здесь, на примере 328-й атмеги.

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

Общение с Arduino

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

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

Arduino nano

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

Проекты на основе Arduino ATmega

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

Пример 1

Можно сделать тестер с 11 функциями на микроконтроллере atmega32.

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

  1. Прозвонка цепи с возможностью измерять падение напряжения на переходе диода.
  2. Омметр.
  3. Измеритель ёмкости.
  4. Измерение активного сопротивления конденсатора или ESR.
  5. Определение индуктивности.
  6. Возможность счёта импульсов.
  7. Измерение частоты – пригодится в диагностике, например, для проверки ШИМ источника питания.
  8. Генератор импульсов – тоже полезен в ремонте.
  9. Логический анализатор позволит просмотреть содержимое пачек цифровых сигналов.
  10. Тестер стабилитронов.

Пример 2

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

Пример 3

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

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

  1. Arduino uno или atmega
  2. Tft дисплей 5 дюйма.
  3. Небольшой набор обвязки.

Или его упрощенный аналог на плате Nano и дисплее от nokia 5110.

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

Пример 4

Бывает, что управляемые модули удалены друг от друга или возможностей одной ардуино не хватает – тогда можно собрать целую микроконтроллерную систему. Чтобы обеспечить связь двух микроконтроллеров стоит использовать стандарт RS 485.

На фото приведен пример реализации такой системы и ввода данных с клавиатуры.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector