394

Игровая ретро приставка на raspberry pi

День добрый, пикабу. Сегодня мы собираем ретро-комбаин для игры в вашего любимого Mario и не только.


Нам понадобится:

* Raspberry Pi 3b (или 3b+)

* Карта памяти micro SD (желательно class 10, не меньше 8Гб)

* Корпус NESPi (можно и более дешевый и вообще без него)

* От одного до четырех геймпадов. «Ретроподобные» из дешевых, включая те, что на скрине, лучше не брать — им свойственно иметь не играбельную крестовину (лучше раскошелиться на что-то вроде 8bitdo)


Закупаемся:

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-Игры, Видео

В сумме ~5000р. Немногим выше стоимости NES mini, но куда более круто. Получаем посылки, собираем:

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-Игры, Видео

Теперь надо установить ПО.


Есть несколько вариантов:

* RetroPie — самый «навороченный», с наибольшим количеством настроек, поддерживаемых тем, систем и портов. Так же на RetroPie можно накатить Attract-Mode (вместо EmulationStation)

* Recalbox — проще, чем RetroPie. Установил, закинул ROMы, играешь.  С недавних пор поддерживает русский язык оболочки.

* Lakka — Использует RetroArch фронтенд без изменений (RetroPie и Recalbox используют EmulationStation, а оболочку RetroArch можно увидеть в меню из игры). Самый простой вариант без лишних надстроек (по умолчанию включен драйвер меню PlayStation 3 XrossMediaBar — XMB).


Мы будем устанавливать RetroPie (как обещал в одном из предидущих постов базовые настройки будем делать вообще без использования дополнительно клавиатуры и терминала).


Скачиваем RetroPie, распаковываем архив (должен получиться .img файл). Вставляем microSD в ПК и устанавливаем на нее с помощью Win32 Disk Imager

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-Игры, Видео

После установки в системе появится два диска (отказываемся от форматирования).

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-Игры, Видео

На доступный из под Windows кидаем файл wifikeyfile.txt со следующим содержанием:

ssid="NETWORK_NAME"
psk="NETWORK_PASSWORD"

Это настройки вашего WiFi (ssid — название сети, psk — пароль).


Открываем файл config.txt и убираем # перед текстом в 10 строке. Должно получиться так:

disable_overscan=1

Эта настройка убирает черную рамку в интерфейсе EmulationStation.

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-Игры, Видео

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

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-Игры, Видео

Настраиваем, сразу же подключаемся к WiFi:

CONFIG > WIFI

Import wifi credentials from /boot/wifikeyfile.txt

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-Игры, Видео

Перезагружаемся. Уже можно сменить оформление на что-то более вменяемое.

CONFIGS > ES THEMES

Выбираем понравившуюся тему (у меня snes-mini)

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-Игры, Видео

Выходим на главный экран, жмем Start

[MAIN MENU] UI SETTINGS > THEME SET > Theme

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-Игры, Видео

Отлично. Осталось настроить RetroArch (далее скрины с ПК, но на малине все идентично):

CONFIG > RETROARCH


Ставим PlayStation 3 XrossMediaBar меню:

[RETROARCH] SETTINGS > DRIVER

Menu Driver > xmb


Можно сразу сохранить настройки ([RETROARCH] CONFIGURATION > Save Current Configuration) и перезайти в настройки RetroArch

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-Игры, Видео

Далее все по аналогии:


Настраиваем графику для всех платформ:


[RETROARCH] SETTINGS > VIDEO

Aspect Ratio - 4:3 («растягиваем экран» для всех эмуляторов до 4:3)

Bilinear Filtering - Off (превращаем мутную дичь в кошерные квадратные пиксели)


Настраиваем горячии клавиши для сохранения\загрузки игры, перемотки, ускорения\замедления и т.д.

[RETROARCH] SETTINGS > INPUT

Input Hotkey Binds


Чтобы можно было отматывать назад игровой процесс — надо включить Rewind Enable:

[RETROARCH] SETTINGS > Frame Trottle > Rewind

Rewind Enable - On


Если ваш монитор\телевизор 16:9 и вас смущают черные рамки - их можно перекрыть оверлеем:

[RETROARCH] SETTINGS > Onscreen Display > Onscreen Overlay > Overlay Preset (выбираем понравившийся, или рисуем свой)

Overlay Opacity - 1.00 (убираем прозрачность оверлея)

Onscreen Notification > Notification X Position - 0.200 (смещаем вправо, чтобы оповещения не перекрывались рамкой)


И мое любимое. Включаем ачивки:

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-Игры, Видео

Регистрируемся на сайте Retroachievements и вводим логин\пароль в меню

[RETROARCH] SETTINGS > Achivements

Enable Achivements - On


Hardcore Mode - On (если включено - не будут работать перемотки, сохранения и пр., но к ачивкам будет добавлена метка хардкорной)


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


Основные настройки сделаны, сохраняем, выходим:

[RETROARCH] CONFIGURATION > Save Current Configuration

Готово.

Игры можно закидывать с любой флешки, или напрямую по сети WiFi. Для этого включаем SSH и перезагружаем малину:


CONFIG > RASPI-CONFIG

(5) Interfacing options > SSH > Enable

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-Игры, Видео

Садимся за ПК, качаем WinSCP, запускаем и подключаемся к raspberry:

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-Игры, Видео

Host name: retropie (можно подключаться по IP)

User name: pi (по умолчанию)

Password: raspberry (по умолчанию)


Сейчас нас интересуют две директории:

home/pi/RetroPie/roms — сюда кидаем ROMы (поддерживаются папки, большинством эмуляторов поддерживаются архивы)

opt/RetroPie/configs — здесь хранятся все настройки


Например, все настройки выше можно было сделаать правками в файле:

/opt/retropie/configs/all/retroarch.cfg (Либо через CONFIGURATION EDITOR :)


А игры для "dendy" нужно кидать в папку:

home/pi/RetroPie/roms/nes

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-Игры, Видео

Закидываем игры в соответствующую папку, перезагружаем raspberry.


Еще можно подгрузить обложки и описания игр. Жмем Start в основном меню:

[MAIN MENU] SCRAPER > SCRAPE NOW (выставляем нужные настройки сканирования) > START


Ждем окончания сканирования, наслаждаемся игрой!


Для тех, кому и этого мало, мы сделаем еще пару настроек:


Отключаем runcommand меню (плашка настроек при запуске игры). Находим файл:

/opt/retropie/configs/all/runcommand.cfg


Исправляем пункт disable_menu на:

disable_menu = "1"

Поставим бодрое видео на загрузку приставки. Для этого кидаем .mp4 по пути:

/home/pi/RetroPie/splashscreens


Выбираем его:

CONFIG > SPLASH SCREENS

(1) Choose splashscreen > (2) Own/Extra splashscreens (from /home/pi/RetroPie/splashscreens)


Правим файл:

/opt/retropie/configs/all/autostart.sh


Так:

while pgrep omxplayer >/dev/null; do sleep 1; done
emulationstation #auto

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


Загрузим пару скринсейверов на простой приставки.

Создаем папку и кидаем в нее .mp4 видео:

/home/pi/RetroPie/screensavers


Открываем файл:

/opt/retropie/configs/all/emulationstation/gamelists/retropie/gamelist.xml


Сразу после тега <gameList> добавляем пути к видео:

<game>
<path />
<video>/home/pi/RetroPie/screensavers/screensaver_1.mp4</video>
<path />
<video>/home/pi/RetroPie/screensavers/screensaver_2.mp4</video>
</game>

В меню жмем Start:

[MAIN MENU] UI SETTINGS > SCREENSAVER SETTINGS > SCREENSAVER BEHAVIOR - RANDOM VIDEO


В зависимости от версии RetroPie правка файла gamelist.xml в папке retropie может не сработать — тогда добавьте пути в геймлист любого из эмуляторов.


По умолчанию проигрываются видео-превью игр, потому приходится так «изголяться» (на превью всех игр никакой памяти не хватит).


Для следующих настроек нужен терминал. Получаем root.


Жмем Ctrl+P в окне WinSCP (либо просто открываем Pitty). Он коннектится и запрашивает пароль:

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-Игры, Видео

Набираем raspberry (набора не видно), жмем Enter (Enter нажимаем после каждой команды).


Набираем:

sudo nano /etc/ssh/sshd_config

Листаем стрелками до строки:

PermitRootLogin without-password

Вторая часть может отличаться, а строка вообще быть закомментирована.


Меняем на:

PermitRootLogin yes

Нажимаем Ctrl+x, подтверждаем сохранение (жмем Y и Enter)


Набираем:

sudo passwd root

И дважды вводим пароль для root доступа.


После ввода всех команд окно будет выглядеть примерно так:

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-Игры, Видео

Перезагружаем малину.


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


Заходим под root доступом через WinSCP:

/boot/cmdline.txt


Меняем console=tty1 на console=tty3 (перенаправляем сообщения). Добавляем loglevel=3 (скрываем не критические). В конец добавляем logo.nologo, чтобы скрыть логотип Raspberry Pi.


Содержимое файла:

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty3 root=PARTUUID=f2d3cb4f-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait loglevel=3 consoleblank=0 plymouth.enable=0 logo.nologo

Еще можно скрыть пункт CONFIG в меню. Комментируем блок retropie в файле:

/etc/emulationstation/es_systems.cfg

Игровая ретро приставка на raspberry pi Длиннопост, Сборка, Своими руками, Raspberry pi, Игры, Ретро-Игры, Видео

Раз уж на то пошло, не забудьте включить UI MODE - Kiosk в основном меню)


Снятый на шакала видос прилагается:

Ну и напоследок:

* Залил на DropBox несколько оверлеев и шаблонов (чтобы можно было отрисовать свои)

* Ультимативный гайд по RetroPie на английском. Там же лежат конфиги на большинство известных геймпадов.

* Сначала берутся настройки из папок по пути /opt/retropie/configs/all потом из /opt/retropie/configs (т.е. если настройки джойстика на конкретной платформе не устраивают — кидаем файл с новыми по второму пути)

* BIOSы для ознакомления там же на DropBox (загружаем сюда: /home/pi/RetroPie/BIOS) — не все игры идут с универсальными.

* Вместо того, чтобы собирать кучу ROMов с разных сайтов, как делал я — проще скачать готовый образ сами знаете откуда и вытянуть оттуда ROMы (вместе с геймлистами и обложками) через Linux Reader (или вообще залить готовый образ — обновиться можно через меню CONFIG)

* Аркадные игры желательно качать под определенную версию оболочки. Если эмулировать будем с помощью lr-mame 3003 — игры качаем под MAME 0.78


На этом можно и закончить (данного гайда достаточно для понимания «что где лежит» и «что за что отвечает»). В следующий раз мы разберемся с XBOXDRV и установим Street Of Rage Remake на вашу приставку. Спасибо за ваше время.

Найдены дубликаты

Вы смотрите срез комментариев. Показать все
0

@aviaanime, зацени, прям как по твоему заказу.

раскрыть ветку 2
0

Пасиб, да, как изначально идея была.
А щас концепция на кардинальном пересмотрении.
И зря про банано пи исключил из "эпопеи".

раскрыть ветку 1
0

и так слишком длинно.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку
Похожие посты
31

Акриловый декупаж и ретрогейминг часть 3

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

Акриловый декупаж и ретрогейминг часть 3 Картина, Хобби, Mortal Kombat, Игры, Ретро-Игры, Своими руками, Длиннопост
Акриловый декупаж и ретрогейминг часть 3 Картина, Хобби, Mortal Kombat, Игры, Ретро-Игры, Своими руками, Длиннопост
Акриловый декупаж и ретрогейминг часть 3 Картина, Хобби, Mortal Kombat, Игры, Ретро-Игры, Своими руками, Длиннопост
Акриловый декупаж и ретрогейминг часть 3 Картина, Хобби, Mortal Kombat, Игры, Ретро-Игры, Своими руками, Длиннопост
Акриловый декупаж и ретрогейминг часть 3 Картина, Хобби, Mortal Kombat, Игры, Ретро-Игры, Своими руками, Длиннопост
Акриловый декупаж и ретрогейминг часть 3 Картина, Хобби, Mortal Kombat, Игры, Ретро-Игры, Своими руками, Длиннопост
Акриловый декупаж и ретрогейминг часть 3 Картина, Хобби, Mortal Kombat, Игры, Ретро-Игры, Своими руками, Длиннопост
Показать полностью 6
119

Аркадный автомат своими руками

Вот такая штука получилась за несколько месяцев неспешной работы

Аркадный автомат своими руками Ретро-Игры, Своими руками, Аркада, Длиннопост

Все начиналось с того, что у меня остался лишний монитор

Аркадный автомат своими руками Ретро-Игры, Своими руками, Аркада, Длиннопост

Затем на ибее я нашел комплекты для аркадных геймпадов

Аркадный автомат своими руками Ретро-Игры, Своими руками, Аркада, Длиннопост

Набросал эскиз, распили ДСП и понеслось

Аркадный автомат своими руками Ретро-Игры, Своими руками, Аркада, Длиннопост

Наскреб железа на комп, все собрал, подключил

Аркадный автомат своими руками Ретро-Игры, Своими руками, Аркада, Длиннопост

В конце облагородил наклейками

Аркадный автомат своими руками Ретро-Игры, Своими руками, Аркада, Длиннопост

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

Показать полностью 5
173

Самоуправляемый ГАЗ66 Monster Truck 1/16

Пикабу, привет!


Хочу рассказать вам о том, как я делал и сделал самоуправляему машинку)

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


Те места, где было что фоткать, с фотками. Там, где про софт — скорее всего без фото)


Это будет действительно история в формате повествования, как я рассказывал бы вам за чашкой кофе) Это не про bash команды, python скрипты, и вот это вот всё)


Начнём с фотки и видео того, что получилось, и дальше вся история под катом

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

История пройдет по такому сценарию


Почему я этого захотел

Как устроена самоуправляемая машина (взгляд сверху)

Эпоха 1 — Gelendwagen из детского мира + Raspberry Pi Zero W + камера

Эпоха 2 — ГАЗ66 + NVIDIA Jetson Nano + Камера для RaspberryPi

Эпоха 3 — Remo Hobby SMAX

Эпоха 4 — Соединение SMAX и ГАЗ66

Эпоха 5 — Монтирование компонентов на монстр траке

Эпоха 6 — Установка Donkey Car и окружения

Эпоха 7 — Сборка трассы, поездки

Эпоха 8 — Поездки с джойстика

Эпоха 9 — Обучение нейронки

Эпоха 9 — Всё работает, наконец-то!

Что дальше?

Вызов на батл

Сообщество

Образ sd карты моей машинки


Наливайте кофе, мы выезжаем!


Почему я этого захотел


Всё началось с того, что я фрустрировал с того, что в одной большой IT компании России делают очень классные беспилотники, это невероятно круто, а я не у дел)

Не, ну правда, это же так круто — самоуправляемые тачки) Отличный сплав из механики и алгоритмов)

Фрустрация продолжалась до тех пора, пока я не соединил у себя в голове разные факты о себе, а именно:


- я умею писать на питоне

- я (примерно) понимаю как работает машинное обучение

- я знаю, как работать с линуксом в консольке

- я провел детство с паяльником

- у меня есть целая коробка с diy компонентами (raspberry pi, arduino, сенсоры, и т.д.)


Когда всё в голове сложилось, я решил — self drirving car (sdc) быть!

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


Как устроена самоуправляемая машина (взгляд сверху)


Для того, чтобы машина поехала сама, ей нужно четыре компонента — тележка, сенсоры, компьютер, алгоритм.


Давайте разберемся:

Тележка

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

Здесь есть две условных когорты машинок, которые я назвал для себя так — машинки из детского мира, и машинки для хобби.

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

Машинки из мира хобби — то, что вам нужно. У них мощные двигатели, хорошие батареи, сервоприводы на передних колесах для поворотов. Считайте, что это порог входа. Самое дешевое и нормальное, что мне удалось найти — Remo Hobby SMAX.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Сенсоры

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

Базово, джентельменский набор для SDC такой:

— Камера. Основа основ SDC. Смотрит на кусок пространства перед собой, передает изображение компьютеру, который распознает происходящее, и решает, что делать. Кажется, что я не встречал реализаций SDC без камеры.

— IMU сенсор. Штука, показывающая ускорение и угол наклона по осям. Помогает понимать, куда мы, собственно, едем, и как изменилось наше местоположение относительно точки старта. Используется почти во всех коптерах.

— Лидар. Одновременно и простая и сложная штука, которая стреляет лазером вокруг себя, измеряет время возвращения луча, и понимает расстояние до границы пространства. Лидары бывают дорогими, как в настоящих SDC, и довольно дешевыми, как в вашем роботе пылесосе. Для сравнения, лидар из пылесоса стоит 75$, тогда как лидар для большой SDC от Velodyne нагуглился мне за 4K$. Такая разница в цене объясняется тем, что дорогие лидары строят 3D картинку, тогда как пылесосный лидар находит просто границы комнаты в 2D.

— GPS. Не используется в маленьких машинках, так как слишком большая погрешность измерения на маленьких расстояниях, но о нем стоит сказать, так как в больших SDC активно используется.

— Камера глубины. Работает примерно как смесь лидара и камеры — получает картинку с точками, и расстоянием до них. Позволяет строить 3D карту видимой области.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Компьютер

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

В мире компьютеров для встраиваемой электроники правят бал энергоэффективные ARM процессоры (как в вашем телефоне), и одноплатные компьютеры на их основе.

На сегодня есть два самых популярных варианта одноплатников — RaspberryPi и NVIDIA Jetson.

RaspberryPi отличается меньшей ценой, бОльшим количеством разнообразных проектов, бОльшим сообществом.

NVIDIA отличается бОльшей ценой, меньшим количество проектов, но при этом бОльшей производительностью в задачах машинного обучению. Имеет на борту 128 CUDA ядер (как в вашей большей NVIDIA видеокарте), которые используются для ускорения алгоритмов машинного обучения.

В моей коллекции есть три штуки Raspberry Pi (ZeroW, 3, 4) и NVIDIA Jetson Nano. Машинку я решил собирать, конечно же, на Jetson.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Алгоритм

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

Если вы хотите освежить, как работает нейросеть, то предлагаю вам посмотреть вот такое видео — www.youtube.com/watch?v=RJCIYBAAiEI

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


Если очень высокоуровнено, то это всё.

Остается только:

— собрать тележку

— повесить сенсоры

— подключить компьютер

— нарисовать разметку

— поездить по ней

— обучить нейросеть

— поехать


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


Эпоха 1 — Gelendwagen из детского мира + Raspberry Pi Zero W + камера


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

Окей, подумал я, гелик есть, теперь нужен компьютер и сенсор. Подумано — сделано. Заказал RPi Zero W и камеру для неё. Пока ждал компьютер и камеру, зашел, купил для этого дела пауэрбанк.

Итак, всё на месте, пора собирать. Нашел вот такой проект, решил идти по нему - https://becominghuman.ai/building-self-driving-rc-car-series...
Разобрал гелик, вытащил его родные мозги, перекинул их на контроллер двигателя, его, в свою очередь, перекинул на RPi, к ней подключил камеру, запитал всё это дело пауэрбанком, остался доволен.


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

Тут-то меня и ждала пара провалов.

Первый — Raspberry Pi Zero W очень слабая в плане производительности.

Второй — Проходимость гелика из детского мира почти никакая, его останавливало почти любое минимальное препятствие.

Уже сейчас стало понятно, что проект мертворожденный, но ради интереса я попробовал собрать для Raspberry Pi Zero компьютерное зрение (OpenCV) прямо на ней же. Это заняло, без шуток, больше суток, и стало последним гвоздем в крышку гроба этой реализации SDC.

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


Получилось довольно смешно

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Эпоха 2 — ГАЗ66 + NVIDIA Jetson Nano + Камера для RaspberryPi


Итак, на этом моменте стало понятно, что нужно какая-то более проходимая машина, и желательно, грузовик, чтобы положить в кузов все компоненты. После штудирования одного сервиса по подбору товаров, стало понятно, что мне подходит модель нашего родного ГАЗ66, он же шишига в народе. Окей, заказал, жду, пора думать про компьютер. К этому моменту NVIDIA как раз готовила старт продаж своих Jetson Nano, и я оформил заказ в первый день продаж.

Приехал грузовик, я продолжал ждать Jetson, в нетерпении катался на шишиге по дому, катал котят, которых родила кошка, упомянутая выше. Не сказать, что котятам нравилось — пришлось перестать.

Тем временем, Jetson еще ехал, а я заказал из Китая пылесосный лидар — пока не знал, как конкретно буду его применять, но понимал, что хочу.

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

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

Подключил камеру, контроллер двигателя, поворотный двигатель, двигатель газ/тормоз, завел питоновские скрипты для теста — снова облом!

В этот раз история такая — у шишиги для поворота используется обычный двигатель, не сервопривод. А значит, у него нет обратной связи. А значит, я не могу им упрвлять точно, а значит, он не подходит для SDC.

Штош, снова нужно как-то это решать, что-то делать. Переходим к следующей эпохе.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Эпоха 3 — Remo Hobby SMAX


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

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

Приехал домой, достал шишигу, скинул всё с неё, сел подключать к SMAX. И что, как вы думаете? Правильно — снова неудача!

Базово, RC машинки устроены так, что двигатель подключается к контроллеру двигателя, а тот, в свою очередь, подключается к радио модулю, который общается с пультом. И вот именно SMAX устроен так, что там контроллер двигателя и радио модуль были объединены — у меня буквально не было возможности подключиться к контроллеру двигателя вместо радио модуля.

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

Заказываю, привозят, собираю всё заново — работает, но только повороты. А газ и реверс нет! Да что, блин, такое, думая я, но продолжаю ковыряться.

В этот раз не работало то, что, оказывается, для того, чтобы двигатель SMAX проснулся, пульт должен прислать ему определенное значение (360) через радиомодуль. Но я об этом не знал, и вводил значения непосредственно для газа тормоза. А двигатель не реагировал, исходя из логики, что никто его не просил просыпаться.

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

Сначала я перебирал по 100 — мимо. Потом по 50 — мимо. И вот когда дошел до перебора по 10, на 360 услышал какой-то приветственный писк — ура! Работает!

Потестил из консоли газ/реверс/лево/право, все работает. Вот это огонь, вот это я программист =)

Кажется, пора собирать, но есть проблема — положить компоненты совершенно некуда. RC машинки устроены так, что их верх — весьма условная вещь. Во первых, верх состоит из очень тонкогоо пластика, во вторых, он изображает из себя джип, и типа просто некуда всё положить.

В этот момент я решил поискать, а как, собственно, это делают другие.

Нашел проект donkey car, в котором есть всё под ключ, чтобы собрать свою SDC — и Hardware примеры, и Software фреймворк. Казалось бы, круто, бери и пользуйся, но, есть нюансы:

— они печатают верх машины на 3D принтере, и машину оно потом напоминает очень отдаленно. некрасиво, короче, не эстетично

— их 3D модели совместимы с такими машинами, которые у нас не продаются

Окей, запомним Donkey Car, возьмем потом их Software фреймворк, но пока надоо думать про hardware.

В какой-то день, крутя в своей кваритре головой, я посмотрел на разобранную шишигу, на SMAX без верхней части, и подумал — хммм, а они, кажется, одного масштаба (1/16). Взял шишигу, взял SMAX, просто на глазок приложил одно к другому — и правда, подходит! И выглядит круто! Штош, надо делать! Переходим к следующей эпохе.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Эпоха 4 — Соединение SMAX и ГАЗ66


Итак, на старте этой эпохи у меня есть внутренний таргет — соединить верх от одной машины с низом от другой. Так как мы с коллегами скинулись на 3D принтер, и я являюсь его совладельцем (серьезный инвестор), то было решено нарисовать соединение в CAD программе, распечатать, и таким образом их соединить.

С этой идеей я ходил около 2 месяцев, думая, что вот-вот сяду разбираться в CAD системах. Лол, нет. Признавшись себе в том, что я не хочу разбираться в CAD системах, я стал думать, какие еще есть варианты.

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

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

Начал делать. Провел не один день с детским гаечным ключом, гайками, и пространственным мышлением.

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

Спустя примерно три переделки и три дня я увидел перед собой этот монстр трак — ГАЗ66 SMAX Edition by Beslan.

Итак, кажется, hardware база готова, переходим к следующей эпохе.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Эпоха 5 — Монтирование компонентов на монстр траке


Наконец-то:

— у меня есть тележка с хорошими компонентами

— у меня эстетичный и вместительный верх

— на этой тележке нормально работают газ/тормоз/повороты

— верх и низ даже соединены вместе =)


Пора монтировать на этой красоте компоненты.

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


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

Помимо Jetson, в кузове поселились:

— пауэрбанк для питания компьютера (пожертвовал свой основной, классный, с usb power delivery, чтобы jetson не проваливался по питанию)

— PCA9685 (ШИМ контроллер) для управления двигателями

— батарея для питания двигателя машины


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

По приколу подключил родные фары от ГАЗ66, чтобы было красивее и увереннее в темноте.


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

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Эпоха 6 — Установка Donkey Car и окружения


Благо, на прошлых этапах я нашел проект Donkey Car, и он очень упростил мне жизнь, избавим меня от написания всего самостоятельно. Говоря по простому, DonkeyCar, это фреймворк, в котором уже есть все, что нужно для SDC. И у них даже есть гайды по тому, как ставить софт. Но, как это обычно бывает с OpenSource — гайды устарели, и моментами противоречят друг другу.

Штош, придется разбираться. Для нормальной работы фреймворка нужны следующие библиотеки:

— OpenCV

— tensorflow-gpu (gpu именно для jetson, ибо есть cuda ядра. для rpi там tensorflow-lite)

— tensorrt (библиотека для ускорения инференса нейронок)

— и все то, что ставится автоматически исходя из списка окружения


Начнем с OpenCV.

В гайде DonkeyCar сказано, что его нужно собрать самом из исходников, ибо для ARM нет OpenCV в pip-е. Я это даже проделал, скомпилял OpenСV, но перед установкой решил проверить, вдруг в системе есть старая версия OpenCV, и ее надо снести. Позвал питон, заимпортил cv2, спросил версию, а она бац, и актуально. Быстренько поискал, и узнал, что оказывается, в последние версии linux4tegra (который в jetson) ребята из NVIDIA стали класть OpenCV. Круто, мне меньше дел. Молодец, что смог сам скомпилять)


Дальше, tensorflow-gpu.

В гайде DonkeyCar указана, во первых, устаревшая ветка версий (1.xx), во вторых, даже не последняя версия из устаревших. Я решил их не слушать, и поставить последнюю актуальную версию (2.0).


Следующий шаг — tensorrt

Гайд по установке tensrort на jetson написан отдельной вики страницей, и по ней понятно, что автор не читал основной гайд =) Ибо в гайде по tensorrt переназначаются переменные окружения, и перестает работать OpenCV. Я покрутил это и так и этак, откатил всё назад, и решил забить на окружения и переменные окружения — вкатил прямо в основное окружение.


Довольный собой открыл питон, по очереди позвал cv2, tensorflow, tensorrt, и потом спросил у питона их версии — они все заимпортились, все показали актуальные версии. Круто!

Процесс установки самого donkey car довольно простой, не буду описывать, предлагаю почитать их гайд. Единственное, что отмечу сейчас — в конфиге donkey car можно повысить разрешение картинки с 86х86 для RPi до 224х224 для Jetson (ибо больше производительности и так будет выше точность).


Итак, все готово, время запускать и тестировать!


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


Еще пришлось откалибровал значения, подаваемые на ШИМ (PCA9685), чтобы найти полный ход вперед, полный назад, максимальные повороты в стороны.

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


Круто, пора переходить к подготовке трассы!


Эпоха 7 — Сборка трассы, поездки


Алгоритм Donkey Car так устроен, что там нейронка, обучаемая учителем. А это значит, что трекается картинка с камеры, и рядоом с каждой картинкой появляется json файл, в которой пишется имя картинки, ускорение, поворот, timestamp. И для того, чтобы обучить нейронку, таких пар «картинка + json» нужно минимум 5К.

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

Окей, решил собирать в одной комнате. Купил 4 рулона малярного скотча, и наклеил им по полу трассу.

Поставил машинку, запустил, поехал, и снова провал — оказывается, одна комната слишком маленькая, и моя машинка банально не входит в поворорты. Точнее входит, но на такой скорости, что будет стыдно потом =)


Штош, надо делать вторую итерацию, и нужно большое помещение. Выбор пал на офис — места много, полы однотонные, открыто 24Х7. Проблема только в том, что ночью работают уборщики, и трассу нужно будет убрать. То есть, надо сделать все в один заход — поездить руками, чтобы быть учителем, обучить модель, закинуть обратно в машинку, и поехать уже без управления руками.


Окей, день Х, после ивента про А/Б эксперименты решено остаться в офисе, и делать трассу.

Место выбрано, скотч готов, команда строителей трассы в игре. Буквально час, и в коридоре офиса появляется отличная трасса.

Ставлю машинку, включаю, пробую ездить — ура, в повороты входит, и скорость пришлось ограничить всего до 80%.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Эпоха 8 — Поездки с джойстика


Итак, у меня есть трасса, есть машина, и мне нужно 5К пар картника+json.

Опытным путем я выяснил, что один круг моей трассы, это 250 пар фотка+json, а это значит, что мне нужно отъездить минимум 20 кругов.

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


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

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


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

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

Хм, значит нужно как-то объединить телефон и джойстик. Окей, у меня есть читалка, она достаточно большая, на ней поместится и телефон и джойстик — подойдет. Взял скотч, и примотал скотчем к читалке телефон, а чуть ниже джойстик. Смотрел на это чудо, и думал — что ты такое, вообще)

Но, сработало) С этой штукой мне удалось отъездить 20 кругов. А на саомм деле, даже 25, ибо я вошел во вкус где-то к 15 кругу))

Такс, готово, у меня есть датасет для обучения нейронки, пора обучать!


Эпоха 9 — Обучение нейронки


В этот момент у меня есть машинка, трасса, датасет — да я в одном шаге от результата!

Дома крутился PC на холостом ходу, с NVIDIA RTX 2070, на котором я и планировал обучаться. Благо, для умного дома у меня есть внешний IP, и нужно было всего лишь прокинуть 22 порт из интернета на PC. Хорошо, что нашлись помощники, которые сделали это для меня, пока я был в офисе.

Итак, захожу по ssh на комп с убунтой, монитирую домашную папку по sshfs, закидываю файлы. Казалось бы, всего 40 мегабайт, но это длилось около 30 минут. Так вышло, я так понимаю, потому, что их было очень много.

Файлы на компе, tensorflow-gpu установлен, софт от DonkeyCar установлен, пора обучать.

Зову скрипт от DonkeyCar для обучения нейронки, указываю ему на папки с датасетом — побежало.

Пока нейронка бегает, nvtop (монитор загрузки видеокарты) показывает 1406% утилизации, обычный htop показывает 100% загрузки cpu по всем 16 ядрам, дело идет)

Спустя каких-то 20 минут у меня есть обученная модель для управления тачкой. Казалось бы, бери, пользуйся. Но нет)

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

А это значит, что мне нужно:

— зафризить модель (упаковать всё нужно для модели в один файл)

— сконвертировать результат фриза в пригодный для tensorrt формат


Пытаюсь зафризить модель, зову скрипт от DonkeyCar, неудача. А тем временем, дело к ночи, скоро уборщики демонтируют мою трассу, мне нужно быстро.

Родилась гипотеза, что это потому, что я взял не тот tensorflow, что был у DonkeyCar. Окей, сношу tensorflow 2.0, ставлю 1.15, пробую еще раз — успех, ура!


Теперь конвертация, и снова расстройство — команда не найдена. Окей, отправляюсь искать, в чем дело. Оказалось, NVIDIA пометили эту функцию как устаревшую, и оторвали поддержку. Теперь, мол, нужно конвертировать руками. Благо, я нашел гит репо, где был аналогичный запрос, и пользователь нашел то место, где лежит собственно питоновский скрипт, который конвертирует модели.

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

Окей, зову второй питон. Он мне говорит — у меня нет tensorflow. Хорошо, прошу его поставить tensorflow-gpu 1.15, а он мне говорит, что такой версии нет, есть только 1.14. Ладно, соглашаюсь я, давай рискнем, и поставим разные версии в разные питон окружения. Поставил tensorflow во второй питон, позвал конвертацию — ура, сработало!


Штош, у меня есть модели для tensorrt и для обычного tensorflow-gpu, закидываю в машинку.


Запускаю машинку с моделью для tensorrt, огромный трейсбек ошибки, время давит — окей, попробую обычную модель.

Запускаю обычную, снова ошибка, но на этот раз довольно четкая — ваш размер картинки 224X224, тогда как ожидается 86X86. Помните, где-то сильно выше я писал о том, что правил конфиг, менял разрешение картинки с камеры?

Так вот, на машинке я поправил, а на хост компьютере нет.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

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

Запускаю машинку с моделью для tensorrt, и…


Эпоха 10 — Всё работает, наконец-то!


Ура! Моя машинка поехала! Сама, без меня. Очень круто. Я невероятно рад)

Почти год я всё это делал, и вот)


Что дальше?


На дальнейшее развитие есть ряд планов, пойду от простого к сложному

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

— Перевести логику на поездки не по трассе, а просто ездить, объезжая препятствия

— Добавить лидар и учитывать показания с него


Вызов на батл


Если вы сам, или с компанией друзей, чувствуете, что хотите гонок, то пишите мне, давайте устроим соревнования =)


Сообщество


Еще я собрал чатик по интересам, и готовлю канал. Я не уверен, что по правилам пикабу так можно, так что пришлю в личку по запросу


Образ sd карты моей машинки


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

Показать полностью 11 1
903

Полоумное зеркало (Smart Mirror)

Да, да, это очередное "умное" зеркало, в домашних условиях. Но иногда охота также поделиться с людьми, что можно сделать своими руками без особого труда используя один пост с "гайдом". Прошу не судить строго я не пропагандирую все делать в точности как у меня, и можно говорить, что все не правильно и "Широкую на широкую!!!", но у меня все работает и вроде без сбоев.


Общие положения (типа все по ГОСТу)


Для тех кто не знает - "Умное" зеркало, это полупрозрачное зеркало с установленым дисплеем на обратной стороне. Помимо отражения оно выводит информацию о времени, погоде, праздниках, фазе луны или курсе  доллара. Я не нашел более менее нормального описания (русскоязычного), как можно просто взять все необходимое и собрать подобное зеркало без гуглежа дополнительной информации (хотя он все-равно будет), поэтому решил поделиться своим вариантом. Может кому пригодится. Так как я его делал первый раз, естественно были ошибки про которые нигде толком не пишут, поэтому я буду вводить коррективы в данную сборку.


Итак... Для сборки нам необходимы:

1 Брус (у меня 50х50х3000)

2 Стекло

3 Светоотражающая тонировка

4 Грунтовка

5 Шпатлевка по дереву

6 Малярный скотч (для покраски)

7 Жидкие гвозди

8 Дисплей

9 Скалер

10 Raspberry Pi

11 Ткань Блэкаут

12 Блокипитания для скалера и малины, а также кабель HDMI

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало

КОРПУС

Корпус хотелось сделать не обычным, не как большинство вариантов, которые были в сети (эти окна со створками). Хотелось тонкий корпус и обрамление, а также крепкую конструкцию, поэтому пришел к данному виду:

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало

В дело пошел простой брус 50х50мм. из строительного магазина, по пути домой зашел в местный мебельный магазин, с цехом производства и напилил рамки.

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало

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

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало

ЗЕРКАЛО

Как уже понятно обычное зеркало нам не подойдет. По сути есть два основных типа зеркала: это зеркало «Гезелла», и светоотражающая тонировка (автомобильная или архитектурная) на стекле. У нас в России существует несколько заводов, где можно заказать зеркало «Гезелла», и 90% в Москве (vetra-steklo.ru, zerkala-stekla.ru) и СПб (mirrorglass.ru, steklaspb.ru), но если ты живешь в «мухосранске» как я), то оно становится золотым (за 900х400мм у меня выходит не меньше 6000р. с доставкой). Хотя в будущем понимаешь, что лучше переплатить.


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


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

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало

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

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало

RASPBERRY PI

Мозгом выбрал стандартную малину (Raspberry Pi 3 B), жирновато для зеркала, но я брал на будущее, для автоматизации дома. Брал отсюда.

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало

Систему ставил Raspbian. Скачал на официальном сайте здесь. Флешку форматировал программой SD Card Formatter (если что, информация на флешке удалится). После установил ОС на флешку с помощью Win32DiskImager (выбираем карту и образ Raspbian, и жмем старт). Далее после полной установке, вставляем флешку в малину и подключаем сторонний монитор и клаву с мышкой. Включаем малину в сеть и ждем загрузку ОС. В качестве оболочки зеркала, я использовал Magic Mirror2 (спасибо Michael Teeuw) с сайта Github. Она довольно проста в использовании и постоянно модернизируется.


Для ее установки требуется зайти в терминал малины (Пуск> Терминал, либо Ctrl+Alt+T) и выполнить несколько команд:


1 Установить последнюю версию Node.js:

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

sudo apt install -y nodejsgit clone https://github.com/MichMich/MagicMirror

2 Клонировать папку из репозитория MagicMirror

git clone https://github.com/MichMich/MagicMirror

3 Войти в папку MagicMirror

cd MagicMirror/

4 Установить приложение MagicMirror (установка долгая, минут 30)

npm install && npm start

либо server only

npm install && node serveronly

Далее начинается творческая деятельность. Копируем файл config.js.sample в папке config проэкта и вставляем сюда же с названием config.js. Открываем его текстовым редактором и начинаем выбирать модули (картинки которые будут высвечиваться зеркале). Для тех кто не знает JavaScript может показаться сложным, но все не так. Все модули начинаются и заканчиваются фигурными скобками после строки modules: [ (соблюдайте отступы)


например часы:

{

module: "clock",

position: "top_right"

},

У всех модулей можно менять расположение на экране строкой: position: "здесь может быть ваша реклама выбираете расположение модуля (top_left, top_right, bottom_left, bottom_right, center и пр.)". Так же у большинства модулей есть дополнительные параметры которые можно изучить на странице MagicMirror.


Со временем стандартные модули начинают надоедать и MagicMirror позволяет устанавливать сторонние модули, например отсюда. просто скачиваешь модуль в папку Modules и корректируешь файл config.js, в соответствии с инструкцией (к сожалению на английском).


После всех корректировок можно проверить как будет выглядеть ваше зеркало выполнив команду в терминале:


npm start

ДИСПЛЕЙ

В качестве монитора я использовал дисплей от старого ноута Asus и скалер с Aliexpress. Скалер подбирается по номеру дисплея (просто вводишь номер в поиск али) подключается очень просто, но шлейф матрицы желательно закрепить скотчем. Скалер без БП, так что пришлось поискать подходящий на 12В.

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало
Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало
Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало
Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало

СБОРКА ВОЕДИНО

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

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало

Под крепление дисплея установил распорку из рейки и уголков. А сам дисплей закрепил деревянными брусками, и местами термоклеем. Скалер и малину закрепил так же на термоклей. Нашел в закромах HDMI кабель и соединил скалер и малину. Подключил питание к ним и запустил зеркало в первый раз. И так как экран повернут на 90 градусов необходимо внести изменения в конфиги малины, но это просто:


Вводим в терминале

sudo nano /boot/config.txt

и в конце вводим необходимую строку

display_rotate=0 Обычный режим


display_rotate=1 90 градусов


display_rotate=2 180 градусов


display_rotate=3 270 градусов

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало

Минусы и что надо переделать:


1 И самое важное, это зеркало. Буду либо заказывать зеркало «Гезелла» либо искать пленку высокого качества.

2 Крепить зеркало буду точечно, для аккуратного размещения в рамке, и ровнять шпатлевкой.

3 Вместо ткани сразу наклею пленку блэкаут.

4 Хотел объединить кабели и вывести розетку наружу, но благо не стал. Буду монтировать все внутри, а на корпус выведу соединитель блока питания.

Остальное оптимизировать по мелочи:

- вкл/выкл малины через кнопку.

- датчик движения уже есть, но временно, так как едет камера вместо него.

- микрофон для голосового ассистента

- есть метеостанция на ардуино, хотел соединить по блютузу, но похоже перекину датчики на малину (кроме уличного)


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

PS.  Прошу прощения за качество)

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало
Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало
Показать полностью 15
575

Умное зеркало на Raspberry pi 4

Всех приветствую.
Несколько месяцев назад наткнулся на очень интересный проект на базе raspberry pi "MagicMirror", решил сделать себе такое зеркало. Мне кажется, что получилось достаточно неплохо. Может кто-то подскажет как ещё можно использовать raspberry pi 4 параллельно с зеркалом чтобы максимально использовать ресурсы компьютера?

Умное зеркало на Raspberry pi 4 Raspberry pi, Своими руками, Зеркало, Самоделки, Arduino, Умный дом

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

65

Моноблок на Raspberry pi //// Часть 3 //// Гомункул из переходников.

Ссылка на предыдущий пост: https://pikabu.ru/story/monoblok_na_raspberry_pi__chast_2__p...
/////////////////////////////////////////////////////////////////
Итак, с матрицей не задалось, пришлось выбрать монитор. Я продал свой старый еле-еле живой смартфон за 500 рублей и вскоре купил вот этого красавца.

Моноблок на Raspberry pi //// Часть 3 //// Гомункул из переходников. Raspberry pi, Retropie, Моноблок, Своими руками, Raspbian, Raspberry, Длиннопост

Почему именно он?
1. Он старый.
С одной стороны это плохо, с другой стороны его работоспособность внушает доверия т.к. за свои 16 лет он не ломался и не вскрывался.
2. Ножка.
Ножка у него полая и толстая, именно туда я запрячу малинку и всю периферию.

Моноблок на Raspberry pi //// Часть 3 //// Гомункул из переходников. Raspberry pi, Retropie, Моноблок, Своими руками, Raspbian, Raspberry, Длиннопост

3. Диагональ и соотношение сторон.
4:3 для ретроигр это то, что нужно, а большая диагональ это всегда хорошо.
/////////////////////////////////////////////////////////////////
А теперь начинается трэшак с подключением этого монитора.
Роль вга кабеля у меня играет маленький обрубок папа-папа. Потом идёт конвертер hdmi-vga и переходник hdmi - mini hdmi.
Такого порно вы ни на одном порнохабе не найдете. Надеюсь, что модератор это не увидит ;)

Моноблок на Raspberry pi //// Часть 3 //// Гомункул из переходников. Raspberry pi, Retropie, Моноблок, Своими руками, Raspbian, Raspberry, Длиннопост

Джойстик у меня как у snes. Скоро куплю 2й такой же.

Моноблок на Raspberry pi //// Часть 3 //// Гомункул из переходников. Raspberry pi, Retropie, Моноблок, Своими руками, Raspbian, Raspberry, Длиннопост

Теперь вся эта конструкция выглядит примерно так:

Моноблок на Raspberry pi //// Часть 3 //// Гомункул из переходников. Raspberry pi, Retropie, Моноблок, Своими руками, Raspbian, Raspberry, Длиннопост

Довольно хлипкая конструкция получилась, но на первое время сойдет

Короче говоря, миссия почти выполнена. Скоро я начну корпусные работы, когда придёт новая плата малинки.

Моноблок на Raspberry pi //// Часть 3 //// Гомункул из переходников. Raspberry pi, Retropie, Моноблок, Своими руками, Raspbian, Raspberry, Длиннопост

Ждите следующих постов! Жду вашей конструктивной критики в комментариях.

Показать полностью 5
281

Моноблок на Raspberry PI ///// Часть 1 ///// Начало /////

Моноблок на Raspberry PI ///// Часть 1 ///// Начало ///// Своими руками, Моноблок, Raspberry pi, Raspbian, Ноутбук, Retropie, Длиннопост

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

Зарядки в комплекте не шло, поэтому проверить его у меня не получилось. Решил разобрать и увидел, что шлейф клавиатуры порван и ответная его часть неизвестно где. Это меня насторожило. Далее я увидел материнку с ужасной пайкой и флюсом везде, где только можно. Дело начало попахивать жареным, а точнее прогревом. Жесткий диск куда-то делся и вместо него стояло великолепное ничего) Зато процессор и ОЗУ остались невредимыми. Матрица на удивление тоже целая. Даже аккумулятор был целым и заряженным.В кармане у меня было всего-ничего 1500 рублей. В итоге я решил сделать моноблок на Raspberry PI Zero для программирования на python, ретро-игр и кино. К сожалению я пока не могу поставить что-то по мощнее, потому что raspberry pi 3/4 стоят в районе 3000 рублей, что полностью лишает меня бюджета на проект. Кишки из ноута тоже пошли в дело. Непонятно как, но я смог обменять их на bluetooth клаву и 500 рублей.

___

За эти деньги я купил:

-Raspberry pi zero. 850 рублей.

-Контроллер матрицы mt6820. 300 рублей

-Шлейф матрицы. 95 рублей

-Переходник mini hdmi-hdmi. 50 рублей

-Конвертер hdmi-vga 135 рублей

-USB hub 95 рублей

-Переходник OTG 30 рублей

-BMS контроллер 100 рублей

-Понижающий преобразователь x2 150 рублей

-Wifi свисток 100 рублей

- SD карта 8gb 250 рублей

___

К моменту создания поста уже пришли Raspberry PI Zero , sd карта, OTG переходник и скалер.

Дополнительно я купил геймпад defender scorpion x7 за 500 рублей. Отличный контроллер за свои деньги. Как же я был разочарован, когда узнал, что он не работает с retropie *facepalm*

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

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

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

Ждите следующего поста)

Показать полностью
1715

Умное зеркало на Raspberry Pi

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


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

Умное зеркало на Raspberry Pi Raspberry pi, Зеркало, Своими руками, Diy Or Die, Умный дом, Работа с деревом, Смарт-Зеркало, Длиннопост

Умное зеркало состоит из: компьютера, монитора и собственно зеркала.


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

Умное зеркало на Raspberry Pi Raspberry pi, Зеркало, Своими руками, Diy Or Die, Умный дом, Работа с деревом, Смарт-Зеркало, Длиннопост

Я решил что заказывать настоящее зеркало - это будет супер невыгодно так как оно стоит как чугунный мост! И альтернатива была найдена - обычная пленка солнцезащитная пленка для фасадов со светопропускаемостью 8-10%. Гуглится очень просто. Светопропускаемость проверял просто приставляя телефон с обратной стороны - как только его перестало быть видно за слоем светоотражающего покрытия, значит дальше смотреть не надо, берем предыдущий. Только клеить придется самому на обычное стекло, но даже если что то испортил то не страшно - они рулонами продаются. Оторвал испорченный и отрезал новый кусок. В итоге получилось вполне достойно.

Умное зеркало на Raspberry Pi Raspberry pi, Зеркало, Своими руками, Diy Or Die, Умный дом, Работа с деревом, Смарт-Зеркало, Длиннопост

Рамка делалась самой примитивной конструкции - просто потому что я не эксперт в работе с деревом :-)

Умное зеркало на Raspberry Pi Raspberry pi, Зеркало, Своими руками, Diy Or Die, Умный дом, Работа с деревом, Смарт-Зеркало, Длиннопост

Компоненты

1) Raspberry Pi 3B - на ней встроенный модуль wifi - 3000р

2) монитор LG 19', кабель vga - 1500р с авито

3) деревянные бруски, клей, пила, шкурка, морилка, тканевый валик, резиновый "шпатель" для разглаживания пленки - 800р

4) обычное стекло нужного размера - 300р тоже на авито. Спасибо пацану!!!

5) пленка 1.5м на 1м - 500р

6) переходник vga-hdmi (потому что монитор vga, а на малине только hdmi) - 300р на авито


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

Показать полностью 4
255

Сборка АлиКастера

Всем привет!

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

Выбор пал на форму Стратокастер, как максимально универсальный вариант. Мало того, решил влепить туда floydrose.

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

Сборка АлиКастера Гитара, Своими руками, Stratocaster, Сборка, Длиннопост

Его и пришлось ждать дольше всего, 37 дней экспорта...

Сборка АлиКастера Гитара, Своими руками, Stratocaster, Сборка, Длиннопост
Сборка АлиКастера Гитара, Своими руками, Stratocaster, Сборка, Длиннопост

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

Сборка АлиКастера Гитара, Своими руками, Stratocaster, Сборка, Длиннопост
Сборка АлиКастера Гитара, Своими руками, Stratocaster, Сборка, Длиннопост

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

Сборка АлиКастера Гитара, Своими руками, Stratocaster, Сборка, Длиннопост
Сборка АлиКастера Гитара, Своими руками, Stratocaster, Сборка, Длиннопост

Как только лак просох, приступил к полировке. Сначала убирал шагрень наждачной бумагой, постепенно повышая зернистость 300-800-1500-2000-2500.

Сборка АлиКастера Гитара, Своими руками, Stratocaster, Сборка, Длиннопост

После придал блеск полиролью

Сборка АлиКастера Гитара, Своими руками, Stratocaster, Сборка, Длиннопост

Процесс пайки не заснял. Но там собственно нет ничего интересного. 2 хамбакера и 1 ручка громкости с отсечкой.

Дальше последовала тривиальная сборка)

Сборка АлиКастера Гитара, Своими руками, Stratocaster, Сборка, Длиннопост

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

В итоге на гитару было потрачено чуть более 12 тысяч рублей.

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

Ну и котик в конце. Котик мой - тег мое)

Сборка АлиКастера Гитара, Своими руками, Stratocaster, Сборка, Длиннопост
Показать полностью 10
240

Аркадная машина своими руками.

Это история о том, как я собрал домашний аркадный автомат.


Видео версия тут: https://www.youtube.com/watch?v=Mzajr-OfHts


Меня всегда интересовала эстетика аркадных залов 80х

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

Аркадная машина своими руками. Аркада, Игровые автоматы, Своими руками, Ретро-Игры, Ретро, Длиннопост

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

Аркадная машина своими руками. Аркада, Игровые автоматы, Своими руками, Ретро-Игры, Ретро, Длиннопост

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


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

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

Аркадная машина своими руками. Аркада, Игровые автоматы, Своими руками, Ретро-Игры, Ретро, Длиннопост

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

Аркадная машина своими руками. Аркада, Игровые автоматы, Своими руками, Ретро-Игры, Ретро, Длиннопост

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


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


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


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

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

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

Аркадная машина своими руками. Аркада, Игровые автоматы, Своими руками, Ретро-Игры, Ретро, Длиннопост
Аркадная машина своими руками. Аркада, Игровые автоматы, Своими руками, Ретро-Игры, Ретро, Длиннопост

Для того, чтобы игры смотрелись аутентично, было решено в качестве дисплея использовать монитор с пропорциями экрана 3 на 4, а для экономии места внутри кабинета - это должен быть жк монитор. Уже тогда такие мониторы встречались нечасто.


Наш экземпляр мы купили на по объявлению.


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

Аркадная машина своими руками. Аркада, Игровые автоматы, Своими руками, Ретро-Игры, Ретро, Длиннопост

Вскоре пришла посылка с запчастями для джойстика.

Аркадная машина своими руками. Аркада, Игровые автоматы, Своими руками, Ретро-Игры, Ретро, Длиннопост

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

Аркадная машина своими руками. Аркада, Игровые автоматы, Своими руками, Ретро-Игры, Ретро, Длиннопост

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


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


Принесли все в гараж и взялись за дело

Аркадная машина своими руками. Аркада, Игровые автоматы, Своими руками, Ретро-Игры, Ретро, Длиннопост

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

В итоге получилось как-то так.

Аркадная машина своими руками. Аркада, Игровые автоматы, Своими руками, Ретро-Игры, Ретро, Длиннопост

После этого при помощи дрели и фрезы мы просверлили отверстия под кнопки и джойстики на передней панели.


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

Аркадная машина своими руками. Аркада, Игровые автоматы, Своими руками, Ретро-Игры, Ретро, Длиннопост

Когда передняя панель была готова, я смонтировал на ней кнопки и стики.

Две отдельные кнопки вывел для того, чтобы назначить на них функцию

Заброса монетки.

Аркадная машина своими руками. Аркада, Игровые автоматы, Своими руками, Ретро-Игры, Ретро, Длиннопост

Все пыльные работы были сделаны и автомат можно было забрать из гаража домой.


После этого у Вити не было времени заниматься этим проектом. Я решил не бросать и довести автомат до ума.


Это затянулось еще на очень долгое время.

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


После этого автомат стоял в таком виде, и я и мои друзья в него с удовольствием играли.

Аркадная машина своими руками. Аркада, Игровые автоматы, Своими руками, Ретро-Игры, Ретро, Длиннопост

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


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


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


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

Аркадная машина своими руками. Аркада, Игровые автоматы, Своими руками, Ретро-Игры, Ретро, Длиннопост

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


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

Аркадная машина своими руками. Аркада, Игровые автоматы, Своими руками, Ретро-Игры, Ретро, Длиннопост

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

Аркадная машина своими руками. Аркада, Игровые автоматы, Своими руками, Ретро-Игры, Ретро, Длиннопост

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


Но оргстекло оказалось найти не так просто и вместо него я использовал поликарбонат. Он прочнее оргстекла и с ним удобнее работать.


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


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

Аркадная машина своими руками. Аркада, Игровые автоматы, Своими руками, Ретро-Игры, Ретро, Длиннопост

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


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


Спасибо за внимание!

Показать полностью 17
359

Энтузиаст воссоздал звуковую карту Sound Blaster 1.0 — рассказываем, чем примечателен проект

На GitHub появился DIY-проект, автор которого провёл reverse engineering звуковой карты 1990-х годов Sound Blaster 1.0. Рассказываем, в чем особенности устройства.

Энтузиаст воссоздал звуковую карту Sound Blaster 1.0 — рассказываем, чем примечателен проект IT, Звуковая карта, Ретро-Игры, Ретротехника, Своими руками, Самоделки, Habr, Электроника, Длиннопост

Фото schlae / CC BY-SA


Проект Snark Barker


Проект со схемой и прошивками для создания клона звуковой карты Sound Blaster (SB) опубликовали под названием Snark Barker. Реплика на 100% совместима со старыми компьютерами, которые поддерживает оригинальное устройство, но построена на современных электронных компонентах.


SB 1.0 выходила в 1990-х годах, а теперь встречается довольно редко, из-за чего на интернет-аукционах её цена может достигать сотен долларов. Проект Snark Barker даёт любителям винтажных компьютеров опробовать когда-то популярное устройство в деле и потратить в разы меньше: самая дорогая часть системы — плата — стоит около $45.


Почему именно Sound Blaster 1.0?


Оригинальную SB 1.0 выпустила в 1989 году компания Creative Technology. Sound Blaster стала не первой аудиокартой для ПК на рынке, но первой, которая объединила поддержку цифрового звука, два различных типа синтеза и MIDI-интерфейс.


В других устройствах за синтез звука отвечали аналоговые осцилляторы с частотной модуляцией волн. В SB 1.0 появился новый способ, за который отвечал контроллер Intel 8051. Для создания цифрового звука использовалась импульсно-кодовая модуляция. При этом карта обеспечивала естественное звучание инструментов.


Благодаря своим достоинствам Sound Blaster 1.0 стала популярной в компьютерах начала 1990-х. Карту поддержала сама Microsoft. В корпорации отмечали, что устройство в наибольшей степени соответствовало стандарту Multimedia PC, который определял рекомендуемую конфигурацию ПК.

Энтузиаст воссоздал звуковую карту Sound Blaster 1.0 — рассказываем, чем примечателен проект IT, Звуковая карта, Ретро-Игры, Ретротехника, Своими руками, Самоделки, Habr, Электроника, Длиннопост

Фото Wdwd / CC BY-SA


О реплике


Автор проекта воспроизвёл все функции оригинальной карты: FM-синтез, поддержку входящих сигналов от компьютера, MIDI-инструментов и микрофонов. Учтены и два способа воспроизведения звука, поддерживаемые оригинальной Sound Blaster.


Принцип действия первого похож на тот, что использовался в устройстве Covox Speech Thing: звук регулировался драйвером, который по очереди отправлял на карту информацию о сэмплах. Во втором случае звуком управлял DMA-контроллер на материнской плате. Он предоставлял аудиокарте прямой доступ к памяти, после чего Sound Blaster с заданной периодичностью получала информацию о сэмплах.


Оригинальная Sound Blaster не имела аналого-цифрового преобразователя. Для записи звука использовался метод последовательного приближения, который реализовывался с помощью сигнального процессора и компаратора. Автор проекта привел на своем сайте соответствующий код.


Разработчик проекта точно воспроизвёл характеристики карты на современных компонентах. В качестве контроллера для обработки звука автор предлагает использовать любой микроконтроллер из семейства 80C51. Оригинальную прошивку для него можно найти в репозитории проекта.


На GitHub выложен список и других компонентов, которые необходимы для реализации реплики SB 1.0, — почти все из них доступны в онлайн-магазинах электроники. Для удобства в таблице указаны номера по каталогу Mouser. Однако одну запчасть — переключатель громкости — приобрести уже нельзя. Его предлагается самостоятельно распечатать на 3D-принтере.


Новость о Snark Barker стала популярной на Hacker News. Комментаторы оценили проект как важный, с культурной и образовательной точки зрения — он помогает познакомить новые поколения людей с историей компьютеров и культурой создания аудиооборудования своими руками. Реплика по характеристикам и звучанию ничем не отличается от оригинала.


Аналогичные проекты


Автор Snark Barker ранее уже делал реплику другой популярной звуковой карты начала 1990-х — AdLib Music Synthesizer Card, более известной как просто AdLib. Устройство в своё время было одним из аналогов SB 1.0, которые поддерживали только аналоговый синтезатор звуков.


По словам инженера, реплика AdLib потребовалась ему для ремонта компьютера серии IBM XT 1980-х годов. Инженеру удалось воссоздать карту по фотографиям и воспроизвести не только функции AdLib, но и её внешний вид. Результат полностью совместим со старыми компьютерами того времени. Код прошивки и фотографии устройства вы можете найти в репозитории GitHub.


Ещё один проект от другого аудиоэнтузиаста был посвящен Gravis Ultrasound (GUS). Карта отличалась от аналогов тем, что она синтезировала звук на основе семплов реальных музыкальных инструментов. Звучание GUS казалось менее искусственным, чем у других карт, и поэтому Gravis Ultrasound пользовалась спросом у музыкантов.


Проект по сборке реплики Gravis Ultrasound стартовал в 2015 году и получил название ARGUS. За два года автору удалось создать работающую копию GUS и начать её продавать.


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


Оригинал статьи: https://habr.com/ru/company/audiomania/blog/442422/

Показать полностью 1
378

Модернизация продольно-строгального станка МЗОР 7210 | Часть 1

Здравствуй уважаемый читатель!

В этом посте рассказ пойдёт о модернизации электрической части продольно-строгального станка МЗОР 7210, 1967 г.в.


Немного о станке и его особенностях.

Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост
Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост

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

Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост

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

Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост

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

Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост

А вот и фото заводского шкафа управления спустя 52 года)

Перед демонтажем успели запечатлеть только силовую сторону шкафа. Так что релейно-ламповая сторона осталась за кадром)

Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост

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

Ну что же, заказчиком решено - модернизации быть!

И вот вырисовывается план и состав изменений:

1) полная замена всей электропроводки по станку новой;

2) замена шкафа автоматики;

3) изменение схемы управления и компонентов привода главного движения.

По 3 пункту были варианты либо оставлять старый двигатель ПБСТ и дружить его с инвертором,

Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост

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

Ну и в итоге было решено.......

Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост

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

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

Итак, поехали:

- Двигатель главного движения 75 кВт 1500 об/мин;

- Частотник 75 кВт + входной фильтр + 2 тормозных прерывателя + 10 тормозных резисторов;

- Автоматика управления, согласно спроектированной новой эл.схемы.


Материалы закуплены и доставлены. Сборка.

1) Шкаф сопротивлений.

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

Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост

Разметка положения компонентов на монтажной панели:

Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост

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

Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост
Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост

Монтаж в процессе:

Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост

И завершение сборки.

Смотка проводов снизу - подготовка к присоединению к частотнику цепи постоянного тока.

На дверце шкафа - преобразователь 220VAC/220VDC со стабилизацией для питания электромуфт и электромагнитов станка.

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

Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост

2) Силовой шкаф.

В его комплектацию вошли: частотник, реактор и вводный автомат.

Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост

Такой вот здоровяк)

Готовим его к долгой и трудной работе.

Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост
Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост
Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост
Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост

Всё разместилось плотно и аккуратно, с соблюдением требований монтажа завода-изготовителя.

Смотка проводов снизу - подготовка к подсоединению к шкафу автоматики.

Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост

Перед упаковыванием

Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост

3) Шкаф автоматики.

Заключительный модуль сборки.

Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост

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

Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост

Начало сборки "начинки":

Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост
Модернизация продольно-строгального станка МЗОР 7210 | Часть 1 Станок, Модернизация, Электромеханик, Автоматика, Сборка, Своими руками, Длиннопост

На этом повествование первой части завершаю, т.к. Пикабу не разрешает прикрепить большее количество фотографий.

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

Благодарю за внимание!

Показать полностью 23
677

Ретро консоль на Raspberry Pi

Привет, пикабу) Зачесалось в одном месте сделать себе ретро консоль для игр nes, snes, sega etc., а заодно и пощупать raspberry pi(тоже очень давно хотелось). Заказал все что надо, три недели ожидания и наконец то все пришло:

1. Два геймпада GameSir G4s

2. Raspberry Pi 3 b+ Kit, который включает в себя:

-сам компьютер

-простой акриловый корпус

-3 радиатора охлаждения

-кулер 5v

-карта micro sd на 32 гига

-usb кардридер

-hdmi кабель

-блок питания 5v 3A

Ретро консоль на Raspberry Pi Raspberry pi, Retropie, Игры, Ретро-Игры, Своими руками, Консоль на raspberry pi, Эмуляторы приставок, Длиннопост
Ретро консоль на Raspberry Pi Raspberry pi, Retropie, Игры, Ретро-Игры, Своими руками, Консоль на raspberry pi, Эмуляторы приставок, Длиннопост

Сборка.

Ничего сложного из себя не представляет. Собирается легко как конструктор.

Клеим радиаторы. На них что то вроде двухстороннего скотча. Прикручиваем плату к днищу, кулер к крышке и собираем весь корпус. Подключаем вентилятор охлаждения к 4 пину(+5v) и к 6 пину(Ground). На правой нижней фотографии видно как он подключен.

Ретро консоль на Raspberry Pi Raspberry pi, Retropie, Игры, Ретро-Игры, Своими руками, Консоль на raspberry pi, Эмуляторы приставок, Длиннопост

На всякий случай вот выводы GPIO:

Ретро консоль на Raspberry Pi Raspberry pi, Retropie, Игры, Ретро-Игры, Своими руками, Консоль на raspberry pi, Эмуляторы приставок, Длиннопост

Установка ОС и Запуск.

Для начала нужно установить на микро сд карту OS. Сначала я выбрал RecalBox. Но при запуске на мониторе был темный экран и значок молнии в правом верхнем углу. При этом на самой плате мигал индикатор питания(pwr), а индикатор обращения к сд карте(act) не подавал никаких признаков. Сперва грешил на комплектный блок питания, но попробовав другие все было тоже самое. После некоторых поисков в интернете на каком то форуме нашел причину: recalbox банально не поддерживает пока что pi 3 model b+. Поэтому решил ставить RetroPie


Устанавливал через balenaEtcher. Все просто, вставляем карту памяти в кардридер, запускаем программу, выбираем наш образ(предварительно распакованный), нашу карту и жмем Flash!. Далее ждем. После завершения процесса карта будет не доступна в системе, вытаскиваем ее и вставляем обратно. Теперь доступна. Т.к. retropie основан на rasbian(а это линукс) и файловая система ext4(вроде бы), то в винде не будет видна основная часть нашей карты. В корень карты нужно закинуть файл wifikeyfile.txt с таким вот содержанием:

ssid="имя вашей WiFi сети"
psk="пароль от нее"

Это что бы сразу подключиться к WiFi сети без клавиатуры и подключится к "малинке" по SSH.

Извлекаем карту памяти из ПК и вставляем ее в Pi. Карта памяти вставляется без щелчка, просто до упора. Никаких защелок там нет. Вытаскивается так же. Подключаем hdmi кабель(у меня монитор vga 19", поэтому я использую переходник hdmi-vga), 3,5 мм аудио джек, контроллеры и питание. Если все сделано правильно, то индикатор pwr на плате должен гореть непрерывно, а индикатор act мигать пока загружается система.


Сперва система предложит настроить наши геймпады. Настраиваем их. Последний пункт "Hotkey Enable" это клавиша, которая будет использоваться для различных комбинаций типа сохранение/загрузка игры и тд. На моих геймпадах есть кнопка Home. Ее я и использую. Вот сами хоткеи:


Hotkey+Start Выход из игры (в EmulationStation)

Hotkey+Left Shoulder Загрузить

Hotkey+Right Shoulder Сохранить

Hotkey+→ Input State Slot Increase

Hotkey+← Input State Slot Decrease

Hotkey+X Вызов меню RetroArch (RGUI Menu)

Hotkey+B Перезапуск игры (Reset)


После этого жмем ОК и попадаем в главное меню со всеми консолями. Но их там нет) Только один пункт с настройками retropie. Это потому что в системе нет еще игр.

Ретро консоль на Raspberry Pi Raspberry pi, Retropie, Игры, Ретро-Игры, Своими руками, Консоль на raspberry pi, Эмуляторы приставок, Длиннопост

Подключаемся к сети. Заходим Retropie - WiFi. Система попросит выбрать страну. Соглашаемся.

Ретро консоль на Raspberry Pi Raspberry pi, Retropie, Игры, Ретро-Игры, Своими руками, Консоль на raspberry pi, Эмуляторы приставок, Длиннопост

Так же эти настройки доступны в RetroPie - Localisation Options


После выбора страны у вас должно открыться такое окно(если нет, то зайдите снова в Retropie - WiFi). Здесь выбираем вариант номер 3 и ждем. В случае успеха у вас появится ip адрес и ssid вашей сети.

Ретро консоль на Raspberry Pi Raspberry pi, Retropie, Игры, Ретро-Игры, Своими руками, Консоль на raspberry pi, Эмуляторы приставок, Длиннопост

Подключились.


Теперь надо включить SSH

CONFIG > RASPI-CONFIG Interfacing options > SSH > Enable

Ретро консоль на Raspberry Pi Raspberry pi, Retropie, Игры, Ретро-Игры, Своими руками, Консоль на raspberry pi, Эмуляторы приставок, Длиннопост

Далее устанавливаем WinSCP. Сразу можно установить терминал Putty. Запускаем WinSCP и вводим


Имя хоста: тут ip адрес вашей малинки. Его можно посмотреть в пункте меню Show Ip.

Имя пользователя: pi

Пароль: raspberry

Ретро консоль на Raspberry Pi Raspberry pi, Retropie, Игры, Ретро-Игры, Своими руками, Консоль на raspberry pi, Эмуляторы приставок, Длиннопост

Можно уже закинуть игры в директорию:

home/pi/RetroPie/roms

Для каждой приставки своя папка. Для денди - nes, для сеги - megadrive  итд. После загрузки нужно перезапустить EmulationStation. Жмем Start, затем Quit-Restart EmulationStation и подтверждаем перезагрузку. После этого игры будут доступны. Но продолжим настраивать дальше..


Нужен root. Получаем root.


Жмем Ctrl+P в окне WinSCP. Он коннектится и запрашивает пароль. При наборе пароля не видно никаких символов.

Ретро консоль на Raspberry Pi Raspberry pi, Retropie, Игры, Ретро-Игры, Своими руками, Консоль на raspberry pi, Эмуляторы приставок, Длиннопост

Вводим эту строку:

sudo nano /etc/ssh/sshd_config

Далее ищем вот эту строку:

PermitRootLogin without-password - yes

И приводим ее к такому виду:

PermitRootLogin yes

Далее жмем Ctrl+X. Затем Y и нажимаем Enter.

Устанавливаем пароль:

sudo passwd root

И дважды вводим пароль для root доступа. Если все правильно, то появится строка

passwd: password updated successfully


Теперь зайдем через WinSCP под root доступом.

Начинаем Новое соединение. Так же вводим ip адрес, имя и пароль. Но нажимаем на кнопку "Еще", слева выбираем из списка "SFTP" и справа в "Параметры протокола - Сервер SFTP" пишем это:

sudo /usr/lib/sftp-server

Нажимаем Ok в этом окне. И Сохранить в окне настроек соединения. Все. Вошли под рутом.

Теперь можно отключить лог загрузки приставки:

Открываем этот файл

/boot/cmdline.txt

Меняем console=tty1 на console=tty3. Добавляем loglevel=3 если этого нет (скрываем не критические). В конец добавляем logo.nologo, чтобы скрыть логотип Raspberry Pi.


Скрыть пункт CONFIG в меню.

Комментируем блок retropie в файле:

/etc/emulationstation/es_systems.cfg
Ретро консоль на Raspberry Pi Raspberry pi, Retropie, Игры, Ретро-Игры, Своими руками, Консоль на raspberry pi, Эмуляторы приставок, Длиннопост

Отключаем runcommand меню.

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

Ретро консоль на Raspberry Pi Raspberry pi, Retropie, Игры, Ретро-Игры, Своими руками, Консоль на raspberry pi, Эмуляторы приставок, Длиннопост

Находим файл:

/opt/retropie/configs/all/runcommand.cfg

Меняем disable_menu = "0" на disable_menu = "1"


Настройки отображения и шейдеры.

Configuration Editor - Configure basic libreto emulator options-Configure default options for all libreto emulators

Ретро консоль на Raspberry Pi Raspberry pi, Retropie, Игры, Ретро-Игры, Своими руками, Консоль на raspberry pi, Эмуляторы приставок, Длиннопост

Video Smoothing false. Сглаживание. Я отключил. С ним не понравилось

Aspect Ratio 16:9

Render Resolution 800x600 Среднее разрешение поставил. Меньше нагрузки. Тем более использую шейдер, а картинка все равно растягивается на весь экран.

Video Shader Enable true. Включить/выключить шейдер.

Video Shader File. Если в предыдущем пункте включили шейдеры, то здесь надо выбрать из списка какой шейдер использовать.

Overlay Enable. Включить/выключить оверлей. Это что бы закрыть черные полосы вокруг изображения.

Overlay File. Соответственно файл оверлея.

Настройки оверлея пока не трогал. Не сильно то и мешают эти полоски)


Некоторые шейдеры:

Ретро консоль на Raspberry Pi Raspberry pi, Retropie, Игры, Ретро-Игры, Своими руками, Консоль на raspberry pi, Эмуляторы приставок, Длиннопост

Темы.

Что бы сменить тему нужно зайти в пункт ES Themes, затем выбрать из списка тему и скачать ее. Вернуться стартовое окно, затем Start - UI Setting - Theme Set. Можно либо листать вправо/влево, либо открыть список доступных тем(ранее скачанных)

Ретро консоль на Raspberry Pi Raspberry pi, Retropie, Игры, Ретро-Игры, Своими руками, Консоль на raspberry pi, Эмуляторы приставок, Длиннопост

По умолчанию системе недоступно все дисковое пространство. Для того чтобы это изменить, нужно "развернуть" всю доступную память нашей карты. Raspi-Config - Advanced Options - Expand Filesystem. После нужно перезагрузить всю систему.

Ретро консоль на Raspberry Pi Raspberry pi, Retropie, Игры, Ретро-Игры, Своими руками, Консоль на raspberry pi, Эмуляторы приставок, Длиннопост

Загрузка обложек.

Встроенный в EmulationStation Scraper почему то не заработал. Пытался найти ответ - не нашел. Но зато нашел альтернативу ему. scraper by steven selph

Retropie Setup - Manage packages - Manage optional packages - scraper - Install from source

Ретро консоль на Raspberry Pi Raspberry pi, Retropie, Игры, Ретро-Игры, Своими руками, Консоль на raspberry pi, Эмуляторы приставок, Длиннопост

Далее нужно закрыть EmulationStation, иначе настройка не запустится. Закрываем его Start - Quit - Quit EmulationStation. В терминале пишем

sudo ~/RetroPie-Setup/retropie_setup.sh

Далее Configuration/Tools - Scraper

Ретро консоль на Raspberry Pi Raspberry pi, Retropie, Игры, Ретро-Игры, Своими руками, Консоль на raspberry pi, Эмуляторы приставок, Длиннопост

Можно настроить откуда он будет тянуть обложки, указать для каких систем он это будет делать. А можно видео-превью скачать.(В среднем на одну игру 5-7мб). После того как поставили нужные вам настройки, выбираем первый пункт и ждем. Если игр много - долго ждем.

Ретро консоль на Raspberry Pi Raspberry pi, Retropie, Игры, Ретро-Игры, Своими руками, Консоль на raspberry pi, Эмуляторы приставок, Длиннопост

Жмем ок. В следующих окнах жмем Cancel/Back пока не попадем обратно в терминал. В нем пишем emulationstation для ее запуска. Затем, как она запустится, перезагружаем всю систему. А иначе, при закрытии терминала, закроется и emulationstation)


Если вы скачивали видео-превью, то нужно включить поддержку видео в темах

Start - Ui Setting - Gamelist View Style - Video

Start - Other Setting - Use Omx Player - On


Можно подключить как сетевой диск.

Мой компьютер - подключить сетевой диск

адрес

\\retropie\roms

так еще удобнее закидывать игры

Ретро консоль на Raspberry Pi Raspberry pi, Retropie, Игры, Ретро-Игры, Своими руками, Консоль на raspberry pi, Эмуляторы приставок, Длиннопост

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

Показать полностью 19
135

Собираю 3D принтер. Наконец то приступаю.

Угораздило меня оставить этот комментарий... #comment_123189873 Сразу появилось больше 150 подписчиков, а с ними - обязательство написать этот пост.
Введение:
Я очень давно хотел себе 3d Принтер. Но либо не было лишних денег, либо времени. И вот однажды я всё-таки решился на покупку популярного дешёвого китайского принтера Anet A6.

Собираю 3D принтер. Наконец то приступаю. 3D принтер, Своими руками, Сборка, Длиннопост

В 3D печати я совсем не разбирался, мне были не понятны тонкости печати и  терминология, которой пользовались обладатели 3D принтеров. Но так или иначе пришлось вникать во все эти тонкости. За несколько месяцев использования Anet A6, я понял что это средняя китайская игрушка. И как любой новый пользователь, приступил к его апгрейду, печатая детали на нем же. Меня охватила 3D лихорадка. И я конечно же нарвался на сайт thingiverse.com (не реклама!). И там же столкнулся с тем,  что многие сами собирают 3D Принтеры.

Собираю 3D принтер. Наконец то приступаю. 3D принтер, Своими руками, Сборка, Длиннопост

Что я узнал и к каким выводам пришел:
1) Жесткость конструкции должна быть максимальной. Это главное и основное правило.
2) При использовании движущейся печатной части с экструдером, её имеет смысл максимально облегчить. Это даст меньшую механическую нагрузку
3) В интернете полно информации по сборке и настройке 3D Принтеров. Самосборные принтеры в значительной степени лучше в печати, эстетичнее, более гибкие в настройке, чем китайские эконом модели. Основной плюс в том что есть много информации и даже нарисованных  деталей.
4) Сам по себе принтер -  это сборка из каркаса, выбранной вами кинематики (об этом ниже) и управления.
5) Проектирование и сборка принтера из доступных источников не является чем-то сверхъестественным, и с этим справиться любой, хоть немного представляющий принцип его работы. Подробнейшие инструкции со списком и ссылками на необходимые детали, можно найти на профильных сайтах.
6) Автоматика управления основана на готовых платах.
7) У шаговых двигателей есть возможность микрошагов, иначе говоря делать не один полный шаг, а какую-то его малую часть. Вплоть до 256 микрошагов на шаг. Чем больше микрошагов поддерживает драйвер управления, тем тише и точнее будет печать.
8) Есть два типа основных плат управления, 8бbit на ATMega и 32bit на разных микроконтроллерах. Большее количество бит, даёт возможность более быстрой и точной печати. Но и здесь, как оказалось, можно сделать лучше.
9) Большинство “печатников” имеют на руках микрокомпьютеры OrangePi или RapsberyPi. Это не обязательная, но ОЧЕНЬ полезная часть 3D принтера. В основном на нее ставят программы-серверы для удаленного управления 3D принтером. OctoPrint - популярная бесплатная программа с большим функционалом, вплоть до управления через Телеграмм. Да простит меня роскомнадзор, да поможет в печати Админь.
10) Для расширения и улучшения печати с микрокомпьютера ещё есть Klipper. Он разделяет функции на части. Функцию вычисления траектории, чтение Gcod-а выполняет микрокомпьютер, а на плату управления остаётся только выполнение команд, и отслеживание текущего положения и температуры. Часто такую связку сравнивают с головой и спинным мозгом, так как спинной мозг выполняет функцию передачи и выполнения сигналов от головного мозга.
11) Есть разная кинематика (управления по осям).

Собираю 3D принтер. Наконец то приступаю. 3D принтер, Своими руками, Сборка, Длиннопост
Собираю 3D принтер. Наконец то приступаю. 3D принтер, Своими руками, Сборка, Длиннопост

12) Есть море сайтов, сообществ, форумов wiki по популярным моделям разных 3D принтеров, собранных энтузиастами.
13) Есть огромное количество разновидностей и подвидов пластика, с разными свойствами, как декоративными, так и физикохимических.

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

Все, что я покупал для свого принтера HyperCube Evolution - кропотливо записывал (выложу позже).

Собираю 3D принтер. Наконец то приступаю. 3D принтер, Своими руками, Сборка, Длиннопост

А пока ждал запчасти, печатал на Анете другие детали.

Собираю 3D принтер. Наконец то приступаю. 3D принтер, Своими руками, Сборка, Длиннопост

Адаптер ACDC220-24 адаптеры, угловые соединители профиля, уголки,Т-гайки и 5 каленые винты(удивительно но в МСК оказались намного дешевле), OrangePi, контроллер с драйверами МКС Sbase, профиль 30*30 и 20*20, различный крепеж, экструдер, линейные подшипники и прочее что я покупал и собирал последние месяцы.

Собираю 3D принтер. Наконец то приступаю. 3D принтер, Своими руками, Сборка, Длиннопост
Собираю 3D принтер. Наконец то приступаю. 3D принтер, Своими руками, Сборка, Длиннопост

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

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

На этом пока всё. Следующая часть будет как закончу сборку какркаса. Если буду успевать, попробую сделать таймлапс запись сборки.

Показать полностью 7
46

Диорама по игре Streets of rage 2

Помню те замечательные времена 90-х годов, когда мы собирались с друзьями возле

выпуклых экранов телевизоров с ЭЛТ(кинескопом), включали приставку Sega Mega Drive

и объявляли войну преступности в мире " Улицах Ярости", круша телефонные будки, разбивая пивные бутылки об головы местных уличных банд.Притягательная атмосфера мрачных переулков, магазинов  с неоновыми вывесками и ночными фонарями-вызывает чувство ностальгии.Эти воспоминания действительно  греют, в особенности, когда включаешь композицию " Go straith" от Юдзо Косиро, подаривший в свое время саундтреки к играм

"Sonic The Hedgehog" и "Batman Returns".Сейчас с нетерпением жду релиза "Streets Of Rage 4"

от коллектива Lizardcube, надеюсь эта вселенная снова возродиться!

Сделал пару работ зимой 2017 года.

Диорама по игре Streets of rage 2 Streets of Rage, Диорама, Своими руками, Ретро-Игры, Sega
Диорама по игре Streets of rage 2 Streets of Rage, Диорама, Своими руками, Ретро-Игры, Sega
955

Мебельное #11. Скупой платит ... трижды.

Давненько я про свои мебельные дела не писал.

Вспомнилась еще одна история с "трудным" клиентом. Фотографии, к сожалению, не сохранились. Буду писать максимально подробно, и где смогу проиллюстрирую фотографиями из сети.

Никого ни к чему не призываю. Просто: правильно оценивайте свои возможности.


Одним из наиболее сложных товаров, которые были у нас в продаже, конечно же были кухонные гарнитуры со встроенной техникой. Если для сборки диванов, кроватей и офисных столов зачастую кроме рук ничего не требовалось, то в сборке (у нас часто применяли термин "построили") кухонного гарнитура были задействованы головы от дизайнера до технического директора.

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

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

Да и ладно. Нам головняка меньше. Доставим и забудем.

Как же я ошибался!

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

Мебельное #11. Скупой платит ... трижды. Мебель, Кухня, Кухонный гарнитур, Сборка, Своими руками, Экономия, Длиннопост

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

Если Вы когда-нибудь заказывали кухню, то видели, что большинство производителей предлагают фасады, у которых нет понятия верх и низ. Они одинаковы.

Мебельное #11. Скупой платит ... трижды. Мебель, Кухня, Кухонный гарнитур, Сборка, Своими руками, Экономия, Длиннопост

И фасад возможно навесить "вниз головой" так, что никто этого не заметит.


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

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

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

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

Для неспециалистов небольшое пояснение, специалисты могут пропустить.

Фасады, особенно дорогие, поставляются, как правило не только не просверленными, а даже не размеченными. Так что, сборщики могут установить петли так, как требуется по проекту. Обычно петли устанавливаются на одинаковой высоте от верха и от низа фасада на всех фасадах гарнитура. То есть дверку с одного шкафа шириной 600 мм есть возможность навесить на другой шкаф той же ширины, поменяв при этом навеску с левой на правую. Или поменять местами глухие и витражные фасады.

В фасаде для установки петли делается специальным сверлом круглая выборка диаметром 32 мм, иначе говоря, смещение на 20 мм, просто не даст возможности просверлить рядом еще одно гнездо - старое и новое "наложатся" друг на друга.

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

Но это ещё не всё.

Опять же, исходя из своих эстетических воззрений, хозяин решил, что ручки дверок нижних шкафов, расположенные вертикально, как на первом фото, это неправильно. И поставил у открывающихся фасадов ручки горизонтально посередине дверки. Неудобно? Да. Особенно неудобно было искать эти ручки под выступающей столешницей. Сам поставил, в дизайн-проекте было по другому. Решение - оставить как есть. Наверное, до сих пор мается.

И опять же, и это ещё не финиш.

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

Открыл шкафчик - выдвинул ящичек - достал ножичек - задвинул ящичек - закрыл шкафчик.

Открыл шкафчик - выдвинул ящичек - достал вилочку - задвинул ящичек - закрыл шкафчик.

Открыл шкафчик - выдвинул ящичек - достал ложечку - задвинул ящичек - закрыл шкафчик.

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

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

Мебельное #11. Скупой платит ... трижды. Мебель, Кухня, Кухонный гарнитур, Сборка, Своими руками, Экономия, Длиннопост

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

С мойкой он поступил аналогично. Примерно такая была.

Мебельное #11. Скупой платит ... трижды. Мебель, Кухня, Кухонный гарнитур, Сборка, Своими руками, Экономия, Длиннопост

Пришлось ему еще и столешницу полностью менять.

Что-то он еще намудрил с подключением светильников и вытяжки. Но это на фоне всего остального было уже мелочью.

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

В итоге, мы разобрали, собрали заново гарнитур.

Заменили примерно треть фасадов (старые остались бонусом у хозяина, может быть куда-нибудь на даче приспособил).

Заменили столешницу.

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

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

И это всё оплатил "экономный" хозяин.

Вы можете сказать, что сейчас весь процесс есть в Интернете. Согласен. Но дело происходило в начале 2000-х, когда Интернет был ещё не в каждой семье. Да и полезной информации там было значительно меньше.

Показать полностью 4
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: