Сайт о телевидении

Сайт о телевидении

» » Делаем модуль расширения для Raspberry Pi с Arduino на борту. Что такое одноплатные микрокомпьютеры? Raspberry Pi для домашней автоматизации. Релейный модуль

Делаем модуль расширения для Raspberry Pi с Arduino на борту. Что такое одноплатные микрокомпьютеры? Raspberry Pi для домашней автоматизации. Релейный модуль

Некоторое время назад появилась в моем распоряжении плата Raspberry Pi3. Ее возможности действительно впечатляют: и быстрый четырехядерный процессор, и встроенные аппаратные кодеки/декодики аудио/видео/jpeg, сеть Ethernet/WIFI, USB2, HDMI… Прямо настоящий компьютер. Очень круто, что есть разъем GPIO, который позволяет разным умельцам подключать что-то свое нестандартное и особенное. Существует огромное число различных плат расшрения, которые устанавливаются на этот разъем: дисплеи, светодиодные экраны, адаптеры для двигателей, платы АЦП…

Я хотел бы немного рассказать об FPGA плате Марсоход2RPI, которая, как и другие платы расширения, подключается к разъему GPIO распберри, и добавляет нашему микрокомпьютеру совершенно новые свойства.

Плата довольно проста. На ней установлены:

  1. FPGA Cyclone IV EP4CE6E22C8
    • логических элементов 6272;
    • встроенная память 270Кбит;
    • Умножителей 15 (18x18);
    • PLL 2;
  2. Четыре светодиода;
  3. Три кнопки;
  4. Кварцевый генератор 100Мгц;
  5. Возможность установки чипа EPCS4 (для случая, если плата будет использоваться автономно);
  6. Разъем JTAG (для случая, если плата будет использоваться автономно);
  7. Два 40 пиновых разъема на каждом по 28 пользовательских GPIO - разъемы совместимые с Raspberry;
  8. Один 40 пиновый разьем для подключения к Raspbery, на котором можно использовать 24 или 20 GPIO (в зависимости от того, установлен чип EPCS4 или нет).
Плата Марсоход2RPI устанавливается не над платой Raspberry Pi, а сбоку, через специальный переходник. Это сделано умышленно. Raspberry Pi3 и так довольно сильно греется при загрузке 4-х ядер, накрывать плату сверху кажется не очень гуманным с точки зрения охлаждения.

Так можно подключить плату Raspberry Pi2/ Pi3:

А вот так Pi-zero:

Возможно (но это не точно), эту же плату расширения можно будет использовать с OrangePi.

Самое первое применение этой платы, которое приходит на ум - это увеличение количества GPIO сигналов в два раза: был один разъем, а стало два. Нужно только создать и загрузить в ПЛИС нужный проект, ну и управлять входами выходами придется каким-то особым образом, тут вариантов много: последовательный порт, SPI, GPIO, можно задействовать DMA…

Загружать ПЛИС платы Марсоход2RPI можно прямо из Raspberry через JTAG сигналы, которые, конечно, отображаются в GPIO

  • tck → GPIO7
  • tms → GPIO0
  • tdi → GPIO11
  • tdo ← GPIO1
Есть такой open source проект OpenOCD, отладчик и дебагер, который позволяет использовать Raspberry как JTAG программатор. OpenOCD - это сервер, его можно запустить, а потом подключаться к нему хоть удаленно телнетом и выполняя команду «svf» можно загрузить образ скомпилированного проекта в ПЛИС. .

Вот тут как раз видеодемонстрация:

Самый первый «тестовый» проект для платы Марсоход2RPI уже готов, хотя пока не очень впечатляет своей функциональностью. Первый проект для ПЛИС - это обычно всегда «моргание светодиодом», такой своего рода «hello World!» мира микроконтроллеров и FPGA.
Его исходники можно взять на github: github.com/marsohod4you/m2rpi_first

Но и тут, даже в этом простом случае уже есть взаимодействие ПЛИС и микрокомпьютера. Из raspberry можно посылать через последовательный порт в ПЛИС байты, которые меняют скорость моргания светодиода. Более того, первый «тестовый проект» ПЛИС принимает байт из последовательного порта, модифицирует его (добавляет единицу), и отправляет назад. Конечно, довольно примитивное, но уже взаимодействие двух систем ПЛИС и процессора.

Видеодемонстрация:

Это мой первый опыт доступа к ПЛИС из Raspberry. Я думаю, что было бы интересно попробовать делать действительно сложные проекты, как, например, захватывать в распберри кадры от видеокамеры и передавать их по DMA в ПЛИС для обработки. Думаю интересных проектов с этой платой расширения может быть много.

Raspberry Pi – сама по себе интересная и многофункциональная вещь, на базе которой можно реализовать множество проектов.

Но существуют платы расширения, которые делают Raspberry Pi еще более функциональной и расширяют области ее применения.

Краткий обзор-подборку представляющих интерес плат расширения для Raspberry Pi я публикую сегодня на блоге.

Sense HAT – официальная плата расширения от Raspberry Pi Foundation.

Она создана для обучения работе с GPIO и несет на себе:

  • матричный 8×8 дисплей из RGB-светодиодов
  • пятипозиционный джойстик
  • датчик относительной влажности
  • датчик температуры
  • барометр
  • магнитометр
  • акселерометр
  • гироскоп

Sense HAT подойдет для людей с любым уровнем подготовки. Разработчиками выпущена специальная библиотека Python , в которой описаны функции для работы со всеми сенсорами этой платы расширения, а в сети существует множество руководств по практическому использованию этой платы в DIY-проектах.

Самым очевидным DIY-проектом, задействующим Sense HAT, является создание метеостанции. Получаем данные с барометра, датчиков влажности и температуры, используем матричный дисплей для вывода информации исходя из полученных данных.

Освоить работу с GPIO можно и другими способами. Например, купив нужные сенсоры по отдельности, найдя в сети руководства для новичков по программированию на Python и проведя собственные эксперименты. Но использование Sense HAT является наиболее дружелюбным к новичкам методом получения таких знаний и потому отлично подходит для школьников или просто далеких от техники (но интересующихся и желающих познать что-то новое) людей.

Практическое применение: обучение работе с GPIO и Python, создание собственной метеостанции, другие DIY-проекты.

SupTronics X800

SupTronics X800 – модуль для подключения 2,5″ жестких дисков к Raspberry Pi.

Все просто – на плате распаян SATA-интерфейс и отверстия для надежного крепления винтами жесткого диска. Поверх платы закрепляется “малинка”, а сопряжение с самой платой происходит посредством установки компактного переходника с USB-порта модуля на USB-порт “малинки”.

Жесткие диски можно подключать любой емкости. В описании самого модуля сказано, что поддерживаются диски до 1Тб включительно, но используемый в модуле контроллер GL830 не содержит ограничений по емкости используемого накопителя, а уже купившие SupTronics X800 люди подтверждают, что он работает с дисками и на 2-4Тб.

В качестве приятного бонуса – этот же модуль позволяет побороть один из главных недостатков Raspberry Pi – торчащие на две стороны интерфейсы. Согласитесь, неудобно, когда на одном торце “малины” выведены порты USB и Ethernet, а на боку находятся порты HDMI и microUSB для питания. В результате образуется такой неопрятный ежик из проводов. SupTronics X800 дублирует порты HDMI и microUSB таким образом, что они оказываются выведены на тот же торец, где размещены Ethernet и USB-порты.

Отличная штука для перфекционистов, стремящихся к простоте и завершенности.

Практическое применение : создание домашнего сервера или медиаприставки (tv-box) на базе Raspberry Pi.

SupTronics X400

Не секрет, что у Raspberry Pi довольно плохо обстоят дела с выводом звука.

При выводе звука на аналоговый 3,5мм разъем зачастую появляются помехи и дребезг, особенно на высокой громкости. Если звук идет по HDMI, то помех нет. Но в любом случае установленная в “малине” звуковая карта относится к начальному сегменту и не способна удовлетворить ценителей качественного звучания.

Для потребностей большинства пользователей за глаза хватает и такой звуковой карты. Но если хочется задействовать Raspberry Pi в создании продвинутого медиацентра или автомобильной акустической системы, то не обойтись без модуля SupTronics X400.

SupTronics X400 – это высококачественная звуковая карта, подключающаяся к GPIO-интерфейсу “малины”.

На ней установлены:

  • ЦАП Burr-Brown 32 бит/384 кГц (TI PCM5122)
  • Усилитель D-класса (TI TPA3118D2)
  • Усилитель для наушников, отдельный (TI TPA6133A)
  • ИК-приемник
  • Ручка регуляции громкости
  • 2 RCA-выхода для акустики и 3,5мм разъем для наушников
  • Гнездо питания с собственной цепью стабилизации

Выходная мощность составляет 2×20Вт, соотношение сигнал/шум 112дБ, уровень искажений 0,0019%. Вполне аудиофильское решение за не очень большие деньги.

Практическое применение: создание Hi-Fi медиацентра или автомобильного компьютера со встроенной акустической системой на базе Raspberry Pi.

SupTronics X6000

SupTronics X6000 – еще одна звуковая карта от компании SupTronics, специализирующейся на создании качественных модулей для Raspberry Pi.

В отличие от своего младшего собрата (я про X400), SupTronics X6000 может похвастаться уже 4 аналоговыми 3,5мм аудиовыходами для подключения 7.1-канальной акустики, цифровым выходом S/PDIF и поддержкой вывода звука через HDMI-интерфейс.

Пропал ИК-приемник и ручка регуляции звука. Собственный вход для питания с цепью стабилизации остался.

Зато здесь установлено аж 4 ЦАПа ESS Tech Sabre ES9023.

На мой взгляд, X6000 стоит покупать уже более продвинутым ценителям правильного звука, которые понимают что они будут делать с этим модулем. Для нужд обычного домашнего пользователя с запросами чуть выше среднего будет достаточно и модели X400.

Практическое применение: создание Hi-Fi медиацентра, системы “мультирум” или автомобильной акустической системы на базе Raspberry Pi.

Модуль аккумулятора + USB-хаб

Еще один простой и полезный модуль.

На плате установлен аккумулятор на 3800мАч, зарядное устройство для него и USB-хаб на дополнительные 5 портов (четыре обычных USB 2.0 и еще один microUSB OTG).

Питание подается в порт для зарядки аккумулятора, а сама “малинка” запитывается от этого аккумулятора. Учитывая низкое энергопотребление Raspberry Pi, емкости аккумулятора при отключении сетевого источника питания ей хватит надолго.

Практическое применение : создание портативного компьютера на базе Raspberry Pi, другие DIY-проекты, использование в качестве ИБП.

Модуль GPS

GPS-модуль, совместимый со всей линейкой микрокомпьютеров Raspberry Pi, включая в том числе и .

Обладает низким энергопотреблением и стандартным гнездом под внешнюю антенну. При необходимости идущая в комплекте антенна легко заменяется на любую другую, подходящей мощности и длины.

Практическое применение: создание автомобильного компьютера на базе Raspberry Pi, другие DIY-проекты.

Модуль для подключения VGA-монитора

И еще один функциональный модуль, который просто добавляет VGA-порт на Raspberry Pi.

VGA – устаревший стандарт. Купить с рук монитор с VGA-выходом сегодня можно за символические 500 рублей, а то и вовсе забрать за самовывоз. Но будучи подключенным к Raspberry Pi такой монитор еще может долго и с пользой поработать.

Проблема лишь в том, что на “малине” отсутствует VGA-разъем. И эта проблема решается покупкой дополнительного модуля.

Практическое применение: подключение VGA-монитора к Raspberry Pi

E-Ink дисплей для Raspberry Pi

Все знают, что к Raspberry Pi можно подключать дисплеи. Я даже публиковал вскоре после приобретения “малинки”.

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

E-Ink дисплей обладает ультранизким энергопотреблением. Он обладает высокой контрастностью, не слепнет на солнце и не нуждается в светодиодной подсветке. Подключается по GPIO и совместим с любой “малиной”.

Возможности E-Ink дисплея ограничиваются только фантазией его владельца. Например, я читал статью о том, как в одном магазине владельцы полностью заменили бумажные ценники на электронные, изготовленные на базе такого дисплея и .

Практическое применение: различные DIY-проекты.

Вот такая получилась подборка.

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

Когда не хватает мощности Arduino, на помощь мейкеру приходит тяжелая артиллерия в виде микрокомпьютеров Raspberry Pi . Чаще всего “малиновые пироги” или “малинки”, как их еще называют, используются в задачах обработки видео, аудио информации и сложных коммуникаций. В этой статье мы познакомимся с Raspberry, узнаем, что такое микрокомпьютер, какие модели сегодня актуальны и как можно использовать это устройство в своих проектах.

С помощью Raspberry Pi можно сделать умного робота, распознающего своего хозяина или домашний сервер умного дома, передающего по WiFi или Ethernet. Вы можете подключить к микрокомпьютеру датчики, двигатели, реле и многое другое. Таким образом, сферы применения Raspberry и Arduino в DIY проектах сильно пересекаются.

Что такое одноплатные микрокомпьютеры?

Микрокомпьютер – это устройство, имеющего архитектуру полноценного компьютера, но отличающееся своими размерами. Сегодня на рынке представлены сотни(!) различных моделей (включая клоны Raspberry) от десятков производителей и этим рынок одноплатников существенно отличается от рынка обычных компьютеров, на котором между лидерами давно уже распределены все доли рынка.

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

Raspberry Pi является сегодня наиболее известным представителем семейства одноплатных микрокомпьютеров. Это достаточно дешевая и доступная плата начального уровня, которую можно купить во множестве интернет-магазинов. Азиатские производители создали большое количество клонов (Orange Pi, Banana Pi и другие), которые можно использовать в своих проектах. И другим очень важным преимуществом “малинки” является огромное сообщество разработчиков, занимающихся развитием архитектуры и программного обеспечения. Выпущено множество книг, учебных пособий, операционных систем и удобных инструментов, существенно облегчающих начинающим начало работы с системой. Поэтому именно с этим микроконтроллером рекомендуется начинать работу тем, кому уже стал “мелковат” ардуино.

Что такое Raspberry Pi?

Raspberry Pi представляет собой недорогой компьютер размером с кредитную карту, который присоединяется к монитору ПК или телевизору и использует стандартную клавиатуру и мышь. Внешне компьютер представляет собой небольшую четырехслойную печатную плату с USB, HDMI и другими разъемами, слотом для Micro SD, а также гребенкой контактов GPIO. Корпус, карту памяти, клавиатуру, мышь, монитор, блок питания нужно приобретать дополнительно.

При помощи “малинки” можно научиться программировать на языках Scratch и Python. Изначально микрокомпьютер разрабатывался с целью применения для обучения в школах и университетах, поэтому для него существует множество программных пакетов и даже специальная операционная система для детей.

Ключевой особенностью Raspberry является возможность присоединения к нему внешних устройств и управления ими с помощью различных программных пакетов (наиболее популярным является Python). Всевозможные датчики, светодиоды, двигатели, реле и другие электронные компоненты могут подключаться через GPIO контакты так же, как к Arduino. Поэтому мы можем существенно расширять функционал микрокомпьютера, создавая из него рабочую станции для каждого конкретного проекта.

История появления Raspberry

Разработчиком прибора является британская фирма Raspberry Pi Foundation. Первый образец был представлен Дэвидом Брэбеном в мае 2011 года. Начало производства первой партии модели В датируется январем 2012 годом. С тех пор ежегодно компьютер модернизировался, и в продажу поступали более совершенные компьютеры.

История выпуска моделей:

  • 29 февраля 2012 года – старт продаж Model В.
  • 14 декабря 2012 года – начало производства модели Raspberry Pi «A».
  • 14 июля 2014 года – выпуск третей версии Raspberry Pi «B+».
  • 2 февраля 2015 года – выпуск Raspberry Pi «2B».
  • 26 ноября 2015 года – выпуск нового микрокомпьютера Raspberry Pi Zero, оснащенного несмонтированным разъемом GPIO.
  • 29 февраля 2016 года – выпуск модели Raspberry Pi 3, отличающейся 64-битным процессором, наличием WI-FI и Bluetooth.
  • 28 февраля 2017 года – модернизированная версия Raspberry Pi Zero W с WI-FI и Bluetooth.

Распиновка платы Raspberry Pi model A+

Model A+ является бюджетной версией платы Raspberry Pi. Устройство выпущено в 2014 году на замену оригинальной Model A. Плата представлена на рисунке ниже.

В отличие от предыдущей модели А+ обладает следующими характеристиками:

  • Большим количеством выходов GPIO – теперь их стало 40.
  • Micro SD-разъемом.
  • Пониженное потребление энергии – линейные регуляторы напряжения были заменены на переключающиеся регуляторы, и это позволило сэкономить энергию.
  • Усовершенствованная аудиосистема – в плате присутствует отдельный источник питания с пониженным шумовым уровнем.
  • Уменьшенный форм-фактор – композитный аудиовыход встроен 3,5-мм аудиовыход, наличие крепежных отверстий, USB-разъем расположен на краю платы.

Распиновка представлена на рисунке

1, 17 контакты – питание 3,3 В.

2, 4 контакты – напряжение питания 5 В. Подключено напрямую к входному напряжению платы.

3 – выход SDA (один из I2C-пинов на плате).

5 – SCl (также одни из I2C-выходов на плате).

6, 9, 14, 20, 25,30, 34, 39 – Земля. Все заземляющие контакты соединены, можно использовать любой выход, который ближе к оставшимся элементам.

8 – TXD, один из 2 UART-выходов, отвечающий за передачу данных. UART-контакты обычно используют для взаимосвязи Ардуино и Raspberry Pi. Важно правильно соединять платы, так как Pi питается от напряжения 3,3 В, а ардуино – от 5 В.

10 – RXD, выход для UART, отвечающий за прием данных.

11, 13, 15, 16, 18, 22, 29, 3, 32, 33, 36, 37 – зарезервированные контакты.

12 – PCM_C вывод, который используется совместно со специальным ШИМ-методом. Обеспечивает прямой доступ к памяти.

19, 38 – MOSI-контакты.

21, 35 – MISO-контакты.

23, 40 – SCLK-контакты.

24, 26 – CS0 и CS1 выходы.

27,28 – ID_SD, зарезервированы для I2C коммуникации с энергонезависимой памятью.

Плата Raspberry Pi Model A+ используется в проектах, в которых важно поддерживать низкое энергопотребление и где не требуется наличие интерфейса Ethernet.

Плата Raspberry Pi 3 model B

Raspberry Pi model B является наиболее распространенной платой. По сравнению со своим предшественником Pi 2 Model B обладает 64-битным процессором ARM Cortex-A53 и встроенным Wi-Fi и Bluetooth. Плата имеет 1 ГБ оперативной памяти, которая делится с графической системой. Способов применения платы множество – с их помощью можно создавать игровые приставки, охранные системы, планшеты и прочие электронные устройства.

Для подключения наушников и колонок имеется 3,5-миллимитровый разъем. Также имеется 4 USB-выхода, к которым можно присоединять периферию. Подключение различных модулей осуществляется через 15-пиновые слоты:

  • DSI – предназначен для присоединения дисплея;
  • CSI-2 – присоеднинение камеры через интерфейс MIPI.

Для низкоуровневых интерфейсов используются выходы:

  • Общего назначения – 40 портов ввода/вывода;
  • UART;
  • Входы питания и земля.

Для коммуникации используются интерфейсы Ethernet, Wi-Fi 802.11n и Bluetooth 4.1. В качестве жесткого диска плата использует microSD-карту с установленной на ней операционной системой. Карту памяти лучше использовать объемом в 8 ГБ. Raspberry Pi model B использует операционную систему Linux.

Питание устройства осуществляется адаптером на 5 В через USB разъем или выходы питания. Специальный выключатель питания отсутствует на Raspberry Pi, чтобы включить устройство, достаточно просто подключить кабель питания.

Плата Raspberry Pi model Zero

Серия плат model Zero отличается от своих предшественников меньшими размерами. Существует 2 вида плат этого вида – model Zero и новая версия Zero W. Вторая отличается только наличием Wi-fi и Bluetooth на борту.

Технические характеристики Raspberry Zero:

  • 512 МБ оперативной памяти;
  • Одноядерный процессор ARMv6Z ARM1176JZF-S с тактовой частотой 1 ГГц;
  • Мини HDMI порт;
  • 2 микро USB порта, один для подключения к компьютеру;
  • Wi-Fi 802.11n;
  • Bluetooth 4.1

Расположение выходов и распиновка представлены на рисунке. Плата оснащена 40 портами входа-выхода общего назначения, UART, I2C, SPI, выходами питания 3,3 В и 5 В и землей. Важно отметить, что разъем не припаян и требуется самостоятельный монтаж.

Новая модель Zero W использует microSD, в отличие от старшей модели, которая использует miniSD для работы. Флеш-карта используется в качестве носителя, ее объем должен быть не менее 2 ГБ. Питание платы осуществляется при помощи 5-вольтового адапрета через пины питания или микро-USB вход.

Из недостатков можно отметить малую скорость выполнения по сравнению с Raspberry Pi 3 model B. Но по сравнению с B Zero обладает меньшими размерами, что позволяет использовать его в миниатюрных разработках. Используется Raspberry Pi model Zero в тех же сферах, что и остальные компьютеры этого семейства. Плата может быть оснащена периферийными устройствами, блоком питания, экраном. С помощью этих микрокомпьютеров создаются системы видеонаблюдения, игровые системы, бытовые приборы. Наличие Wi-Fi и Bluetooth позволяет расширить диапазон применения. Одновременно с выпуском Raspberry Pi model Zero W компания представила линейку корпусов для компьютера. Корпусы оснащены отверстием для разъема GPIO и установки камеры.

Сравнение моделей Raspberry Pi

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

Платы Model A и Model A+ обладают наименьшим объемом памяти – всего 256 МБ. Model B до октября 2012 года также обладала объемом в 256 МБ, после объем был увеличен до 512 МБ, как и у Model B+. В плате Raspberry Pi 3 – наибольший размер памяти, 1 ГБ.

USB порты

Платы Model A и Model A+ оснащены одним портом USB 2.0, в версии Model B количество портов увеличено до двух, а в Model B+ и Pi 3 до четырех. Наиболее заметные изменения у Raspberry Pi Zero – в ней появился один разъем 1 Micro USB OTG.

Аудиовыходы

По этому параметру также отличается модель Raspberry Pi Zero – в этой плате 3,5-миллиметровый джэк, HDMI заменен на многоканальный HD звук через HDMI.

Формат карты памяти

Для моделей A и B использовались карты памяти SD / MMC / SDIO. Все последующие модели используют MicroSD карту.

Количество портов

Модели A и B оснащены 26-выводным GPIO разъёмом, в следующих моделях это число увеличено до 40.

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

Самым энергосберегающим устройством является Raspberry Pi Zero – она использует всего 160 мА. Наибольшее потребление энергии – у платы Raspberry Pi 3 (800 мА-2.5 мА,4 Вт). Первая модель А потребляет 300 мА (1,5 Вт), модели B, A+, B+ требуют порядка 600-700 мА.

Размеры

Самое миниатюрное устройство – Raspberry Pi Zero, его габариты 65.0 x 30.0 мм x 5мм. Немного больше модель А+, у которой размеры равны 65.0 x 56.0 мм x 12мм. Остальные платы обладают примерно одинаковым размером 85.0 x 56.0 мм x 17мм.

Где купить Raspberry Pi

Благодаря огромной популярности микрокомпьютеров Raspberry Pi их можно приобрести в любой точке мира в любом магазине. Но официальными продавцами считаются только 2 европейские фирмы – это «RS Components» и «Element 14». Обе фирмы поставляют мини-компьютеры в упаковках с различным дизайном, но товары от обоих поставщиков сделаны в Англии.

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

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

Примеры проектов с Raspberry Pi

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

Цифровая фоторамка. При помощи Raspberry P можно самостоятельно изготовить рамку для фотографий, сэкономив при этом примерно половину стоимости. Фоторамка – это медиа-панель, которая управляется Raspberry P. Рамку можно модернизировать – она будет показывать не только фотоснимки, но и дату и время, воспроизводить аудиозаписи, показывать прогноз погоды.

Система автоматизации в доме. Если совместить Raspberry Pi с Ардуино и программой Node.js, можно создать эффективный способ управления всеми электронными устройствами в доме. Вариантов работы много – автоматическое включение и выключение света при помощи датчика освещения, включение/выключение телевизора, регулирование температурного режима в доме.

При помощи платы Raspberry Pi можно реализовывать самые разные проекты – от музыкальных инструментов до фотоаппаратов и планшетов. Причем использование этой платы может существенно снизить стоимость самодельного прибора.

Мегагерц много не бывает — процессор Raspberry Pi 3 B+ разогнан до 1,4 ГГц. Ускорились сетевые интерфейсы, а ещё появилась поддержка Power over Ethernet.

Область применения Raspberry Pi ограничена лишь вашими знаниями и фантазией.

Автоматизируйте дом или воспользуйтесь этим крошечным компьютером для создания:

  • робота с управлением по Wi-Fi или обладающего компьютерным зрением
  • эмулятора игровой консоли
  • домашней метеостанции
  • охранной системы с распознаванием лиц

Компьютер размером с банковскую карту имеет на борту привычные ПК составляющие: процессор, оперативную память, разъём HDMI, композитный выход, USB, Ethernet, Wi-Fi и Bluetooth.

Главное преимущество Raspberry Pi — 40 контактов ввода/вывода общего назначения (GPIO). К ним вы сможете подключать периферию для взаимодействия с внешним миром: исполнительные устройства, любые сенсоры и всё, что работает от электричества.

Штатной операционной системой для Raspberry Pi является Linux. Она устанавливается на microSD карту, а та — в специальный слот на плате. Если вы не знаете Linux, не пугайтесь. Этот компьютер — прекрасная возможность во всём разобраться. Потерять данные или сильно напортачить с настройками не так страшно, образ на SD-карте можно восстановить за считанные минуты. После этого — смело продолжайте эксперименты!

Версия платы

Raspberry Pi 3 Model B+ это модернизированная версией Raspberry Pi 3 Model B.

64-х битным четырёхядерным процессором ARM Cortex-A53 разогнан с 1,2 ГГц до 1,4 ГГц. На борту модернизированные беспроводные интерфейсы Wi-Fi 802.11n и Bluetooth 4.2/LE.

Кроме того, процессор имеет архитектуру ARMv53, а значит вы сможете использовать любимую операционную систему: Debian Wheezy, Ubuntu Mate, Fedora Remix и даже MS Windows 10 IoT.

Raspberry Pi 3 Model B+ наделили 1 ГБ оперативной памяти, но эта память делится с графической подсистемой. Графический двухъядерный процессор VideoCore IV® поддерживает стандарты OpenGL ES 2.0, OpenVG, MPEG-2, VC-1 и способен кодировать, декодировать и выводить Full HD-видео (1080p, 30 FPS, H.264 High-Profile).

Подключение периферии

Для подключения монитора или телевизора используйте композитный видеовыход или разъём HDMI. Разрешение варьируется от 640×350 (EGA) до 1920×1200 (WUXGA) для HDMI. Композитный выход работает в форматах PAL и NTSC.

Колонки или наушники подключаются через стандартное гнездо 3,5 мм. Также звук может передаваться по HDMI.

Raspberry Pi 3 Model B+ предоставляет 4 USB-порта, объединённых внутренним хабом. К ним, помимо прочего, можно подключить клавиатуру и мышь.

Для экономии ресурсов центрального процессора, Raspberry Pi предлагает подключения штатных модулей через 15-пиновые слоты:

  • CSI-2 — для подключения камеры по интерфейсу MIPI
  • DSI — для подключения штатного дисплея

В качестве низкоуровневых интерфейсов доступны:

  • 40 портов ввода-вывода общего назначения
  • UART (Serial)
  • I²C/TWI
  • SPI с селектором между двумя устройствами
  • пины питания: 3,3 В, 5 В и земля

Для коммуникации на Raspberry Pi 3 Model B доступны интерфейсы:

Ethernet на 10/100/1000 Мбит с выходом на стандартное гнездо 8P8C (RJ45); Wi-Fi 802.11n и Bluetooth 4.2.

Питание

Питание Raspberry Pi 3 осуществляется от 5-вольтового адаптера через разъём micro-USB или пины питания. Рекомендуем использовать источник питания с силой тока не менее 2,4 А, чтобы иметь возможность подключать к USB-портам более энергоемкие устройства.

Аппаратный выключатель питания на плате отсутствует. Для включения компьютера достаточно подключить кабель питания. Для выключения используйте штатные функции операционной системы.

Габариты

Размер платы: 85×54 мм. USB-порты, Ethernet-гнездо, HDMI, аудио-гнездо выступают за обозначенные рамки на несколько миллиметров.

Программное обеспечение

Вместо традиционного для обычных компьютеров жёсткого диска, Raspberry Pi использует microSD флеш-карту. Она должна быть предварительно подготовлена — на неё следует установить операционную систему. Имея несколько флеш-карт, вы можете поочерёдно использовать их, получив несколько изолированных образов компьютеров.

Флеш-карта в комплект не входит.

Характеристики

  • Процессор: 64-битный 4-ядерный ARM Cortex-A53 с тактовой частотой 1,4 ГГц на однокристальном чипе Broadcom BCM2837
  • оперативная память: 1ГБ LPDDR2 SDRAM
  • цифровой видеовыход: HDMI
  • композитный выход: 3,5 мм (4 pin)
  • USB порты: USB 2.0×4
  • беспроводная сеть: WiFi 2,4/5 ГГц, 802.11n
  • Ethernet: 10/100/1000 Мб RJ45
  • Bluetooth: Bluetooth 4.2, Bluetooth Low Energy
  • разъем дисплея: Display Serial Interface (DSI)
  • разъем видеокамеры: MIPI Camera Serial Interface (CSI-2)
  • карта памяти: MicroSD
  • порты ввода-вывода: 40
  • габариты: 85x56x17 мм
  • Электроника для начинающих
  • У нас в хакспейсе есть много разных Raspberry Pi, с помощью которых мы учим детей программировать на python, делать роботов и разные полезные гаджеты. Разумеется, все то же самое делаем и на Arduino. За три года жизни душа в душу с этими крайне отличающимися платформами, у нас появилось несколько идей о том, как правильнее сделать учебного робота, учитывая плюсы и минусы каждой железки. Все эти мысли материализовались в новом устройство, о котором речь и пойдет далее.

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


    Немного истории

    Уже прошло 4 года с момента выпуска в серию Raspberry Pi Model B. В свое время, именно шумиха вокруг RPi отчасти сподвигла нас на создание нашего хакспейса. Ведь первое, что мы начали делать - учить детей робототехнике на RPi. Уже после первых уроков со старшеклассниками на базе Уральской компьютерной школы имени Н.Н.Красовского, мы задумались о своей мастерской-лаборатории, открытой для всех страждущих.

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

    Первый наш робот на базе RPi был создан именно как пособие для работы со школьниками. Это был двухколесный робот, на котором ребята отрабатывали работу с двигателями и разного рода датчиками, попутно готовясь к соревнованиям. В качестве шасси использовался мотор-редуктор фирмы tamiya. Драйвером двигателей служил drv8833 от TI. В варианте для робота LineFollower стояло два самодельных датчика отражения. На верхней палубе робота была установлена беспаечная макетная плата на 400 точек.

    Робот показал себя отлично, так что с течением времени платформа примеряла разный обвес. Кроме LineFollower-а, который мы кстати называем следопытом на наш лад, робот носил оптические датчики отражения, ультразвуковые дальномеры, рисовал фломастером на ватмане, наконец, управлялся через wifi, передавая изображение с веб-камеры.

    Со временем пришло понимание того, что мотор-редуктор был выбран не самый популярный, да еще и очень шумный. Корпус робота не вмещал всех хотелок, и не был совместим с распространенными конструкторами. А самое главное, появилась идея сделать модуль расширения для RPi, который бы избавил робота от лишних «рутинных» коммуникаций и устройств. Так начался проект колесного робота под кодовым названием MR-K-1, а вслед за ним и MR-K-2. С самого начала мы стали предусматривать посадочные отверстия под обе платформы, и ниже представлена модель робота с Arduino на борту.

    Это модификация для битвы, на которой школьники управляя роботом по bluetooth стремятся лопнуть воздушные шарики, закрепленные на вражеской машине. Раму увеличили, мотор-редуктор заменили на распространенный китайский двигатель желтого цвета (а иногда белого). Корпус адаптировали под конструктор multiplo, так что теперь он покрылся квадратными отверстиями. Всё это заняло несколько недель. А вот работа над модулем расширения немного затянулась. И проблема была не столько в сложности реализации, сколько в нехватки времени, усугубленной перфекционизмом:)

    Модуль расширения RPiDuino

    Главным разработчиком модуля стал Александр Васильев, ведущий крайне полезный блог alex-exe.ru . Ко времени старта проекта у него уже был огромный опыт в разработке драйверов двигателей, стабилизаторов питания, и многих других интересных для роботостроения устройств. Плату было решено назвать RPiDuino, ибо она должна была обеспечить симбиоз Raspberry Pi и Arduino.

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

    Модуль должен был взять на себя прямое управление драйвером двигателя, сервоприводами и датчиками. Все это предполагает наличие микроконтроллера. А поскольку мы делаем учебного робота и контроллер этот должен легко прошиваться нашими школьниками, то выбор пал на всем известную atmega328 с arduino-загрузчиком на борту. Наличие atmega делает модуль самодостаточным контроллером для управления небольшими учебными роботами.

    Раз на плате появилась атмега, понадобился и USB-UART мост, в качестве которого мы поставили CP2102. Еще одним признаком Arduino-совместимости стали привычные разъемы по бокам платы, позволяющие насаживать сверху модули расширения.

    Модуль должен управлять двигателям, поэтому появился соответствующий драйвер. Современные драйверы стали совершенно микроскопических размеров, так что их можно легко уместить на плате без особого ущерба соседним компонентам. Выбрали DRV8833 от Pololu, так как с ними уже был какой-никакой опыт. Драйвер двухканальный, с рабочим током канала - 1А.

    Наконец, на плате был просто необходим стабилизатор напряжения. Изначально предполагалось сделать раздельное питание для вычислительной части и для сервоприводов, но мы испытали небольшие проблемы с компоновкой. Так что остался только один стабилизатор LM2596, который питает RPi, микроконтроллер, логическую часть драйвера двигателей и датчики.

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

    RPiDuino вставляется а GPIO разъем Raspberry Pi, как и все подобные ему модули. Связь atmega328 и RPi осуществляется через UART.

    Остальные ноги GPIO выведены насквозь, так что их можно использовать на свое усмотрение.

    Таблица ключевых характеристик RPiDuino

    Питание
    Напряжение питания 7.5-24В (без драйвера двигателей)
    7.5-10.5В (с драйвером двигателей)
    Входной ток От 0,5 до 4А, зависти от нагрузки, напряжения питания, драйвера двигателей
    Стабилизатор напряжения
    Выходной напряжение
    Выходной ток: рабочий/максимальный/пиковый 1.5А/2А/3А
    Пульсации выходного напряжения 1%
    Разъём питания 5.5х2.1мм и клеммник
    Драйвер двигателя
    Напряжение питания 2,7-10,5В
    Ток на канал рабочий/пиковый 1А/2А
    Частота ШИМ 50кГц
    Габариты
    Размеры 85х56х22мм
    85х56х33мм (с разъёмом для RaspberryPi)
    Вес 49г

    Телеуправляемый робот на основе RPi+RPiDuino

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

    Сейчас на роботе стоит веб-камера с аппаратной поддержкой mjpg сжатия, соединенная с Raspberry по USB. Робот цепляется к WiFi посредством USB-роутера TL-WN722N. Двигатели стоят усиленные, с отношением 1:120. Колеса большие с мягкой резиной, чтобы цепляться за линолеум у нас в хакспейсе. Энкодеры на двигателях помогают нивелировать разброс в тяге двигателей. Питается все это от двух LiIon аккумулятором типоразмера 18650.

    Как все это работает

    На RPiDuino крутится программа, которая слушает из UART-а команды на движение и отправляет обратно кое-какую телеметрию. В своих проектах я использую библиотеку SerialFlow , написанную еще для моего первого квадрокоптера. Код программы для RPiDuino также можно найти на github.

    На стороне Raspberry Pi все устроено несколько сложнее. Во-первых, управление роботом осуществляется через web-интерфейс, так что пришлось поднять небольшой web-сервер на python. Экран управления имеет стрелки для задания направления движения, регулятор скорости, телеметрию, и окно для отображения потока с веб-камеры. Для трансляции видео я традиционно использую mjpg-streamer.

    Если захочется повторить нечто подобное на своем роботе, алгоритм установки будет следующим.
    1) Устанавливаем mjpg-streamer, и настраиваем передачу видеопотока в http.
    2) Устанавливаем пакет pyserial.
    3) Качаем и распаковываем архив с серверной частью управляющей программы.
    4) Заливаем на RPIDuino скетч управления.
    5) Настраиваем wifi на RPi.
    6) Настраиваем автозапуск управляющей программы на RPi.

    RPiDuino и ROS

    Еще одна причина, по которой нам стал нужен этот модуль расширения - это возможность показать нашим ученикам правильную концепцию роботов. Сейчас это звучит примерно так: «Смотрите, ребята, у робота есть главный компьютер, который управляет сложными вычислениями. Он может распознавать изображения, строить карту с помощью лидара и SLAM. Все это отнимает у него много ресурсов, так что он больше не может чутко управлять колесами наземного робота, и не дай бог, стабилизацией квадрокоптера в полете. Для этих операций на уровне спинного мозга имеется другой компьютер, специализирующийся на конкретных простых задачах и не отвлекающийся ни на что другое. Эти два вычислителя связаны шиной данных, по которой они общаются друг с другом и прочими модулями.»

    Тут-то и выплывает понятие ROS. В данном случае ядро системы крутится на RPi, а RPiDuino - есть узел ROS. Мы, кстати, уже сделали небольшой пакет для управления RPIDuino через ROS. Скоро опубликуем отдельную статью на эту тему.

    Бета версия модуля показала себя достойно. Сейчас небольшое количество плат можно добыть в нашем