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

Виды плат для сборки умного дома

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

Arduino Leonardo и Micro

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

Параметры платформы:

  • чипсет ATMega32u4 (8 bit, 16 MHz);
  • цифровые порты – 20, с поддержкой ШИМ – 7 из них;
  • аналоговые порты – 12;
  • флеш-память – 32 КВ;
  • быстрая Sram для хранения программных данных – 2,5 КВ;
  • медленная Eeprom, где хранится информация – 1 КВ.

Эту модификацию можно нагружать множеством датчиков благодаря наличию портов.

Arduino Micro – мини-аналог платформы Leonardo. Различие в том, что порт USB заменен на мини-USB и отсутствует питание от 12 В.

Arduino 101, Arduino Zero и Arduino MKR1000

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

Количество портов для подключения датчиков примерно как у Leonardo, а остальные параметры мощней.

У Arduino 101 есть дополнительные чипсеты и порт USB.

Параметры модели:

  • процессор Intel Curie (32 bit, 32 MHz);
  • память flash – 196 КВ;
  • Sram: 24 KB;
  • Eeprom: нет;
  • Bluetooth Low Energy для подключения готовых решений.

Параметры аналогичной Arduino Zero:

  • процессор: SAM-D21 (32 bit, 48 MHz);
  • flash-накопитель: 256 KB;
  • Sram: 32 KB;
  • Eeprom: нет;
  • встроенный отладчик EDBG для поиска ошибок программирования.

Arduino MKR1000 – мощная платформа-аналог Zero. Особенности:

  • чип Wi-Fi с протоколом 802.11 b/g/n;
  • поддержка алгоритма SHA–256 для защиты передачи данных.

Когда проект становится сложным?

  • Принцип инкапсуляции применителен и в схемотехнике: каждый модуль выполняет единственную простую задачу. Модуль обычно это один лист в документации, например, А3 какой-нибудь;
  • Принципиальная схема должна выполняться в одном стиле и очень аккуратно. Аккуратность при работе в будущем окупится вам сполна. Да и когда вы на собеседовании покажите понятную, аккуратно выполненную схему о вас сразу же сложится хорошее впечатление. Рукожопов видят сразу и обычно не любят;
  • Не используйте листы больше А2, даже если у вас пару тысяч компонентов. Если хочется влепить А1, то что-то вы делаете не так. Вероятно вам на схеме нужно выделить какие-то модули и перенести на отдельный лист.

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

Для написания программ (скетчей) для контроллер Ардуино вам нужно установить среду программирования. Самым простым вариантом будет установка бесплатной Arduino IDE, скачать ее можно с официального сайта.

После установки IDE вам нужно убедиться, что выбрана нужная плата. Для этого у Arduino IDE в меню “Инструменты” и подпункте “Плата” следует выбрать нашу плату (Arduino/Genuino Uno). После выбора платы автоматически изменятся параметры сборки проекта и итоговый скетч будет скомпилирован в формат, который поддерживает плата. Подключив контроллер к компьютеру через USB, вы сможете в одно касание заливать на него вашу программу,используя команду “Загрузить”.

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

Написанная и скомпилированная программа загружается через USB-соединение (UART- Serial). Со стороны контролера за этот процесс отвечает bootloader.

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

Сборка «умного дома»: пошаговая инструкция

Разработка программного кода

Программа пишется юзером в оболочке Arduino IDE, которая сохраняет файлы в расширении «.ino». При программировании используется язык С++ в упрощенной форме – многие файлы библиотек, заголовков IDE составляет автоматически. Пользователю обязательно прописать при старте настройки setup() и loop() (выполняется постоянно), указать пользовательские библиотеки. В простых настройках IDE не запутается даже начинающий программист.

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

Установка клиентского приложения на смартфон (для ОС Android)

Для отслеживания и управления Умным домом со смартфона нужно:

  • загрузить файл SmartHome.apk;
  • разрешить установку софта на телефон;
  • активировать и настроить приложение.

Работа с роутером

Для настроек маршрутизатора:

  • зайти в настройки устройства;
  • прописать IP адрес Arduino;
  • указать переход на чипсет Адруино по порту 80.

Код проекта

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

  1. ESP8266 wifi(Serial) — Подключаем esp8266 через Serial соединение.
  2. wifi.joinAP(a,b); — Подключение к wifi, где а — это название точки доступа, а b — пароль к этой точки доступа.
  3. wifi.createTCP(a,b) — Открытие TCP соединения, где «a» — DNC сайта (www.dweet.io), а «b» — сетевой порт (порт 80).
  4. wifi.send(a,b) — отправляем данные, где «a» — данные в массиве (строка с-стиля), а «b» — общее количество отправленных байтов.
  5. wifi.releaseTCP() — Закрытие TCP соединения.

#include «ESP8266.h» // для работы с esp8266 #include // чтобы добавить больше пинов UART #include // чтобы высчитать логарифм #define SSID «Arduino» // имя вашего wi-fi #define PASSWORD «12345678» //пароль вашего wi-fi #define Thermistor_PIN A0 // пин подключения термистора SoftwareSerial mySerial(2, 3); // пины подключения по UART ESP8266 wifi(mySerial); // говорим esp8266, что она будет работать через пины UART String name = «MyEyse»; // ваш ключ от сайта dweet.io void setup() { Serial.begin(9600); // открываем serial соединение if (wifi.joinAP(SSID, PASSWORD)) { // если мы подключились к нашей сети Serial.println(«https://dweet.io/follow/» + name); // пишем в мониторе порта адресс сайта } else { Serial.println(«Wi-Fi connection error»); // в случае, если мы не подключимся к сети, нам выдадут ошибку } } void loop() { float volt_temp = 1023.0 / analogRead(Thermistor_PIN) — 1.0; // высчитываем температуру float temperatur = 1.0 / ( -log(volt_temp) / 3977.0 + 1.0 / 295.0 ) — 273.0; if (wifi.createTCP(«www.dweet.io», 80)) { // если нам удалось создать TCP соединение String data = «GET /dweet/for/» + name + «?»; // создаем переменную data в виде строки (заполняем GET-запрос) data += «temperatur_C=» + String(temperatur) + » HTTP/1.1\r\n»; data += «Host: dweet.io\r\n\r\n»; // закрываем GET-запрос в строке wifi.send(data.c_str(), data.length()); // отправляем данные в массиве (строка с-стиля) и общее количество байтов wifi.releaseTCP(); // закрываем TCP соеденение } else { Serial.println(«create TCP error»); // в случае, если мы не создали TCP соеденение, нам выдадут ошибку } delay(1000); // ждем секунду (dweet.io обрабатывает данные 1 секунду, нет смысла отправлять данные раньше) }

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

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

  • 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, с отправкой СМС уведомления на смартфон можно узнать из соответствующей видеоинструкции.

  • https://ElektrikExpert.ru/arduino.html
  • https://ArduinoMaster.ru/projects/proekty-arduino-dlya-nachinayushhih/
  • https://ArduinoPlus.ru/arduino-uno-proekti/
  • https://ArduinoPlus.ru/arduino-nano-projects/
  • https://future2day.ru/umnyj-dom-na-osnove-arduino/

Предыдущая
ArduinoЧто такое ide arduino: характеристики и применение на практике

Конкуренты Raspberry Pi: Соображения

В процессе выбора аналога Raspberry Pi, необходимо сразу подумать о его предназначении. К примеру, стоит определиться будет ли SBC использоваться в разных проектах или только для одного из них, выполняя конкретную задачу на протяжении длительного времени? Во втором случае следует сразу подумать о величине бюджета, который можно будет потратить на два или три менее производительных аналога.

Помимо этого, физический размер мини-ПК играет крайне важную роль при условии использования ограниченного пространства. Например, если планируется создать что-то вроде шпионской камеры слежения, то будет разумно выбрать самый миниатюрный форм-фактор, как у Pi Zero. Также разработчики во время покупки рассматриваемых гаджетов часто забывают проверить наличие различных встроенных коммуникационных интерфейсов, а на деле оказывается, что через Ethermet сеть работает медленно, а Wi-Fi-модуль при этом отсутствует.

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

Далее мы рассмотрим некоторые SBC сторонних производителей, которые будут справляться с вышеописанными задачами, но для начала напомним технические характеристики традиционной модели Raspberry Pi 3 Model B+. Сейчас существует также новая модификация Raspberry Pi 4 Model B+, имеющая проблемы с питанием от USB-C, вследствие чего, мы сравним ее с другими платами в конце нашей публикации.

Шилды Ethernet Shield для Arduino Uno или Nano

Наиболее удобным способом работы с W5100 является использование готовых шилдов Ethernet Shield для Arduino Uno или Nano. На таких модулях уже выполнены все необходимые обвязки, шилд просто вставляется в соответствующие разъемы платы и вам остается только загрузить скетч. Естественно, что при желании к плате могут быть подключены и другие устройства.

Подключение платы расширения происходит через соединение RJ-45. Плата обладает встроенным слотом SD/MicroSD , который используется для хранения файлов, используемых для подключения и передачи по локальной сети. Такой слот совместим со всеми платами Arduino/Genuino, т.е. работать с данными на карте можно с помощью стандартной библиотеки SD Library. На плате расширения также можно найти кнопку перезагрузки . питания. Ранние версии платы расширения не дружили с ардуино мега, там требовался ручной сброс после поступления питания.

Если плата оснащена POE модулем (питание подается по витой паре), то шилд будет соответствовать следующим спецификациям:

  • Совместим со стандартом IEEE3af.
  • Имеет низкие пульсации на выходе.
  • Защищает от явлений перегрузки и короткого замыкания.
  • Эффективно преобразует напряжение.
  • Имеет изоляцию 1500 вольт на точке между «вход-выход»

По умолчанию плата не комплектуется данным модулем, нужно находить соответствующую модель.

Назначение светодиодов Ethernet Shield:

  • PWR показывает наличие питания на плате.
  • LINK светится при наличии сети и мигает при передаче/приеме данных.
  • FULLD обозначает сетевое полнодуплексное соединение.
  • 100M обозначает сетевое соединение со скоростью 10мбит/сек.
  • RX мигает при приеме экраном данных.
  • TX мигает при отправке данных экраном.
  • COLL мигает при обнаружении сетевых конфликтов.

Кроме этих имеются еще пара светодиодов на гнезде rj 45, один из которых при подключенном шнуре светится, а другой мерцает при поступлении данных.

Ehternet для Arduino Nano

Отдельного упоминания заслуживает модуль Arduino Nano Ethernet. Он выполнен в формфакторе, облегчающим подключение к плате Nano v 3.0, но обладает практически такими же возможностями, что и “обычный” вариант для Uno. В основе шилда лежит микросхема ENC28J60.

Модуль точно так же имеет разъем RJ-45, слот для SD и в некоторых модификациях тоже оснащен PoE контроллером.

Начинающий уровень

Основные платы и модули для начинающих.

Платы

Arduino Uno Rev 3 Arduino Leonardo Arduino 101
Микроконтроллер ATmega328P ATmega32u4 Intel Curie
Рабочее напряжение 5 V 5 V 3.3 V (5 V tolerant I/O)
Входное напряжение (Рекомендуемое) 7-12 V 7-12 V 7-12 V
Входное напряжение (Ограничение) 6-20 V 6-20 V 7-17 V
Цифровые (I/O) Пины 14 (4 for PWM Output) 20 14 (4 for PWM Output)
PWM Цифровые (I/O) Пины 6 7 4
Аналоговый вход Пины 6 12 6
Аналоговый вход Каналы 4 из Цифровые I/O Пины
Аналоговый вход Каналы 8
Постоянный ток на I/O Пин 20 mA 40 mA 20 mA
Постоянный ток для 3.3 V Пин 50 mA 50 mA
Флэш-память 32 KB (.5 KB для загрузчика) 32 KB (4 KB для загрузчика) 196 KB
SRAM 2 KB 2.5 KB 24 KB
EEPROM 1 KB 1 KB
Тактовая частота 16 MHz 16 MHz 32 MHz
LED встроенные 13 13
Bluetooth Bluetooth LE
Дополнительно 6 осевой акселерометр / гироскоп
Длина 68.6 mm 68.6 mm 68.6 mm
Ширина 53.4 mm 53.3 mm 53.4 mm
Вес 25 g 20 g 34 g

Платы (продолжение)

Arduino Robot Arduino Esplora
Микроконтроллер ATmega32u4 ATmega32u4
Рабочее напряжение 5 V 5 V
Входное напряжение (Рекомендуемое) 5 V through flat cable
Постоянный ток на I/O Пин 40 mA
Флэш-память 32 KB (4 KB для загрузчика) 32 KB (4 KB для загрузчика)
SRAM 2.5 KB
EEPROM 1 KB internal, 312 Kbit(12 C) external
Тактовая частота 16 MHz 16 MHz
Дополнительно * Keypad — 5 Keys
* Knob — potentiometer attached to analog Пин
* Full Color LCD — over SPI connection
* SD Reader — for FAT16 formatted cards
* Speaker — 8 Ohm
* Цифровой Компас — отклонение от севера в градусах
* I2C Soldering Ports — 2
* Prototypings Areas — 4
Длина 164.04 mm
Ширина 60 mm
Радиус 185 mm
Height 85 mm
Вес 53 g

Модули

Arduino Micro Arduino Nano Arduino Mini
Микроконтроллер ATmega32u4 ATmega32u ATmega32u
Рабочее напряжение 5 V 5 V 5 V
Входное напряжение (Рекомендуемое) 7-12 V 7-12 V 7-9 V
Входное напряжение (Ограничение) 6-20 V 7-12 V 7-9 V
Цифровые (I/O) Пины 20 22 14 (6 for PWM Output)
PWM Цифровые (I/O) Пины 6
PWM Каналы 7
Аналоговый вход Пины 8 (4 broken out onto Пины)
Аналоговый вход Каналы 12
Постоянный ток на I/O Пин 20 mA 40 mA 40 mA
Постоянный ток для 3.3 V Пин 50 mA
Флэш-память 32 KB (4 KB для загрузчика) 32 KB (2 KB для загрузчика) 32 KB (2 KB для загрузчика)
SRAM 2.5 KB 2 KB 2 KB
EEPROM 1 KB 1 KB 1 KB
Тактовая частота 16 MHz 16 MHz 16 MHz
LED встроенные 13
Дополнительно * AVR Architecture
* Power Consumption — 19 mA
Длина 48 mm 30 mm
Ширина 18 mm 18 mm
Вес 13 g 7 g

Что такое Arduino

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

Arduino — это открытая электронная платформа, основанная на простых в использовании железе и программном обеспечении.

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

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

Программное обеспечение для Arduino

Для работы с платформой Arduino вам не обязательно будет ставить себе определённое программное обеспечение. Начать программировать можно с Arduino Web Editor, позволяющим сохранять скетчи в облачном хранилище. Инструмент постоянно обновляется онлайн, ничего скачивать и переустанавливать не приходится. Но для работы, конечно, потребуется постоянное интернет-соединение.

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

  • Windows;
  • Mac OS (Lion или более ранние версии);
  • Linux 32 bit;
  • Linux 64 bit;
  • Linux ARM.

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

Главное преимущество всей этой открытой платформы именно в её простоте.

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

Преимущества платформы Arduino

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

  • Низкая цена в сравнении с большинством подобных платформ.
  • Кроссплатформенность. С Arduino работать можно хоть на Windows, хоть на Mac OS, тогда как большинство платформ разрабатывается исключительно под Windows.
  • Простая программная обстановка. Платформа отлично подходит для новичков, а подробных уроков в сети великое множество.
  • Открытый ресурс и расширяемое программное обеспечение. Продвинутые программисты могут без проблем самостоятельно расширять под себя ПО (и даже железо).

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

Самые популярные Ардуино-проекты

Для начала рассмотрим самые популярные Аrduino-projects:

  1. MIDI-контроллер – самый простой из популярных проектов Ардуино. MIDI-контроллеры – отличный способ управлять различными звуками на вашем компьютере с использованием физического оборудования. Это довольно старая технология, и вы можете купить всевозможные охлаждающие MIDI-контроллеры практически в любом музыкальном магазине. Но если вы не хотите покупать MIDI-контроллер, вы можете сделать свой собственный с Arduino. Как только вы его создадите, вы сможете контролировать все свои удары, звуковые сигналы и переходы через USB.
  2. Датчик Ambilight на ЖК-дисплей (см. фото выше). Добавление небольшого количества подсветки на ваш ЖК-дисплей – отличный способ сделать просмотр фильмов немного более захватывающим. Конечный результат – это система просмотра фильмов с завораживающими эффектами.
  3. Управление устройствами высокого напряжения с использованием Arduino. В конце проекта вы сможете управлять своими бытовыми приборами, такими как светодиод, вентилятор, лампочка и так далее. Вы можете отрегулировать время включения и выключения этих приборов. В этом проекте используется один из самых популярных модулей, то есть 2-канальный релейный модуль, который широко используется для управления высоковольтными устройствами с задействованием сигналов низкого напряжения. Итак, в этом проекте вы узнаете, как использовать 2-канальный релейный модуль с Arduino и его схемой.
  4. Датчик температуры Ардуино. Схема проекта довольно проста. Основная цель оборудования – измерить значение температуры окружающего пространства, а затем распечатать его на ЖК-дисплее, используя Arduino и термистор. Термистор – это тип переменного резистора, который изменяет его сопротивление в соответствии с температурой окружающей среды. Так что да, вы можете сделать это, как работы LDR (Light Dependent Resistor) с одной разницей. В то время, как LDR меняет свое сопротивление в соответствии с интенсивностью света, сопротивление термистора зависит от температуры окружающей среды.

Давайте делать красиво!

  • Power port
    Данный тип является глобальным по всему проекту. То есть если мы поставили такой порт на одном листе и на другом, то они объединятся в единую цепь с именем «VCC3V3». Соответственно дополнительно цепи питания на разных листах соединять не надо. Данным типом порта задают только цепи питания и землю (GND);
  • Net Lable
    Инструмент для присвоения имени конкретной цепи на схеме. Цепи с одинаковым именем (NetLabel) объединяются как внутри одного листа, так и за его пределами. Мы будем использовать данный инструмент кошерно, то есть только для задания имен и соединения внутри одного листа;
  • Place Port
    Инструмент для межмодульных соединений. В противоположность NetLabel, который служит для соединения внутри модуля/листа, данный порт применяется для общения с «внешним миром». Им мы соединяем между собой модули, все цепи кроме питания и земли (GND).

Tools -> Annotations -> Annotate SchematicsUpdate Changes ListAccept ChangesExecute ChangesPDFMain designPlace -> Sheet SymbolSheet Symbol Actions -> Synchronize Sheet Entries and PortAdd Sheet Entries

5-й лист (Page 5) с dc/dc при попытки синхронизации не обнаружит Place Port и если посмотрите на схему модуля, то их там действительно нет, только Power Port

НО! Вынести модуль для Page 5 нужно обязательно, иначе компоненты с данного листа просто не появятся на плате;
Обратите внимание, что у инструмента Place Port есть параметр направленности: input, output и bidirectional. Вам стоит правильно определять тип порта для вашего сигнала, например, порты PWM-H являются исходящими (output) для модуля MCU и входящими (input) для модуля Buck.

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

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

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

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

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

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

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

Достоинства микроконтроллера 2560

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

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

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

  1. Неоптимальные размеры, не подходящие для удобного их размещения во многих корпусах.
  2. Недостача в количестве пинов на ввод-вывод данных.

Проблема № 1

Минимизировать занимаемое место крайне легко – достаточно использовать специальные разновидности МК, будь то нано или мини. Здесь есть некоторые особенности, с недостатком памяти, например, на Attiny85, но для простого функционала – это не столь существенно.

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

Проблема № 2

Менее приятная, но и у неё есть несколько путей для решения:

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

Благо, есть и третий подход, используемый всё чаще, – Ардуино Мега 2560, проекты на которой уже не страдают от обилия этих «костылей». Есть также аналог данной платы, поддерживающий usb-хосты, но давайте сначала разберёмся с основным МК.

Первое, что бросается в глаза при знакомстве с 2560, – внешний вид, ведь она в 1.8 раз длиннее уно, что является необходимым злом, дабы разместить на ней целых 54 порта.

Притом, 15 из них можно использовать в качестве источников ШИМ-сигналов, чтобы регулировать мощность тока или другие параметры системы. Регуляция осуществляется с помощью широтно-импульсных модуляций, а дополнительные 16 портов под вход могут обработать цифровые сигналы и применяться в качестве всё тех же цифровых выходов. В результате, мы получаем более тонкую, длинную и функциональную плату.

Под связь с несколькими видами устройств установлено 4-о UART интерфейсов, на 0, 1, 14, 19 пинах. Притом, один из них направлен под usb с помощью микроконтроллера ATmega8U2, применяемого в качестве замены привычному USB-TTL, который использовался повсеместно в более старых платах.

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

Горшок для цветов с автополивом

Слож­ность: 4/5.

Вре­мя: 3/5.

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

Основ­ные харак­те­ри­сти­ки чудо-горшка:

  • встро­ен­ный резер­ву­ар для воды;
  • дат­чик кон­тро­ля уров­ня влаж­но­сти почвы;
  • насос для пода­чи воды;
  • дат­чик уров­ня воды в резервуаре;
  • све­то­ди­од, инфор­ми­ру­ю­щий о недо­стат­ке воды в резервуаре.

Подроб­но­сти: usamodelkina.ru.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Электрик в доме
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: