0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于XIAO RP2040和树莓派的围棋棋盘游戏系统设计

柴火创客空间 来源:柴火创客空间 2025-04-29 14:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天小编给大家带来的是来自mocketech的基于树莓派和XIAO RP2040的围棋棋盘娱乐系统,每块围棋石都会根据其状态显示面部表情,从而便于评估整体比赛情况。即使是不熟悉围棋规则的人也可以通过这些表情轻松理解游戏。

灵感

我的灵感来自网络游戏SquishyGo,在SquishyGo中,您可以使用鼠标在网络浏览器上放置围棋棋子。我想如果我们能触摸到围棋子会更有趣,而且它们有面部表情,所以我做了这个小项目。

EmoGo围棋

围棋是一种基于领土的游戏。在职业围棋中,获胜者取决于他们自己的棋子包围的区域的大小,那里没有棋子。然而,EmoGo遵循“纯围棋”的规则,获胜者取决于每个玩家在棋盘上的棋子数量。玩家只能放置棋子;一旦放置,它们就无法移动。两位玩家最终在棋盘上的棋子数量相同。然而,如下图所示,有一个特定的条件:如果围棋棋子完全被对手的棋子或棋盘边缘包围,则必须将其移除。在EmoGo中,获胜的关键是移除对手的棋子,同时确保自己的棋子留在棋盘上。

当围棋被对手的围棋包围时,它们会显示一张哭泣的脸。哭泣的围棋被称为“死棋”,必须从棋盘上移走。在传统围棋中,玩家经常忘记移除死棋,但在这个游戏盘系统中,如果你尝试在移除所有哭泣的围棋之前放置新的围棋,任何新放置的棋子也会显示哭泣的脸,游戏无法进行。这确保了所有 “死子 ”都被清除,没有任何错误。

在对手下一步移动时将成为死棋的围棋会显示出“麻烦脸”。如果您的围棋显示此表情,则表示您遇到了麻烦。您必须决定是保存这些棋子还是放弃它们。在这个游戏板系统中,Go 棋子的表情表示游戏状态对您有利还是不利。随着您对游戏越来越熟悉,您可以采取一些行动来防止您的围棋棋子出现这种麻烦的表情。换句话说,围棋上的表情有助于玩家理解围棋的规则,并使他们能够发展基本的战术思维。

该系统的系统架构如下

c23d412c-20f3-11f0-9310-92fbcf53809c.png

每个模块由以下部分组成:

游戏控制器 x1:该设备管理整个游戏。它通过 CAN 与 Go 棋盘模块通信,以检测棋子的位置并指示应在棋子上显示哪些面部表情。

Rasbperry Pi 4 2GB

Raspberry Pi 7 英寸官方触摸显示器

WAVESHARE 2 CAN 扩展 HAT,适用于 Raspberry Pi

c26ddf62-20f3-11f0-9310-92fbcf53809c.jpg

棋盘模块 x 25 ( 用于 5x5 棋盘 ) 围棋盘上的每个网格都是一个模块。当放置或点击围棋时,它会通知游戏控制器,并按照游戏控制器的指示在围棋上显示面部表情。

Seeed XIAO RP2040

MCP2515 CAN 控制器

MCP2652 CAN 驱动

c289cd9e-20f3-11f0-9310-92fbcf53809c.png

Go Stone x25 ( 用于 5x5 棋盘 ) 每个棋子在放置或点击时都会通知其棋盘模块,并根据从棋盘模块收到的指令改变其面部表情。

c2b7f782-20f3-11f0-9310-92fbcf53809c.png

项目亮点

1. 模块式连接

该系统最初是使用 5×5 板创建的,但也可以很容易地适应其他尺寸,例如 7×7、9×9 或 6×8。所有围棋板模块都设计为连接到单个 CAN 总线,并且可以在总线电气特性允许的范围内添加。每个围棋板模块的尺寸为 50mm × 50mm,它们的总线和电源线使用排针和插针以链形式连接,从而可以将多个模块链接在一起。

2. 同步闪烁

我想实现的一个关键功能是同步闪烁:当点击围棋时,所有连接的棋子(包括点击的棋子)都会同时闪烁。由于每个棋子都需要改变其外观或闪烁,因此它必须与游戏管理设备通信。挑战在于有效地实现这种同步。

虽然无线通信允许广播,但由于展览场地可能会受到干扰,因此我避免了广播。我考虑了几种有线通信协议:SPI、I2CRS485 和 CAN。由于广播通信限制,SPI 和 I2C 被取消。尽管 RS485 支持与板模块的单独和广播通信,但它需要实现自定义协议。这种额外的处理可能会使 RP2040 负担过重,从而导致同步问题。

最终,我选择了 CAN 协议,因为它的控制器在本地实现了个人和广播通信。此选项可减少 RP2040 的处理负载并最大限度地减少同步问题。虽然为每个板卡模块配备 MCP2515 CAN 控制器会增加当前成本,但我们预计未来通过用 XIAO RA4M1 替换 XIAO RP2040 来降低成本,这将消除对单独 CAN 控制器的需求。

每个板卡模块根据其位置分配一个唯一的 XY ID。使用此 ID,通过以下 CAN ID 处理通信:

0x4XY:从游戏手柄发送,指示围棋改变面部表情或准备眨眼

0x6XY:放置、移除或点击围棋时,从棋盘模块发送到游戏控制器

0x1FF:广播到所有准备闪烁的棋子,触发它们同时闪烁

例如,要仅使编号为 0x12 且 0x14 闪烁的棋子,该过程如下:

游戏控制器向编号为 0x12 和 0x14 的棋子发送消息0x02FF,使这些棋盘模块进入闪烁就绪状态。

然后,游戏控制器0x1FF03FF (on) 和 0x1FF0300 (off) 广播消息。只有处于 blink-ready 状态的板子模块 (0x12 和 0x14) 响应这些命令,而所有其他模块都会忽略它们。这将启用仅选定的 Go 棋子的同步闪烁。

这种通信机制可确保无缝闪烁,从而防止播放器出现任何明显的同步延迟。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    114

    文章

    17254

    浏览量

    185469
  • 游戏
    +关注

    关注

    2

    文章

    778

    浏览量

    26936
  • 树莓派
    +关注

    关注

    122

    文章

    2054

    浏览量

    107847

原文标题:创客项目秀|基于XIAO RP2040和树莓派的围棋棋盘游戏系统

文章出处:【微信号:ChaiHuoMakerSpace,微信公众号:柴火创客空间】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用树莓Pico的RP2040微控制器内置温度传感器

    树莓 Pico 的 RP2040 微控制器内置了温度传感器,它可以通过第四个模拟数字转换器通道读取。像电位器一样,传感器的输出是一个可变的电压,随着温度的变化,电压也随之变化。
    的头像 发表于 09-11 10:14 2857次阅读

    树莓Pico RP2040上怎样使用MicroPython呢?

    RP2040 是一款由树莓公司设计的 32 位双核 ARM Cortex-M0+ 微控制器芯片,于 2021 年 1 月发布,作为树莓
    的头像 发表于 11-08 14:29 5116次阅读
    在<b class='flag-5'>树莓</b><b class='flag-5'>派</b>Pico <b class='flag-5'>RP2040</b>上怎样使用MicroPython呢?

    矽递科技XIAO RP2040开发板的Arduino开发环境配置教程

    在嵌入式系统与物联网技术的推动下,开发者亟需兼具性能与便携的开发工具。2023年,矽递科技以树莓RP2040芯片为核心,推出 XIAO
    的头像 发表于 03-17 10:02 2383次阅读
    矽递科技<b class='flag-5'>XIAO</b> <b class='flag-5'>RP2040</b>开发板的Arduino开发环境配置教程

    使用RP2040设计一个迷你板

    自动化家庭系统领域引发了更多学习课程的 RP2040 芯片已经上市。它是由 Raspberry Pi 制造的产品,从长远来看,它推动了微控制器革命,引发了新平台的兴起,如 Arduino Nano
    发表于 09-02 06:37

    ubuntu上交叉编译rp2040

    连接到rp2040 ,所以使用另一块pico作为调试器,需要给pico调试器下载固件,也就是picoprobe 地址 https://github.com/Wiz-IO
    发表于 08-27 08:00

    树莓Pico迷你开发板及所使用的RP2040 MCU芯片有哪些特性

    Raspberry Pi Pico是什么?树莓Pico迷你开发板及所使用的RP2040 MCU芯片有哪些特性?
    发表于 09-14 06:50

    在IAR EWARM v7.10下,开发树莓RPi Pico/RP2040c

    看到牛人“傻孩子”非要用MDK开发树莓Pico,除了敬佩,还能怎么地:)突然心血来潮,我也玩一把IAR开发Pico/RP2040。为了具有普遍意义,用较低的版本v7.10。不引用库。就连
    发表于 05-07 09:50

    RP2040

    RP2040是一种基于ARM Cortex-M0+核心的微控制器芯片,由Raspberry Pi公司设计和生产。它主要用于树莓计算模块和树莓
    发表于 09-15 09:04

    BBkey80:由XIAO RP2040驱动的GL516兼容键盘

    电子发烧友网站提供《BBkey80:由XIAO RP2040驱动的GL516兼容键盘.zip》资料免费下载
    发表于 10-19 09:22 0次下载
    BBkey80:由<b class='flag-5'>XIAO</b> <b class='flag-5'>RP2040</b>驱动的GL516兼容键盘

    RP2040模块MCU开源分享

    电子发烧友网站提供《RP2040模块MCU开源分享.zip》资料免费下载
    发表于 10-28 14:49 12次下载
    <b class='flag-5'>RP2040</b>模块MCU开源分享

    AI WB2和XIAO RP2040组合开源

    电子发烧友网站提供《AI WB2和XIAO RP2040组合开源.zip》资料免费下载
    发表于 01-30 10:47 0次下载
    AI WB2和<b class='flag-5'>XIAO</b> <b class='flag-5'>RP2040</b>组合开源

    9.9元包邮!合宙RP2040开发板,兼容树莓PICO

    合宙新品排队来,刚刚10元入手 Air601+Air001 开发板超值套餐 的工程师朋友们,又迎来新一波福利: ——9.9元合宙RP2040开发板来了! 树莓经典与合宙的激情撞击,将带来怎样的超值
    的头像 发表于 08-07 12:05 4793次阅读

    9.9元自制树莓逻辑分析仪?!合宙RP2040开发板轻松DIY

    。 现在,我们使用基于树莓主控芯片的 合宙RP2040开发板 ,就可以低成本快速DIY逻辑分析仪。   9.9元自制100M逻辑分析仪 CORE-RP2040 ——合宙推出的9.9家
    的头像 发表于 08-14 12:10 1.8w次阅读
    9.9元自制<b class='flag-5'>树莓</b><b class='flag-5'>派</b>逻辑分析仪?!合宙<b class='flag-5'>RP2040</b>开发板轻松DIY

    合宙RP2040开发板,兼容树莓PICO

    合宙新品排队来,刚刚10元入手Air601+Air001开发板超值套餐的工程师朋友们,又迎来新一波福利:——9.9元合宙RP2040开发板来了!树莓经典与合宙的激情撞击,将带来怎样的超值
    的头像 发表于 08-08 08:05 3903次阅读
    合宙<b class='flag-5'>RP2040</b>开发板,兼容<b class='flag-5'>树莓</b><b class='flag-5'>派</b>PICO

    RP2040的工业级封装系统

    这款采用RP2040的工业级SiP可实现无缝网络加速和安全物联网连接。WIZnet将W5500以太网控制器与RP2040集成到单个封装系统中,增强了其设备功能,提供了更全面的网络卸载解决方案,为客户
    的头像 发表于 07-06 08:34 437次阅读
    <b class='flag-5'>RP2040</b>的工业级封装<b class='flag-5'>系统</b>!