Я пытаюсь построить очень маленькую радиоуправляемую машину, используя 4 двигателя с моей малиной, используя th gpio pin, но это работает только тогда, когда я настраиваю все двигатели на поворот, когда я устанавливаю только один мотор, чтобы он взорвался
Моя сборка: https://i.imgur.com/4mza4fQ.png
Я пытался использовать двухчерный мост, чтобы использовать только одну сторону А с одной и только одной стороной с другой, когда я нажимал на свой key.up, чтобы активировать все из них, он работал абсолютно одинаково для ключа. но когда я нажимаю свою клавишу вправо или влево, двигатели вращаются в течение нескольких секунд и останавливаются, но светодиод на мосту h продолжает гореть нормально, но я думаю, что это потому, что есть 12v.
import RPi.GPIO as GPIO
import time
import json
from flask import Flask
from flask import request
import sys
app = Flask(__name__)
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
MotorgauchePlus = 16
MotorgaucheMoin = 18
MotordroitePlus = 22
MotordroiteMoin = 24
GPIO.setup(MotorgauchePlus,GPIO.OUT)
GPIO.setup(MotorgaucheMoin,GPIO.OUT)
GPIO.setup(MotordroiteMoin,GPIO.OUT)
GPIO.setup(MotordroitePlus,GPIO.OUT)
def Avant():
print ("Going forwards")
GPIO.output(MotorgauchePlus,GPIO.HIGH)//IT WORK
GPIO.output(MotorgaucheMoin,GPIO.LOW)
GPIO.output(MotordroitePlus,GPIO.HIGH)
GPIO.output(MotordroiteMoin,GPIO.LOW)
def Arriere():
print ("Going backwards")
GPIO.output(MotorgauchePlus,GPIO.LOW)//IT WORK
GPIO.output(MotorgaucheMoin,GPIO.HIGH)
GPIO.output(MotordroitePlus,GPIO.LOW)
GPIO.output(MotordroiteMoin,GPIO.HIGH)
def Gauche():
print ("Left")
GPIO.output(MotorgauchePlus,GPIO.LOW)//ai caramba
GPIO.output(MotorgaucheMoin,GPIO.HIGH)
GPIO.output(MotordroitePlus,GPIO.LOW)
GPIO.output(MotordroiteMoin,GPIO.LOW)
def Droite():
print ("Right")
GPIO.output(MotorgauchePlus,GPIO.LOW)//same
GPIO.output(MotorgaucheMoin,GPIO.LOW)
GPIO.output(MotordroitePlus,GPIO.HIGH)
GPIO.output(MotordroiteMoin,GPIO.LOW)
def Stop():
GPIO.output(MotorgauchePlus,GPIO.LOW)//That work
GPIO.output(MotorgaucheMoin,GPIO.LOW)
GPIO.output(MotordroitePlus,GPIO.LOW)
GPIO.output(MotordroiteMoin,GPIO.LOW)
@app.route('/', methods=['POST'])
def AvanOuArriere():
Alors = request.form['Alors']
if Alors == "Quite":
GPIO.output(MotorgauchePlus,GPIO.LOW)
GPIO.output(MotorgaucheMoin,GPIO.LOW)
GPIO.output(MotordroitePlus,GPIO.LOW)
GPIO.output(MotordroiteMoin,GPIO.LOW)
GPIO.cleanup()
sys.exit()
return("oklm")
elif Alors == "Avant":
Avant()
elif Alors == "Gauche":
Gauche()
elif Alors == "Droite":
Droite()
elif Alors == "Arriere":
Arriere()
elif Alors == "Stop":
Stop()
else:
pass
return("oklm")
try:
if __name__ == "__main__":
app.run(host='0.0.0.0', port=5000)
except Exception as e:
print(e)
GPIO.output(MotorgauchePlus,GPIO.LOW)
GPIO.output(MotorgaucheMoin,GPIO.LOW)
GPIO.output(MotordroitePlus,GPIO.LOW)
GPIO.output(MotordroiteMoin,GPIO.LOW)
GPIO.cleanup()
Я полностью потерян, потому что для активации мотора мне нужно только установить один штифт на ВЫСОКИЙ, а другой на НИЗКИЙ, вот что я делаю для активации всех из них, и это работает!
Возможно, потому, что я установил MotordroitePlus в LOW, а MotordroiteMoin также в LOW, но в функции Stop, и он работает так же, как и должен, поэтому мне нужна ваша помощь, потому что я что-то упустил.