Raspberry Pi или Arduino: в чём разница и что выбрать
Raspberry Pi или Arduino: Linux-компьютер против микроконтроллера. Сравниваем время загрузки, питание, GPIO, аналоговые входы, язык и цену, плюс подбор проектов и код.
Разница между Raspberry Pi и Arduino умещается в одно предложение: Raspberry Pi — это компьютер размером с банковскую карту, на котором работает операционная система Linux, а Arduino — это плата микроконтроллера, которая снова и снова выполняет одну загруженную в неё программу. К Pi можно подключить клавиатуру, мышь и монитор, сидеть в интернете, обрабатывать изображения с камеры на Python или держать дома небольшой сервер. Arduino начинает работать сразу после подачи питания, читает датчики с микросекундной точностью, управляет моторами и светодиодами без единой заминки и может днями работать от батареек.
Коротко: Raspberry Pi лучше подходит для проектов, где нужны камера, обработка изображений, графический интерфейс или сетевые сервисы, а Arduino выигрывает, когда нужны датчики, моторы, точные тайминги и низкое потребление. В этом руководстве мы сравниваем две платформы на реальных цифрах: время загрузки, потребление энергии, GPIO и аналоговые входы, язык программирования, работа в реальном времени и цена. Затем в таблице показываем, что выбрать для какого проекта, даём пример кода, который запускает обе платы вместе через USB-кабель, и объясняем, где место Raspberry Pi Pico: несмотря на название, он гораздо ближе к Arduino.

Что такое Raspberry Pi и что такое Arduino?
Raspberry Pi — это одноплатный компьютер (SBC), разработанный британским фондом Raspberry Pi Foundation. У Raspberry Pi 5 четырёхъядерный процессор Arm Cortex-A76 на 2,4 GHz, от 1 до 16 ГБ ОЗУ, два выхода HDMI 4K, USB 3.0, гигабитный Ethernet, Wi-Fi и Bluetooth. Вместо жёсткого диска у него карта microSD (или NVMe SSD на плате расширения), а работает он под управлением основанной на Debian Raspberry Pi OS. Иными словами, это маленький и дешёвый родственник твоего настольного компьютера; единственное отличие — 40-контактная гребёнка GPIO по краю платы, к которой можно напрямую подключать светодиоды, кнопки и датчики.
Arduino же — открытая платформа на микроконтроллерах, появившаяся в Италии. Её самая распространённая плата, Arduino Uno R3, построена на 8-битном ATmega328P с частотой 16 MHz: процессор, 2 КБ ОЗУ, 32 КБ памяти программ и аналого-цифровой преобразователь находятся внутри одной маленькой микросхемы. Здесь нет ни операционной системы, ни файловой системы, ни видеовыхода. Код, написанный в Arduino IDE на компьютере, компилируется и записывается во флеш-память платы; при каждом включении один раз выполняется setup(), а затем бесконечно — loop(). Чтобы познакомиться с платформой поближе, прочитай статью Что такое Arduino?.
Быстрый ответ: что выбрать в какой ситуации?
| Твоя ситуация | Выбор | Почему? |
|---|---|---|
| Первые шаги в электронике | Arduino Uno | Просто, надёжно, напрямую работает с модулями на 5 V |
| Камера, распознавание лиц или объектов | Raspberry Pi | Вычислительная мощность, ОЗУ, поддержка OpenCV и камер |
| Машинка-робот, сервопривод, шаговый двигатель | Arduino | Непрерывные и точные тайминги |
| Веб-сервер, база данных, центр умного дома | Raspberry Pi | Linux, сетевые сервисы, хранилище |
| Датчик, который днями работает от батареек | Arduino или Pico | Потребление в милливаттах, а не в ваттах |
| Устройство с экраном, клавиатурой и мышью | Raspberry Pi | Рабочий стол, браузер, HDMI |
| Изучение Python и управление железом | Raspberry Pi Pico или Raspberry Pi | MicroPython или полноценный Python |
| Обработка изображений вместе с управлением моторами | Raspberry Pi + Arduino | Pi принимает решения, Arduino их исполняет |
Сравнительная таблица: Raspberry Pi 5, Arduino Uno и Raspberry Pi Pico
| Характеристика | Raspberry Pi 5 | Arduino Uno R3 | Raspberry Pi Pico |
|---|---|---|---|
| Тип | Одноплатный компьютер | Плата микроконтроллера | Плата микроконтроллера |
| Процессор | BCM2712, 4 ядра Cortex-A76, 2,4 GHz | ATmega328P, 8 бит, 16 MHz | RP2040, 2 ядра Cortex-M0+, 133 MHz |
| ОЗУ (RAM) | 1, 2, 4, 8 или 16 ГБ | 2 КБ | 264 КБ |
| Хранилище | Карта microSD или NVMe SSD | 32 КБ флеш-памяти | 2 МБ флеш-памяти |
| Операционная система | Raspberry Pi OS (Linux) | Нет | Нет |
| Время загрузки | Около 15–40 секунд | Меньше 1 секунды | Меньше 1 секунды |
| Потребление | Около 3 W в простое, 7–8 W под нагрузкой | Около 0,25 W (50 mA) | Около 0,1 W (20–25 mA) |
| Питание | USB-C, рекомендуется 5 V 5 A | USB 5 V или гнездо питания 7–12 V | USB 5 V или 1,8–5,5 V на VSYS |
| Логическое напряжение | 3,3 V (5 V не выдерживает) | 5 V | 3,3 V (5 V не выдерживает) |
| GPIO | 28 GPIO на 40-контактной гребёнке | 20 (14 цифровых + 6 аналоговых) | 26 |
| Аналоговый вход (АЦП) | Нет (нужен внешний АЦП) | 6 каналов, 10 бит | 3 канала, 12 бит |
| Аппаратный ШИМ | На 4 пинах (GPIO 12, 13, 18, 19) | 6 пинов | На всех GPIO, 16 каналов |
| Беспроводная связь | Wi-Fi 5 + Bluetooth 5.0 | Нет | Нет (Wi-Fi + Bluetooth на Pico W) |
| Видео и звук | 2 × HDMI 4K, 2 разъёма для камер | Нет | Нет |
| Программирование | Python, C/C++, Node.js и почти любой язык Linux | Arduino C/C++ | MicroPython, C/C++ SDK, Arduino |
| Реальное время | Нет (планировщик Linux) | Да, на уровне микросекунд | Да, а с PIO ещё точнее |
| Внезапное отключение питания | Карта SD может повредиться | Без проблем | Без проблем |
| Рекомендованная цена (октябрь 2026) | От 45 $ (1 ГБ) до более чем 300 $ (16 ГБ) | Оригинал около 25–30 $, клон 5–10 $ | 4 $ (Pico W 6 $, Pico 2 5 $) |
Пара слов о ценах: микросхемы памяти LPDDR4, которые стоят в Raspberry Pi 4 и 5, сильно подорожали из-за спроса со стороны дата-центров для ИИ, поэтому с декабря 2025 года Raspberry Pi несколько раз поднимала цены; на октябрь 2026 года Pi 5 с 2 ГБ стоит 77,50 $. Цена Pi Zero 2 W, где используется более старая память, осталась на уровне 15 $. Кроме того, Pi нужны карта microSD, блок питания USB-C на 27 W и желательно охлаждение, а это ещё 20–30 $ к общей сумме. Arduino Uno или Pico нужен только USB-кабель.
Фундаментальная разница между Linux-компьютером и микроконтроллером
На Raspberry Pi написанная тобой программа на Python — лишь один из сотен процессов, которыми Linux управляет одновременно. Ядро по очереди отдаёт процессор сетевому подключению, дисплею, USB-устройствам, фоновым службам и твоей программе. Это очень мощная схема: можно одновременно писать логи в файлы, держать веб-сервер и видеопоток с камеры, а код править по SSH из соседней комнаты. На Arduino процессор выполняет только твой код. Между ним и железом нет операционной системы, поэтому вызов digitalWrite меняет состояние пина за несколько микросекунд, и каждый раз за одно и то же время. На практике эта разница означает следующее:
- Многозадачность: Pi одновременно запускает браузер, скрипт на Python и базу данных; Arduino выполняет один loop(), а несколько задач приходится распределять вручную с помощью millis().
- Хранилище: на Pi можно держать гигабайты фото, логов и баз данных; на Uno программа должна уместиться в 32 КБ, а переменные — в 2 КБ ОЗУ.
- Сеть: Pi подключается к интернету по Wi-Fi и Ethernet прямо из коробки; у Uno нет сетевого подключения, поэтому нужен ESP32 или дополнительный модуль.
- Обслуживание: Pi — это компьютер, поэтому ему нужны обновления, пароль пользователя и забота о безопасности; код в Arduino загружается один раз, и она годами работает одинаково.
- Когда что-то идёт не так: если программа на Pi падает, система продолжает работать и сообщение об ошибке можно прочитать; если код на Arduino зависает, плата молча останавливается, но сторожевой таймер (watchdog) может автоматически её перезагрузить.
Время загрузки и внезапное отключение питания
После подачи питания на Arduino программа стартует меньше чем за секунду; даже при нажатии кнопки сброса загрузчик ждёт лишь мгновение. Raspberry Pi сначала загружает свой загрузчик, затем ядро Linux и службы; в зависимости от модели и скорости карты SD до рабочего стола проходит 15–40 секунд. Это важно для устройств, которые должны работать сразу после отключения электричества: дверного звонка, сигнализации или системы полива. Выключение ещё критичнее: Linux постоянно пишет на карту SD, и если питание пропадёт посреди записи, файловая система может повредиться, а Pi может больше не загрузиться. Программа Arduino хранится во флеш-памяти неизменной, поэтому вилку можно выдернуть когда угодно.
Потребление энергии и работа от батарей
По потреблению разница в 10–30 раз. Raspberry Pi 5 потребляет около 3 W в простое и 7–8 W при полной загрузке процессора, а с USB-накопителем и камерой ещё больше. Arduino Uno берёт около 50 mA, то есть 0,25 W при 5 V, а Pico — около 0,1 W. В таблице ниже приведено примерное время работы от пауэрбанка на 10 000 mAh. Расчёт такой: 10 000 mAh на этикетке указаны для элементов на 3,7 V, это примерно 37 Wh; после потерь на преобразование в 5 V остаётся около 30 Wh. Раздели это на потребление платы в ваттах. Для своей схемы воспользуйся калькулятором времени работы от батареи.
| Плата | Типичное потребление | От пауэрбанка на 10 000 mAh |
|---|---|---|
| Raspberry Pi 5 (простой) | Около 3 W | Около 10 часов |
| Raspberry Pi 5 (полная нагрузка) | 7–8 W | Около 4 часов |
| Raspberry Pi Zero 2 W | Около 0,6 W | Около 2 дней |
| Arduino Uno R3 | Около 0,25 W | Около 5 дней |
| Raspberry Pi Pico | Около 0,1 W | Около 12 дней (если пауэрбанк не отключится) |
| Спящая Arduino Pro Mini (без светодиода и стабилизатора) | Микроамперы | Месяцы прямо от батарей |
Пины GPIO и аналоговый вход
На 40-контактной гребёнке Raspberry Pi 28 GPIO; GPIO 0 и 1 зарезервированы под ID EEPROM плат HAT, и их обычно не трогают. Эти пины работают на 3,3 V, не выдерживают 5 V и отдают лишь несколько миллиампер на пин (максимум около 16 mA): светодиод через последовательный резистор зажечь можно, но катушку реле или мотор напрямую подключать нельзя. Самый большой пробел — отсутствие аналоговых входов: аналога analogRead на Pi нет, поэтому для чтения аналогового датчика вроде потенциометра, фоторезистора (LDR) или датчика влажности почвы нужна внешняя микросхема АЦП. У Arduino Uno 6 аналоговых входов, и почти любой датчик на 5 V подключается к ней напрямую.
| Параметр | Raspberry Pi | Arduino Uno | Raspberry Pi Pico |
|---|---|---|---|
| Логический уровень | 3,3 V | 5 V | 3,3 V |
| Ток на пин | Несколько mA, максимум около 16 mA | Рекомендуется 20 mA, абсолютный максимум 40 mA | 4 mA по умолчанию, настраивается до 12 mA |
| Аналоговое чтение | Нет; нужен MCP3008 или ADS1115 | analogRead(), 0–1023 | ADC(26).read_u16(), 0–65535 |
| ШИМ | Аппаратный на 4 пинах, программный на остальных | analogWrite() на 6 пинах | Аппаратный на каждом пине |
| Нумерация пинов | Номер GPIO не совпадает с физическим пином (GPIO17 = пин 11) | Номер, напечатанный на плате | Номер GP (GP15 = пин 20) |
| Модули на 5 V, например HC-SR04 | Нужен делитель напряжения | Напрямую | Нужен делитель напряжения |
Подключить аналоговый датчик к Pi можно двумя способами. Первый — модуль АЦП, например 8-канальный 10-битный MCP3008 на SPI или 4-канальный 16-битный ADS1115 на I2C; библиотека gpiozero поддерживает MCP3008 из коробки. Второй — подключить датчики к Arduino или Pico и отправлять показания на Pi по USB; код для этого приведён ниже. Как работает аналоговое чтение, рассказано в статье Что такое АЦП?, а карты пинов плат есть в утилите распиновки.
Язык программирования и среда разработки
Arduino программируют на языке Arduino, основанном на C/C++: код пишется в Arduino IDE на компьютере, компилируется и загружается в плату по USB. На Raspberry Pi код пишется и запускается прямо на самой Pi, без отдельного шага загрузки. Самый популярный язык — Python, а в Raspberry Pi OS заранее установлены редактор Thonny и библиотека gpiozero. Можно использовать и любой другой язык, который работает в Linux: C, C++, Node.js, Go или Java. Вот как выглядит на Pi программа на Python «светодиод горит, пока нажата кнопка»:
1from gpiozero import LED, Button
2from signal import pause
3
4led = LED(17) # GPIO17 = fiziksel pin 11 / GPIO17 = physical pin 11
5buton = Button(27) # GPIO27 = fiziksel pin 13, dahili pull-up açık / physical pin 13, internal pull-up on
6
7buton.when_pressed = led.on # Basınca LED yanar / LED on when pressed
8buton.when_released = led.off # Bırakınca söner / LED off when released
9
10pause() # Programı açık tut, olayları bekle / keep running and wait for eventsПодключи кнопку между GPIO27 и GND, а светодиод к GPIO17 через резистор 220 Ω; класс Button включает встроенный подтягивающий резистор автоматически. Сохрани файл как buton_led.py и запусти, набрав в терминале python3 buton_led.py. Обрати внимание: на Raspberry Pi 5 пинами GPIO управляет новая микросхема RP1, поэтому старая библиотека RPi.GPIO не работает и падает с ошибкой «RuntimeError: Cannot determine SOC peripheral base address» (не удаётся определить базовый адрес периферии); в новых проектах используй gpiozero. Если в актуальной Raspberry Pi OS команда pip install выдаёт ошибку «externally-managed-environment» (окружение управляется системой), установи пакет через sudo apt install python3-... или создай виртуальное окружение (venv). На Raspberry Pi Pico те же знания Python применяются в MicroPython.
Работа в реальном времени: почему для моторов и датчиков Arduino?
Linux делит процессор между программами, поэтому твой код на Python иногда может приостанавливаться на несколько миллисекунд, и предсказать, когда это случится, невозможно. Для веб-страницы это неважно, а вот для железа, которое зависит от таймингов, это серьёзная проблема. Несколько конкретных примеров:
- Ультразвуковой датчик расстояния HC-SR04: звуку нужно около 58 µs на путь туда и обратно на каждый 1 см расстояния. Если при измерении времени эха вкрадётся задержка в 100 µs, показание будет неверным на 1,7 см; на Pi такие отклонения — обычное дело.
- Сервопривод: положение сервопривода задаётся импульсом 1–2 мс в сигнале 50 Hz, и 1 градус соответствует примерно 5,5 µs. Сервопривод, управляемый программным ШИМ на Pi, дрожит; на Arduino он стоит неподвижно.
- Светодиодная лента WS2812B: каждый бит длится 1,25 µs, а тайминг требует точности 0,15 µs; Pi справляется с этим только с помощью аппаратного SPI или ШИМ вместе с DMA, а Arduino или Pico управляют лентой напрямую.
- Шаговые двигатели и энкодеры: тысячи шаговых импульсов в секунду или быстрые сигналы энкодера Arduino ловит без пропусков с помощью прерываний.
Что выбрать для какого проекта?
| Проект | Лучшая плата | Почему? |
|---|---|---|
| Камера, распознающая лица или объекты | Raspberry Pi 5 | OpenCV, Picamera2, ИИ-ускорители |
| Камера наблюдения по Wi-Fi с отправкой фото | ESP32-CAM или Raspberry Pi Zero 2 W | Для простых снимков хватит ESP32-CAM, для видеопотока и записи нужна Pi |
| Робот, объезжающий препятствия или следующий по линии | Arduino | Точный непрерывный цикл для датчиков и моторов |
| Робот, который ориентируется с помощью камеры | Raspberry Pi + Arduino | Pi видит и решает, Arduino управляет моторами |
| Автополив растений | Arduino или ESP32 | Аналоговый датчик влажности, низкое потребление, мгновенный старт |
| Центр умного дома (Home Assistant) | Raspberry Pi | Постоянно включённый сервер, база данных, веб-интерфейс |
| Метеостанция | ESP32 или Pico W | Wi-Fi и низкое потребление одновременно |
| Ретро-приставка, медиаплеер | Raspberry Pi | HDMI, звук, USB-геймпад |
| Регистратор данных на батарейках | Arduino Pro Mini или Pico | Очень низкое потребление в режиме сна |
| Уроки электроники, первые схемы | Arduino Uno | 5 V, выносливые пины, масса примеров |
Камеры и обработка изображений — самая сильная сторона Raspberry Pi. Модуль Camera Module 3 на 12 Мп с автофокусом подключается к разъёму камеры на плате шлейфом; фото можно сделать командой rpicam-still -o photo.jpg, а обнаружение движения, отслеживание цвета, чтение QR-кодов или распознавание лиц реализуются на Python с библиотеками Picamera2 и OpenCV. Для более тяжёлых моделей ИИ можно добавить плату-ускоритель вроде AI HAT+ или взять AI Camera, которая обрабатывает изображение прямо внутри камеры. Разъёмы камер у Raspberry Pi 5 меньше (22-контактные), чем у старых моделей, поэтому для старых камер нужен подходящий переходной шлейф. В 2 КБ ОЗУ Arduino Uno не поместится даже одна маленькая фотография; если нужно просто делать снимки и отправлять их в Telegram, хорошая золотая середина — недорогая ESP32-CAM.
А вот в датчиках и моторах у Arduino практически нет конкурентов. Она работает на 5 V, поэтому большинство модулей на рынке, например HC-SR04, модули реле, драйвер моторов L298N и символьные LCD, подключаются без дополнительных схем, а шилды с драйверами моторов, реле и датчиками вставляются прямо сверху на плату. В машинке-роботе Arduino десятки раз в секунду читает датчик расстояния и останавливает моторы в тот же миг, как видит препятствие; время реакции никогда не зависит от того, насколько занята операционная система. Сервоприводы и шаговые двигатели работают на Arduino плавно по той же причине.




Вместе: Raspberry Pi + Arduino
В большинстве продвинутых проектов лучшее решение — использовать обе платы. Представь человеческое тело: Raspberry Pi — это мозг; она обрабатывает изображение с камеры, выходит в интернет, ведёт записи и принимает решения. Arduino — это спинной мозг и мышцы; она читает датчики, управляет моторами и в экстренной ситуации реагирует рефлекторно, не спрашивая Pi. Например, в машинке-роботе с камерой Pi находит линию на изображении и отправляет команду «поверни налево»; Arduino переводит её в скорости моторов и сама останавливается, если появится препятствие. Распространённые способы соединить две платы:
| Подключение | Как? | На что обратить внимание |
|---|---|---|
| Последовательный порт по USB (проще всего) | Подключи Arduino к USB-порту Pi; она появится как /dev/ttyACM0 или /dev/ttyUSB0 | Pi заодно питает Arduino, преобразователь уровней не нужен |
| UART (GPIO 14 и 15) | TX Pi → RX Arduino, TX Arduino → RX Pi, общая GND | Для сигнала TX Arduino на 5 V нужен делитель напряжения |
| I2C | Pi — ведущий, Arduino — ведомый с адресом вроде 0x08 | Рекомендуется преобразователь уровней |
| Wi-Fi / MQTT | ESP32 отправляет показания по сети MQTT-брокеру на Pi | Без проводов, но с некоторой сетевой задержкой |
- Загрузи приведённый ниже код Arduino в плату с компьютера (можно загрузить его и с Pi через arduino-cli).
- Подключи Arduino к Pi USB-кабелем и узнай имя порта, набрав в терминале ls /dev/ttyACM* /dev/ttyUSB*. Оригинальная Uno обычно видна как /dev/ttyACM0, клоны с микросхемой CH340 — как /dev/ttyUSB0.
- Если библиотека pyserial не установлена, установи её командой sudo apt install python3-serial.
- Если у твоего пользователя нет доступа к последовательному порту, введи sudo usermod -a -G dialout $USER, затем выйди из системы и войди снова.
- Сохрани код на Python как pi_arduino.py и запусти командой python3 pi_arduino.py; если в Arduino IDE открыт монитор порта, сначала закрой его.
1// Arduino Uno: A0 değerini Pi'ye gönderir, Pi'den gelen komutla LED'i yönetir
2// Arduino Uno: sends the A0 reading to the Pi and drives the LED on the Pi's command
3const int SENSOR_PIN = A0; // LDR ya da potansiyometre / LDR or potentiometer
4const int LED_PIN = 13; // Dahili LED / built-in LED
5unsigned long sonGonderim = 0; // Son gönderim zamanı / time of the last send
6
7void setup() {
8 Serial.begin(115200); // Pi tarafıyla aynı hız / same baud rate as the Pi
9 pinMode(LED_PIN, OUTPUT);
10}
11
12void loop() {
13 // Pi'den komut geldi mi? / has a command arrived from the Pi?
14 if (Serial.available()) {
15 String komut = Serial.readStringUntil('\n'); // Satır sonuna kadar oku / read up to the newline
16 komut.trim(); // Boşluk ve \r karakterlerini sil / strip spaces and \r
17 if (komut == "LED1") digitalWrite(LED_PIN, HIGH);
18 else if (komut == "LED0") digitalWrite(LED_PIN, LOW);
19 }
20
21 // 500 ms'de bir ölçüm gönder, loop'u bekletmeden / send a reading every 500 ms without blocking
22 if (millis() - sonGonderim >= 500) {
23 sonGonderim = millis();
24 int deger = analogRead(SENSOR_PIN); // 0-1023
25 Serial.print("A0:");
26 Serial.println(deger); // Örnek: A0:512 / example: A0:512
27 }
28}1import time
2import serial # sudo apt install python3-serial
3
4# Orijinal Uno: /dev/ttyACM0, CH340'lı klon: /dev/ttyUSB0 / genuine Uno: /dev/ttyACM0, CH340 clone: /dev/ttyUSB0
5ser = serial.Serial("/dev/ttyACM0", 115200, timeout=1)
6time.sleep(2) # Port açılınca Arduino yeniden başlar / opening the port resets the Arduino
7ser.reset_input_buffer() # Eski verileri temizle / drop stale data
8
9ESIK = 300 # Karanlık eşiği, sensörüne göre ayarla / darkness threshold, tune it for your sensor
10led_durum = None
11
12while True:
13 satir = ser.readline().decode("utf-8", errors="ignore").strip()
14 if not satir.startswith("A0:") or not satir[3:].isdigit():
15 continue # Boş ya da yarım satırı atla / skip empty or partial lines
16 deger = int(satir[3:])
17 print("Sensor:", deger)
18
19 yeni = "LED1" if deger < ESIK else "LED0" # Karanlıkta LED'i yak / LED on in the dark
20 if yeni != led_durum: # Yalnız değişince gönder / send only on change
21 ser.write((yeni + "\n").encode())
22 led_durum = yeniКаждые 500 мс Arduino отправляет строку вида «A0:512» и слушает команды «LED1» или «LED0», заканчивающиеся переводом строки; благодаря millis() ожидание команд никогда не задерживает измерения. На стороне Python важна строка time.sleep(2): когда Pi открывает последовательный порт, Arduino автоматически перезагружается, и всё, что отправлено в первые две секунды, теряется. Подбери порог 300 под свой датчик; в зависимости от того, как подключён фоторезистор, значение в темноте может расти или падать. Подробнее о последовательной связи — в статьях Последовательная связь Arduino и Python и Что такое UART?.
Где место Raspberry Pi Pico: Raspberry Pi по названию, микроконтроллер по сути
Здесь чаще всего возникает путаница. Хотя Raspberry Pi Pico выпускает Raspberry Pi, это не компьютер, а плата микроконтроллера, как Arduino: у неё нет операционной системы, она стартует мгновенно, потребляет около 0,1 W и работает в реальном времени. В её основе двухъядерная микросхема RP2040, которую Raspberry Pi разработала сама (в Pico 2 стоит RP2350 на 150 MHz). По сравнению с Arduino Uno у неё гораздо больше ОЗУ (264 КБ), 12-битный АЦП и блоки PIO для задач с критичными таймингами, а программируют её на MicroPython, C/C++ или в Arduino IDE. За 4 $ она дешевле Arduino Uno, но работает на 3,3 V, поэтому с модулями на 5 V нужна осторожность. Подробности — в статье Что такое Raspberry Pi Pico?.

Главное преимущество Pico в этом сравнении в том, что она работает на том же уровне 3,3 V, что и Raspberry Pi: её пины UART можно соединить с Pi напрямую без преобразователя уровней или просто подключить её по USB и использовать как Arduino. Приведённый ниже код на MicroPython отправляет данные в том же формате «A0:значение», что и код Arduino выше, и слушает те же команды для светодиода, так что скрипт на Python на Pi работает без единого изменения. Сохрани код на Pico как main.py через Thonny, а затем закрой Thonny, чтобы последовательный порт освободился для скрипта на Pi.
1import sys, select, time
2from machine import ADC, Pin
3
4sensor = ADC(26) # GP26 = ADC0 (fiziksel pin 31) / GP26 = ADC0 (physical pin 31)
5led = Pin(25, Pin.OUT) # Pico dahili LED; Pico W'de Pin("LED") / onboard LED; use Pin("LED") on Pico W
6poll = select.poll()
7poll.register(sys.stdin, select.POLLIN) # USB'den gelen veriyi dinle / listen for data over USB
8son = time.ticks_ms()
9
10while True:
11 # Pi'den komut var mı? / is there a command from the Pi?
12 if poll.poll(0):
13 komut = sys.stdin.readline().strip()
14 if komut == "LED1":
15 led.on()
16 elif komut == "LED0":
17 led.off()
18
19 # 500 ms'de bir, Arduino ile aynı biçimde gönder / every 500 ms, same format as the Arduino
20 if time.ticks_diff(time.ticks_ms(), son) >= 500:
21 son = time.ticks_ms()
22 deger = sensor.read_u16() >> 6 # 0-65535 -> 0-1023
23 print("A0:" + str(deger))Да и границы становятся всё более размытыми. В 2025 году Arduino представила Arduino UNO Q, которая объединяет оба мира на одной плате: на этой плате размером с Uno стоят четырёхъядерный процессор Qualcomm с Debian Linux и микроконтроллер STM32U585, который выполняет скетчи Arduino в реальном времени. Иными словами, архитектура «Pi + Arduino» теперь умещается на одной плате. Логика при этом не меняется: сторона Linux отвечает за сеть, видео и приложение, а сторона микроконтроллера — за пины и тайминги. Если понимать различия из этой статьи, от таких гибридных плат можно получить гораздо больше.
Частые ошибки и заблуждения
- «Raspberry Pi Pico — это маленькая Raspberry Pi»: нет; на ней не работает Linux и нет выхода HDMI. Pico — микроконтроллер, и место ей в одном классе с Arduino.
- Сигнал 5 V на пин Pi: если пин ECHO датчика HC-SR04 или линию TX Arduino подключить прямо к GPIO, можно навсегда повредить пин или даже процессор; используй делитель напряжения.
- Поиски analogRead на Pi: у Raspberry Pi нет аналоговых входов; используй MCP3008, ADS1115 или вспомогательную Arduino или Pico.
- Выключение выдёргиванием вилки: это самый быстрый способ испортить карту SD; каждый раз используй sudo poweroff.
- Питание Pi 5 от зарядки телефона: с источником, который не выдаёт 5 V 5 A, Pi 5 ограничивает суммарный ток USB-портов до 600 mA и может перезагружаться под нагрузкой.
- Ошибка «Permission denied: '/dev/ttyACM0'»: твоего пользователя нет в группе dialout; выполни команду usermod и войди в систему снова. При ошибке «Device or resource busy» (устройство занято) порт держит другая программа (монитор порта или Thonny).
- Мысль «Arduino устарела, теперь есть Pi»: это не конкуренты, а инструменты для разных задач; большинство устройств, от стиральных машин до автомобилей, и сегодня работают на микроконтроллерах.
Итак, Raspberry Pi — это компьютер, который думает и видит, а Arduino — контроллер, который мгновенно превращает то, что чувствует, в действие; хороший проект часто объединяет сильные стороны обеих. В приложении BlueGrays есть десятки проектов на Arduino, ESP32 и Raspberry Pi Pico, от светодиодов и датчиков до роботов и проектов с Wi-Fi, у каждого — пошаговая схема подключения и готовый код, и начать можно с бесплатных.
Частые вопросы
Чем отличаются Raspberry Pi и Arduino?
Raspberry Pi — это одноплатный компьютер с операционной системой Linux; с экраном, клавиатурой, интернетом и камерой его используют как обычный ПК. Arduino — это плата микроконтроллера без операционной системы, которая мгновенно и в реальном времени выполняет одну загруженную программу. Pi сильна в сложных вычислениях и сетевых задачах, Arduino — в работе с датчиками, моторами и задачах с низким потреблением.
Что купить новичку: Raspberry Pi или Arduino?
Если цель — изучить электронику, начни с Arduino Uno: она напрямую работает с модулями на 5 V, прощает больше ошибок, и примеров для неё огромное количество. Если главная цель — Linux, программирование на Python, камеры или серверные проекты, лучшим первым шагом будет Raspberry Pi. Для тех, кому нравится Python и хочется освоить микроконтроллеры, недорогой промежуточный вариант — Raspberry Pi Pico.
Можно ли запустить код Arduino на Raspberry Pi?
Напрямую нельзя. Скетчи Arduino компилируются для микроконтроллеров вроде ATmega328P; на Raspberry Pi ту же логику придётся переписать на Python с библиотеками вроде gpiozero. Зато Raspberry Pi можно использовать как компьютер, чтобы загружать код в Arduino через arduino-cli.
Можно ли использовать Raspberry Pi и Arduino вместе?
Да. Проще всего подключить Arduino к Pi USB-кабелем и обмениваться данными через последовательный порт; на Python для этого достаточно библиотеки pyserial. В такой схеме Pi отвечает за камеру, сеть и решения, а Arduino — за датчики и моторы. Если соединять их по UART или I2C через пины GPIO, используй делитель напряжения или преобразователь уровней из-за разницы между 5 V и 3,3 V.
Raspberry Pi Pico — это Arduino?
Нет, но она того же класса: как и Arduino, Pico — плата микроконтроллера без операционной системы. Благодаря микросхеме RP2040 она быстрее Uno, у неё больше ОЗУ, и её можно программировать на MicroPython; при желании для неё можно писать код и в Arduino IDE. Главное отличие — она работает на 3,3 V, а не на 5 V.
Что лучше для робота: Raspberry Pi или Arduino?
Для робота, который объезжает препятствия, следует по линии или ездит на дистанционном управлении, Arduino достаточно, и она надёжнее: моторы и датчики она обслуживает без задержек. Если роботу нужно распознавать объекты камерой, строить карту или управляться через интернет, понадобится Raspberry Pi. В продвинутых роботах обычно используют обе: Pi принимает решения, а Arduino управляет моторами.
Что собрать после прочтения
Все проекты
Мигающий светодиод
Самое первое «привет» в электронике: включение и выключение одного светодиода. Arduino включает и выключает светодиод через короткие промежутки, поэтому свет быстро мигает. Ты самым простым способом в

Мигание встроенным светодиодом Raspberry Pi Pico (Pico и Pico W)
Первый проект серии Raspberry Pi Pico! Мигаем зелёным встроенным светодиодом, чтобы проверить, что плата работает, — классический первый опыт «Hello World». НИКАКИХ внешних компонентов, только Pico и USB-кабель. Код написан на MicroPython (официальном языке, поддерживаемом Raspberry Pi Foundation). Изучи в Thonny IDE класс machine.Pin, режим Pin.OUT, методы led.on()/off() и time.sleep(). Каждое переключение видно в выводе (REPL).

Измерение освещённости с LDR
Хочешь увидеть яркость своей комнаты в виде числа? LDR — маленькая деталь, реагирующая на свет, — измеряет освещённость вокруг, а Arduino каждые полсекунды выводит значение на экран компьютера. Закрой

Температура и влажность с DHT11
Насколько тепло в твоей комнате и влажный ли воздух или сухой? Датчик DHT11 измеряет температуру и влажность, а Arduino выводит значения на двухстрочный LCD-экран и обновляет их каждые пару секунд. Ес

Измерение расстояния HC-SR04 (вывод в порт)
Датчик HC-SR04 работает совсем как летучая мышь, которая находит дорогу в темноте: он посылает звук, которого ты не слышишь, слушает эхо и измеряет, насколько далеко предмет перед ним. Arduino каждые

Односторонняя связь между двумя Arduino
Ты заставляешь две Arduino разговаривать по одному проводу: нажми кнопку на одной, и на другой загорится светодиод, нажми снова — погаснет. Плата-передатчик сообщает о нажатии кнопки коротким сообщени

Клавиатура разработчика на Python
Если надоело снова и снова набирать одни и те же шаблоны при программировании, эта маленькая клавиатура создана для тебя. Arduino Leonardo подключается к компьютеру как обычная клавиатура, а каждая кл

Умная станция полива
Садовник, который сам поливает растения, чтобы они не засохли, пока ты в отпуске. Датчик влажности почвы измеряет, насколько влажная земля; когда она сохнет, Arduino на несколько секунд включает водян
Другие статьи
Приложение BlueGrays
Собери эту схему шаг за шагом в телефоне
Схема подключения, код и список деталей на одном экране. 200+ проектов на Arduino, ESP32 и Pico готовы к сборке.
Наведи камеру телефона
Наведи камеру на код — откроется магазин приложений на телефоне.
или открыть магазин

