# KAM03.py + Motor.py # 將馬達的部分抽出成為一個獨立的模組Motor.py from Motor import MOTOR import cv2 from pynput import keyboard import time from time import sleep import os motor= MOTOR(22,3,23,17,22,27) input('test motor.forward() ') #motor.testmotor() #motor.TURN(0.4,0.4,2.0); motor.TURN(0.0,0.0,1.0) # stop motor motor.forward() ; motor.forward() ; motor.forward() ; motor.forward() input('test-2 motor.forward() done...') t=0 KB=open('KB.txt','w') break_program = True def on_press(key): global break_program,t sp=str(key).strip("'") KS=str(t)+' '+str(key).strip("'") print ('t=',t,' key=',key,KS,' sk=',str(key),break_program) KB.write(KS+'\n') if sp == 'w' and break_program: motor.forward() if sp == 's' and break_program: motor.backward() if sp == 'a' and break_program: motor.left() if sp == 'd' and break_program: motor.right() if key == keyboard.Key.f1 and break_program: print ('end pressed') break_program = False cap = cv2.VideoCapture(0) cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640) cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480) fourcc = cv2.VideoWriter_fourcc(*'XVID') out = cv2.VideoWriter('KAM03.avi', fourcc, 20.0, (640, 480)) print("Press 'F1' key to stop the car.") print("Press enter to start the car.") listener = keyboard.Listener(on_press=on_press) listener.start() input('into 1801...') while(t < 1801 and cap.isOpened()): if(t%50 == 0): print(t) ret, frame = cap.read() t+=1 if ret == True: out.write(frame) cv2.imshow('frame',frame) if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() out.release() cv2.destroyAllWindows() KB.close()