Программирование arduino для новичков

Немного теории

Так или иначе, но у вас есть объекты. Вы можете называть их кнопками, дисплеями, светодиодными лентами, роботами и измерителем уровня воды в бачке. Если ваш код выполняется не в одну ниточку последовательно, а по каким-то событиям, вы храните состояние объектов. Вы можете называть это как угодно, но это факт. Для кнопки есть, например, состояния «нажата» и «отпущена». Для робота, например: стоит, едет прямо, поворачивает. Количество этих состояний конечно. Ну, в нашем случае, да. Добавим состояния «клик», «нажатие» и «удержание». Уже пять состояний, которые нам надо различать. Причём, интересны нам лишь последние три. Этими пятью состояниями живёт кнопка. В страшном внешнем мире происходят события, которые от кнопки в общем-то никак не зависят: тыкания в неё пальцем, отпускания, удержания на разное время итп. Назовём их событие.

Итак, мы имеем объект «кнопка» у которого конечное количество состояний и на него действуют события. Это и есть конечный автомат (КА). В теории КА список возможных событий называют словарём, а события словами. Я дико извиняюсь, я это проходил 30 лет назад и плохо помню терминологию. Вам же не терминология нужна, правда?

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

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

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

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

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

Отсутствие проектного пространства, разбиения кода и приличной интегрированной среды разработки

Для меня это большая неприятность. Я понимаю, что не следует перегружать новичков переизбытком опций, но среда Arduino IDE выглядит как насмешка над приличной записью кода. Может быть, нужно преклонить колени, чтобы уговорить их сделать цветовое выделение переменных, но для начала хотя бы дайте возможность просмотра их определений. Посмотрите, как это выглядит в Code::Blocks [] на Рисунке 1. Другой момент состоит в том, что весь код необходимо писать в одном «эскизе» (скетче). Если нужно написать серьезную программу с функциями, которые будут использоваться позже, то хорошая практика (или даже похвальная) заключается в создании модульных фрагментов кода. Запись всего в один длинный файл идет в разрез с этой целью и стимулирует написание неструктурированного кода, называемого «макароны», с запутанным порядком выполнения и определениями переменных везде и нигде.

Рисунок 1. Опция поиска определений переменных и их
реализация в среде Code::Blocks.

Общие соображения, касающиеся того, почему так важны заголовочные файлы, очень хорошо изложены на сайте []. Кроме того, замечательное руководство по модульному программированию в Си (на английском языке) можно найти в (почитайте посты на форуме). Чтобы получить четкое представление о том, как это делается правильно, загляните, пожалуйста, в подробное руководство по заголовочным файлам в Си, выпущенном MIT [] (на английском языке):

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

Это важно, поскольку в соблюдении Правила Одного Определения компиляторам и компоновщикам нужна помощь»

Написанию модульного кода отлично помогает возможность поиска определений и реализаций файлов. Но Arduino IDE не обеспечивает простых способов создания других Си- и h-файлов, а также не позволяет искать определения в своих собственных файлах кода. (Кто сможет сказать, что на самом деле делает функция «digitalWrite»)? Изучая программирование на Си, пожалуйста, научитесь правильно использовать заголовочные файлы.

Выбор платформы: Windows, Mac или Linux

Arduino Web Editor может работать со множеством разнообразных платформ. Если вы используете Windows, Mac или Linux вам необходимо будет просто установить специальный плагин от Arduino Web Editor, который позволит вам загружать скетчи из браузера в ваши платы Arduino.

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

В конце процесса установки данного плагина вас перебросит на страницу входа в аккаунт Arduino – используйте свои учетные данные чтобы войти в него.

Составление проекта Arduino

При создании системы Умный дом на Ардуино своими руками с нуля проект должен включать такие функции (пример):

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

Мониторинг работы системы проверяется через телефон и веб-браузер.

Компоненты для системы Умный дом

Стоимость элементов проекта составляет примерно 90–100 долларов:

  • платформа Arduino;
  • блок Ethernet ENC28J60;
  • два датчика температуры DS18B20;
  • микрофон;
  • датчик для определения осадков;
  • сенсор движения;
  • переключатель;
  • блок реле;
  • резисторы 4,7 кОм;
  • интернет-кабель;
  • кабель «витая пара».

Подробнее о комплектующих

Arduino – это стандартный микроконтроллер типа AVR. Прошивка – Bootloader. Также, предусмотрен порт USB-UART.

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

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

На чем лучше написать десктопное приложение под устройство на Arduino

В Arduino стоят МК AVR, поэтому без проблем можно писать на С (без плюсов) в AVRStudio, CodeVisionAVR, AtmelStudio. Для загрузки полученного кода в МК потребуется внешний программатор, для него почти на всех платах есть разъем ISP (6pin).

Также нужно учитывать, что язык в Arduino IDE понимает классы и формально основан на С/С++. Искать что-то еще другое не имеет смысла.

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

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

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

  • Wi-Fi-адаптер;
  • Wi-Fi роутер;
  • Bluetooth.

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

  • Blynk;
  • Virtuino;
  • Bluino Loader – Arduino IDE;
  • Arduino Bluetooth Control;
  • RemoteXY: Arduino Control;
  • Bluetooth Controller 8 Lamp;
  • BT Voice Control for Arduino;
  • IoT Wi-Fi контроллер.

Веб-клиент

Для управления платой Умный дом данные системы размещаются на самостоятельно созданном веб-сервере.

На платформу добавляется разъем RJ-45 на Arduino Ethernet Shield.

Плата с помощью кабелей подключается к USB-разъему и роутеру. Потом в среде разработки IDE прописать код для создания сервера и передачи информации на сервер.

Подробнее о том, что представляет собой система умный дом, читайте здесь.

Что такое Ардуино?

Arduino – это инструмент для проектирования электронных устройств (электронный конструктор) более плотно взаимодействующих с окружающей физической средой, чем стандартные персональные компьютеры, которые фактически не выходят за рамки виртуальности. Это платформа, предназначенная для «physical computing» с открытым программным кодом, построенная на простой печатной плате с современной средой для написания программного обеспечения.

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

Язык программирования Arduino является реализацией Wiring, схожей платформы для «physical computing», основанной на мультимедийной среде программирования Processing. 

Почему Arduino?

Существует множество микроконтроллеров и платформ для осуществления «physical computing».  Parallax Basic Stamp, Netmedia’s BX-24, Phidgets, MIT’s Handyboard и многие другие предлагают схожую функциональность. Все эти устройства объединяют разрозненную информацию о программировании и заключают ее в простую в использовании сборку.  Arduino, в свою очередь, тоже упрощает процесс работы с микроконтроллерами, однако имеет ряд преимуществ перед другими устройствами для преподавателей, студентов и любителей:

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

Кросс-платформенность – программное обеспечение Arduino работает под ОС Windows, Macintosh OSX и Linux. Большинство микроконтроллеров ограничивается ОС Windows.

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

Программное обеспечение с возможностью расширения и открытым исходным текстом – ПО Arduino выпускается как инструмент, который может быть дополнен опытными пользователями. Язык может дополняться библиотеками C++. Пользователи, желающие понять технические нюансы, имеют возможность перейти на язык AVR C на котором основан C++. Соответственно, имеется возможность добавить код из среды AVR-C в программу Arduino.

Аппаратные средства с возможностью расширения и открытыми принципиальными схемами – микроконтроллеры ATMEGA8 и ATMEGA168 являются основой Arduino.  Схемы модулей выпускаются с лицензией Creative Commons, а значит, опытные инженеры имеют возможность создания собственных версий модулей, расширяя и дополняя их. Даже обычные пользователи могут разработать опытные образцы с целью экономии средств и понимания работы.

Структура Arduino Web Editor

После запуска Arduino Web Editor вы увидите в нем три основных столбца.

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

  • Your Sketchbook – собрание всех ваших скетчей;
  • Examples – примеры скетчей для демонстрации возможностей основных команд Arduino и примеры работы с библиотеками;
  • Libraries – библиотеки, которые можно подключить в вашу программу (скетч) для расширения ее возможностей;
  • Serial monitor – монитор последовательной связи, позволяет принимать и передавать данные в вашу плату Arduino через USB кабель;
  • Help – полезные ссылки и словарь терминов Arduino;
  • Preferences – ваши настройки внешнего вида Arduino Web Editor (размер шрифта, цветовая гамма и т.д.).

При выборе одного из этих пунктов меню его содержимое показывается во втором столбце (боковой панели).

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

История Ардуино

Основателями компании, которая начала создавать платы Ардуино, являются итальянцы Массимо Банци, Девида Куартиллье, Тома Иго, Джанлука Мартино и Девида Меллиса. Такой была первоначальная команда создателей.

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

Фрагмент портрета Ардуина из Ивреи. Замок Мазино. Картина пьемонтской школы около 1700 года.

Ардуин был итальянским дворянином, который был королем Италии с 1002 по 1014 год. В 990 году Ардуин стал маркграфом Ивреи, а в 991 году графом Священного дворца Латеранского в Риме.

Стоит также сказать, что для Соединенных Штатов Америки используется другое название — Genuino.

Приложение. Готовые каркасы и роботы Arduino

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

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

Обзор готовых игрушек-роботов Arduino.

Еще один обзор готовых ардуино-роботов.

Еще один вариант — покупка каркаса или корпуса робота: платформы на колесиках или гусенице, гуманоида, паука и т.п. В этом случае начинку робота придется делать самостоятельно.

Обзор каркасов для роботов Arduino и других плат.

Электроника. Твой первый квадрокоптер. Теория и практика. Яценков В.С.

Электроника. Твой первый квадрокоптер. Теория и практика

Аннотация

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

Огромное внимание автор уделяет типичным ошибкам, которые совершают начинающие конструкторы. Подробно изложен процесс отладки системы ODS, беспроводного канала Bluetooth и различных навигационных систем

Имеются рекомендации по выбору оборудования FPV, обзор программ для ПК и телефонов, которые используются при работе коптера.

Какие решения предлагает Arduino

Датчики и устройства, совместимые с Ардуино, выпускают многие производители, поэтому ассортимент комплектующих для системы Умный дом на Arduino внушительный:

  • Сенсоры для отслеживания температуры, освещенности в разное время суток, влажности, осадков и атмосферного давления.
  • Сенсоры реагирования на движение.
  • Аварийные датчики.
  • Другие устройства и пульты.

В набор Arduino Start (у большинства производителей – StarterKit) включена часть индикаторов и датчиков.

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

  • реле и переключатели;
  • вентили;
  • электромоторы;
  • 3-ходовые клапаны с сервоприводом;
  • диммеры.

Интересные проекты на базе МК Arduino

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

  1. Умный дом. Практически каждый элемент умного дома можно создать собственными руками. От автоматических штор и дверей до сигнализаций и регулируемого освещения.
  2. Кодовые замки. Проект простой, и подойдёт для новичков. Достаточно использовать любой датчик и сделать замки, реагирующие на определённый ритм постукиваний или же на приближение вашего смартфона.
  3. Автоматизированные теплицы.

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

Какова же альтернатива?

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

  • Scratch []. Это веселый и легкий инструмент для детей и подростков, желающих освоить программирование, который даже поддерживает возможность разбиения кода. Конечно же, он не предназначен для встраиваемых систем, но для детей это хороший способ понять, что такое программа.
     
  • Mbed . Онлайн компилятор с открытым кодом, поддерживающий множество модулей и плат на микроконтроллерах различных производителей, включая NXP, Analog Devices, STMicroelectronics, Nordic Semiconductor, Ublox, который отлично подходит для новичков, так как не требует установки инструментальных средств. С компилятором предлагается огромный архив примеров, которые можно легко импортировать в свой проект. Да, речь именно о проектах. Вам дается возможность полного контроля над исходным кодом и его структурой, включая онлайн управление версиями. Предоставляемый mbed код – это Си++, использующий классы и перегрузку операторов, что лично меня, воспитанного на ANSI-C, первоначально немного сбивало с толку, однако документация, которую вы тоже найдете в своем проекте, прозрачна и доступна. Использование периферии нельзя назвать простым, но можно косвенно использовать таймеры для генерирования прерываний по времени, и, опять же, все это хорошо документировано. Вам не нравятся онлайн сервисы? Хорошо, можно работать оффлайн. Единственный, на мой взгляд, недостаток mbed – отсутствие возможности отладки с использованием точек останова и наблюдения.
     
  • Компилятор AVR-GCC/WinAVR с микроконтроллерами серии Xmega. Пакет программ AVR-GCC (с библиотеками avr-libc) имеет солидную репутацию и очень хорошую базу пользователей . Причина, по которой я рекомендую серию Xmega, – это «фантастическая» документация. Правда, из-за того, что для каждого периферийного устройства есть отдельное указание по использованию, Atmel Studio имеет очень «раздутые» размеры, но зато предоставляет реальный набор мощных инструментов для разметки кода, отладки (точки останова) и симуляции (просмотр и изменение битов регистров периферии). При использовании отладчика Dragon (переоцененного) можно работать с устройствами, имеющими память программ до 32 Кбайт. Конечно, начинать с такого набора без каких-либо знаний в области программирования будет тяжело, но всегда можно найти информацию в Интернете или попросить помощи у знающего друга. При чтении указаний по применению у меня возникает ощущение, что можно создать систему, которая после настройки все будет делать самостоятельно: DMA будут отправлять полученные значения АЦП в память, система событий будет запускать таймеры для запуска ЦАП, и тому подобное. Поработать придется довольно много, но вы сделаете действительно встраиваемую систему. Это как самостоятельно приготовить суши вместо того, чтобы идти в Макдональдс…
     
  • Использовать отладочные платы Launchpad/STM32/… []. Другие ARM платы. И да, и нет… Конечно, ARM – это будущее, но начинать с этого, думаю, довольно сложно. Кроме того, при использовании бесплатных инструментальных наборов вам придется потратить уйму времени на их настройку. Правда, это полезно; оценочная плата с интегрированным отладчиком (8 евро за плату серии STM32F0 Discovery – не сравнить с продуктами Atmel/Microchip), и еще что-то, и в своем резюме вы сможете указать, что работали с ARM. Однако документация в основном посредственная и пугающе объемная. Кроме того, набор опций в компиляторах и средах разработки настолько велик, что порой трудно разобраться, почему программа не компилируется.

Среда разработки Arduino

Очень большой частью платформы Ардуино является Интегрированная Среда Разработки или IDE (Integrated development environment).

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

Скетч — это программа, написанная для управления платой Ардуино и устройствами на ее основе, которая загружается в микроконтроллер. Имеет также другое название — эскиз.

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

Arduino IDE является бесплатной, скачивается и устанавливается на компьютер пользователя.

Программа работает на операционных системах Windows, Mac OS и Linux.


Окно загрузки и экран программы Arduino IDE

Подробнее познакомиться со средой разработки вы можете в нашей статье «Arduino IDE: программная среда для разработки под Ардуино».

Скачать Arduino IDE можно с официального сайта производителя плат Arduino.

Главное ядро программы версии 1.8.0 было выпущено 20 декабря 2016 года, а уже в 2021 году многие используют версию 1.8.13.

Вместе с программой автоматически установятся драйвера для определения платы при подключении к USB-порту. Среда разработки оснащена стандартным менеджером добавления библиотек в виде исходного кода на языке C++.

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

Другие идеи проектов

Проекты умного дома на Ардуино

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

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

Что может являться прототипом умного дома на ардуино:

  • Системы освещения с автоматическим включением и отключением в зависимости от показателей датчиков. Наиболее популярнее варианты – использовать датчик освещенности, PIR датчик движения или датчик звука.
  • Дистанционно управляемые электрические приборы. Например, включение или выключение системы отопления в зависимости от температуры или умное управление освещением в помещениях. Здесь вам понадобятся различные виды реле и один из механизмов обеспечения беспроводной связи: WiFi, GPRS, Bluetooth или радиоканал. Управлять устройствами можно через Web-интерфейс (через браузер) или с использованием соответствующего мобильного приложения (можно написать самому или выбрать одну из готовых платформ).
  • Всевозможные системы учета: воды, тепла, электроэнергии. Начинающим доступны любительские датчики напора воды, температуры, влажности, силы тока. Можно использовать и профессиональные приборы, взаимодействуя с ними по одному из промышленных протоколов. Полученные данные можно собирать локально или отправлять в облако для последующего анализа.
  • Охранные системы и контролирование внештатных ситуаций. Здесь понадобится различные датчики присутствия, движения, звука, магнитные датчики Холла и другие. Естественно, не обойтись без коммуникаций и возможности быстрой передачи информации владельцу через интернет.

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

Проекты «Зеленой робототехники»

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

  • Умная теплица
  • Полив растений
  • Умный инкубатор
  • Умный улей
  • Антигрызуны
  • Умный агроном
  • Умный ошейник для животных
  • Расширенная метеостанция
  • Робот – сеяльщик
  • Счетчик муравьев

Проекты с дронами: аэрофотосъемка, внесение удобрений.