ベリーパイ小車の左カーブと右カーブ(創楽博キット)
ベリーパイ小車でカーブを実現
一般車両のステアリングはステアリング構造があるが、小型車は構造を備えていないため、車輪からしか手に入らない.ステアリングを実現するには、左右側モータの差速か、速度が異なるため、摩擦力の影響で、必然的に偏りを招き、もう一つは車輪を逆方向に回転させることである.これに基づいて、左回転を実現し、左側の車輪を反転させ、右側の車輪を正転させることができる.
AIN 1は前進時にTrueを設定して正転させ、現在はFalseに設定している.これに対応してAIN 2をTrueとして有効にし、車輪を反転させる.右に曲がるコードを出すのは難しくありません.
しかし、注意しなければならないのは、ステアリングは運動エネルギーを損なうので、車を運転したことがある人はみな知っていると思います.したがって、通常の前進および後退給の50デューティ比に対して、ステアリング時に不十分であり、大きな数値を与えるため、ステアリングに失敗する可能性がある.
最後に70に転向することにした.もちろん状況によって数値は少し違います.これにより,前進,後退,左折,右折といった基本機能が実現される.
一般車両のステアリングはステアリング構造があるが、小型車は構造を備えていないため、車輪からしか手に入らない.ステアリングを実現するには、左右側モータの差速か、速度が異なるため、摩擦力の影響で、必然的に偏りを招き、もう一つは車輪を逆方向に回転させることである.これに基づいて、左回転を実現し、左側の車輪を反転させ、右側の車輪を正転させることができる.
#
def turnLeft(speed, lefttime):
leftMotor.ChangeDutyCycle(speed)
GPIO.output(AIN1, False)
GPIO.output(AIN2, True)
rightMotor.ChangeDutyCycle(speed)
GPIO.output(BIN1, True)
GPIO.output(BIN2, False)
time.sleep(lefttime)
AIN 1は前進時にTrueを設定して正転させ、現在はFalseに設定している.これに対応してAIN 2をTrueとして有効にし、車輪を反転させる.右に曲がるコードを出すのは難しくありません.
#
def turnRight(speed, righttime):
leftMotor.ChangeDutyCycle(speed)
GPIO.output(AIN1, True)
GPIO.output(AIN2, False)
rightMotor.ChangeDutyCycle(speed)
GPIO.output(BIN1, False)
GPIO.output(BIN2, True)
time.sleep(righttime)
しかし、注意しなければならないのは、ステアリングは運動エネルギーを損なうので、車を運転したことがある人はみな知っていると思います.したがって、通常の前進および後退給の50デューティ比に対して、ステアリング時に不十分であり、大きな数値を与えるため、ステアリングに失敗する可能性がある.
if __name__ == '__main__':
try:
while True:
forward(50,3)
turnLeft(70, 3)
backword(50,3)
turnRight(70,3)
except KeyboardInterrupt:
GPIO.cleanup()
最後に70に転向することにした.もちろん状況によって数値は少し違います.これにより,前進,後退,左折,右折といった基本機能が実現される.