Гид по выбору платформы разработки
Итак, у вас есть замысел проекта, но вы сомневаетесь, какую плату выбрать в качестве мозга устройства? Попробуем помочь вам определиться.
Если вы просто хотите освоить схемотехнику, программирование, Linux и конкретной цели кроме обучения пока нет, возможно лучшим выбором станет один из готовых обучающих наборов.
Но если вы уже освоились, и хотите сделать конкретный проект, этот гид поможет определиться с платформой для разработки и сделать взвешенный выбор.
Arduino или Raspberry Pi? Микроконтроллер или микрокомпьютер?
Все платы для разработки можно разбить на 2 большие категории:
Платы на микроконтроллере(MCU, MicroController Unit) | Одноплатные компьютеры(SoC, System on a Chip) |
Типичный представитель —Arduino Uno | Типичный представитель —Raspberry Pi |
Микроконтроллеры могут одновременно исполнять всего одну задачу и отлично с этим справляются. А одноплатные компьютеры исполняют программы в рамках операционной системы (чаще всего Linux), обладают большей производительностью и широкими мультимедийными возможностями.
Существуют также гибридные платформы, где на одной плате расположен и микроконтроллер и процессор.
Идея в том, чтобы оставить мощному процессору сложные задачи: выход в сеть, обработку медиа, а на микроконтроллер возложить функцию точного управления приводами, реле, сенсорами и другой периферией.
Вы можете создать гибрид и сами, если возьмёте по одной плате из каждого семейства. У всех них найдутся общие интерфейсы, через которые можно организовать их взаимодействие.
И в одном и в другом лагере можно найти специализированные платы, которые сильно выделяются среди прочих какой-нибудь особенностью, но сравнить возможности среднестатистических микроконтроллеров и компьютеров поможет таблица.
МикроконтроллерОдноплатный компьютерПроизводительностьМногозадачностьУдобство работы с интернетомДлительность работы от батареекСкорость реакции в проектах критичных к времениВыбор языков программированияВозможности для работы с видео, компьютерным зрениемВозможности для работы со звуком1 ядро, десятки-сотни МГц, десятки КБ оперативки,десятки-сотни КБ постоянной памяти. | 1 или более ядер, сотни-тысячи МГц, сотни МБ оперативки,гигабайты постоянной памяти. |
Нет.Но можно эмулировать. | Да.Управляется ОС. |
★☆☆Обычно нужны дополнительные модули и глубокое знание протоколов. | ★★★Легко подключается из коробки, сетевой модуль обычно уже на борту. |
★★★Потребляет единицы-десятки мА. Возможны недели работы от батареек. | ★☆☆Потребляет сотни-тысячи мА. Заряда большого аккумулятора хватит от силы на десяток часов. |
★★★100% контроль над временем и длительностью подачи сигналов. | ★☆☆Из-за многозадачности критический процесс может проспать своё время. |
★☆☆Ограниченный. Чаще C/C++. | ★★★Python, JavaScript, Bash и десяткии других: любые доступные в ОС. |
☆☆☆Не хватит мощности. | ★★★OpenCV, аппаратные видеокодеки, HDMI-выход. |
★★☆На мощных микроконтроллерах возможен синтез звука. Для работы с MP3/OGG/WAV нужны дополнительные модули. | ★★★Поддержка MP3/OGG/WAV на уровне ОС. Аудиовыход HDMI и/или разъём 3,5 мм. |
Итак, в зависимости от своей задачи вы определились нужен ли вам микроконтроллер или компьютер. Как решить какая именно плата подойдёт лучше всего?
Так как нет большого смысла сравнивать лицом к лицу микроконтроллеры и микрокомпьютеры, далее мы отдельно приведём преимущества и недостатки конкретных плат в рамках своего семейства.
Сравнение микроконтроллеров
Если рассматривать микроконтроллерные платы в отрыве от задач вашего проекта, сложно в двух словах объективно описать преимущества и недостатки разных платформ. То, что в общем является недостатком, в вашем устройстве может не играть роли и наоборот.
Мы попытались сравнить платы, отталкиваясь от возможностей флагманской DIY-платформы Arduino Uno, так как платы именно этого семейства дали невероятный пинок развитию хобби-электроники во всём мире.
Разные компании выпускают модули, сенсоры, платформы, дополнения с шильдами «Arduino compatible», «Designed for Arduino» и т.д.
За этими словами стоит электронная и программная совместимость в первую очередь с Arduino Uno, а уж затем со всем остальным.
Как правило, с помощью ухищрений или дополнительных компонентов можно подключить что угодно, к чему угодно. Но ведь вам хочется сосредоточиться на своём проекте, а не на борьбе с электроникой? Поэтому волей не волей хочется сравнить любую плату на микроконтроллере именно с Arduino Uno. Так и сделаем.
Arduino Uno Процессор на 16 МГц, 32 КБ постоянной и 2 КБ оперативной памяти, 20 портов ввода-вывода, 6 аналоговых входов, 6 каналов ШИМ, 2 аппаратных прерывания, может, и не впечатляют, но без балласта в виде операционной системы и интерпретаторов, они позволяют решать практически любые задачи по точному дирижированию множеством сенсоров и исполнительных устройств.Тонны документации, уроков и готовых библиотек, огромное сообщество, работа из простой в освоении среды Arduino IDE с языком Arduino C++. Всё это просто не даст вам возможности сказать «не осилил».Родное напряжение в 5 вольт, которое является де-факто стандартом и колодки для установки плат расширения, аналоговые входы, всевозможные аппаратные интерфейсы позволяют подключить практически любую периферию, сенсоры и исполнительные устройства.Arduino Leonardo Та же Arduino Uno, но с другим микроконтроллером, который находится в том же классе, но имеет некоторые отличия положительного характера.Большее количество аналоговых входов (12 против 6) для сенсоров, больше каналов ШИМ (7 против 6), больше пинов с аппаратным прерыванием (5 против 2), раздельные независимые serial-интерфейсы для USB и UART.Arduino Leonardo может притворяться клавиатурой или мышью (HID-устройством) для компьютера. Это позволяет легко сделать своё собственное устройство ввода.Из-за распиновки чуть отличной от Arduino Uno возможна несовместимость с некоторыми платами расширения. Такие случаи, однако, редки, и в нашем магазине мы явно их прописываем.Iskra Neo Та же Arduino Leonardo, но произведённая нами, в России.Заметно дешевле оригинала.Arduino Mini Та же Arduino Uno, но в другом форм-факторе.Компактная. Всего 30×18 мм.Из-за форм-фактора нельзя без ухищрений устанавливать платы расширения Arduino. Предполагается соединение с дополнительными модулями проводами и/или через макетную плату.На плате нет USB-порта, поэтому прошивать нужно через отдельный USB-Serial адаптер.Iskra Mini Та же Arduino Mini, но произведённая нами, в России.Заметно дешевле оригинала.Есть в варианте с распаянными колодками и с незапаянными отверстиями.Arduino Micro Та же Arduino Leonardo, но в другом форм-факторе.Компактная. Всего 48×18 мм.Из-за форм-фактора нельзя без ухищрений устанавливать платы расширения Arduino. Предполагается соединение с дополнительными модулями проводами и/или через макетную плату.Arduino Mega Как Arduino Uno, но на базе более мощного микроконтроллера той же архитектуры. Отличный выбор «на вырост» или если Arduino Uno перестала справляться.В разы больше памяти: 256 КБ постоянной и 8 КБ оперативной. В разы больше портов: 60 из них 16 аналоговых и 15 с ШИМ.Немного длиннее базовой Arduino Uno: 101×53 мм против 69×53 мм.Arduino Due Одна из самых производительных плат от Arduino на микроконтроллере Cortex-M3 по форм-фактору аналогичная Arduino Mega.Процессор на 84 МГц и 512 КБ памяти. 66 пинов ввода-вывода, из которых 12 могут быть аналоговыми входами, 12 поддерживают ШИМ и все 66 могут быть настроены, как аппаратные прерывания.Встроенный контроллер шины CAN позволяет создавать сеть из Due или взаимодействовать с автомобильной электроникой. Два канала ЦАП позволяют синтезировать стереозвук с разрешением в 4,88 Гц.Родным напряжением для платы является 3,3 В, а не традиционные 5 В. Необходимо следить, чтобы выбираемая периферия поддерживала работу с этим уровнем или ставить преобразователи уровней напряжения.Iskra JS Плата на ядре Espruino: её программируют на JavaScript.JavaScript — язык высокого уровня. Программы писать проще, они компактнее и выразительнее. Особенно если речь идёт о многочисленных строковых операциях, массивах данных, веб-интерфейсе.Мощный микроконтроллер Cortex M4 на 168 МГц, 1 МБ флеш, 192 КБ оперативной памяти, десятки портов с ШИМ и аналоговых входов, 2 аналоговых выхода, по нескольку I²C, SPI, UART — всё это даёт подключить и одновременно работать с самыми разнообразными сенсорами и модулями.Несмотря на то, что родной уровень для платы — 3,3 вольта, пины толерантны к 5 вольтам: подключение пятивольтовой периферии тривиально.Из-за другой среды и экосистемы для программирования, может не существовать готовой библиотеки для выбранной периферии. Её придётся реализовать самостоятельно.Strela Робототехническая платформа «всё в одном» содержит в себе большинство тех вещей, которые нужны при создании любого лёгкого мобильного робота. Strela, как и любая другая Arduino, программируется из Arduino IDE, а в основе содержит тот же микроконтроллер, что и Arduino Leonardo.Встроенный драйвер для двух двигателей, 4 разъёма для сервоприводов, 4 кнопки и 4 светодиода свободного назначения, зуммер, слоты для ЖК-экрана и модуля беспроводной связи.Мощный регулятор питания позволяет без ухищрений использовать множество различных аккумуляторов.11 входов-выходов выведены в виде 3-контактных разъёмов для лёгкого подключения дополнительных датчиков и модулей. ЖК-экран, кнопки и светодиоды подключены через расширитель портов, поэтому они не занимают входы-выходы общего назначения.На плате не предусмотрены колодки для установки плат расширения Arduino.Из-за изменённой нумерации контактов (в сравнении с базовой Arduino Leonardo), необходимо использовать немного другие функции для работы с пинами платы. Они предоставлены в одноимённой библиотеке.Arduino Yún Уникальный гибрид Arduino Leonardo и микрокомпьютера на OpenWRT Linux. Отличный выбор для «интернета вещей».Плата оснащена Ethernet и WiFi, через которые можно общаться с устройством и даже перепрошивать платформу удалённо.Мощь Linux позволяет работать с мультимедиа, а его сетевые возможности легко интегрироваться с социальными сетями и другими веб-сервисами.OpenWRT — это порезанный Linux. На микрокомпьютере можно установить не любой Linux-софт. А в качестве скриптовых языков программирования из коробки можно использовать только Bash и Python.STM32 Nucleo F401RE Плата с мощным микроконтроллером Cortex-M4. Платформа программируется не через Arduino IDE, а через онлайн-среду mbed.org. Субъективно, она мощнее и стройнее Arduino IDE, хотя и не так распространена. Для пытливого ума — отличный выбор.Процессор на 84 МГц, 512 КБ постоянной и 96 КБ оперативной памяти. 50 портов ввода-вывода, из которых 16 аналоговых и 29 с ШИМ. Родной уровень напряжения — 3,3 В, но все пины толерантны к 5 В, поэтому проблем электронной совместимости с Arduino-периферией возникнуть не должно.Колодки для плат расширения по конфигурации совпадают с Arduino Uno, поэтому на Nucleo можно поставить множество плат расширения от Arduino.На плате не выведен отдельный SPI-разъём. Платы расширения Arduino, которые используют SPI через ICSP-разъём без ухищрений не будут работать.Из-за другой среды и экосистемы для программирования, может не существовать готовой библиотеки для выбранной периферии. Её придётся реализовать самостоятельно.Teensy 3.2 Компактная плата с мощным микроконтроллером Cortex-M4. Программируется из привычной Arduino IDE.Меньше Arduino Micro (35×17 мм), но почти столь же мощная, как Nucleo: процессор 72 МГц, 256 КБ постоянной и 64 КБ оперативной памяти, 34 порта ввода-вывода, из которых 21 могут быть аналоговыми, а 12 поддерживают ШИМ.Teensy 3.1 очень энергоэффективна. У неё нет регулятора напряжения, но входным может являться любое от 3,3 до 5,5 В. Это же напряжение и будет логическим уровнем. В режиме сна плата потребляет всего 0,25 мА, что даёт возможность работать от аккумулятора несколько месяцев.Встроенный контроллер шины CAN позволяет создавать сеть из Due или взаимодействовать с автомобильной электроникой. Два канала ЦАП позволяют синтезировать стереозвук с разрешением в 4,88 Гц.Плата поставляется с нераспаянными контактами. Вам предстоит самостоятельно впаять штырьковые соединители или проводки.Из-за большой разницы в архитектуре с классическим Arduino не все библиотеки для сторонней периферии могут работать из коробки.Рабочее напряжение равно входному, а поэтому плывёт по мере разряда батарейки. Это может оказаться важным при выборе периферии, если она рассчитана на какой-то конкретный вольтаж.Netduino 2 Плата повторяет форм-фактором Arduino Uno, но имеет мощную начинку, достаточную для исполнения программ, написанных на платформе .NET. Netduino программируется на C# или любом другом .NET-языке в привычной любому .NET-разработчику среде Visual Studio. В качестве стандартной библиотеки предоставляется .NET Micro Framework.В Visual Studio работает автодополнение, подсказки, контекстная помощь в MSDN и полноценный отладчик. Вам доступны breakpoint’ы, пошаговое исполнение кода, наблюдение за переменными. Отладка происходит без ухищрений, просто с подключённым USB-кабелем. Благодаря всему этому, скорость разработки под Netduino в разы превосходит скорость разработки под любую другую платформу.На плате не выведен отдельный SPI-разъём. Платы расширения Arduino, которые используют SPI через ICSP-разъём без ухищрений не будут работать.Из-за другой среды и экосистемы для программирования, может не существовать готовой библиотеки для выбранной периферии. Её придётся реализовать самостоятельно.Netduino Plus 2 Как Netduino, только мощнее и с Ethernet на борту. Отличный выбор для реализации проектов интернета вещей.Те же, что и у Netduino 2.
Сравнение одноплатных компьютеров
Законодателем моды среди одноплатных компьютеров является Raspberry Pi. Эта сверхпопулярная платформа в своё время перевернула представление о возможностях, габаритах и стоимости полноценного компьютера для DIY-электронщиков.
Опять же, для каждого проекта может лучше подойти тот или иной одноплатный компьютер, но в силу популярности Raspberry Pi, будем сравнивать другие платформы именно с ней.
Raspberry Pi 3 Model B Один из самых популярных одноплатников. Четыре ядра по 1200 МГц, 1 ГБ оперативной памяти и полноценный Linux, основанный на Debian помогут решить множество задач, требовательных к вычислительным ресурсам. Среди них можно выделить компьютерное зрение, обработку звука в реальном времени, создание веб-сервисов.Тонны документации, уроков и готовых библиотек, огромное сообщество. Всё это просто не даст вам возможности сказать «не осилил».Привычные порты HDMI, 3,5 мм аудио, 4 USB помогут с лёгкостью подключить монитор, колонки, клавиатуру, мышь и другие USB-устройства. Модули BLE и WiFi на борту помогут соединить компьютер с другими устройствами без проводов.На плате нет АЦП, поэтому подключение аналоговых сенсоров возможно только с помощью внешних, дополнительных компонентов.Предоставляется лишь 1 аппаратный ШИМ-канал, что усложняет работу с периферией, которая управляется ШИМ’ом.BeagleBone Black Микрокомпьютер схожий с Raspberry Pi, который даёт больше благ, привычных для микроконтроллерных плат. Отличный выбор для проектов интернета вещей, когда необходимо управляться с множеством сенсоров и исполнительных устройств.Мощная среда для разработки Cloud9 IDE. Вы просто заходите на BeagleBone через браузер и программируете на любимом языке будь то Python, JavaScript (Node.js), Bash или любой другой язык Linux. Результат можно проверить мгновенно, а если что-то не заработало, использовать встроенный в среду полноценный отладчик.На борту уже установлена флеш-память eMMC на 4 ГБ с операционной системой Linux. Память может быть увеличена внешней microSD-картой.Широкие возможности по подключению периферии. 8 ШИМ-выходов и 7 аналоговых входов. Возможны аппаратные прерывания.Диковинный разъём microHDMI для подключения монитора. Для передачи звука используется он же.Вычислительная мощность скромнее, чем у Raspberry Pi: 1 ядро на 400 МГц и 512 МБ оперативной памяти.
Источник: http://amperka.ru/page/development-board-guide
EMBEDDED PI (Embest Info&Tech Co.,Ltd.)
EMBEDDED PI– мультиплатформенная отладочная плата на базе Cortex-M3 микроконтроллера STM32F103RB от STMicroelectronics.
Плата является мостом между Raspberry Pi и Arduino шилдами, и позволяет соединять их друг с другом, получая тем самым максимальную отдачу от каждой платы.
При автономном использовании плата становится прекрасной оценочной платформой для Cortex-M3 микроконтроллера.
Отладочная плата EMBEDDED PI имеет три режима работы, выбор между которыми осуществляется с помощью джамперов.
Автономный режим
В этом режиме плата EMBEDDED PI как материнская плата с микроконтроллером STM32 совместимая с форм-фактором Arduino. Управление Arduino шилдами осуществляется непосредственно микроконтроллером без использования Raspberry Pi. Для быстрого и легкого создания проекта можно использовать среду разработки CooCox IDE.
Режим адаптера
В этом режиме STM32 управляет Arduino шилдами, а Raspberry Pi выполняет функцию графического интерфейса пользователя (GUI) или командной консоли для отправки и получения данных и команд на STM32. Это усовершенствованный режим, который расширяет возможности автоматизации управления с помощью Raspberry Pi, используя интерфейсы микроконтроллера STM32F103.
Режим Raspberry Pi
В этом режиме EMBEDDED PI работает как аппаратный мост между Raspberry Pi и Arduino шилдами, позволяя осуществлять между ними прямое подключение.
Отличительные особенности:
- микроконтроллер STM32F103RB, 72 МГц, ARM Cortex-M3, 128 КБ Flash, 20 КБ RAM;
- совместимость с Arduino shields с напряжением питания 3,3 и 5 В;
- совместимость с Raspberry Pi;
- три режима работы переключаемые джамперами;
- интерфейс JTAG/SWDдля программирования и отладки.
- богатый набор подключаемых Arduinoshields;
- совместимость с бесплатной средой разработки CooCoxIDE.
Комплектация:
- отладочная плата EMBEDDED PI.
DFRduino UNO R3 (DFROBOT)от 1210,00 ₽ Склад (1-2 дн)
DFRduino UNO R3 100 % копия оригинальной Arduino UNO R3. Arduino UNO построена на микроконтроллере ATmega328 и конвертере USB-UART на базе ATmega8U2. Плата имеет 14 цифровых каналов ввода/вывода (6 из которых может использоваться в качестве выводов ШИМ), 6 аналоговых каналов вывода, 4 UART, кварцевый генератор на 16 МГц, разъем USB, гнездо питания, колодка ICSP и кнопка сброса.…
GS12E12-P1I (MW)от 754,00 ₽ Склад (1-2 дн)
AC/DC преобразователь: сетевой адаптер; 12 Вт; выход 12В @ 1А; вход: 90…264VAC / 135…370VDC; 0…40°C
GS25E12-P1J (MW)от 951,00 ₽ Склад (1-2 дн)
AC/DC преобразователь: Сетевой адаптер; 25 Вт; Выход 12В/2.08А; Вход: 90…264VAC / 135…370VDC; 0…40°C
Mega 2560 R3 (HKSHAN)от 1100,00 ₽ Склад (1-2 дн)
Arduino Mega 2560 (не оригинал) Это плата управления с микроконтроллером ATmega2560. На этой плате есть 54 канала дискретного ввода/вывода (14 каналов можно использовать в режиме ШИМ), 16 аналоговых входов, 4 последовательных порта, резонатор на 16 МГц, разьём USB и кнопка Reset.…
TE-Raspberry Pi Kit (ТЕРРА)от 3310,00 ₽ Склад (1-2 дн)
Вместе дешевле! Отладочный комплект TE-Raspberry Pi Kit уже содержит камеру, корпус и карту памяти TE-Raspberry Pi Kit – отладочный комплект на базе популярной отладочной платы Raspberry Pi с картой памяти 8Gb, модуля 5MP камеры и пластикового корпуса
Uno R3 (HKSHAN)от 639,00 ₽ Склад (1-2 дн)
Arduino Uno – R3 – Версия R3 отличается от предыдущих версий конвертером USB-UART на базе ATmega16U2 вместо ранее используемых чипов 8U2 и FTDI
Источник: https://www.terraelectronica.ru/product/1190444
Arduino или Raspberry Pi: какая платформа лучше?
Arduino и Raspberry Pi — популярные одноплатные компьютеры. Какую из них выбрать для вашего робота? Каковы преимущества каждой из плат? Сравнение в нашей статье.
Arduino или Raspberry Pi
Наверное каждый, кто интересуется робототехникой, DIY-электроникой, слышал о платах Arduino и Raspberry Pi. И то, и то — весьма популярные платы (одноплатные компьютеры).
Не удивительно, что часто их воспринимают как аналоги и даже как конкурирующие аппаратные платформы, предназначенные для решения одних и тех же задач. На самом деле, Arduino и Raspberry Pi имеют много отличий.
Первое на что стоит обратить внимание — это то, что Raspberry Pi представляет собой полнофункциональный компьютер (подробнее в статье), в то время как Arduino назвать компьютером очень сложно.
Рассмотрим подробнее, в чем различия между Arduino и Raspberry Pi. Такое сравнение поможет сделать выбор, какая из этих двух платформ наилучшим образом соответствует вашим потребностям и будет являться эффективной базой для вашего робота.
Raspberry Pi родом из Великобритании. Изобретатель Эбен Аптон и его коллеги из компьютерной лаборатории Кембриджского университета создавали Raspberry Pi как дешёвый компьютер для образовательных целей. Аптон работал на прототипах с 2006 года, первая партия Raspberry Pi поступила в продажу только в апреле 2012 года. Недавно вышла новая версия Raspberry Pi — Model B+.
Raspberry Pi Model B
Arduino родился в Италии. Банзи, преподаватель проектного института Ивреи, хотел простой и дешевый аппаратный прототип для студентов. В марте этого году платформа Arduino отметила 10 лет.
Существует несколько модификаций платы (Arduino Uno, Nano, Mega и др.). Кроме того в силу открытости платформы производится множество практически идентичных аналогов Arduino (DCcduino, FreDuino, XDRuino и др.).
Подробно об особенностях выбора модификации Arduino можно прочитать тут.
Arduino Uno c подключенными фоторезистором и светодиодом
Как Arduino, так и Raspberry Pi подходят для начинающих. Но если присмотреться к аппаратной части и программному обеспечению этих плат, становится очевидно, что они предназначены для проектов разных типов.
Железо и софт Raspberry Pi и Arduino
Для начала обратим внимание на некоторые характеристики из спецификаций плат, которые показывают самые большие различия между Raspberry Pi и Arduino.
Размеры этих двух устройств сопоставимы (если брать наиболее известную Arduino Uno). Но это практически все, что делает их похожими друг на друга.
По тактовой частоте Raspberry Pi в 40 раз быстрее, чем Arduino. Еще большее различие в оперативной памяти: Raspberry Pi имеет в 128000 раз больше оперативной памяти чем Arduino. Только не спешите делать выводы по этим двум сильно отличающимся характеристикам.
Raspberry Pi является компьютером, на котором может быть запущена операционная система Linux, поддерживающая многозадачность. К USB-портам можно подключать различные устройства, например для беспроводного подключения к сети Интернет.
В общем эта крошечная плата является достаточно мощной и может функционировать в качестве полноценного компьютера (хотя, конечно с современными персональными компьютерами и ноутбуками конкурировать по мощности Raspberry Pi не может).
Может показаться, что Raspberry Pi превосходит Arduino. Но это превосходство скорее в программном обеспечении. Для чисто аппаратных проектов намного лучше подходит Arduino. Такое преимущество Arduino имеет за счёт своей простоты.
Arduino способна лучше чем Raspberry Pi и действительно в реальном времени считывать аналоговые сигналы. Эта гибкость позволяет Arduino работать практически с любым видом датчиков или чипов. Raspberry Pi не такая гибкая, например, для чтения аналоговых датчиков требуются дополнительные аппаратные средства.
Upd. 07.07.2015:
Arduino менее требовательна к питанию. Так, рекомендуемое питание для Arduino UNO 7-12 Вольт, напряжение стабилизируется до 5 Вольт. А плата Raspberry Pi требует строго 5 Вольт на входе, поэтому для работы с ней не обойтись без фильтра питания с током 1A.
Arduino IDE значительно проще в использовании, чем Linux. Например, если вы хотите написать программу для мигания светодиодом с Raspberry Pi, вы должны установить операционную систему и некоторые библиотеки кода — и это только начало.
На Arduino вы можете запрограммировать мигание светодиодом, используя всего восемь строк кода. Поскольку Arduino не предназначен для запуска операционной системы или множества приложений, вы можете просто подключить плату и начать работу.
Raspberry Pi позволяет использовать преимущества многозадачности, несколько программ в фоновом режиме могут работать одновременно. Например, Raspberry Pi, может работать и как сервер печати, и как сервер VPN одновременно.
С другой стороны, вы можете оставить Arduino, выполняющую какой-либо процесс подключенной в течение длительного времени, и просто отключить плату потом, когда вы решили. В этом плане Arduino проще, ее сложнее повредить.
Arduino работает с любым компьютером и может работать от батареи. Arduino можно включить и благополучно выключить в любое время. Операционная система на Raspberry Pi может быть повреждена, если отключить плату без надлежащего завершения работы.
С Raspberry Pi вы должны знать кое-что о Linux, а также о программной среде, например, Python. С другой стороны, Raspberry Pi имеет выгоду от десятилетий программного обеспечения Linux.
Таким образом, в то время как Raspberry Pi имеет колоссальное преимущество в возможностях программного обеспечения, Arduino имеет преимущество в простоте реализации аппаратных проектов. Целесообразность использования Raspberry Pi или Arduino зависит от проекта.
Raspberry Pi и Arduino работают вместе
Raspberry Pi и Arduino дополняют друг друга. Они отлично работают вместе. Arduino лучше для управления двигателями, приема сигнала с датчика, управления светодиодами и т.д. А подключенный к Интернету Raspberry Pi — мини компьютер, который может не только играть видео, музыку или отправлять письма, но и выполнять сложные алгоритмы.
Самый простой способ научить Raspberry Pi общаться с Arduino — использование библиотеки Python PySerial.
Совместное использование плат Arduino и Raspberry Pi даёт безграничные возможности: Arduino целесообразно поручить управлять датчиками, а Raspberry Pi — сложные вычислительные операции. Т.е. таким образом, можно создавать роботов более способных, чем роботы, построенные только на Arduino или Raspberry Pi.
Пример совместного использования Arduino и Raspberry Pi. Фото letsmakerobots.com
Стоимость Raspberry Pi и Arduino
И Raspberry Pi, и Arduino — достаточно дешевые платы.
Рекомендованные производителями цены почти одинаковы, но если покупать в китайских интернет магазинах, то Arduino все таки стоит дешевле. Например, Arduino UNO в Aliexpress можно купить за 8$, Raspberry Pi за $38).
О том, как купить Arduino наиболее выгодно мы подробно писали тут и тут. Если нет времени ждать посылку из Китая — и Arduino, и Raspberry Pi можно купить в интернет-магазине Амперка.
Сообщества и ресурсы по Raspberry Pi и Arduino
И Raspberry Pi, и Arduino имеют достаточно большие и активные сообщества. В этом, кстати, одна из причин популярности данных плат — вы всегда сможете найти ответ практически на любой вопрос, возникающий у вас при работе с Arduino или Raspberry Pi. Если о говорить о русскоязычном сегменте, то Arduino пока значительно опережает Raspberry Pi по количеству и качеству имеющихся ресурсов.
Кроме того, в настоящее время Arduino имеет гораздо больше образовательных ресурсов для новичков. Поэтому часто советуют начинать изучение с Arduino, а потом переходить к изучению Raspberry Pi.
На нашем сайте вы можете найти курс «Arduino для начинающих» и серию уроков «Raspberry Pi: первое знакомство«.
Автор Александр Гагарин. В статье использованы материалы readwrite.com.
Источник: http://edurobots.ru/2014/09/arduino-ili-raspberry-pi-kakaya-platforma-luchshe/
Raspberry Pi. Урок 9. Управление электромотором постоянного тока. | Raspberry Pi в Киеве (Украина)
В этом уроке Вы узнаете, как контролировать скорость и направление электромотора постоянного тока с помощью Python и чипа L293D.
В уроке 8 мы использовали Pi для генерации импульсов, чтобы управлять сервоприводом. В этом уроке мы будем использовать импульсы, чтобы контролировать скорость обычного электромотора постоянного тока, и чип контроля мотора L293D, чтобы изменять направление тока мотора и, как следствие, направление вращения мотора.
Для этого проекта Вам понадобятся следующие детали:
Raspberry Pi
Модульная плата для кабеля
Набор двухсторонних штекерных джамперов
Макетная плата половинного размера
Электромотор постоянного тока 6В
Интегрированная схема регулятора электромотора мотора L293D
Adafruit Occidentalis 0.2 или более новый дистрибутив этой операционной системы.
Обойма для четырех АА или ААА батареек и сами батарейки
Широтно-импульсная модуляция (или ШИМ) — это способ контролирования питания. Мы будем ее использовать, чтобы контролировать количество тока, который проходит через мотор и, как следствие, скорость вращения мотора.
На диаграмме ниже изображен сигнал разъема ШИМ Raspberry Pi.
Каждую 1/500 секунды разъем ШИМ подает импульс. Длина этого импульса контролирует количество энергии, которое получает мотор. Если импульс не поступает, мотор не будет вращаться.
Если импульс короткий, мотор будет вращаться медленно.
Если импульс длиной в половину промежутка между импульсами, мотор получит половину от энергии, которую он мог бы получить, если бы импульс длился весь промежуток между импульсами.
Adafruit и Sean Cross разработали модуль ядра со встроенным дистрибутивом Occidentalis. Подробнее про создание Occidentalis здесь. Если Вы хотите использовать модуль с Raspbian или каким-либо другим дистрибутивом, Вы найдете информацию об установке модуля ядра для своей среды здесь.
Вы использовали модуль ядра «ШИМ и Серво», чтобы контролировать сервопривод в уроке 8. В этот раз мы будем использовать тот же модуль, чтобы контролировать скорость мотора.
Модуль использует файловый тип интерфейса, в котором можно контролировать работу выходного разъема и, как результат, работу сервопривода с помощью чтения и записи специальных файлов.
Список файлов, которые модуль использует, чтобы приводить в действие сервопривод, приведен ниже. Все эти файлы находятся в каталоге /sys/class/rpi-pwm/pwm0/ Вашего Raspberry Pi.
active | Будет иметь значение 1 для активного состояния, 0 — для неактивного. Прочитав этот файл можно узнать активен ли выходной разъем, а записав его — сделать активным или неактивным. |
delayed | Если значение 1, то любые изменения в других файлах не будут иметь никаких последствий, пока Вы не активируете выходной разъем с помощью файла выше. |
mode | Записывайте этот файл, чтобы перевести разъем в режим ШИМ, серво или аудио. Конечно же, в данном случае нам нужен режим серво. Обратите внимание, что разъем также используется разъемом Pi для аудио, поэтому Вы не сможете одновременно использовать звук и контролировать сервопривод. |
frequency | Количество импульсов генерируемых за секунду. |
duty | Это значение должно быть от 0 до 100, что означает процент импульса, в течении которого в мотор поступает питание. Чем выше эта цифра, тем быстрее вращается мотор. |
Это очень полезный чип. Он может контролировать 2 мотора вне зависимости друг от друга. Мы будем использовать только половину чипа в этом уроке. Большинство разъемов на правой стороне чипа — для управления вторым чипом, но у Raspberry Pi только один разъем ШИМ.
В L293D есть 2 разъема +V (8 и 16). Разъем +Vmotor (8) подает питание моторам, а +V (16) — логическому уровню чипа. Мы подключили разъем 16 к 5В разъему Pi, а разъем 8 — к обойме для батареек.
Чип L293D в этом проекте нужен нам по двум причинам. Первая: мощности Raspberry Pi совершенно недостаточно для питания мотора напрямую и это может повредить Pi.
Вторая: в этом уроке мы будем управлять направлением вращения мотора и его скоростью. Это возможно только если изменять направление движения тока через мотор. Это именно то, что делает L293D вместе с управляющими выводами.
Все это хорошо вмещается на макетной плате половинного размера.
Поскольку нам нужно два управляющих вывода (чтобы подсоединить к разъемам GPIO 4 и 17), нам также понадобится библиотека GPIO. Подробнее о ней в Уроке 4.
Есть много способов получить результат, как на картинке ниже. Но самый простой — это подключить Pi через SSH (смотрите Урок 6) и открыть редактор с помощью этой команды:
Затем вставьте нижеприведенный код и сохранитесь (CTRL-x).
Сначала программа задает 2 разъема GPIO, как выводы. Затем задает той же вспомогательной функции (“set”), которую мы использовали в Уроке 8, записать модуль ядра ШИМ, который позже используется для того, чтобы задать параметры ШИМ,
Есть еще две другие функции, “clockwise” и “counter_clockwise”, которые контролируют направление вращения двигателя переключая два входных контакта.
Если оба управляющих вывода в позиции HIGH или оба в позиции LOW, мотор будет неподвижен. Но если IN1 в позиции HIGH, а IN2 в позиции LOW, мотор вращается в одном направлении, а если наоборот — то в обратном.
Основной цикл программы ожидает от Вас введения команд в формате буквы (“f” или “r”) и цифры от 0 до 9. Буква задает направление вращения мотора, а цифра — скорость, которая рассчитывается умножением этой цифры на 11, что дает результат от 0 до 99, который совместим с библиотекой ШИМ.
Запустить программу можно только от имени суперпользователя, потому что только у него есть доступ к разъемам GPIO. Поэтому введите следующее:
Затем появится запрос ввести команду. Попробуйте ввести несколько двухбуквенных команд, как показано ниже:
Источник: https://raspberry.com.ua/raspberry-pi-lesson-9/
Raspberry Pi 3: подключение и настройка (первый опыт использования)
Материал подготовлен при поддержке сайта televizor-x.ru
Все, кто хотел, давно купили себе Raspberry Pi 3, а я ждал непонятно чего
Источник: https://ithobo.wordpress.com/2017/09/18/raspberry-pi-3-nastrojka/
Сравнение Arduino vs Raspberry
На первый взгляд, Arduino vs Raspberry Pi выглядят очень похожими. Оба компьютера помещаются на маленькой плате, с несколькими чипами и разъемами, но на самом деле это совсем разные устройства.
Вы ищете маленький компьютер для реализации своего проекта, например, камеры видео наблюдения, датчика качества воздуха или других небольших проектов? Слышали много хорошего о Raspberry и Arduino, но не можете решить что вам из этого подходит лучше всего? В этой статье мы попытаемся решить этот вопрос. Мы выполним сравнение Arduino vs Raspberry и выясним чем отличаются эти устройства.
Что такое Arduino и Raspberry Pi?
Raspberry Pi — это полноценный компьютер со всеми необходимыми возможностями, SoC или System on Chip. Это устройство работает на операционной системе Linux специально для него адаптированной — Raspbian. Raspbian — это официальная операционная система для этого микрокомпьютера. Также вы можете установить Android, FirefoxOS, RISCOS, Ubuntu и другие, в том числе Windows 10.
Компьютер имеет процессор, память, порты USB, аудио выход и графический выход HDMI. Здесь можно запустить большинство Linux приложений.
Arduino — это микроконтроллер, который не настолько мощный, как Raspberry Pi. Если Raspberry — это полноценный компьютер, то Arduino — его подмножество.
Обычно он используется для различных проектов электроники, здесь нет необходимости в каком-либо программном обеспечении. Для использования будет достаточно нескольких строк кода.
Есть много плат на Arduino, например, Arduino UNO, Arduino PRO, Arduino MEGA, Arduino DUE и т д.
Сравнение 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, но это неправда, новичок может использовать любое из устройств в зависимости от своего проекта. Вам стоит выбрать Arduino если:
- Ваш проект более касается электроники или вы новичок и хотите в ней лучше разобраться;
- Ваш проект очень прост и ему не нужна сеть;
- Вашему проекту не нужно много программного кода;
- Вам не очень интересно программирование и Linux.
Вы выберите Raspberry Pi если:
- Ваш проект очень сложен и ему необходима сеть;
- Ваш проект похож на приложение, например, веб-сервер или VPN сервер;
- У вас нет хороших знаний в области электроники;
- Вы хорошо разбираетесь в Linux.
Кроме того, вам необязательно выбирать что-то одно. Вы можете получить лучшее из обоих миров, Raspberry Pi можно использовать вместе с Arduino. Проект AlaMode позволяет подключить Arduino к Pi и предоставляет мгновенный доступ к его функциям. Или же вы можете соединить устройства по USB и обмениваться сообщениями между ними.
Источник: https://losst.ru/sravnenie-arduino-vs-raspberry
Микроконтроллер Raspberry Pi 3 удобный и функциональный
Raspberry pi – это невероятно удобный и функциональный микроконтроллер. В данном материале расскажем для чего он был создан и какими характеристиками обладает. Это пригодится не только инженерам и программистам, но и простым людям, не понимающим в электронике ничего.
Общая информация о Raspberry Pi 3
Уже несколько лет на рынке продается устройство, размер которого сопоставим с обычной банковской карточкой. Многие люди даже не подозревают о таком микрокомпьютере, а если и знают о его существовании, то не имеют понятия, каким образом его применение приносит пользу простому пользователю.
Для людей, разбирающихся в электронике, Raspberry Pi 3 является просто находкой и это неудивительно. Плату с такими миниатюрными габаритами можно встроить практически в любое устройство, будь то машинка или робот.
Для людей, которые не разбираются ни в робототехнике, ни в программировании, устройство может сгодиться для любых мультимедийных задач – просмотра видео и электронных фотоальбомов, поиграть в старенькие игры через специальные системы-оболочки.
Третья версия малыша Raspberry значительно отличается от своих предшественников и по производительности (усовершенствованный ARM8 64-битный чип Cortex-A 53), и по дополнительным компонентам (встроенный WiFi и Bluetooth с поддержкой новых стандартов).
Характеристики устройства
• 4-ядерный процессор, работающий на частоте 1.2GHz; • встроенные WiFi BCM43438 и Bluetooth c низким энергопотреблением (BLE); • 1 гигабайт встроенной оперативной памяти; • 4 порта USB 2.
0 и LAN порт для выхода устройства в интернет; • полноразмерный HDMI разъем, а также аналоговый TV-выход; • 3.
5-разьем для подключения колонок или наушников (этот же разъем выдает аналоговый видеосигнал); • порт для подключения micro-SD для установки операционной системы; • специальный коннектор CSI для подключения камеры;
• 4 порта GPIO ввода-вывода.
Габариты платы микроконтроллера составляют 85×54 мм без учета выступов USB разъема и порта LAN. Устройство питается от micro-USB, но требует блока питания с силой тока не менее 2 ампер, поэтому при его покупке очень желательно купить и блок питания.
Как использовать устройство?
Что делать, если этот микрокомпьютер попал к вам в руки? В принципе можно установить операционную систему и пользоваться как обычным компьютером.
Устройство достаточно мощное, чтобы на нем можно было просматривать фильмы, работать с текстом, выходить в интернет. Raspberry pi 3 не имеет охлаждения, и поэтому дома у вас будет всегда тихо. Стоит учитывать, что чип все же греется под длительной нагрузкой, и лучше поставить на него радиатор.
В интернете на сегодняшний день для Raspberry можно найти несколько десятков операционных систем. Большая часть из них основывается на Linux-ядре, поэтому если вы не знакомы с системами, базирующимися на Linux, у вас появится прекрасная возможность познакомится с ними поближе. Для начала рекомендуется установить операционную систему Raspbian, сделанную специально для этого компьютера.
Установка первой операционной системы
Скачав образ операционной системы в формате img, нужно установить его на micro-SD карточку.
Важно! Просто скопировать образ на карту не получится!
У Linux своя файловая система, поэтому нужно скачать утилиту для установки образов: если из-под Windows – Win32DiskImager, если установка будет происходить из-под Linux, то установка производится набором команд из консоли (те, кто работают в этих системах знают об этом). Записав образ на карточку, просто вставляете ее в микрокомпьютер и запускаете устройство.
Обычно больше никаких манипуляций не требуется, если установка происходила с помощью Win32DiskImager. Если установка делалась из-под других операционных систем и возникли проблемы, значит что-то вы делали не по инструкции.
Кстати, все инструкции по установке можно найти на официальном сайте Raspberry pi. Для установки других систем используются те же самые команды и утилиты, поэтому трудностей быть не должно.
Устройство подходит для любого человека, будь вы инженер, программист или простой пользователь – каждый найдет свое применение. Для изобретателей специально предусмотрен разъем GPIO для подключения внешних датчиков и устройств, приводов и кнопок.
Продаются специальные платы расширения для этого разъема, а для управления ими используются среды программирования, встроенные в оболочку операционной системы.
Ну а если вы простой пользователь, Raspberry pi – это отличное мощное мультимедийное решение.
Так или иначе из простого человека может вырасти отличный программист, и устройство может подстегнуть вас к изучению профессии программиста!
Больше интересного ↓
Источник: https://ArduinoPlus.ru/raspberry-pi-3-mikrokontroller/