
Чем отличаются Raspberry Pi и Arduino?
Raspberry Pi и Arduino — это наиболее популярные современные платы среди любителей микрорадиоэлектроники.

Arduino разработан итальянцем Массимо Банзи для прототипирования аппаратного и программного обеспечения с открытым исходным кодом. Это плата с микроконтроллерем, которая может управлять различными внешними устройствами (освещение, двигатели, насосы и т.д.), считывать данные с датчиков, выполнять многие другие задачи.
Одна из популярных плат семейства Arduino — это Arduino UNO, основанная на микроконтроллере ATmega328P от Atmel/Microchip.

Все платы Arduino можно программировать через USB-порт используя языки C и C++ с помощью программного пакета Arduino IDE.

Raspberry Pi разработан Эбеном Аптоном из Кембриджского университета в Великобритании для улучшения навыков программирования студентов.
В отличие от Arduino, сердцем которого является микроконтроллер, у Raspberry Pi имеется микропроцессор (например, ARM Cortex), то есть эта плата является микрокомпьютером.

Это позволяет использовать практически любой язык программирования и другие инструменты. К Raspberry Pi можно подключать периферийные устройства, такие как монитор (через порт HDMI или AV), мышь и клавиатуру (через USB), подключаться к Интернету (через Ethernet или Wi-Fi), использовать камеру и т.д.
Поскольку весь компьютер (процессор, ОЗУ, хранилище, графика, разъемы и т. д.) расположен на одной печатной плате, Raspberry Pi (и другие подобные платы) называются одноплатными компьютерами или SBC.
Так как Raspberry Pi представляет собой полноценный компьютер, на нем может работать операционная система, напрмиер, одна из сборок на ядре Linux. Организация Raspberry Pi, которая отвечает за проектирование и разработку Raspberry Pi, выпускает свой дистрибутив Linux на основе Debian под названием Raspberry Pi OS (ранее – Raspbian OS).
Благодаря компактности и многофункциональности, платы Raspberry Pi различных версий очень популярны среди самодельщиков и даже могут использоваться для майнинга.
О различиях между Arduino и Raspberry Pi
Основное различие между Arduino и Raspberry Pi — это управление микроконтроллером в первом случае и микропроцессором – во втором.
Для работы Raspberry Pi необходима операционная система, а для Arduino — только двоичный файл скомпилированного исходного кода.
Тактовая частота контроллера Arduino составляет десятки-сотни МГц, а тактовая частота процессора Raspberry Pi — более одного ГГц.
Raspberry Pi хорош для разработки программных приложений с использованием Python, а Arduino — для взаимодействия с датчиками и управления светодиодами и двигателями. Raspberry Pi через 40-контактный GPIO также может успешно работать с практически любыми электронными компонентами (светодиоды, кнопки, датчики, двигатели и т. д). Raspberry Pi может работать с внешним оборудованием (сенсорный экран, GPS, панели RGB и т. д).
И Raspberry Pi, и Arduino питаются от напряжения пять вольт от разъема USB, но Raspberry Pi требует больше тока, чем Arduino. Так как Raspberry Pi работает с помощью операционной системы, некорректное завершение работы, например, после аварийного отключения питания, впоследствии может привести к сбоям в работе.
необходимо правильно завершить перед отключением питания.
Используя аппаратные и программные файлы Arduino с открытым исходным кодом, достаточно просто создавать собственные радиоэлектронные устройства. С Raspberry Pi это сложнее, так как часть кода для этих устройств является проприетарной.
Плата Arduino Uno (слева) и Raspberry Pi 3 (справа):

Таблица с информацией об особенностях и различиях Raspberry Pi и Arduino:
| Raspberry Pi | Arduino |
| Raspberry Pi – это одноплатный компьютер (Single Board Computer, сокращенно SBC) | Arduino — это аппаратная платформа (плата разработчика) с микроконтроллером |
| Основой устройства является микропроцессор (обычно ARM Cortex) | Работа устройства базируется на использовании микроконтроллера Atmel, например, ATmega328P |
| Для запуска платы обычно используется операционная система с ядром Linux (Raspberry Pi OS) | Микроконтроллер не требует использования отдельной операционной системы |
| Raspberry Pi может одновременно выполнять несколько задач | Arduino оюычно используется для повторного выполнения какой-то одной задачи (простых заданий) |
| Все основные компоненты (процессор, RAM, хранилище данных, разъемы и т.д.) расположены на одной плате | Процессор, RAM, ROM встроены в микроконтроллер. Плата содержит вспомогательные компоненты (узлы питания и обмена данными) |
| Цена базовой платы Raspberry Pi (оригинал) – порядка 35 долларов США. | Цена Arduino дешевле – около 20-25 USD (оригинал). |
| Аппаратное обеспечение и firmware-прошивка Raspberry Pi – фирменные, с закрытым исходным кодом | Arduino работает на основе open-source hardware и software |
| Взаимодействие с Raspberry Pi обычно осуществляется через 40-пиновый GPIO разъем | Работа с Arduino осуществляется через цифровые и аналоговые порты |
| Через 40-pin GPIO разъем можно расширять возможности Raspberry Pi с помощью плат расширения | Расширение функционала Arduino возможно с помощью IO портов |
| Raspberry Pi является компьютером, поэтому должно производиться правильное выключение устройства | Arduino iуправляется микроконтрооллером, что повзоляет выключать и включать устройство, не заботясь о каких-либо нюансах |
| Основными языками программирования для Raspberry Pi являются Python, Scratch, Ruby, C, C++ | Arduino программируется на C or C++ |
| Уровень сигнала для логики Raspberry Pi равен 3.3V. | Arduino работает с напряжением сигнала, равным 5V. |
| Raspberry Pi питается через USB адаптер мощностью 10-15 ватт (5V, 2A или 5V, 3A) | Arduino может питаться через обычный USB порт компьютера второго поколения |
| Устройство Raspberry Pi легко подключить к сети по Wi-Fi или Ethernet | Для подключения к сети Arduino нужен отдельный модуль |
| Raspberry Pi имеет встроенные модули Bluetooth и Wi-Fi | Arduino не имеет базовой поддержки беспроводного подключения к сети |
Исходя из различий, описанных выше, Arduino хорош для выполнения простых повторяющихся задач, например, открытие двери гаража, включение и выключение света, считывание показаний датчиков температуры, управление двигателем и т. д.
Raspberry Pi более сложен, но зато хорош для одновременного выполнения нескольких задач, воспроизведения видео, подключения к Интернету, подключения камер и т. д.
Плата Arduino больше подходит для программирования и прототипирования схем, а Raspberry Pi – для обучения программированию и DIY-проектов.


