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

arduino를 사용한 자동화된 Dino 게임

구성품 및 소모품

Arduino UNO
× 1
LDR, 5Mohm
× 1

이 프로젝트 정보

심심한 AF, 이 격리 기간 동안?🥴

구글 크롬 다이노 게임을 해보자...;)

하지만, 다이노 게임도 지루해지면 어떡하지.

다이노 게임을 자동화하자😉.

따라서 Arduino와 LDR이 필요합니다. . 파이썬에 대한 지식이 거의 없습니다. 또한 필요합니다.

먼저 Arduino를 설정해 보겠습니다. .

Arduino UNO를 LDR과 연결합니다. (저항을 추가하는 것을 잊지 마십시오)

다음으로 아날로그 Read LDR 값에 코드를 업로드합니다.

// 아두이노 다이노 게임 ! :)

int sensorPin =A0; //A0에 LDR 연결
int sensorValue =0; // LDR에서 오는 값을 저장할 변수
int thresholdValue =45; // 이것은 시행 착오 방법에 따라 다릅니다.
무효 설정() {
Serial.begin(9600); //9600에서 직렬 시작
}

void loop() {
// 센서에서 값 읽기:
sensorValue =analogRead(sensorPin); //센서 데이터 읽기
//Serial.println(sensorValue); //처음 사용하는 동안 주석 처리를 제거하고 thresholdValue를 가져와 설정합니다.

if(sensorValue <=thresholdValue){ //장애물을 감지하기 위한 조건.
Serial.println(1); //조건이 참이면 직렬 출력.
}
지연(40); //50ms 지연
}

LDR 수정 모니터에서 analogValues ​​를 읽습니다. 장애물이 있을 때. 해당 값을 thresholdValue 로 설정 if 조건 업데이트 . 예스!!!!! ✌️ 이제 아두이노 파트는 끝났습니다.

서보 모터를 추가하여 '스페이스 바'를 눌러 다이노를 점프할 수 있습니다. 그러나 지금은 격리 시간입니다. 그래서 서보 모터를 구할 방법이 없습니다. 그래서 저는 이 작업을 수행하기 위해 파이썬 코드를 사용했습니다.

자, 파이썬으로 코딩해 봅시다;)

Python 코드를 복사하여 붙여넣고 적절하게 변경합니다.

코드에서 우리는 pyserial을 사용하고 있습니다. 직렬 데이터를 읽는 모듈. 그런 다음 위쪽 버튼을 누르기 위해 PyAutoGUI 사용 모듈.

하위 프로세스 가져오기 
시간 가져오기
pyautogui 가져오기
시리얼 가져오기
subprocess.call([r'C:\Program Files\Mozilla Firefox\Firefox.exe' ,
'-new-tab', 'https://chromedino.com/'])
#크롬 사용자를 위한 구글 크롬 경로를 추가합니다.
#브라우저를 열고 다이노 게임을 엽니다.
#저는 파이어폭스 사용자이므로 Dino 게임이 없습니다.
#여기서는 chromedino.com을 사용하여 게임을 하고 있습니다.
time.sleep(6) #모두 열고 설정하는 데 짧은 시간을 주십시오.
print("All sett :)")

ser =serial.Serial('COM4 ') #arduino [포트]로 업데이트합니다.
ser.baudrate ='9600' #set baudRate

while True:# 루프.
h1=ser.readline() #직렬 데이터 읽기.
if h1:
ss =int(h1.decode('utf-8')) # 해독하고 int 값을 만듭니다.
if ss==1:# 장애물이 있는 동안 참.
print("오 :<점프!! ")
pyautogui.press('up') #[UP] 키 자동 누르기

파이썬 코드를 실행하고 시행착오 방법으로 적절한 위치에 LDR을 맞추십시오. 네 !!! 자동 다이노 게임이 준비되었습니다.💃 🕺

다른 LDR을 사용하여 새를 감지하여 다음 레벨로 만들 수 있습니다. 또한.

GitHub 레포 :https://github.com/rafitc/arduDino

YouTube 동영상

<섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

코드

<울>
  • 코드 스니펫 #1
  • 코드 스니펫 #2
  • 코드 스니펫 #1Arduino
    // 아두이노 다이노 게임 ! :)int sensorPin =A0; //A0에 LDR 연결 int sensorValue =0; // LDRint에서 오는 값을 저장할 변수 thresholdValue =43; // 이것은 시행 착오 방법에 따라 다릅니다. void setup() { Serial.begin(9600); //9600에서 직렬 시작} void loop() { // 센서에서 값을 읽습니다. sensorValue =analogRead(sensorPin); //센서 데이터 읽기 //Serial.println(sensorValue); //처음 사용하는 동안 주석 처리를 제거하고 thresholdValue를 가져와 설정합니다. if(sensorValue <=thresholdValue){ //장애물을 감지하기 위한 조건입니다. Serial.println(1); //조건이 참이면 직렬 출력. } 지연(50); //지연 50ms}
    코드 스니펫 #2Python
    import subprocess import timeimport pyautoguiimport serialsubprocess.call([r'C:\Program Files\Mozilla Firefox\Firefox.exe', #Chrome 사용자를 위한 Google 크롬 경로를 추가합니다. '-new-tab', 'https:// chromedino.com/']) #브라우저를 열고 다이노 게임을 엽니다. #저는 파이어폭스 사용자이므로 다이노 게임이 없습니다. #여기서 chromedino.com을 사용하여 게임을 하고 있습니다. time.sleep(6) #열고 설정하는 데 잠시 시간을 내어 all.print("All sett :)")ser =serial.Serial('COM4') #arduino [port]ser.baudrate ='9600으로 업데이트 ' #set baudRatewhile True:# 반복. h1=ser.readline() #직렬 데이터 읽기. if h1:ss =int(h1.decode('utf-8')) # 디코딩하고 int 값을 만듭니다. if ss==1:# true while 장애물. print("오 :<점프!! ") pyautogui.press('up') #[UP] 키 자동 누름 
    깃허브
    GitHUb 리포지토리 링크 https://github.com/rafitc/arduDino

    회로도


    제조공정

    1. Arduino를 사용하여 모니터 Ambilight 만들기
    2. TeleBall Retro 휴대용 ​​게임기
    3. Arduino Pong 게임 - OLED 디스플레이
    4. Arduino 게임 컨트롤러
    5. 자동 레고 슈터
    6. Arduino 터치 브레이크아웃 게임
    7. Arduino와 스마트폰을 사용한 DIY 전압계
    8. IoT를 사용한 심박수 모니터
    9. Arduino Uno WiFi를 사용하는 WebServerBlink
    10. 픽셀 체이서 게임