Ankur Deka
Published © Apache-2.0

Gaming Bot

This little bot plays the Dinosaur game on chrome browser.

IntermediateShowcase (no instructions)8 hours4,258
Gaming Bot

Things used in this project

Story

Read more

Schematics

H-Bridge

Circuit to drive the motor that taps on the screen

Code

Gaming Bot

Python
The code is written in python and runs on a Raspberry Pi. It needs openCV packages to be installed.
import RPi.GPIO as io
import cv2

cap=cv2.VideoCapture(0)
cv2.namedWindow("B & W")



io.setmode(io.BOARD)
io.setup(11,io.OUT)
io.setup(12,io.OUT)

def tap():
    io.output(12,io.LOW)
    io.output(11,io.HIGH)
    cv2.waitKey(150)
    io.output(11,io.LOW)
    io.output(12,io.HIGH)
    k=cv2.waitKey(50)
    io.output(12,io.LOW)


while cap.isOpened():
    ret,frame=cap.read()
    #bw=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
    roi=frame[300:317,237:262]
    bw = cv2.cvtColor(roi,cv2.COLOR_BGR2GRAY)

    ret,bw=cv2.threshold(bw,170,255,cv2.THRESH_BINARY)
    k=0
    for i in range(0,17):
        for j in range(0,25):
            if(bw.item(i,j)==255):
                k=k+1
    print k
    
    #cv2.imshow("Frame",frame)
    #cv2.imshow("B & W",bw)
	
    if k<420:
	print("tap")
        tap()
	ret,frame=cap.read()
        ret,frame=cap.read()
        ret,frame=cap.read()

    if cv2.waitKey(1) & 0xFF==27:
        break

cap.release()
cv2.destroyAllWindows()



while False:
    io.output(12,io.LOW)
    io.output(11,io.HIGH)
    k=cv2.waitKey(50)
    if k==27:
        break
    io.output(11,io.LOW)
    io.output(12,io.HIGH)
    k=cv2.waitKey(50)
    if k==27:
        break

Credits

Ankur Deka

Ankur Deka

1 project • 5 followers
I love to make and break !

Comments