Что выбрать: raspberry pi или arduino

Hardware

When you look at an Arduino next to a Raspberry Pi, it’s very clear that the hardware differs quite a bit between the two. Let’s break it down.

Power

The Arduino’s power supply requirements are very simple; you can plug it into your computer or a battery pack, and it will start running code immediately. If the power is disconnected, it will stop; there’s no need to run a shut-down process. The Raspberry Pi, on the other hand, because it has a more full-featured computing system in place, should be shut down like a regular computer, and can be damaged by power cuts.

Both the Arduino and the Raspberry Pi have a very low power draw, and can be run for a very long time without using much electricity.

Connectivity

The Raspberry Pi comes ready to be connected to the internet; it has a built-in ethernet port, and it’s very easy to get a USB wifi dongle to give it wireless connectivity as well (you can see a very tiny one in the image below). This is one of the reasons why the Pi is the device of choice for things like personal web servers, printer servers, and VPNs.

The Arduino, on the other hand, doesn’t have any built-in capability for connectivity. If you want to connect it to the internet, you’ll need to add an extra piece of hardware that includes an ethernet port. If you want wifi connectivity, you’ll need a different piece of hardware again. Because the Arduino is meant for hardware projects instead of software ones, it needs a bit of tinkering to get it connected.

I/O Pins

Input/output pins are what allow your single-board computer to talk to things that are connected to it. For example, your Raspberry Pi could light up an LED. Or your Arduino could activate a motor. If you’re looking for hardware connections, these pins are what you need. The Raspberry Pi 2 packs 17 of these pins, while the Arduino Uno offers 20; you can see a number of them being used in the image below.

Another significant difference in the I/O pins between the two boards is the temporal resolution at which you can control them. Because the Raspberry Pi is a full computer, it has a number of things that are vying for CPU time, which means it can have some difficulty in getting timing down to small fractions of a second. And it needs software to properly interface with sensors and other devices. The Arduino, on the other hand, can change the output and monitor the input on its pins down to a very tiny amount of time.

Storage

The Arduino comes with 32 KB of onboard storage, which is just enough to store the code that provides instructions for its current program. You can’t use this storage for apps, videos, photos, or anything else. The Raspberry Pi, on the other hand, doesn’t come with any onboard storage, but it does have a micro SD port, so you can add as much storage as you’d like. Adding 32 GB of storage will only cost you around $12 with a SanDisk micro SD card, and you can easily add up to 128 or 256 GB if you need it.

USB

Because the Arduino isn’t meant to communicate with computers, it doesn’t come standard with any USB ports that you can use for this type of communication. A single port can be used to connect the Arduino to your computer via your computer’s USB port, but that’s it. The Raspberry Pi, on the other hand, has four USB ports that you can use to connect it to a router, a printer, an external hard drive, or a wide variety of other devices.

CodeSys на RaspberryPi 3 model B для реальных целей+MS SQL. Расчет метража продукции, произведенной на гофроагрегате

Из песочницы

Особо углубляться в описание малинового продукта нет необходимости. Глобальная сеть пестрит статьями с описанием как самого микрокомпьютера, так и проектов на нем.

Не буду лукавить и приводить кучу доказательств и обоснований того почему сделано так как сделано (а с учетом ценников на пром автоматику, система получилась копеечная, <150$ против самой дешевой дельты с ограниченным функционалом за 300$), так как давным-давно меня заинтересовал симбиоз RasberyPi и программного комплекса промышленной автоматизации Codesys и хотелось проверить на реально необходимом проекте. И только поэтому был выбран данный «Hardware», хоть и сомнение в стабильной работе не покидали до последнего момента.

Arduino vs. Raspberry Pi: Sensors

While Raspberry Pi and Arduino devices have several interface ports, connecting analog sensors to Arduino devices is a more straightforward process. The micro-controller can easily interpret and respond to a wide range of sensor data using the code you put on it, which is excellent if you intend to repeat a series of commands or react to sensor data as a means of making adjustments to servos and devices.

Raspberry Pi boards, on the other hand, require software to interface with these sorts of devices, which isn’t always what you need if you’re just trying to water plants effectively or keep your beer cold. Using both in a project isn’t all that uncommon. The Arduino device could act as a control board that executes commands issued by the Raspberry Pi’s software before the sensor information is fed back for recording or acknowledgment.

Сравнение между собой

При наличии общих свойств устройства имеют много отличий.

Таблица 1. Сравнение мини-компьютерных приборов

Характеристики и параметры

«Ардуино»

«Распберри пай»

1.

Система

Микроконтроллер

Полнофункциональный компьютер на кристалле (SoC)

2.

Операционная система

Платформа Arduino. Это не операционная система, «Ардуино» выполняет код, интерпретируемый прошивкой

ОС Linux (установлена в связи с тем, что устройство разрабатывалось для учебных целей)

3.

Процессор

16 MHz

Выделенный, 900 МГц или 4-ядерный с частотой 1,2 ГГЦ

4.

Графический драйвер

Отсутствует

Вывод через HDMI

5.

Память

ОЗУ: 1 Гб

Можно использовать смарт-карты в качестве флэш-памяти

6.

Назначение

Взаимодействие с устройствами и сенсорами (предпочтительно для аппаратных проектов), где требуется реагировать на различные сигналы сенсоров и ручной ввод; для сочленения других устройств и исполнительных механизмов; для регистрации действий

Можно использовать как полноценный медиасервер или эмулятор видеоигр,
настраивается для доступа по SSH. Для изобретателей специально предусмотрен разъем GPIO для подключения внешних кнопок, датчиков, приводов и т.п. устройств

6.

Питание

Начинает выполнять код сразу после включения и прекращает работу при физическом отключении от сети. Автономное: комплект батареек (АА — 2 шт.)

Постоянное напряжение 5V, работа устройства завершается программным процессом

7.

Сеть

Плата не приспособлена для работы по сети без дополнительных модификаций — потребуется доп. схема, оснащенная Ethernet-портом, также необходимо «прописать» дополнительный код. Некоторые производители выпускают платформы с встроенным функционалом Ethernet

Ethernet-порт (встроенный ).

Подключить беспроводной интернет несложно: нужно купить USB-адаптер для Wi-Fi и установить соответствующий драйвер

8.

Сенсоры

Обладает набором интерфейсных портов. Аналоговые сенсоры проще подключать к Arduino

Обладают набором интерфейсных портов (4 USB-разъема)

Третья версия Raspberry является усовершенствованной по сравнению с первыми:

  • чип Cortex-A 53 ARM8 64-битный;
  • встроенный Wi-Fi;
  • Bluetooth (с поддержкой новых стандартов) с низким энергопотреблением (BLE);
  • оперативная память: 1 Гб встроенной;
  • 4 порта USB 2.0 и LAN-порт для выхода устройства в интернет;
  • для подключения камеры в наличии специальный коннектор CSI.

Система Linux — система, установленная на «Распберри пай» — одно из отличий устройств.

Шаг 5: Настройка дисплея батареи

Теперь, чтобы настроить дисплей батареи, этот шаг определенно не является необходимым, поскольку вы можете считывать напряжение батареи через PIS GPIO и отображать уровень заряда батареи через программное обеспечение.

Тем не менее, мы хотели его добавить, потому что экран OLED дает всему ноутбуку действительно классный вид.

Чтобы сделать это, нам нужно припаять наш OLED-экран к нашему Arduino, OLED, который мы использовали, не является версией SPI, поэтому я должен припаять 7 контактов к Arduino.

Распиновка выглядит следующим образом:

OLED -> Arduino

  • Rest — Pin 7
  • DC — Pin 12
  • CS — Pin 9
  • DIN — Pin 11
  • CLK — Pin 13
  • VCC — 5 Volts (Вольт)
  • Ground — Ground (Земля)

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

Нам нужно припаять 2 резистора 10 Ом в конфигурации делителя напряжения к контактам A0 и Ground (земля) на Arduino, которые затем могут быть подключены к аккумулятору, A0 переходит в положительное состояние, а земля переходит на землю.

Нам также нужен источник питания для нашего экрана, поэтому нам нужно припаять другой провод к земле, а другой — к VIN на Arduino, который мы позже подключим к плате накопителя для питания.

Наконец, мы можем загрузить наш код, который ниже.

#include "U8glib.h"
int analogInput = 0;
int Percent ;  //We want it as a whole number
float Voltageout = 0.0;
float Voltage = 0.0; //We want it with decimal places
float R1 = 97000.0; //resistance 
float R2 = 10000.0;  //resistance 
int value = 0;

U8GLIB_SH1106_128X64 u8g(10, 9, 12, 11, 13); // pinout, see page

void draw(void) 
{
  u8g.setFont(u8g_font_helvB14r); // font
  u8g.drawStr(19, 16, "BATTERY"); 
  u8g.setPrintPos(7,55);
  u8g.setFont(u8g_font_helvB18r);
  u8g.println(Percent);           //Prints Percent
  u8g.println("%");
  u8g.setPrintPos(63,55);
  u8g.setFont(u8g_font_helvB18r); //A slightly larger font
   u8g.println(Voltage);             //Prints the voltage
  u8g.println("V");
  u8g.drawRFrame(0, 23, 128, 1, 0); 
}
void setup(){
   pinMode(analogInput, INPUT);
}
void loop(){
   value = analogRead(analogInput);
   Voltageout = (value * 5.0) / 1024.0; 
   Voltage = Voltageout / (R2/(R1+R2)); 
   if (Voltage<1) {
   Voltage=0.0;  // get  rid of unwanted readings
   }
   if (Voltage>5.00) {  // if Reading are too large
    Voltage= Voltage/10;
   Percent = ((Voltage-3)/(4.2-3))*100; //votage divided by max cell votage times 100 = the cells current percentage
} 
  u8g.firstPage();  
  do 
    {
     draw();      
    }
  while( u8g.nextPage() );
delay(500);
}

Meet Arduino

Unlike Raspberry Pi, Arduino boards are micro-controllers, not full computers. They don’t run an entire operating system but simply execute written code as their firmware interprets it. You lose access to the essential tools an operating system provides, but on the other hand, directly running simple code is more manageable and is accomplished with no operating system overhead.

Arduino Integrated Project Environment is open-source software that can be used with any Arduino board and runs on Windows, MacOS, and Linux. Individual boards and kits are priced at around $10 to $20, whereas student and advanced project kits are available from $25 to $200. The Arduino UNO Rev3, which the current version of Arduino’s basic board, costs $23 and allows USB connection between your PC and the board for easy use and programming.

The primary purpose of the Arduino board is to interface with sensors and devices, so it’s great for hardware projects in which you simply want things to respond to various sensor readings and manual input. That might not seem like a lot, but it’s a very sophisticated system that allows you to manage your devices better. It’s great for interfacing with other devices and actuators, where a full operating system would be overkill for handling simple read and response actions and costs start around $20.

But because Arduino isn’t the “brain” of your project, solutions aren’t locked to a handful of boards. Instead, there are more than 50 solutions for entry-level products, advanced devices, Internet of Things projects, education, wearables, and 3D printing. They all have processors, memory, and in some cases, storage, but they’re primarily designed to serve as controllers, not miniature computers.

Great examples of Arduino projects can be found here. One project is the Arduino Servo Catapult that fires off a bowl full of food when a cat walks onto a pressure sensor mat seated under its dish. Another project transforms a Nerf Vulcan gun into a sentry turret that can track its enemies. Arduino devices can even do things like adding a fingerprint scanner onto a garage door opener. As we reported earlier, many robot kits for kids you can buy on Amazon are based on the Arduino software and hardware platform.

Arduino vs. Raspberry Pi

Arduino vs. Raspberry Pi: Power

The two systems have very different power requirements. For starters, the Raspberry Pi 3 Model B board uses 1.5 watts when idle and up to 6.7 watts when a monitor, keyboard, and mouse are connected. The smaller Raspberry Pi Zero W consumes 0.5 watts of power when idle, and 1.75 watts when a monitor, keyboard, and mouse is attached.

Both Raspberry Pi boards require five volts to remain on, so you need a wall adapter or rechargeable battery pack with a higher voltage. For instance, both Raspberry Pi-based kits we reviewed provided an internal rechargeable battery that connected directly to the board. These batteries included an additional Micro USB port for recharging via a wall adapter or using the device like any other electrically tethered PC.

Meanwhile, Arduino devices begin executing code when turned on, and stop once you pull the plug. To add functionality, you either wire directly into the pins on the Arduino board, or stack chips called “shields” on top of the base unit. There are hundreds of shields, each designed to perform a different task, interface with specific sensors, and work with one another to build a complete control unit.

Thus, for Arduino, you merely need a battery pack that keeps the voltage above a certain level, along with a primary shield to manage the power. Even if the power drops on the Arduino, you won’t end up with a corrupt operating system or other software errors: It will just start running code when it’s plugged back in. For Raspberry Pi, you must shut it down within the operating system like any other computer, or else risk corruption and software problems.

Arduino vs. Raspberry Pi

Arduino vs. Raspberry Pi: Networking

The Raspberry Pi 3 has both a built-in Ethernet port and Wireless N connectivity, which allows easy access to any network with little setup. Once you’re connected, you can use the operating system to connect to web servers, process HTML, or post to the internet. You can even use it as a VPN or print server.

Unfortunately, Arduino devices typically aren’t built for network connectivity directly out of the box. Though it’s possible, they require a bit more tinkering to set up a proper connection. You’ll need an extra chip outfitted with an Ethernet port, and you’ll need to do some wiring and coding to get everything up and running just right, which is enough of a process in itself that some vendors sell comparable Arduino devices with a built-in Ethernet component.

Схема проекта

Для подключения модуля MAX485 TTL to RS-485 к плате Raspberry Pi мы будем использовать контакты GPIO14 и GPIO15 как показано на следующем рисунке.

Схема проекта последовательной связи с помощью интерфейса RS-485 между Raspberry Pi и Arduino Uno представлена на следующем рисунке.

В следующей таблице представлены необходимые соединения между платой Raspberry Pi 3 B+ (Master) и модулем RS-485.

Модуль RS-485 Raspberry Pi 3 B+
DI GPIO14 (TX)
DE RE GPIO4
R0 GPIO15(RX)
VCC 5V
GND GND
A To A of Slave RS-485
B To B of Slave RS-485

В следующей таблице представлены необходимые соединения между платой Arduino Uno (Slave) и модулем RS-485.

Модуль RS-485 Arduino Uno
DI 1 (TX)
DE RE 2
R0 0 (RX)
VCC 5V
GND GND
A To A of Master RS-485
B To B of Master RS-485

В следующей таблице представлены необходимые соединения между платой Arduino Uno и сервомотором SG-90.

Сервомотор SG-90 Arduino Uno
RED (красный) +5V
ORANGE (PWM) (оранжевый) 3
BROWN (коричневый) GND

В следующей таблице представлены необходимые соединения между платой Arduino Uno и ЖК дисплеем 16×2.

ЖК дисплей 16×2 Arduino Uno
VSS GND
VDD +5V
V0 к среднему контакту потенциометра для управления контрастностью ЖК дисплея
RS 8
RW GND
E 9
D4 10
D5 11
D6 12
D7 13
A +5V
K GND

Схему проекта мы рассмотрели, можем приступать к написанию программ.

Сравнение Arduino vs Raspberry Pi

Оба устройства были изобретены в европейских странах. Rasbperry Pi разработан Эбеном Аптоном в Великобритании, а Arduino Масимо Банзи в Италии. Оба они предназначались для обучения студентов. Raspberry впервые стал доступен в 2012 году, тогда как Arduino в 2005. Чтобы выполнить сравнение Arduino vs Rasbperry Pi, давайте рассмотрим преимущества и недостатки обоих платформ. Сначала поговорим о преимуществах Arduino.

Преимущества Arduino

1. Простота Arduino

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

2. Надежность Arduino

Rasbperry работает на операционной системе, поэтому его нужно правильно выключать. В противном случае приложения могут быть повреждены. Arduino достаточно просто подключить к сети. Его можно включать и отключать в любой момент.

3. Потребление энергии

Raspberry Pi — это мощное аппаратное обеспечение, оно нуждается в постоянном питании от блока с напряжением 5 вольт. Компьютер трудно заставить работать от обычной батареи. Arduino потребляет намного меньше энергии и может питаться от блока питания.

4. Цена

Очевидно, что Arduino дешевле за Raspberry Pi. Arduino можно купить за $10-20 в зависимости от версии. В то время как цена на Raspberry составляет около $ 35-40.

Преимущества Raspberry Pi

Дальше рассмотрим преимущества Raspberry Pi над Arduino. Учитывая все преимущества Arduino, можно подумать, что это действительно лучшее решение. Но это полностью зависит от вашего проекта. Особенности Raspberry Pi — это его мощность и возможности. Дальше рассмотрим основные преимущества Raspberry vs Arduino.

1. Производительность

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

Raspberry Pi в 40 раз быстрее чем Arduino. С помощью него вы можете просматривать почту, слушать музыку, смотреть видео и даже работать в интернет.

2. Сеть

Raspberry Pi имеет встроенный порт Ethernet и беспроводный адаптер Wifi, через которые вы можете подключить устройство к интернету или создать беспроводную точку доступа. Учитывая, что сетевые возможности поддерживаются операционной системой, то настроить сеть очень просто. Подключить Arduino к сети будет очень сложно. Все аппаратные средства нужно правильно подключить и написать специальный код для управления ими.

3. Не надо глубоких знаний в электронике

Для работы с Arduino необходимо хорошо разбираться в электронике и знать встроенные низкоуровневые языки программирования. Но для работы с Raspberry Pi необходимы только базовые знания основных компонентов. Поскольку здесь для работы того или иного механизма достаточно подключить провода, а для управления можно использовать множество уже готовых программ.

4. Переносимость

Операционная система Raspberry Pi и все файлы находится на SD карте, а поэтому вы можете ее очень просто извлечь и перенести все на другое устройство. Так что в этом плане raspberry vs arduino первый будет лучше.

аппаратные средства

Когда вы смотрите на Arduino рядом с Raspberry Pi, становится очень ясно, что аппаратное обеспечение между ними немного различается. Давайте разберемся с этим.

Мощность

Требования к источнику питания Arduino очень просты; Вы можете подключить его к компьютеру или аккумуляторной батарее, и он сразу же начнет выполнять код. Если питание отключено, оно остановится; нет необходимости запускать процесс выключения. Raspberry Pi, с другой стороны, потому что он имеет более полнофункциональную вычислительную систему, должен быть выключен как обычный компьютер и может быть поврежден при отключении питания.

И Arduino, и Raspberry Pi имеют очень низкое энергопотребление и могут работать очень долго без использования большого количества электричества.

связь

Raspberry Pi готов к подключению к Интернету; у него есть встроенный порт Ethernet, и очень просто получить USB-адаптер Wi-Fi, чтобы обеспечить беспроводную связь (вы можете увидеть очень маленький на рисунке ниже). Это одна из причин, по которой Pi является предпочтительным устройством для таких вещей, как персональные веб-серверы, серверы печати и VPN.

Arduino, с другой стороны, не имеет встроенных возможностей для подключения. Если вы хотите подключить его к Интернету, вам нужно добавить дополнительное оборудование, которое включает порт Ethernet. Если вы хотите подключиться к Wi-Fi, вам снова понадобится другое оборудование. Поскольку Arduino предназначен для аппаратных проектов, а не для программных, ему нужно немного поработать, чтобы подключить его.

I / O Pins

Контакты ввода / вывода — это то, что позволяет вашему одноплатному компьютеру общаться с вещами, которые к нему подключены. Например, ваш Raspberry Pi может загореться светодиодом. Или ваш Arduino может активировать мотор. Если вы ищете аппаратные соединения, эти контакты — то, что вам нужно. Raspberry Pi 2 упаковывает 17 из этих контактов, в то время как Arduino Uno предлагает 20; Вы можете увидеть их количество на изображении ниже.

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

Место хранения

Arduino поставляется с 32 КБ встроенного хранилища, что достаточно для хранения кода, который содержит инструкции для текущей программы. Вы не можете использовать это хранилище для приложений, видео, фотографий или чего-либо еще. Raspberry Pi, с другой стороны, не имеет встроенного хранилища, но имеет порт micro SD, поэтому вы можете добавить столько памяти, сколько захотите. Добавление 32 ГБ хранилища обойдется вам в $ 12 с картой памяти SanDisk micro SD, и вы можете легко добавить до 128 или 256 ГБ, если вам это нужно.

USB

Поскольку Arduino не предназначен для связи с компьютерами, он не входит в стандартную комплектацию USB-портов, которые вы можете использовать для этого типа связи. Один порт можно использовать для подключения Arduino к вашему компьютеру через USB-порт вашего компьютера, но это все. Raspberry Pi, с другой стороны, имеет четыре порта USB, которые можно использовать для подключения к маршрутизатору, принтеру, внешнему жесткому диску или множеству других устройств.

Raspberry или Arduino – что выбрать?

Из текста выше полностью понятно, что соответствующие одноплатники созданы для решения разных задач. Хотя, конечно, Raspberry может выполнять специфические функции Arduino, но наоборот это работать не будет.

Из этого следует, что «Малина» – универсальный компьютер, тогда как Ардуино – специализированный, но тоже рассчитанный на новичков в робототехнике и IoT.

То есть человек, который хочет начать работать с одноплатниками, но пока не имеет четких целей, может выбрать Raspberry Pi. Даже в том случае, если ему не понравится соответствующая сфера деятельности, он не потеряет деньги, а превратит «Малину» в:

  1. мультимедийный центр;
  2. игровую консоль;
  3. рабочий компьютер и т. д.

Однако если у него есть цель реализовать какой-то конкретный проект, например, сделать машинку с удаленным управлением, квадрокоптер, систему умного дома и т

д., то ему рекомендуется обратить внимание именно на Ардуино. Также к этому одноплатнику могут приглядеться те, у кого уже есть Raspberry, и их увлекает работа с ним

Стоит ли покупать Arduino только из-за стоимости

Ардуино – сравнительно более дешевый компьютер, чем «Малина». Так, в российских магазинах его возможно купить более, чем в полтора раза дешевле, нежели Raspberry. С Китая же можно и вовсе заказать за 8-10 долларов, тогда как «Малина» обходится минимум в $38.

Однако руководствоваться только одной выгодой не следует. Если нет цели сделать какой-то конкретный проект, то соответствующая плата будет бесполезной. Также для его реализации обязательно понадобятся дополнительные модули, некоторые из которых стоят дороже, чем сам одноплатник.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий