2021年11月5日金曜日

Control DrivenBucketTruck Using Pico


















Kim Grossa porticatiger@gmail.com

15:21 (22 分前)
To porticatiget
#DrivenBucketTruck.py
#6buttons 3DCmotors
#2021/11/05 up

import machine
import utime

L_IN1=machine.Pin(17,machine.Pin.OUT)
L_IN2=machine.Pin(18,machine.Pin.OUT)
L_IN3=machine.Pin(19,machine.Pin.OUT)
L_IN4=machine.Pin(20,machine.Pin.OUT)
R_IN1=machine.Pin(6,machine.Pin.OUT)
R_IN2=machine.Pin(7,machine.Pin.OUT)
R_IN3=machine.Pin(8,machine.Pin.OUT)
R_IN4=machine.Pin(9,machine.Pin.OUT)

btn1=machine.Pin(10,machine.Pin.IN,machine.Pin.PULL_DOWN)
btn2=machine.Pin(11,machine.Pin.IN,machine.Pin.PULL_DOWN)
btn3=machine.Pin(12,machine.Pin.IN,machine.Pin.PULL_DOWN)
btn4=machine.Pin(13,machine.Pin.IN,machine.Pin.PULL_DOWN)
btn5=machine.Pin(14,machine.Pin.IN,machine.Pin.PULL_DOWN)
btn6=machine.Pin(15,machine.Pin.IN,machine.Pin.PULL_DOWN)

Status1=0
Status2=0
Status3=0
Status4=0
Status5=0
Status6=0

def GoForward():
    L_IN1.value(1)
    L_IN2.value(0)    
    L_IN3.value(1)
    L_IN4.value(0)
    utime.sleep(0.5)
   
def GoBack():
    L_IN1.value(0)
    L_IN2.value(1)
    L_IN3.value(0)
    L_IN4.value(1)
    utime.sleep(0.5)
   
def TurnRight():
    L_IN1.value(1)
    L_IN2.value(0)
    L_IN3.value(0)
    L_IN4.value(1)
    utime.sleep(0.5)
   
def TurnLeft():
    L_IN1.value(0)
    L_IN2.value(1)
    L_IN3.value(1)
    L_IN4.value(0)
    utime.sleep(0.5)
   
def StageDown():
    R_IN1.value(0)
    R_IN2.value(1)
    R_IN3.value(0)
    R_IN4.value(1)
    utime.sleep(0.5)
   
def StageUp():
    R_IN1.value(1)
    R_IN2.value(0)
    R_IN3.value(1)
    R_IN4.value(0)
    utime.sleep(0.5)
   
def MotorStop():
    L_IN1.value(0)
    L_IN2.value(0)
    L_IN3.value(0)
    L_IN4.value(0)
    R_IN1.value(0)
    R_IN2.value(0)
    R_IN3.value(0)
    R_IN4.value(0)    
   
while True:        
    Status1=btn1.value()
    if(Status1==1):
        GoForward()
        Status1=0
        utime.sleep(0.01)
    else:
        MotorStop()      
        utime.sleep(0.01)
       
    Status2=btn2.value()
    if(Status2==1):
        GoBack()
        Status2=0
        utime.sleep(0.01)
    else:
        MotorStop()
        utime.sleep(0.01)
       
    Status3=btn3.value()
    if(Status3==1):
        TurnRight()
        Status3=0
        utime.sleep(0.01)
    else:
        MotorStop()
        utime.sleep(0.01)
       
    Status4=btn4.value()
    if(Status4==1):
        TurnLeft()
        Status4=0
        utime.sleep(0.01)
    else:
        MotorStop()
        utime.sleep(0.01)
       
    Status5=btn5.value()
    if(Status5==1):
        StageDown()
        Status5=0
        utime.sleep(0.01)
    else:
        MotorStop()
        utime.sleep(0.01)
       
    Status6=btn6.value()
    if(Status6==1):
        StageUp()
        Status6=0
        utime.sleep(0.01)
    else:
        MotorStop()
        utime.sleep(0.01)
 

0 件のコメント:

コメントを投稿