如何使用1.3“Retina级IPS LCD HAT制作一个微小的RetroPie Zero

第1步:准备
rpi zero
raspberry pi zero和raspberry pi zero w都可以.wifi版本可以使后续设置更容易,但相比之下它可能会不断耗尽更多功率,即缩短电池寿命。
lcd hat
waveshare为rpi zero发布了2个lcd hat,两个都有一个小方形lcd。新版本有一个240 x 240 1.3“ips lcd。它是261 ppi并且在苹果定义的视网膜显示范围内(218 - 458 ppi)。该分辨率能够模仿crt电视时代的许多复古游戏机,例如nes的分辨率为256 x 240,我们可以从左右两个过扫描区域切下8个像素,使其变为240 x 240。
pin header
紧密适合waveshare 1.3 “lcd hat,它需要一个8毫米高的2 x 20针头。但我不能买一个8毫米高的,所以我将修改一个12毫米高的针头。
lipo电池
rpi和lcd hat之间的内部尺寸可以容纳5 mm x 23 mm x 45 mm电池,任何带有保护电路的lipo电池都应该可以。
微小的lipo电池电路板
我手边有一块10毫米x 10毫米的小型5 v lipo充电板。它足够小,适用于这个项目,但限制是只能为电池充电50 ma电流。 400 mah电池需要超过8小时才能充满电。
电源开关
微型电源开关。
腕带
由于这个游戏手柄很小,很容易从手上滑落,建议在玩游戏时戴上手腕带。
螺丝
3d pr内置外壳需要四个14 mm m2.5平头螺钉进行组装。
参考:
https://www.waveshare.com/wiki/1.3inch_lcd_hat
https://www.waveshare.com/product/modules/oleds-lc 。..
第2步:3d打印案例
3d打印您可以在thingiverse中找到的案例模型:
https://www.thingiverse .com/thing:3328994
为了便于说明,我用不同的颜色打印每个部分:
layer123.stl - 炭黑
layer4 .stl - 半透明黄色
layer5.stl - 半透明橙色
layer678.stl - 半透明红色
buttonhead.stl - 半透明红色,半透明蓝色和半透明绿色
crossbuttonhead.stl - gundam red
第3步:直接电池电量
这款微型游戏手柄没有足够的空间安装在升压电路板上,是否有可能锂离子电池直接为rpi zero(w)供电而无需升级?
有一些非官方的讨论是否要求rpi zero(w)满5 v电源。
根据rpi zero简化原理图,只有2个引脚直接连接到5 v,它是usb插头和pam2306稳压器。所有其他部件均由稳压3.3 v和1.8 v供电。
假设我们在使用电池供电时不使用任何外部usb设备,关键因素是稳压器。
根据pam2306当输入电压降至3.5 v时,3.3 v输出仍然保持90%以上的效率。
rpi零平均值约为100 - 200 ma,lipo约为mah,放电率为在降至3.5 v以下之前,它仍然可以利用90%的lipo容量。
参考:
https://www.raspberrypi.org/forums/viewtopic。 php吨。..
的https://www.raspberrypi.org/documentation/hardware 。..
https://www.mouser.hk/datasheet/2/115/pam2306-3367 。..
https://electronics.stackexchange.com/questions/32 。..
https://www.quora.com/is-它-可能观看的最ch 。..
注意:
根据我的简单测试,当wifi开启时,电池可以持续超过90分钟。如果使用rpi zero,它应该会持续更长时间。
步骤4:引脚标题补丁
waveshare lcd hat采用薄型母针头,可以使产品更加纤薄。但是我们需要在rpi zero上使用相应的低调公插针头来制作它。网针头应为8毫米高,但我在网上找不到。所以从12毫米的公针头上修补它。
需要一些患者修剪相同长度的40个针脚。
步骤5:焊接工作
使用rpi zero焊接所有引脚头。
以下是电源电路的连接摘要:
waveshare pin 2 -》 charge board +vin, power switch pin 1
waveshare pin 6 -》 charge board -vin
charge board -vout -》 lipo -ve
lipo +ve -》 power switch pin 2
charge board +vout -》 power switch pin 3
当电源开关关闭引脚1和2时,它是电池供电模式
当电源开关关闭引脚2和3时,它是电池充电模式/电源关闭
注意:
waveshare lcd hat引脚头位于底部,因此引脚排列颠倒了
步骤6:装配层4
将第4层放在lcd hat下
在第4层安装电源开关
放入充电板和电池内部第4层框架
第7步:装配层5
将第5层放在第4层
步骤8:插入rpi零
步骤9:装配层678
将第678层放在rpi zero上。
st ep 10:将螺丝拧入螺丝孔
步骤11:将按钮头放在lcd hat上
步骤12:装配层123
将第123层放在lcd hat上。
步骤13:拧紧螺丝
步骤14:装配十字按钮头
将十字按钮头放入十字按钮。
步骤15:下载retropie图像
下载retropie图像在这里:
https://retropie.org.uk/download/
选择“raspberry pi 0/1”选项下载raspberry pi zero的图像
步骤16:下载源
面包板retropie所需的另外两个源代码:
mk_arcade_joystick_rpi:
https://github.com/recalbox/mk_arcade_joystick_rpi
rpi-fbcp:
https://github.com/tasanakorn/rpi-fbcp
单击“克隆”或者从两个源网页下载“按钮然后再下载zip”。
s.第17步:准备rom文件
对于非许可证免费游戏,我认为你应该只使用你拥有原始游戏的rom。
或者你可能会发现一些许可免费游戏:
http://pdroms.de/files
http://www.doperoms.com
第18步:flash retropie图像
将retropie图像闪存到micro sd卡的步骤与闪烁raspbian图像相同。如果您不熟悉闪烁步骤,请按照raspberry.org提供的步骤进行操作:
linux
mac os
windows
ps记得用retropie图像替换图像文件名。
步骤19:复制文件
将“mk_arcade_joystick_rpi-master.zip”,“rpi-fbcp-master.zip”复制到刚创建的retropie micro sd。
步骤20:配置micro sd
我们需要在retropie启动后进一步配置,在此之前,我们需要启用dwc2 usb控制器才能在计算机和网络之间建立网络连接。 pi zero。
在micro sd中编辑config.txt,在尾部追加跟随行:
dtoverlay=dwc2
在micro sd中编辑codlin.txt,插入“ modules-load = dwc2,g_ether“在”rootwait“关键字之后。结果应该是这样的:
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=partuuid=14a75fe9-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_ether quiet loglevel=3 consoleblank=0 plymouth.enable=0 quiet init=/usr/lib/raspi-config/init_resize.sh
在micro sd中创建一个名为“ssh”的空白文件,以启用openssh服务器,例如:在我的mac上:
touch /volumes/boot/ssh
参考:
https://www.instructables.com/id/connect-to-a-rasp 。..
步骤21:usb连接
将micro sd插入pi zero
将电源开关设为电池充电模式
将pi zero 2nd usb插孔(标有“usb”)连接到电脑。
等一下,您应该在计算机中找到新的网络适配器。输入以下命令连接到pi zero:
ssh pi@retropie.local
注意:
默认密码为“raspberry”,您应该尽快通过“passwd”命令进行更改
步骤22:配置lcd
追加到“/etc/modules”
spi-bcm2835
flexfb
fbtft_device
创建“/etc/modprobe.d/fbtft.conf“
options flexfb setaddrwin=0 width=240 height=240 init=-1,0x11,-2,120,-1,0x36,0x70,-1,0x3a,0x05,-1,0xb2,0x0c,0x0c,0x00,0x33,0x33,-1,0xb7,0x35,-1,0xbb,0x1a,-1,0xc0,0x2c,-1,0xc2,0x01,-1,0xc3,0x0b,-1,0xc4,0x20,-1,0xc6,0x0f,-1,0xd0,0xa4,0xa1,-1,0x21,-1,0xe0,0x00,0x19,0x1e,0x0a,0x09,0x15,0x3d,0x44,0x51,0x12,0x03,0x00,0x3f,0x3f,-1,0xe1,0x00,0x18,0x1e,0x0a,0x09,0x25,0x3f,0x43,0x52,0x33,0x03,0x00,0x3f,0x3f,-1,0x29,-3
options fbtft_device name=flexfb gpios=reset:27,dc:25,cs:8,led:24 speed=125000000 bgr=1 fps=60 custom=1 height=240 width=240
步骤23:启用fbcp
提取源文件:
unzip /boot/rpi-fbcp-master.zip
编译并安装:
cd rpi-fbcp-master/
mkdir build
cd build
cmake 。.
make
sudo install fbcp /usr/local/bin/fbcp
cd 。./。.
创建新文件“/etc/init.d/fbcp“:
#! /bin/sh
### begin init info
# provides: fbcp
# required-start: kmod
# required-stop: kmod
# default-start: 2 3 4 5
# default-stop: 0 1 6
# short-description:
# description:
### end init info
case ”$1“ in
start)
/usr/local/bin/fbcp &
;;
stop|restart|reload|force-reload)
killall fbcp
exit 0
;;
*)
log_success_msg ”usage: $0 start“
exit 1
esac
制作文件可执行文件:
sudo chmod +x /etc/init.d/fbcp
在启动时将其设置为init:
sudo update-rc.d fbcp defaults
在尾部的“/boot/config.txt”中添加以下行:
disable_overscan=1
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt=240 240 60 1 0 0 0
dtparam=spi=on
参考:https://github.com/tasanakorn/rpi-fbcp
第24步:配置操纵杆
提取源文件:
unzip /boot/mk_arcade_joystick_rpi-master.zip
编辑按钮定义:
cd mk_arcade_joystick_rpi-master/
vi mk_arcade_joystick_rpi.c
找到“static const int mk_arcade_gpio_maps []”行并更新为hat按钮映射:
static const int mk_arcade_gpio_maps[] = {6,19,5,26,13,21,16,20,0,0,0,0};
编译并安装模块:
sudo mkdir /usr/src/mk_arcade_joystick_rpi-0.1.5/
sudo cp -a * /usr/src/mk_arcade_joystick_rpi-0.1.5/
export mkversion=0.1.5
sudo -e dkms build -m mk_arcade_joystick_rpi -v 0.1.5
sudo -e dkms install -m mk_arcade_joystick_rpi -v 0.1.5
测试按钮:
sudo modprobe mk_arcade_joystick_rpi map=1
jstest /dev/input/js0
追加到“/etc/modules”:
mk_arcade_joystick_rpi
创建“/etc/mod probe.d/joystick.conf“:
options mk_arcade_joystick_rpi map=1
参考:https://github.com/recalbox/mk_arcade_joystick_rp 。..
步骤25:复制rom文件
将rom文件从“/boot”文件夹复制到“〜/retropie/roms/$ console”文件夹
参考:
https://github.com/retropie/retropie-setup/wiki/tr 。..
步骤26:raspi-config
运行:
sudo raspi-config
wifi:2网络选项 - 》 n2 wi-fi - 》填写您的wifi详细信息
不等待网络:3启动选项 - 》 b2等待网络启动 - 》否 - 》确定
时区:4个本地化选项 - 》 i2更改时区 - 》选择您的时区
禁用串口:5接口选项 - 》 p6串口 - 》否 - 》否 - 》确定
参考:
https://www.raspberrypi.org/documentation/configur 。..
第27步:retropie设置
运行:
sudo ~/retropie-setup/retropie_setup.sh
微调1.3“lcd:c配置/工具 - 》 805 configedit - 》 1 - 》 0 - 》 2渲染分辨率 - 》 o视频输出分辨率 - 》确定 - 》取消 - 》取消 - 》取消
更改主题以适应小屏幕(需要连接wifi) :812个esthemes - 》 14 pixel-tft - 》 ok - 》 1个碳 - 》 2个卸载
参考:
https://github.com/retropie/retropie-setup/wiki/th.。.
第28步:原生分辨率
lcd hat在十字按钮上有3个按钮和1个额外的按钮,它可以映射到只有4个按钮的复古游戏控制台(选择,开始,a和b)。此类游戏机的最高分辨率应为nes,分辨率为256 x 240。如果只是简单地裁剪水平过扫描区域,它就可以适合240 x 240 lcd显示器。
如果你只像我一样玩nes游戏,你可以应用以下配置来获得原始分辨率显示。
追加“/opt/retropie/configs/nes/retroarch.cfg”:
video_fullscreen_x = “0”
video_fullscreen_y = “0”
video_scale_integer = true
append”/opt/retropie/configs/all/retroarch-core-options。 cfg“:
quicknes_use_overscan_h = “disabled”
步骤29:控制器配置
emulationstation的joypad设置:
vi /opt/retropie/configs/all/emulationstation/es_input.cfg
输入文字:
/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh
retroarch的joypad设置:
vi /opt/retropie/configs/all/retroarch/autoconfig/gpio controller 1.cfg
输入文字:
input_device = “gpio controller 1”
input_driver = “udev”
input_start_btn = “11”
input_exit_emulator_btn = “11”
input_down_axis = “+1”
input_right_axis = “+0”
input_state_slot_increase_axis = “+0”
input_select_btn = “10”
input_left_axis = “-0”
input_state_slot_decrease_axis = “-0”
input_up_axis = “-1”
input_a_btn = “0”
input_b_btn = “1”
input_reset_btn = “1”
input_enable_hotkey_btn = “10”
步骤30:加快启动时间
运行:sudo systemctl disable asplashscreen
sudo systemctl disable dphys-swapfile
sudo systemctl disable hciuart
sudo systemctl disable keyboard-setup
sudo systemctl disable nmbd
sudo systemctl disable raspi-config
sudo systemctl disable smbd
sudo systemctl disable nfs-config
步骤31:可选调整
微调“/boot/cmdline.txt“:
禁用usb以太网小工具
无徽标
fastboot
安静
dwc_otg.lpm_enable=0 console=tty1 root=partuuid=14a75fe9-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait loglevel=3 consoleblank=0 plymouth.enable=0 logo.nologo fastboot quiet #dtoverlay=dwc2
步骤32:引导retropie
关闭retropie:
sudo halt
拔下usb电缆
将电源开关设置为电池供电模式
等待ar启动后半分钟
按照屏幕说明配置游戏按钮
选择您上传的控制台和游戏
步骤33:仿真站电源选项
按开始按钮(按下十字按钮)进入仿真站配置屏幕。
ui设置 - 》屏幕保护设置 - 》 screensaver after - 》 1分钟
其他设置 - 》省电模式 - 》即时
步骤34:绑手腕带
步骤35:享受!
现在是时候展示你做了什么并玩它。
步骤36:画廊:color mix&匹配

基于XtremeSense TMR技术的电流传感器用于工业领域
TQ3568开发平台显示屏调试适配方法
AR眼镜已经成为各大科技公司发力的目标
莱尔德为何能跻身第一批复工复产的企业队列,并成为防疫典范工厂?
83-76 TMI撕裂仪是什么,它都有哪些特征
如何使用1.3“Retina级IPS LCD HAT制作一个微小的RetroPie Zero
开关模式DC-DC转换器电源的效率入门
快商通携手业界伙伴打造全球顶级AI交流与展示平台
小米Note3什么时候上市?最新消息:真“机皇”小米Note3的性能参数曝光,绝对是下半年的销量担当!
麒麟980与骁龙845玩手游 vivo NEX开启双屏吃鸡模式
锥形转子电动机常见故障盘点
LED显示屏故障原因及解决办法
支付宝与QQ红包最全的攻略!看完不怕你抢不到
索尼最新展示下一代手指追踪VR控制器的研究成果
Qorvo PAC5556在贸泽开售,助力智能家电行业,实现智能化电源控制
云计算安全问题讨论
坤坤智能锁厂家浅析怎么选择智能锁与设置智能锁
高德红外:非制冷红外热成像模组获车规级AEC- Q104认证
Xperia HD将于CES2012面世
基于ECN-3051构成的驱动电路图