Модуль расширения X100 для Raspberry Pi. Интересные платы расширения для Raspberry Pi

  • Электроника для начинающих
  • У нас в хакспейсе есть много разных 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. Скоро опубликуем отдельную статью на эту тему.

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

    Raspberry Pi - одноплатный компьютер размером с банковскую карту, изначально разработанный как бюджетная система для обучения информатике. Разрабатывается Raspberry Pi Foundation. Всего за пять лет было продано более 15 миллионов устройств Raspberry Pi

    Raspberry Pi, 2006

    История появления устройств Raspberry Pi начинается в 2006 году, когда появляется прототип ценой $25. На плате установлен микроконтроллер Atmel ATmega644 с частотой 22.1Мгц, и 512K SRAM памяти. 19 из 32 контактов используются для доступа к памяти. Плата может выводить изображение с разрешением 320 × 240 на дисплей.

    Raspberry Pi 1 Model B, 2012

    Вскоре появляется следующее поколение, размером с кредитную карту и ценой в 35 долларов. Заявленные характеристики:

    • Broadcom BCM2835 700MHz ARM1176JZFS с FPU и видео сопроцессором Videocore 4
    • Декодер H.264 high-profile с производительностью 1Gpixel/s, 1.5Gtexel/s или 24GFLOPs с фильтрацией текстур и DMA инфраструктурой.
    • Объем памяти: 256MB (позднее появилась модификация 512MB)
    • Сеть: 10/100-BaseT Ethernet port
    • Поддержка порта
    • Порты 2.0 в количестве 2 штук
    • Порт RCA video
    • Слот для SD карты
    • Питание через порт microUSB
    • Выход аудио: 3.5mm audio out jack
    • Размер: 85.6 x 53.98 x 17мм

    Raspberry Pi 1 Model A, 2013 год

    Следующее поколение выглядело как шаг в сторону доступности и имело следующие характеристики:

    • Broadcom BCM2835 700MHz ARM1176JZFS процессор с FPU и Videocore 4 GPU
    • Поддержка Open GL ES 2.0, аппаратное ускорение OpenVG и 1080p3D
    • Высокопроизводительный графический процессор H.264 способен обрабатывать поток до 1Gpixel / s, 1.5Gtexel / s или 24GFLOP с фильтрацией текстур и инфраструктурой DMA.
    • Порт HDMI
    • Один порт USB 2.0
    • Порт видео RCA
    • Слот для SD-карт
    • Питание через разъем microUSB
    • 3,5-мм аудиовыход
    • Возможность подключения камеры
    • Размер: 85.6 x 53.98 x 17mm

    Raspberry Pi Compute Module, 2014 год

    Размеры платы уменьшились, чтобы поместиться на плате размером с модуль памяти. Решение для разработчиков прототипов. Плата имеет тот же чип Broadcom 2835 на базе ARM, что и Raspberry Pi 1 и 512 МБ SDRAM, а также 4 ГБ флэш-памяти eMMC. Модуль представляет собой 200-контактную плату на основе форм-фактора Jedec SODIMM.

    Raspberry Pi 1 Model B+

    Обновление версии Raspberry Pi Model B - больше мощности, больше USB-портов, более универсальные входные / выходные контакты для расширения возможности платы, аккуратный макет и лучший звук.

    • Чип: Broadcom BCM2835 Архитектура SoCCore: ARM11CPU: 700 МГц Процессор приложений с низкой мощностью ARM1176JZFS
    • GPU: двухъядерный видеопроцессор VideoCore IV®. Обеспечивает Open GL ES 2.0, аппаратное ускорение OpenVG и высокопроизводительное декодирование H.264 1080p30. Производительность до 1Gpixel / s, 1.5Gtexel / s или 24GFLOP с фильтрацией текстур и инфраструктурой DMA.
    • Память: SDRAM 512 МБ
    • Операционная система: загрузка с карты Micro SD, работающая под управлением операционной системы Linux. Доступны различные операционные системы на базе Linux, включая NOOBS, Raspbian, Pidora, OpenELEC, RaspBMC. Также доступна Risc OS.
    • Ethernet: 10/100 BaseT
    • Видеовыход: HDMI (версия 1.3 и 1.4), композитный RCA (PAL и NTSC)

    Raspberry Pi 1 Model A+, 2014 год

    Миниатюрная версия Raspberry Pi 1 Model A, потребляющая меньше энергии, имеет более универсальные входные / выходные контакты для расширения, использует Micro SD, а не SD и предлагает лучший звук.

    • Чип: Broadcom BCM2835 SoC
    • Core: архитектура ARM11
    • Процессор: 700 МГц с низким энергопотреблением ARM1176JZFS
    • GPU: двухъядерный видеопроцессор VideoCore IV. Обеспечивает Open GL ES 2.0, аппаратное ускорение OpenVG и высокопроизводительное декодирование H.264 1080p30. Поток до 1Gpixel / s, 1.5Gtexel / s или 24GFLOP с фильтрацией текстур и инфраструктурой DMA.
    • Память: 256 МБ SDRAM
    • Размеры: 65 мм x 56 мм / 2,5 "x 2,25"
    • Питание: разъем Micro USB 5V, 2A
    • Нет Ethernet
    • Аудио выход: 3,5 мм разъем, HDMI
    • USB: 1 разъем USB 2.0
    • Видеовыход: HDMI и композитный
    • Звук: стерео / стерео (через 3,5 мм кабель)
    • Память: 256MB
    • Операционная система: использует слот для карт памяти microSD для загрузки ОС. Доступны различные операционные системы на базе Linux , включая NOOBS, Raspbian, Pidora, OpenELEC, RaspBMC. Также доступно RiscOS.

    Raspberry Pi 2 Model B, 2015 год

    Raspberry Pi 2 привнес мощность четырехъядерного процессора и 1 ГБ памяти. Отныне появилась возможность запустить ОС Windows 10 IoT Core и Ubuntu.

    • 900 МГц четырехъядерный процессор Broadcom BCM2836 с 1 ГБ оперативной памяти DDR2
    • Видеосистема VideoCore IV 3D
    • Интерфейс ввода/вывода общего назначения : разъем 40-контактный 2,54 мм: 2x20. 27 контактов GPIO, а также линии питания +3,3 В, +5 В и GND
    • Слот Micro SD
    • Несколько портов: четыре USB-порта, полноразмерный HDMI, четырехполюсный стерео выход и композитный видеопорт. Порт камеры CSI и порт дисплея DSI
    • 10/100 BaseT Ethernet
    • Источник питания Micro-USB 5V, 2A
    • Размеры: 85 x 56 x 17 мм

    Raspberry Pi Zero, 2015 год

    Несмотря на стоимость в 5 долларов, Pi Zero способна на большее, чем Pi Model B, которая продавалась в 2012 году за 35 долларов.

    Плата имеет тот же одноядерный ARM-процессор, что и первая модель B, но она немного быстрее. Системная память остается неизменной.

    • Система BCM 2835 на чипе 1 ГГц
    • 512 МБ ОЗУ
    • micro-SD
    • мини-HDMI
    • Два порта micro USB - один для питания и один для данных
    • Интерфейс ввода/вывода общего назначения : разъем 40-контактный 2,54 мм: 2x20. 27 контактов GPIO, а также линии питания +3,3 В, +5 В и GND
    • Совместимость с существующими дополнениями HAT
    • Размеры: 65 мм x 30 мм x 5 мм

    Raspberry Pi 3 Model B, 2016 год

    Raspberry Pi 3 впервые предлагает поддержку ряда . Это первый Pi, основанный на 64-разрядном чипсете и включающий и Bluetooth-соединение. Новейший и быстрый чипсет на 50% лучше, чем у Raspberry Pi 2, и примерно в десять раз лучше, чем оригинальный одноядерный Raspberry Pi в многопоточном CPU (к примеру, в SysBench)

    • Чипсет: Broadcom BCM2837
    • Процессор: 1,2 ГГц четырехъядерный 64-битный ARM-cortex A53
    • Ethernet: 10/100 (максимальная пропускная способность 100 Мбит / с)
    • USB: четыре USB 2.0 с передачей данных 480 Мбит / с
    • Хранение: карта MicroSD или через USB-накопитель
    • Беспроводная связь: 802.11n Беспроводная локальная сеть (максимальная скорость передачи / приема 150 Мбит/с), Bluetooth 4.1
    • Графика: 400MHz VideoCore IV
    • Память: 1 ГБ LPDDR2-900 SDRAM
    • Интерфейс ввода/вывода общего назначения : разъем 40-контактный 2,54 мм: 2x20. 27 контактов GPIO, а также линии питания +3,3 В, +5 В и GND
    • Видео: полноразмерный порт HDMI
    • Аудио: комбинированный аудиовыход 3,5 мм / композитный видеосигнал
    • Интерфейс камеры (CSI)
    • Интерфейс дисплея (DSI)

    Raspberry Pi 3 Model B+ , 2018 год

    Новая Raspberry Pi 3 Model B + является самой мощной разработкой, как в плане производительности процессора, так и в плане скорости Wi-Fi.

    Новая плата является более гибкой версией модели Raspberry Pi 3 Model B, использующей многие из тех же спецификаций, но процессор разогнан до 1,4 ГГц (увеличение на 16,7%).

    В дополнение к более быстрому процессору, новая плата имеет улучшенную возможность подключения, добавлена поддержка двухдиапазонного 802.11b / g / n / ac Wi-Fi - фактически почти в три раза увеличена пропускная способность Wi-Fi. Увеличена и скорость Ethernet порта.

    • Процессор: Broadcom BCM2837B0, четырехъядерный A53 (ARMv8) 64-бит SoC @ 1,4 ГГц
    • Память: 1 ГБ LPDDR2 SDRAM
    • Возможности подключения: 2,4 ГГц и 5 ГГц IEEE 802.11 b / g / n / ac Wi-Fi, Bluetooth 4.2, BLE. Гигабитный Ethernet через USB 2.0 (максимальная пропускная способность 300 Мбит/с).
    • USB: 4 x 2.0
    • Интерфейс ввода/вывода общего назначения : разъем 40-контактный 2,54 мм: 2x20. 27 контактов GPIO, а также линии питания +3,3 В, +5 В и GND
    • Видео и звук: 1 x полноразмерный порт HDMI, порт дисплея MIPI DSI, порт камеры MIPI CSI, 4-полюсный стерео выход и композитный видеопорт.
    • Мультимедиа: декодирование H.264, MPEG-4 (1080p30), кодировка H.264 (1080p30); OpenGL ES 1.1, 2.0 графика
    • Поддержка SD-карт: формат microSD для ОС и хранения данных
    • Входная мощность: 5 В / 2,5 А постоянного тока через разъем microUSB, через GPIO или питание через Ethernet (PoE).
    • Рабочая температура 0 - 50 ° C

    Сводная таблица:

    Версия Дата выхода Процессор Частота Ядер ОЗУ GPIO USB Ethernet WiFi Bluetooth Цена
    A февраль 2013 ARM1176JZ-F 700 МГц 1 256 Мб 26 пинов 1 порт $20
    A+ ноябрь 2014 ARM1176JZ-F 700 МГц 1 256 Мб 40 пинов 1 порт $25
    B апрель 2012 ARM1176JZ-F 700 МГц 1 512 Мб 26 пинов 2 порта есть $35
    B+ июнь 2014 ARM1176JZ-F 700 МГц 1 512 Мб 40 пинов 4 порта есть $25
    2B февраль 2015 ARM Cortex-A7 900 МГц 4 1 Гб 40 пинов 4 порта есть $35
    Zero ноябрь 2015 ARM1176JZ-F 1 ГГц 1 512 Мб 40 пинов 1 порт $5
    3B февраль 2016 ARM Cortex-A53 x64 1,2 ГГц 4 1 Гб 40 пинов 4 порта есть 802.11n 4.1 $35
    Zero W февраль 2017 ARM1176JZ-F 1 ГГц 1 512 Мб 40 пинов 1 порт 802.11n 4.0 $10
    3B+ март 2018 ARM Cortex-A53 x64 1,4 ГГц 4 1 Гб 40 пинов 4 порта Gigabit 802.11.b/g/n/ac 4.2 $35

    Официально поддерживаемые операционные системы:

    • Raspbian рекомендуется для всех тех, кто только начинает знакомиться с Raspberry Pi
    • Pidora - Fedora для Raspberry Pi
    • OpenELEC медиапроигрыватель Kodi с открытым исходным кодом на базе Linux
    • OSMC (проект Open Source Media Center - ранее известен как Raspbmc ) медиапроигрыватель с открытым исходным кодом на базе Kodi Media Center и Debian GNU/Linux
    • RISC OS - «родная» ОС для RISC-процессоров (к которым относятся процессоры АRМ)
    • поддержка Windows 10 для Raspberry Pi 2B

    Для установки операционной системы используется инструмент NOOBS. Также можно скачать образ операционной системы и развернуть его на SD-карточку.

    Оставьте свой комментарий!

    Когда не хватает мощности 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 – сама по себе интересная и многофункциональная вещь, на базе которой можно реализовать множество проектов.

    Но существуют платы расширения, которые делают 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 и описание первых шагов по запуску и настройке для начинающих.

    Некоторое время назад появилась в моем распоряжении плата 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 в ПЛИС для обработки. Думаю интересных проектов с этой платой расширения может быть много.



    Есть вопросы?

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам: