Закрыть
Почему я использую Arduino в своем мобильном роботе

Почему я использую Arduino в своем мобильном роботе

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

 
 
 

  1. Реклама
    Да, да — я стал жертвой рекламы :-). Куда ни глянь — везде Arduino. Сильно глубоко копать я поначалу не стал — цена меня устраивала, да и если ошибусь, не большая для меня потеря. Arduino — достаточно дорогая платформа, но есть различные -duino (Freeduino/Seeduino и прочие), то же самое, но от других производителей и дешевле.
  2. Arduino — это open-source проект
    Это позволяет ему достаточно быстро развиваться и увеличивает его распространенность.
  3. Простота первого запуска
    Распаковка устройства, подключение его к компьютеру, установка среды разработки, написание программы «Hello, world!» и загрузка ее в память занимает минут десять. Десять минут и Arduino уже выполняет твою программу, мигая светодиодом. Быстрый видимый результат — хороший стимул идти дальше.
  4. Кроссплатформенная среда разработки
    Я работаю на Mac Os, поэтому требования к операционной системе для IDE «из коробки» для меня были не на последнем месте. Arduino IDE, мягко говоря, не лучшая среда разработки, но ничего не мешает использовать некоторые другие, например IDE Eclipse, CodeBlocks или Microsoft Visual Studio.
  5. Возможность писать код на чистом Си
    В среде Arduino IDE используется  Си-подобный язык программирования, к которому добавив множество библиотек, назвали Wiring. Wiring — это немного урезанная версия Си. Если не использовать библиотеки Wiring, компилировать AVR-GCC и мы получаем чистый Си. Готовые библиотеки с точки зрения скорости выполнения кода очень и очень медленные, но всегда есть возможность переписать критичные участки кода, оптимизировав их. Если возникнет необходимость в написании больших и сложных программ, то можно использовать всю мощь объектно-ориентированного программирования. Если появится желание, можно писать и на Assembler.
  6. Большое сообщество
    В ходе работы, наверняка будут возникать какие-то сложности. И обратиться за помощью, или найти уже готовое решение вашей проблемы не бывает лишним.
  7. Множество реализованных проектов с описанием
    Опыта никогда не бывает много и посмотреть как та или иная вещь уже кем-то реализована — очень хороший способ обучения.
  8. Огромное количество готовых расширений — шилдов
    Большое количество готовых модулей, уже реализующих ту или иную функцию на аппаратном уровне (модули связи, дальномеры, например) позволяет просто достать модуль из коробки, подключить проводом к Arduino или вставить его в разъем и начать писать программу для этого устройства. Если готовый шилд оказывается дорогим или не совсем подходящим для решения требуемой задачи, или же хочется травить/паять/сверлить — то ничего этому не мешает. Я уже писал в статье про беспилотный автомобиль Google. Они же не стали разрабатывать автомобиль, двигатель к автомобилю, ультразвуковые датчики, LIDAR, а сосредоточились на разработке алгоритмов - основной цели Google. Поэтому, если цель научиться паять — конечно не нужны готовые шилды, нужно все делать самому, если же цель не создание какого-то датчика и цена готового устраивает, зачем изобретать велосипед? Мое такое мнение.
  9. Литература, уроки, скринкасты
    Когда начинаешь с чем-то разбираться, то различные пошаговые руководства многократно ускоряют этот процесс и для Arduino подобного материала предостаточно. Правда, многое на иностранном языке. Я своими публикациями постараюсь снизить этот информационный Arduino-вакуум на родном языке.
  10. Популярный микроконтроллер
    Почему я не использовал Intel i7 в своем роботе поможет разобраться эта статья. В различных платах Arduino используются AVR-микроконтроллеры, производимые фирмой Atmel. Поэтому сообщество, опыт, среды разработки, проекты, уроки, литературу и прочее, связанное с этими микроконтроллерами можно использовать для достижения своих целей.

[add_ratings]

Оставить ответ

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