Arduino 16*16点阵游戏机DIY

DIY了一个简易的点阵游戏机,并实现了贪吃蛇游戏。可以愉快的玩耍了!

材料清单

名称功能数量
Arduino主控1
PCB连接电路4
max7219控制点阵显示4
8*8点阵显示画面4
摇杆控制角色移动方向1
按键确定/取消2

设计思路

  • 用数组存储蛇身各点坐标数据
  • 用摇杆控制蛇的移动方向(即调整数组中的坐标数据)
  • 用4个MAX7219芯片分别驱动4个8*8点阵屏,显示图像
  • 用4个8元素字节数组分别存储4个8*8点阵屏的图像
  • 用定时中断实现每隔一段时间刷新一次屏幕(蛇的移动速度与时间间隔相关)

电路设计

PCB

在这里插入图片描述

程序设计

效果展示

在这里插入图片描述

要在Arduino上播放8*8点阵音乐,您需要使用一个小型音频模块,如DFPlayer Mini,它可以存储音频文件并通过串口控制播放。 您还需要一个8*8点阵LED模块,用于显示音乐节奏。 以下是基本的步骤: 1. 将DFPlayer Mini连接到Arduino,将点阵LED模块连接到Arduino的数字引脚。 2. 使用DFPlayer Mini的软件串口库将音乐文件上传到模块中。 3. 使用Arduino的音频库控制DFPlayer Mini,以便在点阵LED模块上播放音乐。 4. 使用Arduino的延迟函数来控制点阵LED的亮灭,以显示音乐的节奏。 这是一个简单的示例程序,演示如何使用DFPlayer Mini和点阵LED模块播放音乐: ``` #include <SoftwareSerial.h> #include <DFRobotDFPlayerMini.h> #include <LedControl.h> SoftwareSerial mySerial(10, 11); // RX, TX DFRobotDFPlayerMini myDFPlayer; LedControl lc = LedControl(5, 6, 7, 1); void setup() { mySerial.begin(9600); Serial.begin(115200); myDFPlayer.begin(mySerial); lc.shutdown(0, false); lc.setIntensity(0, 8); lc.clearDisplay(0); } void loop() { if (myDFPlayer.available()) { int command = myDFPlayer.readCommand(); if (command == DFPlayerPlayFinished) { lc.clearDisplay(0); } } int spectrum = myDFPlayer.readSpectrum(); if (spectrum > 0) { lc.clearDisplay(0); for (int i = 0; i < 8; i++) { int level = map(spectrum, 0, 1023, 0, 8); lc.setRow(0, i, (1 << level) - 1); } } delay(50); } ``` 这个程序使用DFPlayer Mini播放音乐并读取音频频谱,然后将频谱转换为点阵LED的亮度,以显示音乐的节奏。您可以自己编写代码,以便更好地适应您的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值