01 марта 2021

🛠 Raspberry Pi или Arduino: что лучше?

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

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

Arduino

🛠 Raspberry Pi или Arduino: что лучше?
Созданная итальянцем Массимо Бензи плата Arduino поначалу была простым инструментом для прототипирования. Сейчас этим электронным конструктором и удобной платформой быстрой разработки электронных устройств пользуются новички и профессионалы, притом не только для изготовления прототипов.

На плате установлен микроконтроллер AVR от Atmel (разные модели), есть вход питания, а также набор контактов ввода-вывода. Arduino не является полноценным компьютером – по сути это микроконтроллер с кое-какой периферией для нормальной работы: стабилизатором питания, кварцевым резонатором, цепочками сброса и т. п. Операционной системы (встраиваемой или общего назначения) нет, а код создается с помощью одноименной среды разработки и закачивается в микроконтроллер с помощью специального загрузчика через интерфейсы RS-232, USB или Ethernet в зависимости от состава периферии платы.

Устройство упрощает работу с электроникой художникам, дизайнерам, школьникам и студентам, энтузиастам Интернета вещей (IoT) и робототехники, а также всем, кто интересуется созданием интерактивных объектов или сред. Программировать микроконтроллер в IDE Arduino нужно на C/C++, но доступны и альтернативные варианты, поскольку платформа полностью открыта (включая аппаратную часть). Можно использовать профессиональные пакеты, вроде Eclipse или Microsoft Visual Studio, а также софт попроще, вроде детской визуальной среды Scratch for Arduino.

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

Технические характеристики:

Самая используемая плата в линейке – Arduino Uno Rev3. Ее технические характеристики приведены ниже.

Микроконтроллер ATmega328P
Рабочее напряжение 5 В
Входное напряжение (рекомендуется) 7 – 12 В
Входное напряжение (предельное) 6 – 20 В
Контакты цифрового ввода/вывода 14 (из которых 6 обеспечивают выход ШИМ)
Выводы цифрового ввода/вывода ШИМ 6
Контакты аналогового входа 6
Постоянный ток на вывод ввода/вывода 20 мА
Постоянный ток для вывода 3.3 В 50 мА
Флэш-память 32 КБ (ATmega328P), из которых 0,5 КБ используется загрузчиком
SRAM 2 КБ (ATmega328P)
EEPROM 1 КБ (ATmega328P)
Тактовая частота 16 МГц
LED_BUILTIN 13
Длина 68,6 мм
Ширина 53,4 мм
Вес 25 г

В семействе Arduino есть модели разной конфигурации: Uno, Nano, Micro, DUE, MKR и другие. Некоторые даже оснащаются контроллерами ARM. Интересной особенностью платформы является возможность подключения т. н. шилдов (плат расширения) для поддержки Bluetooth, Ethernet, GPRS, разнообразных датчиков и много чего еще. Функции суммируются, поэтому вы можете добавить несколько шилдов на одну плату, а еще они позволяют избавиться от проблем с лишними проводами: платы спроектированы для монтажа через штыревые разъемы. Корпус и монтажный конструктив не предусмотрены – о них нужно позаботиться самостоятельно.

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

Raspberry Pi

🛠 Raspberry Pi или Arduino: что лучше?
В 2006 году преподаватели Кембриджского университета Эбен Эптон и Роб Маллинс начали разработку доступной машины, которая помогла бы студентам разобраться с техническими аспектами компьютерных вычислений и программирования. В 2012 году британский фонд Raspberry Pi выпустил серию компактных одноплатных компьютеров для содействия преподаванию основ информатики в школах развивающихся стран. С тех пор разработчики во всем мире используют Raspberry Pi для обучения, прототипирования, автоматизации, а также для решения других задач в промышленности и телекоммуникационной отрасли.

В отличие от Arduino, Raspberry Pi – полноценный компьютер с микропроцессором ARM. Конфигурация посерьезнее простого микроконтроллера: 1 ГБ, 2 ГБ или 4 ГБ оперативной памяти LPDDR4 SDRAM, видеовыход, 2 порта mini HDMI, порт SD-карты, аудиопорт, порт камеры CSI, порт дисплея DSI, 2 порта USB 2.0 и 2 порта USB 3.0 в RaspberryPi 4. Есть Gigabit Ethernet, Wi-Fi, Bluetooth 4.2 и контакты ввода/вывода (GPIO). Серия универсальных контактов ввода/вывода позволяет «малинке» управлять электронными компонентами физических компьютеров и легко внедряться в решения для IoT. Обычно плата поставляется с предустановленной операционной системой Linux.

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

Различные модели Raspberry Pi:

Raspberry Pi 4 B RAM: 1 ГБ, 2 ГБ, 4 ГБ; CPU Clock: 1,5 ГГц
Raspberry Pi 3 B + RAM: 1 ГБ DDR2; CPU Clock: 1,4 ГГц
Raspberry Pi Zero RAM: 512 МБ; CPU Clock: 1 ГГц
Raspberry Pi 2 RAM: 1 ГБ; CPU Clock: 900 МГц
Raspberry Pi A + RAM: 256 МБ; CPU Clock: 700 МГц
Raspberry Pi RAM: 512 МБ; CPU Clock: 700 МГц
В Raspberry Pi также устанавливаются дополнительные модули-шилды, которые позволяют воплотить самые смелые задумки.

Теперь немного о ценах. Тут пока лидируют платы Arduino, которые на порядок дешевле конкурентов. Посудите сами, сравнив цены типовых Raspberry PI с распространенными моделями Arduino:

Модель Цена (руб)
Raspberry PI 3 B 4399
Raspberry PI 4 B 5199
Arduino UNO R3 270 – 350
Arduino MEGA 2560 R3 670 – 5000*

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

Заключение

Каждый вариант имеет свои преимущества. Если нужны приличные вычислительные мощности и мультимедийные возможности, стоит выбрать Raspberry Pi. Из него можно сделать даже полноценный настольный компьютер с Linux и графическим интерфейсом. Если серьезные ресурсы не требуются и хочется сэкономить, идеальным выбором будет Arduino или одна из плат-клонов сторонних производителей. Программировать микроконтроллер намного проще, если учесть наличие многочисленных альтернативных сред разработки. К Arduino легче подключить аналоговые датчики, поэтому если вам требуется только простая обработка основанных на показаниях вторичных приборов данных и относительно несложное взаимодействие между частями устройства – это превосходный вариант.

Какая из платформ лучше? Зависит от ваших задач.

Комментарии

ВАКАНСИИ

Добавить вакансию
Backend Java developer
Пермь, по итогам собеседования
Chief technical officer
Москва, по итогам собеседования
Junior Python developer
Калуга, от 50000 RUB до 90000 RUB

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ