산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

아두이노로 크롬 공룡 게임 자동화하기 – LDR과 파이썬으로 장애물 감지

부품 및 소모품

부품 수량
아두이노 우노 1
LDR 조도 센서 (5MΩ) 1

프로젝트 소개

격리 기간 동안 심심해서 크롬 공룡 게임을 자동으로 플레이하는 장치를 만들었습니다. 아두이노와 LDR(조도 센서)로 화면의 장애물을 감지하고, 파이썬 스크립트로 스페이스바를 자동 입력해 점프시킵니다.

아두이노로 크롬 공룡 게임 자동화하기 – LDR과 파이썬으로 장애물 감지
아두이노로 크롬 공룡 게임 자동화하기 – LDR과 파이썬으로 장애물 감지

작동 원리

  1. 아두이노 + LDR: 모니터 화면의 특정 위치에 LDR을 고정해 장애물(선인장, 새)이 지나갈 때 화면 밝기 변화를 감지합니다.
  2. 임계값 설정: 아날로그 값 읽기 코드를 업로드하고 시리얼 모니터로 장애물 있을 때/없을 때 값을 확인해 임계값을 정합니다.
  3. 파이썬 연동: 아두이노가 장애물 감지 시 시리얼로 '1' 전송 → 파이썬이 읽어서 pyautogui.press('up')로 점프 키 입력.

아두이노 배선

LDR을 A0 핀에 연결하고 풀다운 저항(10kΩ 권장)을 추가하세요.

아두이노로 크롬 공룡 게임 자동화하기 – LDR과 파이썬으로 장애물 감지
아두이노로 크롬 공룡 게임 자동화하기 – LDR과 파이썬으로 장애물 감지

코드

아두이노 코드

// Arduino Dino Game 자동화
int sensorPin = 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); // 장애물 감지 시 1 전송
  }
  delay(50);
}

파이썬 코드

import subprocess
import time
import pyautogui
import serial

# 브라우저 실행 (크롬 경로로 수정 가능)
subprocess.call([r'C:\Program Files\Mozilla Firefox\firefox.exe', '-new-tab', 'https://chromedino.com/'])
time.sleep(6)
print("All sett :)")

ser = serial.Serial('COM4')  # 아두이노 포트로 변경
ser.baudrate = 9600

while True:
    h1 = ser.readline()
    if h1:
        ss = int(h1.decode('utf-8'))
        if ss == 1:
            print("Oh :< Jump!!")
            pyautogui.press('up')

설정 팁

참고 자료

제조공정

  1. 아두이노로 모니터 앰비라이트(Ambilight) 시스템 직접 만들기
  2. 텔레볼(TeleBall): 아두이노 기반 레트로 휴대용 게임기 직접 만들기
  3. 아두이노 우노와 OLED 디스플레이로 클래식 퐁(Pong) 게임 만들기: 단계별 튜토리얼
  4. DIY 아두이노 USB 게임 컨트롤러 - 나만의 고성능 게임패드 만들기
  5. 아두이노 우노로 만드는 자동 레고 스타워즈 슈터
  6. 아두이노 터치 브레이크아웃 게임: 2.4" TFT LCD로 클래식 아케이드 구현
  7. 아두이노와 스마트폰으로 만드는 스마트 전압계 – 초간단 DIY 프로젝트
  8. 아두이노와 MAX30100으로 만드는 실시간 IoT 심박수 모니터
  9. 아두이노 우노 와이파이 웹 서버: 브라우저로 LED 제어하기
  10. 픽셀 체이서: 아두이노 나노로 만든 인터랙티브 원탭 LED 게임