简体   繁体   English

当红外传感器感应到某些东西时,我的伺服电机没有移动

[英]My servo motor isnt moving when ir sensor senses something

I am trying to get the servo motor to turn 180 degrees and then back to 0 degrees when the IR sensor senses something Circuit我试图让伺服电机转动 180 度,然后当红外传感器感应到某些东西时回到 0 度电路

import time
from pyfirmata import Arduino, util

board = Arduino('COM5')

iterator = util.Iterator(board)
iterator.start()

motor = board.get_pin('d:6:s')

sensorPinNo = 2

sensorPin = board.get_pin('d:' + str(sensorPinNo) + ':i')

print("Nothing is being sensed ")

rlt = sensorPin.read()
while True:
    if rlt:
        print("Sensor has detected something")

        def setServoAngle(angle):
            print("Wiping In Progress")
            for i in range(0, 180):
                setServoAngle(i)
                motor.write(angle)
            for i in range(180, 1, -1):
                setServoAngle(i)
                motor.write(angle)

        print("Program Exit")
        board.exit()

I have: Arduino uno, servo motor, IR sensor, Buzzer, LED, Resistors, Breadboard, Jumper wires我有:Arduino uno、伺服电机、红外传感器、蜂鸣器、LED、电阻器、面包板、跳线

You have a few problems here, not all of which I can fix, but:你这里有一些问题,不是我能解决的所有问题,但是:

import time
from pyfirmata import Arduino, util

board = Arduino('COM5')

iterator = util.Iterator(board)
iterator.start()

motor = board.get_pin('d:6:s')

sensorPinNo = 2

sensorPin = board.get_pin('d:' + str(sensorPinNo) + ':i')

print("Nothing is being sensed ")

while True:
    rlt = sensorPin.read()
    if rlt:
        print("Sensor has detected something")

        print("Wiping In Progress")
        for i in range(0, 180):
            motor.write(i)
        for i in range(180, 1, -1):
            motor.write(i)

print("Program Exit")
board.exit()

Note that your function wasn't called and in the end seemed redundant.请注意,您的 function 没有被调用,最终似乎是多余的。

Also note that this program does not exit.另请注意,此程序不会退出。 I don't know what condition is needed to exit.不知道退出需要什么条件。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM