Найти в Дзене
Павел Рукотворкин

Что такое Arduino

Здравствуйте !

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

В этой статье мы разберемся что такое Arduino,
и "с чем его едят".

А так же на повестке :

  • Почему начинать программировать проще всего в среде Arduino?
  • Почему Arduino популярна ,и популярность не падает?
  • Кому нравиться ,и кому не нравиться Arduino ,и почему?
  • Какими сторонними программами можно программировать без знания языка, и быстрее чем в Arduino Ide .
  • Пример программирования в Flprog.

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

Состоит Arduino из программы разработки и шилдов. Программа разработки Arduino Ide .

Arduino ide
Arduino ide

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

Микропроцессор или микроконтроллер - принимает информацию, выполняет программу согласно входных данных, и выдает сигналы управления ,исполнительным шилдам . Оригинальных процессорных плат не так много, на данный момент их 26 ,в свою очередь их можно поделить на 5 частей, по процессорам и соответственно по периферии . Под любую задачу можно подобрать оптимальный вариант.
ATmega168, ATmega328P, ATmega32u4, ATmega2560, AT91SAM3X8E

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

Почему начинать программировать микроконтроллеры проще всего в Arduino?

Очень низкий порог вхождения - программное обеспечение, бесплатное, плату можно приобрести до 300 р. Ни одна система вам такого ни позволит.
Не требуется дополнительного оборудования - программатор. Микроконтроллер подключается напрямую через usb обмен идет по com порту - результат получаете незамедлительно. Не надо переключать постоянно программатор.

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

Работа в ардуино . Пишете программу->компилируете + прошиваете->проверяете работу ничего не отключая ,если что то пошло не так ,все заново .Чувствуете разницу ?

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

Почему Arduino популярна ,и популярность не падает.

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

Кому нравиться ,и кому не нравиться Arduino ,и почему?

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

Если вы собираетесь переходить в сектор программирования производственных контроллеров вам придется изучать язык ,но плюс в работе с Arduino ide есть, он в том что вы будете иметь представление что вам делать и как это работает ,в отличие от тех кто начинает с полного нуля (по этому из них 80 процентов бросают эту затею).
Что бы начать программировать производственные микроконтроллеры с нуля у вас должна быть непреклонная воля к победе, не много денег, титаническая усидчивость , стремление к учебе , крепкие нервы и технический склад ума.

Какими сторонними программами можно программировать без знания языка, и быстрее чем в Arduino Ide ?

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


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

ArduBlock - программный проект от ардуино ,специально сделан для детей от 6 лет. Интересный вариант. Все интуитивно и понятно.

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

Flprog
Flprog

В flprog уже интегрирована Arduino ide , дополнительная установка не требуется. В этой программе она идет как компилятор.

Пример программирования здесь.

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

Arduino Uno
Arduino Uno


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

Надеюсь статья была полезной.