Плоттер на raspberry pi с использованием компонентов от cd-rom

Какие существуют варианты использования Raspberry Pi 3?

Raspberry Pi 3 возможно назвать по-настоящему универсальным компьютером. Возможности Raspberry Pi 3 очень велики.

Содержание

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

Мультимедийные возможности Raspberry Pi 3

Возможности Raspberry Pi 3 в области мультимедиа очень велики. В частности, на основе “Малины” можно сделать мультимедийный центр, игровую консоль либо даже всё сразу. В результате с этим одноплатником можно получить на своем телевизоре с HDMI-портом доступ к следующим категориям развлечений:

  • видео в высоком разрешении на YouTube или других хостингах;
  • музыке на стриминговых сервисах;
  • игровым стримам на, например, Twitch;
  • играм, разработанным для старых консолей: NES, SNES, SEGA и др.

Чтобы просматривать и прослушивать мультимедийный контент, можно либо использовать браузер, либо, что еще более удобно – установить специальный медиаплеер. Наиболее функциональным и удобным из них является Kodi.

Для превращения “Малины” в игровую консоль нужно поставить на неё эмуляторы интересующих платформ и заказать игровые Rom-ы. Это делается за пару десятков минут. А еще проще и удобнее – инсталлировать специальный дистрибутив, например, Retro Pie или какой-то другой.

Разработка и работа с документами на RPi

Конечно, “Малина” – не самый мощный компьютер, а значит – не лучшее решение для работы. Но при желании на ней более или менее комфортно можно посмотреть/отредактировать какой-то документ или даже написать скрипт. Конечно, работать с тяжелыми IDE на ней не получится, но этого от RPi никто и не требует.

Также с помощью RPi3 можно «посерфить» в интернете или пообщаться в мессенджерах либо социальных сетях.

Сервер для любых нужд из Raspberry Pi 3

Еще один вариант, как можно использовать Raspberry Pi 3 – это сделать из него сервер. Так, достаточно поставить на него LAMP или просто Apache и Myphpadmin, после чего можно будет разрабатывать и тестировать веб-проекты в условиях достаточно ограниченных ресурсов.

Второй вариант – скачивать и раздавать с Raspberry Pi 3 torrent. Для этого, конечно, потребуется внешний жесткий диск, так как карты памяти и флэшки для данных целей не очень подходят как из-за ограничений скорости и маленького объема, так и ввиду быстрой изнашиваемости при интенсивных нагрузках.

Применение “Малины” в робототехнике и IoT

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

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

Дело в том, что соответствующее устройство получится как минимум довольно громоздким.

Конечно, для данных целей понадобятся модули. Но с их покупкой проблем не должно возникнуть. В Сети существует множество магазинов, которые продают дополнительные компоненты для “Малины” по доступным ценам.

Объединение нескольких RPi 3 в кластер

Ещё один способ применения Raspberry Pi 3 – объединение нескольких таких устройств в кластер. Это довольно специфический способ использования, который подойдет далеко не каждому.

Для начала следует дать краткое и понятное объяснение, что такое кластер. В общих чертах под этим термином понимается комплекс однородного оборудования (в данном случае множество RPi), на которых параллельно выполняется какая-то задача.

Делать кластер из “Малины” для реализации чего-то серьезного практического смысла нет, так как есть более дешёвые и удобные решения. Объединение Raspberry Pi 3 в кластер целесообразно по большей части для обучения. Имея несколько одноплатников, можно разобраться с особенностями параллельных вычислений или показать как они работают ребёнку (собственно, RPi и создавался для обучения детей).

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

Источник: http://myraspberry.ru/kakie-sushhestvuyut-variantyi-ispolzovaniya-raspberry-pi-3.html

Установка и настройка RetroPie на Raspberry Pi

Вероятно многие из читающих данную статью любят ретро-игры. Вы играли в них в детстве, с ностальгией вспоминаете о них в данный момент и возможно хотели бы сыграть еще в будущем. Конечно, можно купить старую (или даже новую) консоль и несколько картриджей/дисков к ней, но зачем ограничивать себя только одной платформой?

На сегодняшний день существует возможность за совсем небольшие деньги (где-то около $40-50) сложить миниатюрную игровую консоль, установить на нее эмуляторы множества популярных игровых устройств прошлого, загрузить тысячи игр и не только вновь насладится любимыми классическими играми, но и открыть для себя множество новых, до которых в свое время «не дошли руки».

Одним из наиболее популярных решений в данной области является проект RetroPie – дистрибутив ОС Debian с набором эмуляторов старых игровых консолей (NES, ZX Spectrum, Atari, Game Boy, Nintendo 64, PSX…), объединённых оболочкой EmulationStation и средой выполнения RetroArch. Устанавливается все это на микрокомпьютер Raspberry Pi.

Звучит сложно? Читайте далее и вы увидите, что на самом деле все очень просто. Данная статья покажет вам как собрать свою ретро-консоль потратив на это минимум своего времени, нервов и денег. Также мы покажем как осуществить первоначальную настройку RetroPie и установить на нее игры.

Что нам понадобиться?

Все необходимое для создания ретро-консоли можно поделить на «железо» и «софт». Начнем с железа – без него точно ничего не будет работать

Железо для RetroPie

Основой нашей консоли является плата Raspberry Pi (или как ее нежно у нас называют – «малинка»). Это микрокомпьютер размером с банковскую карту. Как правило, это самая дорогая часть нашей системы. Ее стоимость составляет (в зависимости от модели и места покупки) от 30 до 45 долларов.

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

Обязательные элементы

  • Плата Raspberry Pi (моделей A, A+, B, B+, 2, Zero или 3). Данная инструкция написана в расчете на то, что вы будете использовать Raspberry Pi 3 Model B. Конечно, возможно использование и других моделей, но там могут быть свои нюансы, о которых мы постараемся упомянуть по ходу статьи.
  • Карточка памяти MicroSD (желательно от 8 GB и выше). Советы по ее выбору и тестированию читайте ниже – в разделе «Инсталляция ПО».
  • Кард-ридер MicroSD для записи образа RetroPie на карту памяти.
  • USB-геймпад (джойстик). Подойдет практически любой USB-совместимый контроллер, даже от XBox360 или Wii.
  • Кабель HDMI для передачи видео и аудио сигнала к монитору или телевизору. Можно использовать и RCA-кабель (тюльпан) с миниджеком 3.5 мм, но качество картинки при этом будет ниже.
  • Монитор или телевизор с входом HDMI или AV.
  • Блок питания выдающий на выходе напряжение номиналом 5 Вольт с силой тока 2.5 Ампера. Можно использовать зарядку для смартфона, но обязательно с указанными параметрами. Если напряжение или сила тока будут ниже – микрокомпьютер работать не будет!
  • ПК (Windows, Linux или Mac) для записи карты MicroSD.
  • Клавиатура и мышь для начальной настройки Raspberry Pi.

Необязательные элементы

  • Корпус для Raspberry Pi. Для защиты нашей мини-консоль от внешних влияний и придания ей законченного вида. Есть довольно симпатичные корпуса в стиле ретро-консолей.
  • Самоклеющиеся радиаторы на микросхемы Raspberry Pi. Выравнивают резкие скачки температуры при чрезмерных нагрузках на процессор.
  • Если вы используете плату, отличную от Raspberry Pi 3, то вам может также понадобиться USB-адаптер Wi-Fi или Ethernet-кабель. В Pi 3 Wi-Fi уже встроен. В данной инструкции подключение к интернету не используется, но будьте готовы использовать его в будущем.

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

Вообще! В Raspberry Pi нет BIOS, поэтому, даже если вы подключите ее к монитору и питанию, то не увидите на экране ничего. Сначала нужно записать что-то что будет исполнять роль операционной системы.

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

Загрузка образа RetroPie

Запись образа и запуск RetroPie – одна из самых ответственных операций при создании нашей игровой системы. Советуем внимательно ознакомиться с нижеследующими рекомендациями.

Идем на официальный сайт RetroPie и скачиваем нужный нам образ. На сегодняшний день есть две версии RetroPie – одна для Raspberry Pi 0/1 (Model A, A+, B, B+), вторая для Raspberry Pi 2/3. Если вы не знаете версию вашей «малинки» посмотрите, что написано на ее плате.

Файл RetroPie скачивается в формате архива – файла с расширением .gz, поэтому перед его записью на карту памяти его нужно разархивировать. Рекомендуем для этого использовать бесплатный архиватор 7-zip. После разархивирования у вас должен получиться файл образа с расширением .img, который мы должны записать на MicroSD.

Запись образа RetroPie

Выбор карты памяти MicroSD для записи RetroPie – это отдельная тема для разговора.

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

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

Для записи образа на карточку MicroSD рекомендуется использовать качественный USB-кардридер. Не советуем пользоваться для этого ридерами встроенными в ПК, поскольку они могут быть устаревшими и не полностью совместимыми с современными картами памяти.

Образ записывают на карточку с помощью специальной программы. Мы рекомендуем использовать для этого программу Etcher. На ее официальном сайте есть версии установочных файлов для Windows, Linux и macOS.

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

Вставьте кардридер с MicroSD в USB вашего ПК, выберите в программе Etcher загруженный ранее образ RetroPie, укажите куда его записать его и нажмите кнопку «Flash!». По окончании записи извлеките карту памяти из кардридера.

Если у вас с Etcher что-то не получиться, записать образ вам поможет программа Win32 Disk Imager. Она немного сложнее в использовании, но только немногоРазобраться в ее работе сможет практически каждый.

Сборка ретро-консоли

  • Если вы приобрели радиаторы, установите их на микросхемы Raspberry Pi.
  • Аккуратно вставьте карту MicroSD с записанным образом RetroPie в соответствующее гнездо Raspberry Pi.
  • Если у вас есть корпус, установите плату в него.
  • Подключите кабель HDMI к микрокомпьютеру и ко входу монитора или телевизора. Если вы используете кабель типа «тюльпан», вставьте миниджек в разъем на плате «малинки», а штекеры RCA – в соответствующие разъемы входа телевизора.
  • Подключите геймпад к USB разъему Raspberry Pi.
  • Подключите кабель блока питания к разъему microUSB на плате устройства.
  • Подключите клавиатуру к USB разъему Raspberry Pi.
  • Если вы используете модель отличную от Raspberry Pi 3, подключите совместимый USB-адаптер Wi-Fi или кабель Ethernet для обеспечения доступа к интернету и/или домашней сети (в данной инструкции не используется).

Первоначальная настройка RetroPie

Подключите блок питания к сети. Если все было сделано правильно на плате замигают красный и зеленый светодиоды. Красный сигнализирует о подключенном питании Raspberry Pi, зеленый – о том, что используется карта памяти. Загрузка RetroPie стартует автоматически.

Настройка геймпада

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

Для того, чтобы перейти в режим настройки геймпада нажмите и удерживайте любую кнопку на нем. Откроется окно настройки.

Следуйте инструкциям на экране, чтобы настроить ваш геймпад. Просто используйте кнопки, триггеры и стики в том порядке, в котором они появляются в окне настройки. Если на вашем игровом манипуляторе нет некоторых из указанных на экране элементов вы можете пропустить их, нажав и удерживая любую кнопку на геймпаде. Когда вы доберетесь до OK, нажмите кнопку, настроенную как «A».

Примеры настроек контролеров XBox 360 и PS3 (другие модели настраивайте по аналогии):

В дальнейшем подсказки по функциям кнопок геймпада  вы можете посмотреть в нижней части экрана.

Если вы хотите настроить еще один контроллер, то можете сделать это позже в стартовом меню эмулятора.

Горячие клавиши (Hotkey)

Горячие клавиши позволяют вам использовать комбинацию кнопок для доступа к различным дополнительным функциям, таким как сохранение, загрузка и выход из эмуляторов. По умолчанию «горячей клавишей» является «Select».

Для выполнения той или иной дополнительной команды вы должны удерживать ее при нажатии на дополнительную кнопку. Обратите внимание, что горячие клавиши предназначены только для эмуляторов, основанных на retroarch/libretro.

В следующей таблице показаны комбинации комбинаций клавиш по умолчанию.

Горячие клавишиДействие
Select+Start Выход из игры
Select+Правый верхний тригер Сохранить
Select+Левый верхний тригер Загрузить
Select+Вправо Увеличить Input State Slot
Select+Влево Уменьшить Input State Slot
Select+X Меню RGUI
Select+B Перезагрузка

После настройки геймпада откроется главное окно RetroPie. В нем вы можете увидеть, что на нашей приставке на данный момент нет ни одной игры. И это нормально.

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

Просто переходите к следующему пункту данного руководства.

Установка игр в RetroPie

Хотя несанкционированное распространение старых игр и является незаконным, в сети есть множество сайтов на которых можно бесплатно скачать не только отдельные игры для аркадных автоматов, игровых консолей и всяких других компьютеров, но и большие архивы с практически всеми играми для той или другой системы. Есть даже образы RetroPie с тысячами уже установленных и настроенных игр для карт памяти различных размеров – от 8 до 256 GB. Просто скачивай, записывай и играй.

Но, поскольку эта инструкция предназначена для начинающих, мы рассмотрим пример добавления только одной игры (Battle City) для одного эмулятора (Nintendo Entertainment System  NES).

Файлы игр для RetroPie называются ROMами (от англ. Read Only Memory) и являются цифровыми копиями старых игровых картриджей или CD для игровых консолей. Мы не будем давать здесь ссылку на загрузку ROMа игры, поэтому вам придется найти его самостоятельно.

Просто введите в поисковой строке браузера «Battle City NES ROM» и у вас будет множество результатов. Зайдите на один из сайтов и загрузите с него ROM игры для NES. Файл ROMа игры для эмулятора консоли NES имеет расширение .nes (для других эмуляторов они будут иметь другие расширения). Если вы скачали архив, его нужно сначала разархивировать.

Будьте осторожны – иногда под видом ссылки для загрузки игры может скрываться что-то нехорошее

Скачанный файл нужно как-то перенести на нашу приставку. Для этого можно использовать несколько способов, но мы выберем наиболее простой – с помощью флешки.

  • Отформатируйте USB-флешку в FAT32 или NTFS.
  • Создайте на флешке папку с названием «retropie» (без кавычек).
  • Извлеките флешку с гнезда ПК и вставьте в одно из гнезд на плате Raspberry Pi.
  • Подождите пока светодиод на флешке перестанет мигать.
  • Вытяните флешку из нашей приставки и вновь вставьте в ПК. Вы увидите, что в папке «retropie» появились другие папки.
  • Скопируйте ROM скачанной игры в папку «retropie/roms/nes» на флешке.
  • И опять же – извлеките флешку из ПК и вставьте в Raspberry Pi.
  • Подождите пока светодион на флешке перестанет мигать и перезагрузите микрокомпьютер.

Для перезагрузки RetroPie воспользуйтесь пунктом меню «QUIT – RESTART SYSTEM». Само же меню вызывается нажатием кнопки геймпада «Start».

Как играть

Просто войдите в раздел меню «Nintendo» в основном окне нашей ретро-консоли и выберите нужную игру. Поскольку у нас она пока только одна то ее и выбираем.

После непродолжительного показа информационного окна игра запуститься. Наслаждайтесь!

Конечно, описанное в данной инструкции является базовой информацией по установке, настройке и использовании RetroPie, но она позволяет вам довольно быстро перейти непосредственно к игре. Если вам понравилось – поделитесь статьей в социальных сетях, оставляйте свои комментарии и задавайте вопросы. Мы постараемся ответить на все из них.

Источник: https://angryuser.help/ustanovka-nastrojka-retropie-raspberry-pi/

Plotter made of two old CD drives, a servo and a Raspberry Pi

Plotter made of two old CD drives, a servo and a Raspberry Pi.

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

К сожалению, не все оптические приводы используют шаговый двигатель для приведения в действие лазерного блока – мой коэффициент попадания составлял от 2 до 1. Шаговый двигатель имеет четыре контакта: Пара штырей внутренне соединена с электромагнитной катушкой.

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

На этом двигателе контакты 1 и 3 соответственно 2 и 4 относятся к одной из катушек.

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

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

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

Кроме того, есть четыре входных контакта, которые должны быть подключены к GPIO от малины Pi.

Наконец, напряжение питания 5 В должно быть подключено к клеммам «Земля» и «VCC», которые являются положительной клеммой напряжения питания.

Единственная катушка двигателя потребляет ток почти 500 мА, который превышает максимальный ток, обеспечиваемый 5-контактным выводом малины Pi! Следовательно, я использую старый компьютерный источник питания для обеспечения электрической энергии, необходимой для работы механизма.

Двигатель управляется поэтапно через GPIO с помощью программного обеспечения, работающего на малиновом Pi. В зависимости от направления вращения шагового двигателя лазерная головка перемещается влево или вправо. Второй шаговый двигатель необходим, чтобы заставить плоттерное перо перемещаться в направлении, перпендикулярном к первой карете.

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

Сервопривод используется для изгиба этой металлической полосы и, таким образом, для подъема или опускания пера. Мощность выводится из свинцово-кислотной батареи с выходным напряжением 6 В, которое сведено на 5 В линейным регулятором напряжения.

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

Механизм разработан таким образом, что плоттер рисует на равнине, на которой она развернута, – вот это лист бумаги. Площадь, покрытая ручкой, составляет приблизительно 35 раз 35 миллиметров.

Для перемещения пера на 35 миллиметров требуется 250 шагов. Здесь вы можете увидеть плоттер, рисующий векторную графику. Устройство прост и дешево, поэтому полезно продемонстрировать функциональность плоттера.

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

Практически необходимо продемонстрировать разницу между векторной графикой и растровым изображением: Здесь вы можете увидеть, как pixmap создается по строкам.

Теоретически, что графика может быть сделана в 250 раз 250 пикселей, таким образом, 62500 пикселей. Учитывая время, необходимое для выполнения этого огромного количества элементов изображения, я использую растровое изображение всего 55 раз 55 пикселей. При этом вы можете четко видеть сетку, образованную пикселями.

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

В следующем видео я продемонстрирую, как построить более крупный плоттер с использованием простых инструментов из магазина DIY.

Спасибо за просмотр и: «Я вернусь!» .

Источник: https://www.youtubesubsearch.com/videos/-XhMT4wXSG4/Plotter-made-of-two-old-CD-drives-a-servo-and-a-Raspberry-Pi

10 интересных проектов для легендарного Raspberry Pi / RaspberryPi, компьютер, планшет, MIDI, mp3, IT, Интернет, гаджет, игры

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

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

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

Ниже – десять способов заставить работать ваш Raspberry Pi на пределе своих возможностей. Активные ссылки на пошаговые инструкции в заголовках.
 

Разгоняйте свое устройство

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

Синхронизируйте музыку и рождественские огни

Блогер, известный под ником Chivalry Timbers, запрограммировал свой Raspberry Pi для синхронизации MIDI музыки и рождественских огней. Он нашёл связующее звено между этими процессами, но с общим форматом mp3 музыки. Руководство пользователя включает в себя все, что нужно для создания проекта, плюс  вам потребуется 15 метров электрического провода.

Контролируйте датчик влажности и температуры

Инженер-исследователь BBC Research and Development Крис Баум придумал еще один способ применения возможностей Raspberry Pi.

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

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

Управляйте портативной метеостанцией

Зачем останавливаться на влажности и температуре? Руководство для вашего Pi представит всю необходимую информацию для программирования устройства для записи метеоданных: от осадков до скорости ветра и прогноза погоды Maplin. Так же представляется возможным запрограммировать компьютер на автоматическое обновление веб-сайтов с погодными условиями. Сочетая науку и технологию, можно сделать идеальный школьный проект.

Сделайте цифровую фоторамку 

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

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

 Бесспорным плюсом этого девайса является то, что, по словам автора проекта Энди Джаг, настройка подобной рамки займёт всего пару часов.

Создайте игровую консоль

Во-первых, существует один нюанс: довольно незаконно копировать лицензионные игры — и разработчики, такие  как Activision, примут этот факт не очень радушно. Но все же Raspberry Pi можно легко превратить в игровую консоль или карманный компьютер. Самый простой способ — загрузить эмуляторы игр на SD-карту и подключить USB-контроллеры.

Постройте мобильного робота

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

Linux User предлагает подробные руководства для строительства робота. Написав программу на языке Python, вы сможете контролировать робота с любого подключенного к сети устройства.

Внешний вид робота будет полностью зависеть от вашей фантазии а также финансовых возможностей.

Не хотите использовать Linux? Instructables предлагает учебники для строительства робота, управляемого  Pi в Python и в ROS (Роботизированная операционная система).

Управляйте домашней системой автоматизации

При совмещении Raspberry Pi,  Arduino и программы Node.js, у вас появляется эффективный способ управления и контроля любого устройства в вашем доме, которое работает от сети переменного тока.

Вы можете по команде включать и выключать ваш телевизор или свет.

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

Соберите цифровой фотоаппарат 

Создать свою собственную цифровую камеру с сенсорным экраном за $126, вы сможете, иcпользуя только четыре средства (включая ваш Pi). Поможет в этом видео-учебник Фила Берджесса на Adafruit.

Сенсорный планшет своими руками

Хотите удивить своих знакомых, уже давно набившими вам оскомину своими iPad? Вы можете построить собственный сенсорный планшет Raspberry Pi, отвечающий вашим личным требованиям! Андре Хичмен написал полный учебник для создания данного планшета с сенсорным экраном Chalkboard Electronics.

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

На фото более удачный пример исполнения “таблетки” от Майкла Кастора. 

Источник: http://www.qwrt.ru/news/3002

Бк на raspberry pi 2 своими руками (python source) — drive2

Вторая версия >>
Как я писал в одном из своих постов я перепробовал почти все БК для can-шины. И честно скажу ни один мне не пришелся по сердцу. Более или менее по функционалу мне подходил ОРИОН БК-125, но стабильность оставляла желать лучшего.

Дисплей и место установки очень не удобное. Есть легендарная фраза “хочешь сделать что то хорошо, сделай это сам”.

И решено было сделать БК своими силами, поскольку программную часть я решил полностью сделать сам, значит все свои “хотелки” я смогу реализовать.

Что мне надо от БК и почему мне не подходят существующие? Я увлекся чиптюнингом, и помимо жопомера, неплох бы иметь и цифры перед глазами.

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

Итак, в качестве аппаратной платформы было выбрано железо:

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

дисплей с тачскрином в акриловом корпусе

елм327 на ftdi чипе не принчипиально, но последние 2 на ch341 у меня быстро вышли из строя. Программа все равно ищет устройство /dev/ttyUSB0.

Детально процесс установки расписывать не буду все есть на соответствующих ресурсах в интернете, не вижу смысла копипастить. Например здесь.

Вкратце: нам нужно скачать образ, записать на флэшку #dd if=имя_образа of=/dev/sdX где Х-буква соответствующая вашей флешки. Флешку лучше использовать microSD 10class 32Gb. Далее от root-а запустить #raspi-config.

Расширить файловую систему до полного диска. Установить зависимости:Для второй версии питона

#apt-get install python-serial python python-tk python-pil python-pil.imagetk

Под третей версией мне удалось запустить мой исходник, но работал он крайне нестабильно, поэтому в топку третий питон :), по крайней мере пока.

Если будете использовать bluetooth ELM327 то еще понадобятся:
#apt-get install bluetooth bluez-utils blueman
Устанавливаем драйвера для нашего тачскрина, у меня заработали только эти драйвера.
Распаковываем архив и запускаем скрипт #./LCD35-show, после установки произойдет перезагрузка и дисплей должен будет заработать.

Теперь собственно кодинг. Почему я выбрал python? Да собственно от лени :), я являюсь небольшим поклонником этого языка, но чем больше с ним работаешь, тем больше он нравится. Очень понравилась работа с библиотекой tkinter и pil. Ни какой лишней писанины на мой взгляд.

И отчасти потому что есть открытый проект pyOBD, автор на него забил и проект содержит ошибки (python2, LOAD_ABS ). Я исправил все что нужно для работы так что рекомендую перекачать именно мой архив. Там же мой исходник — myOBD.py.

Я использую три независимых потока, в первом получаю значения, во втором их вывожу на печать, в третьем рассчитываю ускорение (пока в тесте). Если вы захотите внести собственные изменения в исходники, то рекомендую ознакомиться со следующими документами:
Общее представление о программировании под ELM327.
Пид коды и их расчет.

Изначально raspberry планировалась как HUD проектор на стекло. Я заказал специальную пленку, но к сожалению идея не оправдала себя. В солнечную погоду TFT дисплей просто засвечивает даже с пленкой. Пленка мешается на стекле, она ухудшает видимость и не очень прозрачная.

Для тех кто все же захочет поэкспериментировать, для того что бы получить изображение в зеркальном виде нужно заменить строку rotated = new_img на rotated = new_img.transpose(Image.FLIP_TOP_BOTTOM).

Для питания рекомендую преобразователь 12в-5в не менее 2а. Я использую китайский с двумя USB 1A и 2.1A.
Остались последние штрихи, отключим хранитель экрана и настроим автозапуск.

Для отключения гашение дисплея:
в файл /etc/xdg/lxsession/LXDE-pi/autostart добавим строки

@xset s noblank
@xset s off
@xset -dpms

И еще все тоже самое в домашнюю директорию пользователя от которого запускается иксы. По умолчанию это user — pi. Что бы наверняка :).
/home/pi/.config/lxsession/LXDE-pi/autostartДля автозапуска программы:создадим файл

/etc/xdg/autostart/odb.desktop

с содержимым

[Desktop Entry]Version=1.0Encoding=UTF-8Name=OBDComment=Exec=python /OBD/myOBD.pyTerminal=false

Type=Application

Добавить в файл /etc/lightdm/lightdm.conf в секцию
[SeatDefault]
xserver-command=X -s 0 dpms

И по традиции как это все работает:

Вторая версия >>

Источник: https://www.drive2.ru/b/3013396/

Построение контроллеров на Raspberry Pi #6: интерактивные графические контроллеры

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

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

Рисунок 1 показывает основные блоки компонентов, необходимых для создания интерактивного графического контроллера.

Рисунок 1 – Электронные компоненты и встраиваемые аппаратные средства, необходимые для построения RPi (Raspberry Pi) интерактивного графического контроллера

Список компонентов, необходимых для сборки проекта, показан ниже.

Список компонентов

  • Raspberry Pi (модель A+, B, B+, Pi2, Pi Zero или Pi3)
  • резистор 1 кОм (коричневый, черный, коричневый, золотой), 0,25 Вт, 5%
  • резистор 10 кОм (коричневый, черный, оранжевый, золотой), 0,25 Вт, 5%
  • фотоэлемент
  • HDMI кабель
  • HDMI монитор
  • кнопка
  • переходник для GPIO выводов Raspberry Pi
  • беспаечная макетная плата
  • перемычки (папа-папа)
  • перемычки (мама-папа)

Pygame и Raspberry Pi

Одним из ключевых элементов интерактивного графического контроллера является Python библиотека Pygame. Python библиотека Pygame делает простым добавление графики в анимационные приложения на Raspberry Pi. Библиотека Pygame позволяет создавать игры и интерактивные объекты без преодоления трудностей разработки специального кода и алгоритмов.

Интерактивный графический контроллер, который мы создадим, использует библиотеку Pygame для добавления изображения прыгающего мяча в окно, которое называется холст. Рисунок 2 показывает холст, построенный с помощью Pygame для изображения мяча.

Рисунок 2 – Пример холста прыгающего мяча, построенный с помощью библиотеки Pygame

Размеры холста заданы с помощью Python инструкции под названием size. Инструкция size определяет ширину (width) и высоту (height) холста, как показано ниже.

size = width, height = 500, 500

Таким образом, библиотека Pygame предоставляет следующие улучшения программирования для Python:

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

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

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

Физические вычисления и Raspberry Pi

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

Рисунок 3 – Внешняя среда физических вычислений для датчика (фотоэлемента) со вспомогательной разводкой на макетной плате. Движение руки имитирует удары по мячу.

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

Этот электрический сигнал затем обрабатывается компьютером Raspberry Pi посредством Python кода, находящегося в памяти микроконтроллера. Библиотека Pygame создаст холст с мячиком, позволяющий графическому элементу двигаться в соответствии с параметрами движения в Python коде.

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

Мы будем использовать фотоэлемент (в качестве датчика движения руки), а также Python код и библиотеку Pygame для создания интерактивного графического контроллера на основе физических вычислений. Теперь, ознакомившись с физическими вычислениями и библиотекой Pygame, мы готовы собрать наш интерактивный графический контроллер.

Методы разводки электрической схемы

Для сборки электронной схемы фотоэлементного датчика мы будем использовать беспаечную макетную плату и перемычки. Как показано на рисунке 3, выход электронной схемы фотоэлементного датчика будет подключен к GPIO (вход/выход общего назначения) выводу Raspberry Pi. Мы подключим выход схемы непосредственно к GPIO выводу 25 Raspberry Pi.

Перед сборкой контроллера, соберем тестовую схему с кнопкой для проверки интерфейса электрической схемы цифрового коммутатора. Подтягивающий резистор 1 кОм обеспечит цифровые сигналы с напряжениями 0 и 3,3 вольта на GPIO выводе 25 Raspberry Pi, когда кнопка нажата или отпущена. Рисунок 4 показывает схему соединений тестовой электрической схемы с кнопкой.

Рисунок 4 – Схема соединений тестовой электрической схемы с кнопкой

К сожалению, на печатной плате не приводится маркировка GPIO выводов 40-пинового разъема Raspberry Pi. Для помощи в подключении тестовой схемы на рисунке 5 приведена распиновка разъема GPIO выводов Raspberry Pi.

Рисунок 5 – Распиновка разъема GPIO выводов Raspberry Pi

Другой способ подключения электронной схемы фотоэлементного датчика к Raspberry Pi заключается в использовании Т-образного переходника для разъема GPIO выводов на макетную плату, который показан на рисунке 6.

Рисунок 6 – Переходник для разъема GPIO выводов Raspberry Pi на макетную плату

Переходник для разъема GPIO выводов Raspberry Pi вставляется в стандартную макетную плату и подключается плоским шлейфом к Raspberry Pi. Рисунок 7 показывает подключение тестовой схемы с кнопкой к Raspberry Pi с помощью переходника.

Рисунок 7 – Подключение электрической схемы на макетной плате к Rapberry Pi с помощью переходника для разъема GPIO выводов

Теперь, собрав тестовую схему, мы готовы проверить работу интерактивного графического контроллера с помощью python кода, показанного в листинге 1 ButtonBouncingBall.py.

# Подключаем библиотеки Python import sys, pygame import time import RPi.GPIO as io io.setmode(io.BCM) # Выполняем назначение выводов button_pin = 25 # Настроить button_pin на вход io.setup(button_pin, io.IN) pygame.init( ) # Установить параметры холста size = width, height = 500, 500 speed = [100, 100] white = 255,255,255 # Показать заголовок холста pygame.display.set_caption(“Bouncing Ball”) screen = pygame.display.set_mode(size) ball = pygame.image.load(“beachball2.png”) ballrect = ball.get_rect() while 1: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() if io.input(button_pin): # Если кнопка нажата, то перемещать мяч ballrect = ballrect.move(speed) if ballrect.left width: # Перемещать мяч вверх speed[0] = -speed[0] if ballrect.top height: # Перемещать мяч вниз speed[1] = -speed[1] screen.fill(white) # Установить фон холста screen.blit(ball, ballrect) pygame.display.flip() time.sleep(0.1) # Ждать 100мс до следующего нажатия кнопки

Тестирование интерактивного графического контроллера

Чтобы можно было протестировать интерактивный графический контроллер, вам необходимо скачать (ссылка выше) и распаковать архив ButtonBouncingBall_materials.zip в какой-либо каталог на Raspberry Pi. В архиве находятся файлы beachball2.png и ButtonBouncingBall.py.

Теперь запустите LXTerminal и перейдите в каталог, в котором расположен скрипт ButtonBouncingBall.py. Основные моменты в скрипте прокомментированы. Перед запуском скрипта просмотрите эти комментарии, чтобы понимать, как работает код.

Наберите в LXTerminal команду sudo python ButtonBouncingBall.py, как показано на рисунке 8, чтобы запустить приложение.

Рисунок 8 – Запуск Python приложения ButtonBouncingBall.py в LXTerminal

Как только код будет запущен, на экране HDMI монитора появится холст с мячом, как показано на рисунке 9.

Рисунок 9 – Код ButtonBouncingBall.py, запускающий холст Pygame

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

Функция детектирования ведения мяча рукой

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

Размещение руки над фотоэлементом обеспечит управляющий сигнал логической единицы (3,3В), который будет считан Raspberry Pi.

Raspberry Pi обработает этот цифровой управляющий сигнал и заставит мяч двигаться вниз или отскочить вверх.

Убирание руки от фотоэлемента обеспечивает цифровой управляющий сигнал логического нуля (0В). Мяч, управляемый Raspberry Pi, перестанет прыгать. Схема подключения схемы детектирования ведения мяча рукой показана на рисунке 10.

Рисунок 10 – Схема подключения схемы детектирования ведения мяча рукой

Ниже, на рисунке 11, приведена фотография собранного устройства.

Рисунок 11 – Окончательная версия собранного интерактивного графического контроллера. Обратите внимание, что кнопка заменена на фотоэлемент

Ниже приведено видео, демонстрирующее работу проекта.

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

Оригинал статьи:

Набор перемычек (папа-папа)

Набор перемычек папа-папа. 40 штук по 15 см.

Набор перемычек (мама-мама)

Набор перемычек мама-мама. 40 штук по 20 см.

Raspberry Pi 3 Model B

Raspberry Pi 3 – это третье поколение Raspberry Pi. Данный компьютер является заменой Raspberry Pi 2 Model B.

Источник: https://radioprog.ru/post/150

Raspberry Pi 3: подключение и настройка (первый опыт использования)

Материал подготовлен при поддержке сайта televizor-x.ru

Все, кто хотел, давно купили себе Raspberry Pi 3, а я ждал непонятно чего

Источник: https://ithobo.wordpress.com/2017/09/18/raspberry-pi-3-nastrojka/

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}