Существует множество многофункциональных отладочных платформ, используемых при разработке приложений для микроконтроллеров и встраиваемых компьютеров. Сегодня мы рассмотрим наиболее популярные среди них: 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
В отличие от 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 МГц |
Теперь немного о ценах. Тут пока лидируют платы 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 легче подключить аналоговые датчики, поэтому если вам требуется только простая обработка основанных на показаниях вторичных приборов данных и относительно несложное взаимодействие между частями устройства – это превосходный вариант.
Какая из платформ лучше? Зависит от ваших задач.
Комментарии