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

Содержание:

Raspberry Pi vs. Arduino

Raspberry Pi is a low cost computer that has the size of a credit card. You can program it as per your requirements. Moreover, you can easily connect it to a monitor and keyboard to operate it. Arduino is a microcontroller motherboard. It is capable of running one program at a time. So, it can be considered a part of Raspberry Pi.

Raspberry Pi is great for developing software projects. On the other hand, Arduino will make your life easier while doing hardware projects.

Common areas of use

  • Raspberry Pi is useful if you require a fully functional computer. It can be used for performing complicated tasks such as controlling a robot or a motor. It can also be programmed to play video games and movies.
  • You can also write code to develop a small computer that can perform calculations.
  • Arduino is very efficient for handling repetitive tasks. You can program it to perform operations like opening or closing of a door or switching on/ off lights. You can use it along with an IoT device and record the temperature. The information can be stored and used.
  • You can also send instructions to a simple robot.

Connectivity

  • You can easily connect Raspberry Pi using WiFi dongles or by a USB port. It also lets you connect with Bluetooth devices easily.
  • On the other hand, Arduino needs additional hardware to connect to the internet or Bluetooth devices. Shields and HATs (Hardware Attached on Top) will help you enjoy internet connectivity. Shields are modular circuit boards that let you connect to devices such as a camera, touchscreen, or an Ethernet. If you want to transform your Arduino into a rover, you will find a shield for that too.
  • Shields can also be added to Raspberry Pi to extend its capabilities. But it lacks the massive number of options Arduino has.

Speed

  • In terms of speed, Raspberry Pi is almost 40 times faster than Arduino. For example, Raspberry Pi 3 has a CPU of 1.2 GHz. So, it is capable of handling many tasks at once. This is due to its Broadcom BCM2837 SoC (System on Chip). This will help you to build complex projects with ease. So playing videos, music and web surfing is fast.
  • As Arduino has a processor of only 16 MHz, actions that require high speeds are not possible. Multitasking is not easy in Arduino.

Storage

  • Raspberry Pi does not offer you with onboard storage. It has a micro SD card slot. Here, you can use your SD card for storing data.
  • But, Arduino has onboard storage facilities. You can use the 32 Kb of storage space to store the code. This code will help you perform the tasks.

Plug and Play

  • Raspberry Pi is not a plug and play device. So, you need to shut the system down properly. This will help to avoid cases of file damage or corruption.
  • Arduino is a plug and play device. Therefore, when you supply the power to the system, it will start running. If the power is disconnected, it will shut down by itself.

Languages used

  • The commonly used programming language is Python for Raspberry Pi. Other languages like Scratch, Ruby, C, C++ are also pre-installed with Raspberry Pi.
  • In the case of Arduino, the commonly used languages are C and C++.

Постепенное угасание яркости свечения светодиода на Arduino с помощью pyFirmata

Чтобы лучше познакомиться с функциями программного обеспечения pyFirmata напишем программу для постепенного угасания яркости свечения светодиода (Fading LED). В этом случае мы в программе будем использовать два цикла – один для увеличения яркости свечения светодиода, а другой – для уменьшения яркости свечения светодиода.

В этой программе мы инициализируем контакты с помощью команды вида led = board.get_pin(‘d:9:p’), где d обозначает цифровой контакт. Более подробно об этой функции можно прочитать в документации на pyFirmata.

Полный код программы для постепенного угасания яркости свечения светодиода приведен в конце данной статьи.

Arduino

Let us start with Arduino. Arduino was developed by Massimo Banzi Et Al. in Ivrea, Italy. Arduino is a simple electronics prototyping tool with open-source hardware and software. Arduino is essentially a Microcontroller development board using which you can Blink LEDs, accept inputs from Buttons, read data from Sensors, control Motors and many other “Microcontroller” related tasks.

The most popular Arduino board is the Arduino UNO, which is based on ATmega328P Microcontroller from Atmel (now Microchip). Coming to the software side of Arduino, all Arduino boards can be programmed in C and C++ programming languages using a special software called Arduino IDE. The Arduino IDE consists of all the toolchains for editing source code, compiling and programming the Microcontroller on the Arduino board.

If you have previous experience with Microcontrollers like 8051, Atmel or PIC Microcontrollers, then you probably understand the lengthy process of developing applications using these microcontrollers. If you are not familiar, then let us see the process briefly.

First, you have to write the application software (the main source code) in a dedicated IDE (like Keil, Atmel Studio or PIC’s MPLAB IDE). Then you have to compile the code and generate the binary file in the form of a .hex file. Now using a special hardware called “Programmer”, you have to upload the hex file to the target microcontroller using a programmer software.

Arduino simplified this process with plug-and-play style quick programming. Using a single software (the Arduino IDE), you can write the code, compile it and upload it to the Microcontroller. You also don’t need separate hardware for uploading the program. Simply plug-in the Arduino board to a Computer through USB Port, hit the upload button, et voila, the Microcontroller on Arduino board is ready to do its tasks.

Another important thing about Arduino is it is open-source. This means the design files and the source code for software and libraries are freely available. You can use the hardware design files as a reference and essentially make your own Arduino board.

Элементы платы

Чип SoC Broadcom BCM2711

Сердце компьютера Raspberry Pi 4 Model B — чип SoC Broadcom BCM2711, который выполнен по технологии SoC (англ. System-on-a-Chip — система на кристалле). Кристалл включает в себя 4-ядерный процессор CPU Cortex-A72 с тактовой частотой 1,5 ГГц и графический двухъядерный сопроцессор GPU VideoCore VI с тактовой частотой 500 МГц.

Оперативная память LPDDR2 SDRAM

За выполнения и хранения данных в реальном времени на одноплатнике расположена оперативная память LPDDR2 SDRAM объёмом от 1 ГБ до 8 ГБ, которая делится между CPU и GPU. В зависимости от количества памяти, малины хватит для задач от управления датчиками до создания IPTV приставки для просмотра телеканалов.

Объём оперативной памяти зависит от .

Модуль Wi-Fi и Bluetooth

За беспроводную передачу данных отвечает микросхема Cypress CYW43438 с поддержкой Wi-Fi 802.11b/g/n/ac (2,4 и 5 ГГц) и Bluetooth 5.0 с BLE.

Цифровые HDMI аудио/видеовыходы

HDMI-разъёмы предназначены для вывода цифрового видео и звука на мультимедийные устройства, например на HDMI-дисплеи или мониторы. Два разъёма позволяют одновременно выводить изображение на разные экраны. Для коммуникации используйте HDMI-кабель с дополнительным переходником или готовый кабель HDMI — micro-HDMI.

Разъём питания

Разъём USB Type-C предназначен для питания Raspberry Pi.

Потребляемый ток может достигать до 3 ампер. Для стабильной работы
используйте зарядник на 5 В совместно с кабелем USB (A — Type C).

USB-порты

На торце платы находится два порта USB 2.0 и два USB 3.0, которые предназначены для подключения мультимедийной периферии: клавиатуры, мыши и других USB-девайсов.

Светодиодная индикация

Имя светодиода Назначение
PWR Индикация питания платы.
ACT Индикация активности с SD-картой. Во время работы с картой должен активно мигать.

Пины управления питанием платы и процессора

Имя пина Назначение
PEN Контакт предназначен для управление питанием платы (Power ENable) и всех органов управления. При подаче низкого уровня, напряжение на плату максимально ограничено и одноплатник выключен, при подачи высокого — малина переходит в штатный режим работы. Подключите пин к внешнему контроллеру и управляйте включением малины удалённо.
RUN Контакт предназначен для управление питанием процессора . При подаче низкого уровня одноплатник переход в спящий режим, при подачи высокого — в штатный режим работы. Используйте пин для внешней перезагрузки малины.

Пины ввода-вывода

На Raspberry Pi 4 Model B находятся 40 контактов GPIO для подключения цифровых датчиков, модулей расширения и другой периферии. Все подробности о пинах читайте в разделе .

К сожалению, в компьютерах Raspberry Pi нет встроенного аналого-цифрового преобразователя для подключения аналоговых датчиков. Используйте плату расширения Troyka Cap, которая добавит малине аналоговые пины.

Cлот microSD

На обратной стороне платы, расположен cлот для установки microSD-карты с операционная системой в Raspberry Pi. Перед началом работы запишите свежий образ Raspberry Pi OS на карту памяти или воспользуйтесь готовым решением.

Configure Arduino

First we need to go ahead and access the Pi terminal. You can either use a screen, keyboard and mouse or you can . Once at the command prompt it is usually a good idea to update the system first so go ahead and enter the following.

Install Arduino-cli

Once the update has finished we can install the Arduino command line tools. Just enter the following command to run the installation script, which will download and install Arduino-cli.

Go ahead and test the install by entering the arduino-cli command, it should produce a list of available commands.

Adding to $PATH

If you get an error stating that arduino-cli cannot be found, you will probably need to add the path of the containing folder to .bashrc so go ahead and open it with nano.

Next add the following line to the end of the file. You should only need to change the path if you altered it during the installation.

Press ctrl + X to save and close the file, then reboot the Pi and the arduino-cli command should work upon rebooting back to the command line.

Create a configuration file

Once the installation script has completed we will first need to create a configuration file using the following command.

This will create a configuration YAML file and echo the path in which the file was created.

Now we need to create our first sketch to upload. There is some further configuration required so for now we will just create a basic blink sketch in order to complete the configuration.

Принципы работы интерфейса последовательной связи RS-485

RS-485 представляет собой асинхронный интерфейс последовательной связи, не требующий для своей работы импульсов синхронизации. Для передачи двоичных данных от одного устройства к другому протокол использует дифференциальный сигнал.

Если следовать определению из википедии, дифференциальный сигнал представляет собой способ электрической передачи информации с помощью двух противофазных сигналов. В данном методе один электрический сигнал передаётся в виде дифференциальной пары сигналов, каждый по своему проводнику, но один представляет инвертированный сигнал другого, противоположный по знаку. Пара проводников может представлять собой витую пару, твинаксиальный кабель или разводиться по печатной плате. Приёмник дифференциального сигнала реагирует на разницу между двумя сигналами, а не на различие между одним проводом и потенциалом земли.

В нашем случае дифференциальный сигнал образуется при помощи использования положительного и отрицательного напряжения 5V. Интерфейс RS-485 обеспечивает полудуплексную связь (Half-Duplex) при использовании 2-х линий (проводов) и полноценную дуплексную связь (Full-Duplex) при использовании 4-х линий (проводов).

Основные особенности данного интерфейса:

  1. Максимальная скорость передачи данных в интерфейсе RS-485 – 30 Мбит/с.
  2. Максимальная дистанция связи – 1200 метров, что значительно больше чем в интерфейсе RS-232.
  3. Основным достоинством интерфейса RS-485 по сравнению с RS-232 является использование нескольких ведомых (multiple slave) при одном ведущем (single master) в то время как RS-232 поддерживает только одного ведомого.
  4. Максимальное число устройств, которое можно подключить по интерфейсу RS-485 – 32.
  5. Также к достоинствам интерфейса RS-485 относится хорошая помехоустойчивость вследствие использования дифференциального сигнала.
  6. RS-485 обеспечивает более высокую скорость передачи по сравнению с интерфейсом I2C.

Ключевое отличие — Arduino против Малина число Пи

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

Выбор Arduino или Raspberry Pi зависит от разрабатываемого проекта. В этой статье обсуждаются наиболее распространенные Arduino Uno и Raspberry Pi B +. Как правило, по сравнению с Arduino, потребление энергии ниже, а скорость выше в Raspberry pi.

1. Обзор и основные отличия 2. Что такое Ардуино 3. Что такое Raspberry Pi 4. Сходства между Arduino и Raspberry Pi 5. Сравнение бок о бок — Arduino и Raspberry Pi в табличной форме 6. Резюме

Raspberry Pi Pico vs. Arduino

Last but not least, let us take at the Raspberry Pi microcontroller – named Pico. The Raspberry Pi Pico is not an SoC mini-computer; it is merely a microcontroller like the Arduino. Before the arrival of the Pico was a clear-cut boundary between these two boards. The Raspberry Pi was a board that boots on OS while Arduino runs on bare metal. In contrast, Pico runs on bare metal like Arduino. Let’s briefly compare the Pico with an Arduino Uno!

Specification

Raspberry Pi Pico

Arduino Uno

Core

Dual-core processor

Single-Core Processor

Clock

48 MHz – 133 MHz

16 MHz

Core Architecture

Arm Cortex M0+ (32 bit)

RISC (8 bit)

Flash Memory

2 MB

132 KB

RAM

264 KB

2 KB

GPIO Voltage

3.3 V

5 V

Programming Language

Micro Python, C/C++

Arduino language (resemble C++)

GPIO pins

26 x digital + 26 x analog

20 x digital + 20 x analog

UART

2

1

ADC

3 ( 12-bit each )

6 ( 10-bit each )

USB interface

USB 1.1 device and Host

External USB Serial IC

Price

$4

~ $20

Conclusion

Many people find it difficult to choose between a Raspberry Pi and a Arduino for their project. However, we tried our best to help you with this guide and discussed every notable feature to make this choice easy. We have covered all the essential aspects in a detailed manner and, in simple words, to not stick at any point in choosing between the two boards.

Шаг 2: Детали для проекта

Для этого проекта нам потребуется довольно много деталей, нам понадобятся:

1 x Raspberry Pi 3
2 x Arduino Micro
1 x Семи дюймовый 7″ Raspberry PI экран
3 x Литиевые батареи 18650
1 x Цепь Powerbank
x1 USB хаб
x1 Мини USB коавиатура
x1 USB разъем
x1 Модуль-экран SPI OLED
Армированный картон

Нам также понадобится трекпад, который мы сделаем сами в следующих проектах, но сейчас можно его приобрести. Еще раз —  это ни в коем случае не является эксклюзивным списком.

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

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

Шаг 6: Настройка остальных частей

Итак, мы создали все основные части, и теперь нам нужно установить меньшие и более простые части.

Начнем с клавиатуры, нам нужно отделить её от корпуса в который она входит (предназначена для использования с 7-дюймовым планшетом). Все, что нам нужно сделать, — это обрезать поддельную кожу вокруг клавиатуры и вытащить ее и ее контур, Вы увидите, что есть 4 провода, которые мы будем паять к нашему USB-хабу позже.

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

Общие характеристики и отличия всех моделей

На данный момент на рынке представлено девять основных моделей миниатюрных компьютеров Raspberry Pi. Все они имеют общие характеристики и отличия. Последние затрагивают не только стоимость девайса (которая и так до смешного мала), но и общий функционал вместе с мощностью. Практически все устройства поддерживают технологию Ethernet, кроме серии A и Zero.

Raspberry Pi 1

Обзор начнем с самых простых и первых моделей: Raspberry Pi 1 model A и model B. Это два устройства начального уровня, каждый из которых имеет продвинутую версию с пометкой «+». Их однокристальная система строиться на платформе Broadcom BCM2835. Они работают на простом процессоре ARM11 ARM1176JZF-S core с тактовой частотой 700 MHz. Модели A и A+ имеют на борту 256 Мб оперативной памяти, а в обеих моделях серии B её в два раза больше — 512.

Среди подключаемых интерфейсов первой серии A есть только по одному USB-выходу второго поколения, тогда как в Raspberry Pi 1 model b их два, а в B+ уже четыре. Также, есть два видеовыхода RCA и HDMI. Последние два есть и в серии B, правда здесь их можно использовать одновременно, а в model A только поочередно. Есть здесь 3.5 мм джэк для подключения гарнитуры или микрофона. К мини-ПК можно подключить звуковые карты через USB. Все четыре модели оснащены выводным GPIO разъемом, а также интерфейсами: SPI, I²C, I²S, UART. В силу увеличенной мощности серия B потребляет больше энергии. Последняя общая черта всех вышеперечисленных устройств — это графическое ядро с частотой 250 MHz, поддерживающее видео в 1080.

Raspberry Pi 2

Raspberry Pi 2 заметно отличается от первого поколения. Здесь совершенно иная платформа и более мощный мобильный процессор с четырьмя ядрами Cortex-A7, который работает на частоте 900MHz. Оперативки здесь уже 1 Гб, а во всем остальном устройство идентично серии B+.

Raspberry Pi model 3

Вот и подбираемся к следующему поколоению мини-ПК Raspberry Pi model 3.

Его достоинства:

  • мощность процессора 1.2GHz 64-bit;
  • более мощная видеокарта с частотой 400 MHz;
  • связь Bluetooth версии 4.1, Wi-Fi и встроенный 802.11n.
  • большое энергопотребление 800мА (самое больше среди всех моделей Raspberry Pi).

Стоит отметить, что серия Raspberry Pi 3 самая большая в линейке этих устройств. Её габариты составляют 85.6 x 56.5 мм x 17мм.

Raspberry Pi Zero

Raspberry Pi Zero является самым миниатюрным устройством, которое выпускает производитель, его вес составляет 9 грамм! Общие габариты, также стали заметно меньше: 65.0 x 30.0 мм x 5мм. Платформа Broadcom BCM2835 оснащена процессором с частотой в 1 ГГц. Особенностью камня является его сильно сниженное энергопотребление, которое влияет на общий показатель, составляющий всего 160мА. С разъемами и интерфейсами дело обстоит иначе. Все они также поддерживаются, как и на предыдущих рассмотренных устройствах, но они не припаяны. Эта маленькая плата подходит именно для тех, кто любит, что называется «повозиться», заточив девайс под свои нужды. Кроме того, семейство Zero, как и самые первые устройства Raspberry Pi, не поддерживают Ethernet. Изменениям подверглись и два выхода. За USB теперь отвечает один Micro USB OTG, а за звук и картинку — HDMI, поддерживающий многоканальное аудио. Благо последний не надо припаивать. В остальном, это все тот же миниатюрный компьютер с 512 мб «оперативки».

Zero W и 3B+

Последние два устройства, которые мы рассмотрим в нашем обзоре — это модели Zero W и 3B+. Они самые новые в линейке Zero и самые интересные. Начнем с продвинутой версии самой маленькой платы. Отличия Zero от Zero W заключаются только в связи: появился Bluetooth версии 4.0 и Wi-Fi 802.11n.

Raspberry Pi 3B+ был выпущен в марте 2018 года и получил такие обновления:

  1. процессор, который разогнали до 1,4 ГГц;
  2. Wi-Fi 802.11.b/g/n/ac;
  3. обновленный Bluetooth (версия 4.2);
  4. обновленная технология Ethernet (Gigabit over USB2.0).

Raspberry Pi 4 Model B

Raspberry PI 4, Model B, новинка 2019 года. Скорость и производительность новой Raspberry Pi 4 значительно превосходит предыдущие модели. Появилась поддержка графического окружения рабочего стола. Мощности достаточно для комфортного интернет-сёрфинга, работы с документами, электронными таблицами и презентациями, но при этом устройство энергоэффективнее и гораздо дешевле, чем обычный компьютер.  Цена устройства в зависимости от выбранного объёма оперативной памяти составит 35$ (1 ГБ), 45$ (2 ГБ) или 55$ (4 ГБ).

Его достоинства:

  • 4-ядерный процессор Broadcom BCM2711 1.5 ГГц 64-bit;
  • ОЗУ на выбор 1 ГБ, 2 ГБ и 4 ГБ;
  • Bluetooth 5.0, Wi-Fi 2.4 ГГц и 5.0 ГГц, Gigabit Ethernet, USB-С 3.0 х2; USB-С 2.0 х2.
  • 2 micro-HDMI порта (с поддержкой 4k при 60 Гц).

Исходный код программы (скетча)

Код программы для платы Raspberry Pi (ведущей)

Python

import time
import serial
import RPi.GPIO as GPIO
from time import sleep
GPIO
.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT, initial=GPIO.HIGH)
send = serial.Serial(
port=’/dev/serial0′,
baudrate = 9600,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,
timeout=1
)
i =
while True:
for x in i:
send.write(str(x))
print(x)
time.sleep(1.5)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

importtime

importserial

importRPi.GPIO asGPIO

fromtimeimportsleep

GPIO.setwarnings(False)

GPIO.setmode(GPIO.BOARD)

GPIO.setup(7,GPIO.OUT,initial=GPIO.HIGH)

send=serial.Serial(

port=’/dev/serial0′,

baudrate=9600,

parity=serial.PARITY_NONE,

stopbits=serial.STOPBITS_ONE,

bytesize=serial.EIGHTBITS,

timeout=1

)

i=,10,45,90,135,180,135,90,45,10,

whileTrue

forxini

send.write(str(x))

print(x)

time.sleep(1.5)

Код программы для платы Arduino Uno (ведомой)

Arduino

#include <LiquidCrystal.h> //библиотека для работы с ЖК дисплеем
#include <Servo.h> //библиотека для работы с сервомотором
int enablePin = 2;
LiquidCrystal lcd(8,9,10,11,12,13); // контакты, к которым подключен ЖК дисплей
Servo servo;
void setup()
{
lcd.begin(16,2);
lcd.print(«CIRCUIT DIGEST»);
lcd.setCursor(0,1);
lcd.print(«RS_485»);
delay(3000);
lcd.clear();
Serial.begin(9600); // инициализируем последовательную связь со скоростью 9600 бод/с
pinMode(enablePin, OUTPUT);
delay(10);
digitalWrite(enablePin, LOW); // (на Pin 2 всегда LOW чтобы принимать данные от Master’а)
servo.attach(3); // (к Pin 3 (PWM pin) платы Arduino подключен сервомотор)
}
void loop()
{
while (Serial.available()) //если по последовательному порту принимаются какие либо данные
{

lcd.clear();
int angle = Serial.parseInt(); //принимаем значение целого типа (INTEGER) от Master’а по протоколу RS-485
servo.write(angle); // используем принятое значение для вращения оси сервомотора
lcd.setCursor(0,0);
lcd.print(«Angle From RPi «);
lcd.setCursor(0,1);
lcd.print(angle); //показываем значение угла на ЖК дисплее

}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

#include <LiquidCrystal.h>              //библиотека для работы с ЖК дисплеем
#include <Servo.h>                //библиотека для работы с сервомотором

intenablePin=2;

LiquidCrystallcd(8,9,10,11,12,13);// контакты, к которым подключен ЖК дисплей

Servoservo;

voidsetup()

{

lcd.begin(16,2);

lcd.print(«CIRCUIT DIGEST»);

lcd.setCursor(,1);

lcd.print(«RS_485»);

delay(3000);

lcd.clear();

Serial.begin(9600);// инициализируем последовательную связь со скоростью 9600 бод/с

pinMode(enablePin,OUTPUT);

delay(10);

digitalWrite(enablePin,LOW);//  (на Pin 2 всегда LOW чтобы принимать данные от Master’а)

servo.attach(3);//  (к Pin 3 (PWM pin) платы Arduino подключен сервомотор)

}

voidloop()

{

while(Serial.available())//если по последовательному порту принимаются какие либо данные

{

lcd.clear();

intangle=Serial.parseInt();//принимаем значение целого типа (INTEGER) от Master’а по протоколу RS-485

servo.write(angle);// используем принятое значение для вращения оси сервомотора

lcd.setCursor(,);

lcd.print(«Angle From RPi «);

lcd.setCursor(,1);

lcd.print(angle);//показываем значение угла на ЖК дисплее

}

}

Источники информации об Arduino и Raspberry Pi

Сайты:

  • The MagPi Magazine (ежемесячный журнал от создателей Raspberri Pi)
  • Hackster.io – проекты на Arduino
  • Hackster.io – проекты на Raspberry Pi

Книги:

  • Sai Yamanoor, Srihari Yamanoor – Raspberry Pi Mechatronics Projects
  • Simon Monk – Raspberry Pi Cookbook 2nd Edition
  • Simon Monk – Programming Arduino. Getting started with sketches
  • Stefan Sjogelid – Raspberry Pi for Secret Agents
  • Виктор Петин – Микрокомпьютеры Raspberry Pi. Практическое руководство
  • Джереми Блум – Изучаем Arduino. Инструменты и методы технического волшебства
  • Саймон Монк – Практическая электроника. Иллюстрированное руководство для радиолюбителей
  • Теро Карвинен, Киммо Карвинен, Вилле Валтокари – Делаем сенсоры

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

What’s an Arduino?

The Arduino first hit shelves in 2008 and was marketed as an open-source prototyping board for Atmel microcontrollers. A microcontroller, as we’ll discover, is something quite different from the microprocessor that powers the Raspberry Pi.

Arduinos can be easily connected to breadboards and augmented with specialized expansion boards called shields. Since the Arduino hardware is open-source, there are scores of variants to choose from. The most popular, the UNO Rev 3, is based on Atmel’s ATmega328. Included is everything needed to connect to the MCU, along with additional components like LEDs, voltage regulators, and a reset button.

A glance at each device’s significant specs is our first clue that they’re very different from one another. We’ve used the latest examples from each line, but others could just have easily have illustrated the point:

Arduino UNO Rev3

Clock 16Mhz

Memory 32kb

GPIO pins 14

Operating Voltage 5V

Raspberry Pi Model 3 B+

Clock 1.4Ghz

Memory 1 GB

GPIO pins 40

Operating Voltage 5V

The first thing that might leap out at you is that the Raspberry Pi’s Broadcom BCM2837 is clocked at 1.4Ghz while the Arduino’s Atmel microcontroller is clocked at 16Mhz. Some simple arithmetic should tell you that one is around hundred times faster than the other.

You’ll find similar discrepancies in other areas. A Raspberry Pi boasts 1 GB of RAM, while the Arduino offers just a few kilobytes. An Arduino has a single USB port, while the Raspberry Pi has several, along with HDMI, an RJ45 connector, and built-in wireless connectivity.

So why, you might wonder, is the Arduino so popular when the Raspberry Pi has the better of it in so many key areas? To find the answer, we need to explore the differences between a microprocessor and a microcontroller.

How to decide between Raspberry Pi and Arduino?

So, to decide between the two, first you should know what you want to do in your project.

  • From above discussion, we can understand that Arduino is good for repetitive tasks such as opening the garage door, switching the lights on and off, reading from temperature sensors, control a motor as the user wants, etc.
  • While Pi is good for performing multiple tasks, driving complicated robots, playing videos, connect to internet, interface cameras, etc.
  • For example, if you want to develop an application where you want to monitor Humidity and Temperature from DHT11 Sensor and display the results on an LCD, then Arduino can be used to implement this.
  • But if you want to monitor the Humidity and Temperature from DHT11 Sensor, send an e-mail with the results, check / compare the reading with a weather report from online and also display the results on an LCD, then Raspberry Pi is the right choice.
  • In simple, Arduino is used for beginners projects and quick electronics prototyping while Raspberry Pi is used for and some complicated projects can be easily handled by pi.
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector