Web kontrollerade multifunktionella RoboT (6 / 12 steg)
Steg 6: Kontrollera Robot plattform - framåt /Reverse och tur
Här ser vi hur man styr de 4 DC-motorerna, för detta måste vi nu montera två ändringsförslagen L293 D styrelser
En L293 D styrelser kan styra två likströmsmotorer, monterar du L293 D styrelser var som helst, jag har samlat i det nedersta lagret av Dagu chassi att hålla fast, använda skumtejp (så behöver för skruvar undviks).
För att ansluta L293 D brädorna till motor som pi, skulle vi behöva hoppare ledningar. Nu ansluta motorn till l293 som visas i ovanstående bild. För PWM stift ansluter 5V från pi (vi kan använda använda PWM att variera hastigheten på motor, men just nu vi skulle hålla den höga)
Ansluta 4 nos batterier (jag har använt GP2100) till L293 som ahown.
För 5volts L293, kan samma tas från hallon GPIO utdata (GPIO bild bifogas)
Nu ansluta 40 pin GPIO ribbon kabel till pi och en lämplig T-skomakare eller direkt för att läsa ut utdata från pi, tråd bygeln kabeln till L293 styrelsen som visas i ovanstående bild. För att styra riktningen på motorn nu behöver vi bara ställa GPIO produktionen låg eller hög för "A & B" stiften
Ställa in den raka, jag har skrivit en enkel python program enligt nedan (Du kan naturligtvis göra din python kod och köra det på pi)
från RPIO importera PWM
importera RPi.GPIO som GPIO
Importera tid
Tryck "ok"
GPIO.setmode (GPIO. BCM)
GPIO.setup (23, GPIO. OUT)
GPIO.setup (24, GPIO. OUT)
GPIO.setup (17, GPIO. OUT)
GPIO.setup (27, GPIO. OUT)
GPIO.setup (20, GPIO. OUT)
GPIO.setup (22, GPIO. OUT)
GPIO.setup (18, GPIO. OUT)
GPIO.setup (5, GPIO. OUT)
GPIO.setup (12, GPIO. OUT)
skriva ut "kontroller" < /p >
skriva ut "1:move framåt" < /p >
Print "2:move omvänd" < /p >
skriva ut "3:stop robot" < /p >
skriva ut "4:move reverse med varvtalsreglering" < /p >
skriva ut "5:move framåt med varvtalsreglering" < /p >
skriva ut "6: att flytta roboten"
skriva ut "tryck enter för att skicka kommandot"
def fwd(): # för går framåt håll
GPIO.output(23,True)
GPIO.output(24,False)
GPIO.output(17,True)
GPIO.output(27,False)
GPIO.output(22,True)
GPIO.output(18,False)
GPIO.output(5,True)
GPIO.output(12,False)
def rev(): # flyttar flyttar i omvänd riktning
GPIO.output(23,False)
GPIO.output(24,True)
GPIO.output(17,False)
GPIO.output(27,True)
GPIO.output(22,False)
GPIO.output(18,True)
GPIO.output(5,False)
GPIO.output(12,True)
def stop(): # för att göra hållplatsen Robot
GPIO.output(23,False)
GPIO.output(24,False)
GPIO.output(17,False)
GPIO.output(27,False)
GPIO.output(22,False)
GPIO.output(18,False)
GPIO.output(5,False)
GPIO.output(12,False)
def speedcont(): # för varvtalsreglering vid behov
servo = PWM. Servo()
servo.set_servo(13,10000)
servo.set_servo(19,10000)
def TL(): # för svarvning roboten
GPIO.output(23,True)
GPIO.output(24,False)
GPIO.output(17,False)
GPIO.output(27,False)
GPIO.output(22,False)
GPIO.output(18,False)
GPIO.output(5,True)
GPIO.output(12,False)
samtidigt sant:
INP = raw_input()
om inp == "1":
FWD()
skriva ut "robot inflyttning fwd riktning"
Elif inp == "2":
rev()
skriva ut "robot går i rev riktning"
Elif inp == "3":
Stop()
skriva ut "robot slutat"
Elif inp == "4":
speedcont()
rev()
skriva ut "robot går i rev riktning på låg hastighet"
Elif inp == "5":
speedcont()
FWD()
skriva ut "robot inflyttning fwd riktning på låg hastighet"
Elif inp == "6":
TL()
skriva ut "robot TURNING"
< br >