Raspberry vs Arduino — выбираем устройство!

Каждый, кто интересуется робототехникой и DIY решениями, наверняка сталкивался с такими платами как Arduino и Raspberry PI. Кто они? Конкуренты? Или всё-таки друзья? Их чаще всего воспринимают как аналоги, или конкурирующие аппаратные платформы. Так что же применить в своём проекте - raspberry pi или arduino? Что лучше всего подойдёт? Давайте разберёмся?
Из этой статьи вы узнаете:
Raspberry Pi VS Arduino — железо и софт
В проектах выбираем устройство Raspberry или Arduino
Приветствую уважаемые друзья, коллеги и просто читатели. Для различных DIY задач существует множество аппаратных и программных решений. Наиболее популярные и бюджетные это аппаратные платформы Raspberry PI и Arduino.
Так как же теперь определиться? Мы рассмотрим с вами в этой статье более подробно.
Начнём с того в чём между ними отличие.
Raspberry PI — это полнофункциональный миникомпьютер со своей операционной системой. На нём можно посмотреть видео, послушать музыку, поиграть в различные игры и т.д. Программируется плата на разных языках программирования, что вам больше всего по душе — Scratch, Python, Java и т.п.
Arduino — это аппаратная платформа с микроконтроллером, который выполняет определённые простейшие операции. Основа его являются входы, выходы и система, которая реализует алгоритмы (микропроцессор).
Raspberry Pi VS Arduino — железо и софт
Сейчас мы с вами рассмотрим на тех. характеристики и модификации, которые показывают самое большое различие между этими платами.
Немного истории:
Raspberry Pi родом из Великобритании. Изобретатель Эбен Аптон и его коллеги из компьютерной лаборатории Кембриджского университета создавали Raspberry Pi как дешёвый компьютер для образовательных целей. Аптон работал на прототипах с 2006 года
Arduino родился в Италии. Банзи, преподаватель проектного института Ивреи, хотел простой и дешевый аппаратный прототип для студентов. В марте этого году платформа Arduino отметила 10 лет.
Размеры этих плат примерно одинаковы. Но, суть не в этом.
По тактовой частоте и оперативной памяти Raspberry гораздо быстрее и мощнее чем Arduino. Вообще Малина предназначена больше для программных решений и описания сложных алгоритмов.
Малина является компьютером, который имеет собственную операционную систему Linux. К USB портам можно подключать различную периферию, вебкамеры, сложные устройства.
Может показаться, что это устройство гораздо превосходит Arduino. Но я жестоко ошибался, изначально перекладывая абсолютно все задачи на Raspberry. Я считал, что можно решить абсолютно любые аппаратные задачи. Но, это не совсем так.
Arduino способна лучше чем Raspberry Pi и действительно в реальном времени считывать аналоговые сигналы. Эта гибкость позволяет Arduino работать практически с любым видом датчиков или чипов. Raspberry Pi не такая гибкая, например, для чтения аналоговых датчиков требуются дополнительные аппаратные средства.
Скорость обработки сигналов в Arduino гораздо выше, чем в Малине. А это, в большинстве случаев очень важно в процессе измерения и обработки выходов.
Arduino менее требователен в отношении питания. Так как ему достаточно 5 В. A Raspberry более капризна, для платы требуется дополнительно стабилизатор напряжения, и входы/выходы запитываются напряжением 3.3 В.
Насчет программирования, для того, чтобы разобраться, как работает Linux, нужно потратить несколько месяцев времени на изучение. Да и ещё нужно научиться программировать в Python'e. В то время. как порог вхождения на изучение Arduino IDE гораздо меньше.
Для того чтобы помигать светодиодом на Raspberry нужно было установить сначала операционную систему, затем научиться писать скрипты в Python. Собрать специальную схему, чтобы не повредить процессор.
В то время, как на Arduino собирается простейшая схема и чтобы помигать светодиодом, достаточно аписать восемь строчек кода.
Raspberry vs Arduino — Малина имеет колоссальное преимущество в программном обеспечении, а Arduino в простоте аппаратных проектов.
А самый лучший вариант, я скажу, это использовать их вместе, естественно Raspberry является «Мозгом» робота, которые принимает и отдаёт команды на периферию — Arduino. Лучше всего модульность — каждый модуль выполняет свои функции и операции.
За счёт этого можно сделать действительно сложную и интересную вещь. С учётом дорогостоящей и мощной механики.
В проектах выбираем устройство Raspberry или Arduino
Принимаясь за новый проект, рекомендуется руководствоваться железным правилом — ставить сначала Arduino. Но если в вашем проекте появляется одно из следующих условий, то ставим Raspberry:
- Потребуется подключение к интернету или к локальной сети;
- Понадобится большой экран;
- Потребуется подключать клавиатуру и мышь;
- Понадобятся периферийные устройства, например вебкамера.
Можно сделать эти все вещи и на Arduino, но это только усложнит процесс сборки, из «коробки» сделать не получится.
У Arduino есть ещё целый ряд преимуществ:
- Стоимость платы — платформа сама по себе дешёвая, и её не жалко будет спалить.
- Скорость запуска — Запускается плата гораздо быстрее, достаточно подать питание и всё. 1 секунда потребуется на проверку наличия новой программы. Это не загрузка операционной системы в Малине.
- Надёжность — Arduino по своей природе более надёжное и отказоустойчивое устройство. В нём нет издержек загрузки операционной системы.
- Энергопотребление — Arduino потребляет примерно в десятеро меньше энергии, чем Raspberry.
- Ток Входов/выходов — имейте ввиду что ток потребления на GPIO Raspberry гораздо ниже, чем у Arduino — порядка 16 мА.
Из всего вышесказанного я выяснил для себя, что не стоит зацикливаться на чём-нибудь одном, всё зависит от задачи, и какое решение к ней требуется.
В следующей статье я расскажу вам о перестановке байт в системе программирования. Это одна из важных фишек, если вы будете связывать устройства по протоколу Modbus.
На этом у меня всё, всем спасибо за внимание, подписывайтесь на новости блога, пишите письма. С вами был Гридин Семён. До встречи в следующих статьях.
С уважением, Гридин Семён
Привет, Семён!
Прочитал твою статью, и почему то сразу вспомнилась фраза: «Стрелять из пушки по воробьям».
Правильно ты сказал, что не стоит зацикливаться на одном, а лучше отталкиваться от требуемой задачи.
Иногда, даже, целую ардуинку задействовать — это большая роскошь. Лучше взять ту же атмегу 8-ю, да распаять на плате вместе с кварцем и обвязкой. Дешево и сердито.
Ну а если, вдруг, памяти микроконтроллера не хватит, то попробовать отказаться от ардуиновской оболочки и написать прошивку на голом Си.
Проще просто в чём-нибудь одном разбираться, задачи будут решаться гораздо быстрее, можно вообще arduino Nano поставить, это точно будет дёшево и сердито, мне кажется для простых задач вообще классный вариант.
Доброго дня! Бытует мнение что ардуино для создания контроллера для автоматизации ну например инкубатора не подходит ввиду отсутствия защит от зависания (сторожевые таймеры) и тд. Что делает ее не надёжным устройством по сравнению с полноценными промышленными контроллерами.Хотелось бы узнать ваше мнение.
Добрый Watch Dog присутствует абсолютно во всех микроконтроллерах и контроллерах соответственно. Atmel, PIC, STM, ChipBECK. Ардуино тот же самый Atmel, только со своим компилятором. Защита от зависаний у всех присутствует.
Здравствуйте Семен
Наконец-то добрался до изучения Ваших статей
спасибо за простоту и доходчивость изложения материала
долго думал что выбрать за основу проектов и вот благодаря этой статье окончательно определился, что для проекта это будет Ардуино
вообще очень замечательно, что Вы работаете с промышленными контроллерами
и с Ардуино, в зависимости от задачи можно использовать два направления
Буду начинать с начального уровня, но с упором на интерфейс оператора — тачпанель
спасибо за Вашу работу
День добрый, есть шикарная панель под названием Nextion. Прям так и введите в поиске. У нее своя среда разработки, принцип программирования такой же, как и у Дуни.