亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

按下鍵盤輸入時PYTHON程序運行(執行)

按下鍵盤輸入時PYTHON程序運行(執行)

蠱毒傳說 2021-05-21 19:19:55
您好,我有一個使用Slushengine電機驅動程序運行幾個電機的簡單python項目。我已經制作了示例程序(如下面的代碼所示),但是現在我想讓我在按下鍵盤(輸入)上的鍵(例如ENTER鍵)時使電動機運行。然后,當我按下另一個鍵時,我希望程序停止。from inputs import get_keyimport RPi.GPIO as GPIOimport Slushimport mathimport timefrom time import sleepb = Slush.sBoard()m = [Slush.Motor(0), Slush.Motor(1), Slush.Motor(2), Slush.Motor(3)]m[0].setMaxSpeed(150)m[1].setMaxSpeed(150)m[2].setMaxSpeed(250)m[3].setMaxSpeed(150)m[0].setCurrent(150, 150, 150, 150)m[1].setCurrent(100, 100, 100, 100)m[2].setCurrent(150, 150, 150, 150)m[3].setCurrent(100, 100, 100, 100)GPIO.setmode(GPIO.BCM)GPIO.setup(18, GPIO.OUT)pwm = GPIO.PWM(18, 100)pwm.start(0)GPIO.output(18, True)pwm.ChangeDutyCycle(1)sleep(0.5)m[1].goTo(750)time.sleep(3)m[0].goTo(750)time.sleep(3)pwm.ChangeDutyCycle(99)sleep(1)當檢測到按鍵時,我需要執行此代碼。pwm.ChangeDutyCycle(1)sleep(0.5)m[1].goTo(750)time.sleep(3)m[0].goTo(750)time.sleep(3)pwm.ChangeDutyCycle(99)sleep(1)
查看完整描述

2 回答

?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊

它不是已經顯示在PyPI中了嗎?


from inputs import get_key


def key_input():

    while 1:

        events = get_key()

        for event in events:

            print(event.ev_type, event.code, event.state)


if __name__ == '__main__':

    key_input()


查看完整回答
反對 回復 2021-05-25
?
斯蒂芬大帝

TA貢獻1827條經驗 獲得超8個贊

這樣對嗎??對不起,我還不清楚


from inputs import get_key

import RPi.GPIO as GPIO

import Slush

import math

import time


from time import sleep


b = Slush.sBoard()

m = [Slush.Motor(0), Slush.Motor(1), Slush.Motor(2), Slush.Motor(3)]


m[0].setMaxSpeed(150)

m[1].setMaxSpeed(150)

m[2].setMaxSpeed(250)

m[3].setMaxSpeed(150)


m[0].setCurrent(150, 150, 150, 150)

m[1].setCurrent(100, 100, 100, 100)

m[2].setCurrent(150, 150, 150, 150)

m[3].setCurrent(100, 100, 100, 100)



GPIO.setmode(GPIO.BCM)

GPIO.setup(18, GPIO.OUT)

pwm = GPIO.PWM(18, 100)

pwm.start(0)

GPIO.output(18, 1)


while 1:

    events = get_key()

    for event in events:


        if event.code == 'KEY_ENTER':

            pwm.ChangeDutyCycle(1)

            time.sleep(1)

            m[1].goTo(750)

            time.sleep(3)

            m[0].goTo(750)

            time.sleep(3)

            pwm.ChangeDutyCycle(99)

            time.sleep(1)


查看完整回答
反對 回復 2021-05-25
  • 2 回答
  • 0 關注
  • 479 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號