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

Arduino 自动化 Chrome 恐龙游戏 - LDR 光敏电阻 + Python 实现全自动跳跃

元器件清单

元器件数量备注
Arduino UNO1主控板
LDR 光敏电阻 (5 MΩ)1检测屏幕障碍物
10kΩ 电阻1LDR 分压电阻(原文提示需添加)
跳线若干-面包板连接

项目简介

宅家无聊?来玩 Chrome 恐龙游戏!但手动玩久了也腻,何不让 Arduino 帮你自动通关?本项目利用 LDR 光敏电阻检测屏幕上障碍物出现时的亮度变化,Arduino 读取模拟值并通过串口发送信号,Python 脚本接收后模拟按键让恐龙自动跳跃。

Arduino 自动化 Chrome 恐龙游戏 - LDR 光敏电阻 + Python 实现全自动跳跃
Arduino 自动化 Chrome 恐龙游戏 - LDR 光敏电阻 + Python 实现全自动跳跃

硬件连接

将 LDR 与 10kΩ 电阻串联分压,连接到 Arduino A0 引脚,另一端分别接 5V 和 GND。关键步骤:用胶带将 LDR 固定在显示器恐龙游戏区域的障碍物出现位置(通常是屏幕右侧地平线上方),确保能准确检测到仙人掌/鸟类通过时的亮度变化。

Arduino 自动化 Chrome 恐龙游戏 - LDR 光敏电阻 + Python 实现全自动跳跃
Arduino 自动化 Chrome 恐龙游戏 - LDR 光敏电阻 + Python 实现全自动跳跃

Arduino 代码

// Arduino Dino Game 自动检测障碍物
int sensorPin = A0;        // LDR 接 A0
int sensorValue = 0;       // 存储读取值
int thresholdValue = 43;   // 阈值,需根据实测调整

void setup() {
  Serial.begin(9600);
}

void loop() {
  sensorValue = analogRead(sensorPin);
  // Serial.println(sensorValue); // 首次使用取消注释以观察数值并确定阈值
  
  if (sensorValue <= thresholdValue) {  // 检测到障碍物(亮度降低)
    Serial.println(1);                  // 发送跳跃信号
  }
  delay(50);  // 采样间隔
}

校准方法:打开串口监视器,观察无障碍物时的数值,再让障碍物通过时的数值,将阈值设在两者之间(如 43)。

Python 自动化脚本

需安装依赖:pip install pyserial pyautogui

import subprocess
import time
import pyautogui
import serial

# 启动浏览器打开恐龙游戏网页版(Chrome 用户可改为 Chrome 路径)
subprocess.call([r'C:\Program Files\Mozilla Firefox\Firefox.exe', '-new-tab', 'https://chromedino.com/'])
time.sleep(6)  # 等待页面加载
print("All set :)")

ser = serial.Serial('COM4')  # 修改为你的 Arduino 串口号
ser.baudrate = 9600

while True:
    h1 = ser.readline()
    if h1:
        ss = int(h1.decode('utf-8').strip())
        if ss == 1:  # 收到跳跃信号
            print("Oh :< Jump!!")
            pyautogui.press('up')  # 模拟按下上键/空格

进阶玩法

GitHub 仓库:https://github.com/rafitc/arduDino

原理图

Arduino 自动化 Chrome 恐龙游戏 - LDR 光敏电阻 + Python 实现全自动跳跃

制造工艺

  1. 用 Arduino 打造绚丽显示器 Ambilight 系统
  2. TeleBall:自制 Arduino 掌上复古游戏机(打砖块 + 双人网球)
  3. 用 Arduino UNO 和 OLED 显示屏制作经典 Pong 游戏:分步教程
  4. DIY Arduino USB 游戏手柄 — 自制高性能游戏手柄
  5. Arduino Uno 自动化乐高星球大战发射器
  6. Arduino 触控打砖块:在 2.4 英寸 TFT LCD 上重现经典街机
  7. Arduino 与智能手机打造智能电压表——简单易做的 DIY 项目
  8. 基于 Arduino 与 MAX30100 的实时物联网心率监测系统
  9. Arduino Uno WiFi 网页服务器:通过浏览器控制 LED 开关
  10. Pixel Chaser:Arduino Nano 单键 NeoPixel 追逐小游戏
  11. 使用 Arduino Nano 和 RDA8057M 制作紧凑型 FM 收音机
  12. 无线Arduino编程盾:HC-05蓝牙模块实现免USB线烧录