如何在python中制作虚拟触摸屏切换杆/操纵杆

时间:2019-02-13 23:32:25

标签: python raspberry-pi

我正在做一个有关制作可控地面储罐的家庭项目。我正在使用RPi 3B +和电动机驱动器控制器板来驱动电动机。我一直在使用tightvnc服务器通过wifi与手机连接,但是,我计划迁移到临时网络。当然,我可以为希望电机旋转的每个方向输入一行代码,但这是不便且无效的。我以前见过人们这样做,但是,我没有足够的经验来编写这种代码。我需要一个程序,在运行该程序时,它会在python中打开虚拟触摸屏拨动杆。上下移动此代码还需要发送相同(或非常相似)的代码行。我将显示当前用于运行电动机的代码。谢谢。

我一直在尝试谷歌搜索,并在GitHub上查找此源代码,但是,到目前为止还算运气。

import RPi.GPIO as gpio
import time

def init(): #setup for the gpio pins being used
    gpio.setmode(gpio.BCM)
    gpio.setup(17, gpio.OUT)
    gpio.setup(22, gpio.OUT)
    gpio.setup(21, gpio.OUT)
    gpio.setup(20, gpio.OUT)

def forward(tf):
    init()
    gpio.output(22, False) #Low
    gpio.output(17, True) #High
    gpio.output(21, False)
    gpio.output(20, True)
    time.sleep(tf)
    gpio.cleanup()

def reverse(tf):
    init()
    gpio.output(22, True) #High
    gpio.output(17, False) #Low
    gpio.output(21, True)
    gpio.output(20, False)
    time.sleep(tf)
    gpio.cleanup()

def alternate(tf):
    init()
    gpio.output(22, True) #Clockwise Motor 1
    gpio.output(17, False) #Counter-Clockwise Motor 1
    gpio.output(21, False) #Clockwise Motor 2
    gpio.output(20, True) #Counter-Clockwise Motor 2
    time.sleep(tf)
    gpio.cleanup()

def RunPWM(tf):
    init()
    pwm_22 = gpio.PWM(22,100) #setting up PWM for gpio pin 22 & 21 out of 100%
    pwm_21 = gpio.PWM(21,100)

    pwm_22.start(20) #runs the gpio pins 22 & 21 at a pulse width of 20/100
    pwm_21.start(20)
    time.sleep(tf)
    gpio.cleanup()

print("forward")
forward(2)

print("reverse") 
reverse(2)

print("alternate")
alternate(2)

print("PWM")
RunPWM(2)

此代码运行良好,并且是一种很好的测试方法,可确保代码运行良好且所有硬件均处于良好状态并且可以正常工作。除非我在RPi上打错了打字的字样,否则它始终可以完美地运行以进行测试,但是,您无法使用触摸屏拨动杆使用此代码来控制地板箱。如果有人对我可以采用的其他方法有任何想法,或者有人可以编写一些符合此要求的代码,将不胜感激,谢谢!

0 个答案:

没有答案
相关问题