Ejemplo n.º 1
0
def command(cmd=None):
    if cmd == STOP:
        motor.stop()
    elif cmd == FORWARD:
        motor.forward()
    elif cmd == BACKWARD:
        motor.backward()
    elif cmd == LEFT:
        motor.left()
    else:
        motor.right()
    response = "Moving {}".format(cmd.capitalize())
    return response, 200, {'Content-Type': 'text/plain'}
def move(rect):
    (x,y,w,h) = rect
    
    center = (320,240)
    rect_center = (x+w//2, y+h//2)
    
    cv2.circle(img, center, 1, (0, 0, 255), 2);
    cv2.circle(img, rect_center, 1, (0, 0, 255), 2);
        
    go_back = -1
    right_left = -1 
    
    if w*h > 45000 or y < 50:
        go_back = 2
    elif w*h < 35000 or y > 430:
        go_back = 1
    else:
        go_back = 0
        
    if rect_center[0] > center[0]+100:
        right_left = 2
    elif rect_center[0] < center[0]-100:
        right_left = 1
    else:
        right_left = 0
        
    location = (('stop','go','back'),
            ('left','go_left','back_left'),
            ('right','go_right','back_right'))    
    loc = location[right_left][go_back] 

    if loc == 'stop':
        m.stop()
    elif loc == 'go':
        m.go()
    elif loc == 'back':
        m.back()
    elif loc == 'left':
        m.left()
    elif loc == 'right':
        m.right()
    elif loc == 'go_left':
        m.go_left()
    elif loc == 'go_right':
        m.go_right()
    elif loc == 'back_left':
        m.back_left()
    elif loc == 'back_right':
        m.back_right()  
    print(loc)
Ejemplo n.º 3
0
Archivo: server.py Proyecto: llqgit/pi
def handle_event(payload):
    type = payload['type']
    if type == 'move':
        x = payload['x']
        y = payload['y']
        #print str(x) + ' ' + str(y)
        motor.move(x, y)
    elif type == 'up':
        motor.up()
    elif type == 'down':
        motor.down()
    elif type == 'left':
        motor.left()
    elif type == 'right':
        motor.right()
Ejemplo n.º 4
0
def bySize(form, setLabelSignal):
    print(form.area)
    if (form.area <= 10000):
        print("Small")
        sleep(1)
        right()
        sleep(1)
        start()
        setLabelSignal.emit("Small")

    if (form.area > 10000):
        print("Big")
        sleep(1)
        right()
        sleep(1)
        start()
        setLabelSignal.emit("Big")
Ejemplo n.º 5
0
def command(cmd=None):
    if cmd == STOP:
        led.led_stop()
        motor.stop()
    elif cmd == FORWARD:
        led.led_off()
        motor.forward()
    elif cmd == BACKWARD:
        led.led_off()
        motor.backward()
    elif cmd == LEFT:
        led.led_left()
        motor.left()
    elif cmd == RIGHT:
        led.led_right()
        motor.right()
    return "Success", 200, {'Content-Type': 'text/plain'}
Ejemplo n.º 6
0
async def hello(websocket, path):
    while True:
        msg = await websocket.recv()
        print("< {}".format(msg))

        if msg == 'forward':
            motor.forward()

        if msg == 'stop':
            motor.stop()

        if msg == 'right':
            motor.right()

        if msg == 'left':
            motor.left()

        if msg == 'backward':
            motor.backward()
Ejemplo n.º 7
0
def byForm(form, setLabelSignal):
    if form.corners == 4:
        print("Patrulater")
        sleep(1)
        left()
        sleep(1)
        start()
        setLabelSignal.emit("Patrulater")

    if form.corners == 3:
        print("Triunghi")
        sleep(1)
        right()
        sleep(1)
        start()
        setLabelSignal.emit("Triunghi")

    if form.corners == 6:
        print("Hexagon")
        setLabelSignal.emit("Hexagon")
Ejemplo n.º 8
0
	game_over = False
	input_img, errors = getImage()
	errors = False
	reward = 0
	while game_over==False:
		if np.random.rand() <= epsilon:
			action = np.random.randint(0, moves, size=1)[0]
		else:
			output = model.predict(input_img)
			action = np.argmax(output[0])
		if int(action) == 0:
<<<<<<< HEAD:Using-Object-Detection-For-Reward/reinforced.py
			forward(1.25)
			print('forward')
		elif int(action) == 1:
			right(1.25)
			print('right')
		else:
			left(1.25)
=======
			forward(FB_TIME)
			print('forward')
		elif int(action) == 1:
			right(LR_TIME)
			print('right')
		else:
			left(LR_TIME)
>>>>>>> ultrasonic:reinforced.py
			print('left')
		input_next_img, errors = getImage()
		if errors == False:
Ejemplo n.º 9
0
import numpy as np
from camera import getImage
from cnn import checkModel
from motor import forward, left, right
from config import FB_TIME, LR_TIME

model = checkModel()
while True:
	input_img, errors = getImage()
	output = model.predict(input_img)
	print(output, output.shape )
	action = np.argmax(output[0])
	if int(action) == 0:
		forward(FB_TIME)
		print('forward')
	elif int(action) == 1:
		right(LR_TIME)
		print('right')
	else:
		left(LR_TIME)
		print('left')

Ejemplo n.º 10
0
def right():
    motor.right(1)
Ejemplo n.º 11
0
import player
import listen
from pynput.keyboard import Controller, Key, Listener
# create IPv4, TCP socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('119.23.228.189', 9999))
print("链接成功")  # read 1024 byte from socket

while 1:
    # if a == "q":
    #     break
    # s.send(a.encode())
    # print("send"+a)
    while True:
        a = s.recv(1024)
        print(a)
        print(a == bytes('w'.encode()))
        print(type(a))
        if a == bytes('w'.encode()):
            motor.up()
        elif a == bytes('s'.encode()):
            motor.down()
        elif a == bytes('d'.encode()):
            motor.right()
        elif a == bytes('a'.encode()):
            motor.left()
        elif a == bytes('b'.encode()):
            player.sound()
        else:
            print("不可以输入", a)
Ejemplo n.º 12
0
def right():
	motor.right(1)
Ejemplo n.º 13
0
def r():
    right()
    return jsonify({"message":"Started turning right"})
Ejemplo n.º 14
0
joy = xbox.Joystick()

# Setup motors
GPIO.setmode(GPIO.BOARD)
motor.setup()

try:
    #Valid connect may require joystick input to occur
    print "Waiting for Joystick to connect"
    while not joy.connected():
        time.sleep(0.10)

    print('Connected')
    #Show misc inputs until Back button is pressed    
    while not joy.Back() and joy.connected():
        if joy.rightTrigger() > 0:
            motor.forward()
        elif joy.leftTrigger() > 0:
            motor.backward()
        elif joy.rightBumper():
            motor.right()
        elif joy.leftBumper():
            motor.left()
        else:
            motor.stop()

finally:
    #Always close out so that xboxdrv subprocess ends
    joy.close()
    print "Done."
Ejemplo n.º 15
0
         mtr.forward()
         time.sleep(0.05)
         mtr.stop()
     elif arrow == 37:
         print("Turn Left")
         mtr.left()
         time.sleep(0.05)
         mtr.stop()
     elif arrow == 40:
         print("Go Backward")
         mtr.backward()
         time.sleep(0.05)
         mtr.stop()
     elif arrow == 39:
         print("Turn Right")
         mtr.right()
         time.sleep(0.05)
         mtr.stop()
 
 ## Control Arm/Camera Servo Motor
 elif str == 'range':
     servoNum = datalist[1][1]
     angle = int(datalist[0][1])
     if servoNum == 0: ## Reset Servo
         Servo.XiaoRGEEK_ReSetServo()
     Servo.XiaoRGEEK_SetServoAngle(servoNum, angle)
     
 ## ERROR OCCURS
 if data:
     # print('echo data to client')
     connection.sendall(data) # 누구한테 보내는거삼
Ejemplo n.º 16
0
def drive(lcd):
    try:
        f = init_fp(lcd)
        welcome_msg(lcd)
        lcd.lcd_display_string("Smart DL: Push Black", 2)
        lcd.lcd_display_string("QRCode: Push Red", 3)
        drive_enable = False
        while True:
            button_state_dl = GPIO.input(17)
            button_state_qr = GPIO.input(27)

            if button_state_dl == GPIO.HIGH:
                context, readers = init_smart_card_reader(lcd)
                state = init_smart_card(lcd, context, readers)
                lcd.lcd_display_string("Pls dont remove DL", 2)
                lcd.lcd_display_string('Place your finger..', 3)
                positionNumber, accuracyScore = verify_fp_from_sensor(lcd, f)
                welcome_msg(lcd)
                lcd.lcd_display_string("Pls dont remove DL", 2)
                lcd.lcd_display_string('FingerPrint Matched-1', 3)
                lcd.lcd_display_string('Verifying DL', 4)
                sleep(3)
                result = read_verify_dl(lcd, f, positionNumber)
                if (result == 0):
                    welcome_msg(lcd)
                    lcd.lcd_display_string("FP Matched-1", 2)
                    lcd.lcd_display_string('DL check Fail', 3)
                    lcd.lcd_display_string('Pls insert valid DL', 4)
                    print("No match for DL")
                    state = wait_new_smart_card(lcd, context, readers, state)
                    #sleep(5)
                    execfile("ssc3.py")
                else:
                    print('Found template at position #' + str(positionNumber))
                    print('The accuracy score is: ' + str(accuracyScore))
                    drive_enable = True
                    break
            elif button_state_qr == GPIO.HIGH:
                welcome_msg(lcd)
                lcd.lcd_display_string('Place your finger..', 2)
                positionNumber, accuracyScore = verify_fp_from_sensor(lcd, f)
                welcome_msg(lcd)
                lcd.lcd_display_string("FP - Matched", 2)
                sleep(2)
                #lcd.lcd_display_string("Show QR code", 2)
                #sleep(1)
                result = verify_qrcode(lcd)
                if (result == False):
                    welcome_msg(lcd)
                    lcd.lcd_display_string("QR Code Match Fail", 2)
                    lcd.lcd_display_string("QR Code Attempts Over", 3)
                    sleep(10)
                    execfile(ssc3.py)
                else:
                    print('QR code match')
                    drive_enable = True
                    break
        if drive_enable == True:
            welcome_msg(lcd)
            lcd.lcd_display_string("Wishing Safe Driving", 2)
            lcd.lcd_display_string("push red to stop", 3)
            sleep(1)
            motor.init()
            pir = MotionSensor(23)
            while True:
                motor.right(1)
                button_state_stop = GPIO.input(27)
                if button_state_stop == GPIO.HIGH:
                    #motor.cleanup()
                    welcome_msg(lcd)
                    lcd.lcd_display_string("Car Stopped", 2)
                    lcd.lcd_display_string("Motion: Push Red", 3)
                    lcd.lcd_display_string("Exit: Push black", 4)
                    break
            counter = 0
            motion_detect = False
            while True:
                button_state_exit = GPIO.input(17)
                button_state_pir = GPIO.input(27)
                if button_state_exit == GPIO.HIGH:
                    welcome_msg(lcd)
                    lcd.lcd_display_string("Demo Over", 2)
                    exit(1)
                elif button_state_pir == GPIO.HIGH or motion_detect:
                    if motion_detect == False:
                        welcome_msg(lcd)
                        lcd.lcd_display_string("Motion Detect Started", 2)
                        motion_detect = True
                    try:
                        with timeout(1, exception=RuntimeError):
                            pir.wait_for_motion()
                            counter = counter + 1
                            if counter > 2000:
                                lcd.lcd_display_string("SMS sent", 3)
                                gsm.sendsms(
                                    'ALERT: Someone Locked in Car No: 1234')
                                pass
                    except RuntimeError:
                        counter = 0
                        pass
                    print("Motion detected!")
                    #sleep(2)
    except Exception as e:
        GPIO.setmode(GPIO.BCM)
        print(e)
        #motor.cleanup()
        GPIO.cleanup()
        error_msg(lcd, e)
Ejemplo n.º 17
0
def move(rect):
    (x, y, w, h) = rect

    center = (320, 240)
    rect_center = (x + w // 2, y + h // 2)

    cv2.circle(img, center, 1, (0, 0, 255), 2)
    cv2.circle(img, rect_center, 1, (0, 0, 255), 2)

    go_back = -1
    right_left = -1

    if w * h > 45000 or y < 50:
        go_back = 2
    elif w * h < 35000 or y > 430:
        go_back = 1
    else:
        go_back = 0

    if rect_center[0] > center[0] + 100:
        right_left = 2
    elif rect_center[0] < center[0] - 100:
        right_left = 1
    else:
        right_left = 0

    location = (('stop', 'go', 'back'), ('left', 'go_left', 'back_left'),
                ('right', 'go_right', 'back_right'))
    loc = location[right_left][go_back]
    '''
    x= np.linspace(0,640,8)
    x2 = np.linspace(0,640,6)
    degree = np.array([4.5,5.5,6.5,7.5,8.5,9.5,10.5])
    degree2 = np.array([4.5,6,7.5,9,10.5])
    
    for i in range(0,len(degree)):
        if x[i] < rect_center[0] and x[i+1] > rect_center[0]:
            m.setServo(degree[i])
            time.sleep(0.3)
            break
    '''

    if loc == 'stop':
        m.stop()
    elif loc == 'go':
        m.go()
    elif loc == 'back':
        m.back()
    elif loc == 'left':
        m.left()
    elif loc == 'right':
        m.right()
    elif loc == 'go_left':
        m.go_left()
    elif loc == 'go_right':
        m.go_right()
    elif loc == 'back_left':
        m.back_left()
    elif loc == 'back_right':
        m.back_right()

    print(loc)