亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

LCD Hill Run v2 —— 基于 Arduino 的互动跑酷游戏(16x2 LCD 与蜂鸣器)

项目简介

这是一个运行在 Arduino 上的趣味跑酷游戏,使用 16x2 字符 LCD 显示画面,通过两个按钮控制角色跳跃与下蹲,躲避小山和乌鸦。游戏包含音效反馈、分数记录和游戏结束重启机制,代码结构清晰,适合初学者学习游戏逻辑、中断处理和 LCD 自定义字符的使用。

作者年仅 12 岁,代码风格紧凑,利用中断响应按键,实现了流畅的游戏体验。项目开源,提供完整接线说明、代码和库文件下载链接。

所需材料

软件与库

接线指南

LCD 接线(标准 16 脚并口)

按钮与蜂鸣器

核心代码逻辑

游戏主循环以固定时间步长(默认 90ms)推进:

  1. 绘制角色(跑步、跳跃、下蹲动画)
  2. 移动障碍物(小山在底行,乌鸦在顶行)
  3. 碰撞检测:跳跃越过小山、下蹲躲避乌鸦得分,否则游戏结束
  4. 蜂鸣器播放跳跃、下蹲、死亡音效
  5. 游戏结束显示分数,按跳跃键重启

关键技术点:

代码示例(核心片段)

const int JUMP_PIN = 2;
const int DUCK_PIN = 18; // Uno 改为 3
const int BUZZER_PIN = 5;
const int TICKSPEED = 90;
const int JUMP_LENGTH = 3;

volatile int jumpPhase = JUMP_LENGTH + 1;
volatile bool ducking = LOW;
int hillX = 25, crowX = 40;
int score = 0;

void setup() {
  pinMode(JUMP_PIN, INPUT);
  pinMode(BUZZER_PIN, OUTPUT);
  lcd.begin(16, 2);
  // 创建自定义字符...
  attachInterrupt(digitalPinToInterrupt(JUMP_PIN), seeJumping, RISING);
  attachInterrupt(digitalPinToInterrupt(DUCK_PIN), seeDucking, CHANGE);
}

void loop() {
  // 游戏主循环:绘制、移动、碰撞检测、延时
  drawSprites();
  // ... 省略完整逻辑
  delay(TICKSPEED);
}

void seeJumping() {
  if (jumpPhase > (JUMP_LENGTH + 2) && !ducking) {
    jumpPhase = 0;
    tone(BUZZER_PIN, JUMP_PITCH, JUMP_PITCH_DURATION);
  }
}

void seeDucking() {
  ducking = digitalRead(DUCK_PIN);
  if (ducking) {
    jumpPhase = JUMP_LENGTH;
    tone(BUZZER_PIN, DUCK_PITCH, DUCK_PITCH_DURATION);
  }
}

扩展建议

项目地址

完整代码、库文件和原理图请访问:Arduino Project Hub

制造工艺

  1. Arduino Nano 与 MPU-6050 构建实时陀螺仪游戏
  2. 用 Arduino UNO 和 OLED 显示屏制作经典 Pong 游戏:分步教程
  3. DIY Arduino USB 游戏手柄 — 自制高性能游戏手柄
  4. Arduino UNO 驱动 16x2 LCD 实现动画与小游戏
  5. Arduino 触控打砖块:在 2.4 英寸 TFT LCD 上重现经典街机
  6. Pixel Chaser:Arduino Nano 单键 NeoPixel 追逐小游戏
  7. Arduino 自动化 Chrome 恐龙游戏 - LDR 光敏电阻 + Python 实现全自动跳跃
  8. DIY LED 轮盘赌游戏机 —— Arduino Nano 打造单人桌面街机
  9. 打造 Arduino 掌上游戏机:A-Maze 紧凑型可刷新迷宫游戏
  10. 打造可靠的 Arduino 气象站:DHT 传感器 + LCD + RTC
  11. 用蜂鸣器和摇杆制作经典 Arduino LCD 街机游戏
  12. Arduino 智能盲杖:超声波避障与声光提醒