回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【AI】Maixduino轻松学系列 —(2)Mind+带你畅玩经典红白机游戏 简单

头像 豆爸 2021.10.23 2379 4

Maixduino轻松学系列课程:

1、Maixduino轻松学系列 —— (1)初识Maixduino

2、Maixduino轻松学系列 —— (2)Mind+带你畅玩经典红白机游戏

3、Maixduino轻松学系列 —— (3)基于Mind+的简易NTP网络时钟

4、Maixduino轻松学系列 —— (4)基于Mind+的图像识别:人脸检测

5、Maixduino轻松学系列 —— (5)有屏幕的地方就有BAD APPLE

6、Maixduino轻松学系列 —— (6)基于ASR语音识别控制红绿灯

7、Maixduino轻松学系列 —— (7)超声波传感器的认识与使用

材料清单

  • Maixduino AI 开发套件 X1 链接
  • USB转Type-C数据线 X1 链接
  • PS2 无线游戏手柄 X1

FC游戏机是任天堂公司生产、发行和销售的8位家庭游戏机,称为任天堂娱乐系统(英文版名:Nintendo Entertainment System,NES),俗称“红白机”。

project-image

超级玛丽、魂斗罗、双截龙、90坦克大战、雪人兄弟也都成为80后一代对童年最美好的回忆。

project-image

《超级马里奥兄弟》(简称《超级玛丽》)是任天堂于1985年出品的著名横版过关游戏。游戏中,玩家控制马里奥从库巴手上设法营救桃子公主。

project-image

《魂斗罗》(Contra)是由Konami于1987年推出的一系列卷轴射击类单机游戏。人物原型来源于著名影星施瓦辛格和史泰龙。

project-image

《雪人兄弟》主人公是一对圆呼呼的雪人兄弟,而这对兄弟的敌人也是胖胖的显得挺憨的一些怪物。游戏中各个角色的形象都让人忍俊不禁,在各个游戏平台上面的受欢迎程度都相当不错,堪称经典。

步骤1 下载安装Mind+

Mind+是一款拥有自主知识产权的国产青少年编程软件,集成各种主流主控板及上百种开源硬件,支持人工智能(AI)与物联网(IoT)功能,既可以拖动图形化积木编程,还可以使用Python/C/C++等高级编程语言,让大家轻松体验创造的乐趣。

打开Mind+官网mindplus.cc点击立即下载,选择与自己电脑的操作系统相对应的客户端,下载Mind+。

project-image

Mind+全面支持Windows、Mac、Linux。

project-image

提供:

        Mind+客户端下载for Windows,版本:V1.7.1 RC2.0,安装要求:Win7/Win8/Win10

        Mind+客户端下载for Mac,版本:V1.7.1 RC1.0,安装要求:Mac10.11及以上版本 

        Mind+客户端下载for Linux,版本:V1.7.1 RC1.0,安装要求:ubuntu/deepin

步骤2 选择Maixduino主控板

打开Mind+,点击左下角“扩展”按钮。

project-image

在弹出的窗口中选择“主控板”菜单,选择“Maixduino 基于K210芯片的主控板”,点击“返回”。

project-image

步骤3 安装驱动

点击“连接设备”菜单,点击“一键安装驱动”。

project-image

点击“下一步”,安装驱动。

project-image

步骤4 连接Maixduino

使用Type C数据线Maixduino连接到电脑USB口。

点击“连接设备”菜单,选择“COM13-Maixduino”。这里的13是COM口的端口号,以实际为准,确认名称是Maixduino就没问题。

project-image

连接成功后,菜单栏会显示连接的端口号和名称,右下角会显示固件版本号等信息。如下图所示:

project-image

步骤5 安装NES游戏扩展库

project-image

依次点击“扩展”——“用户库”,在输入框中输入“https://gitee.com/hmilycheng/ext-NES”,点击放大镜搜索。单击“NES”,添加NES扩展库,返回。

步骤6 编写游戏程序

依次完成如下积木块的编写,点击“运行”,上传程序至Maixduino。

project-image

步骤7 上传游戏

SD卡上新建NES文件夹,上传游戏nes文件至SD卡下NES文件夹中,文件名SuperMarie.nes与程序中文件名保持一致。我这里上传的是超级玛丽游戏的NES文件。

步骤8 连接PS2无线游戏手柄

project-image

完成接线:

PS2接收器 K210 Maixduino引脚

GND —— GND —— GND

VCC —— VCC —— 5V

DAT(MISO) —— IO21 —— 2

CMD( MOSI) —— IO22 —— 3

CS —— IO23 —— 4

CLK —— IO24 —— 5

步骤9 开始游戏了

project-image
代码
#警告:该模块只在标准固件(> 2m)中被编译包含,其他固件不带有,如有需求,请重新编译固件。

from fpioa_manager import fm        #从 fpioa_manager 包导入fm 对象,主要用于引脚和外设的映射
import lcd,nes


fm.register(23, fm.fpioa.GPIOHS0)
fm.register(24, fm.fpioa.GPIOHS1)
fm.register(22, fm.fpioa.GPIOHS2)
fm.register(21, fm.fpioa.GPIOHS3)

nes.init(nes.JOYSTICK, cs=fm.fpioa.GPIOHS0, clk=fm.fpioa.GPIOHS1, mosi=fm.fpioa.GPIOHS2, miso=fm.fpioa.GPIOHS3,vol=5)
try:
    lcd.init(freq=15000000)
    nes.load("/sd/NES/SuperMarie.nes")
    while True:
        nes.loop()
except:
    nes.free()

评论

user-avatar
  • 杨添淮

    杨添淮2022.12.31

    0
    • Hello_Micropython_World

      Hello_Micropython_World2022.06.09

      运行程序报错,no module named ‘nes’怎么办?

      1
      • 豆爸

        豆爸2022.12.30

        Maixduino需要刷带 NES支持的固件

    • 驴友花雕

      驴友花雕2021.10.26

      这个不错!

      0