Jump to content

python syntax error with raspberry pi

TicTac
Go to solution Solved by TicTac,

no need to fear i fixed it 

So its me again and i have more questions so here is the code im using and im geting a syntax error when trying to launch it though terminal here is the error :

107pd2e.jpg

here is the code

import RPi.GPIO as ioio.setmode(io.BCM)import sys, tty, termios, time# These two blocks of code configure the PWM settings for# the two DC motors on the RC car. It defines the two GPIO# pins used for the input, starts the PWM and sets the# motors' speed to 0motor1_in1_pin = 4motor1_in2_pin = 17io.setup(motor1_in1_pin, io.OUT)io.setup(motor1_in2_pin, io.OUT)motor1 = io.PWM(4,100)motor1.start(0)motor1.ChangeDutyCycle(0)motor2_in1_pin = 24motor2_in2_pin = 25io.setup(motor2_in1_pin, io.OUT)io.setup(motor2_in2_pin, io.OUT)motor2 = io.PWM(4,100)motor2.start(0)motor2.ChangeDutyCycle(0)# Defining the GPIO pins that will be used for the LEDs on# the RC car and setting the output to falseio.setup(18, io.OUT)io.output(18, False)io.setup(23, io.OUT)io.output(23, False)# The getch method can determine which key has been pressed# by the user on the keyboard by accessing the system files# It will then return the pressed key as a variabledef getch():    fd = sys.stdin.fileno()    old_settings = termios.tcgetattr(fd)    try:        tty.setraw(sys.stdin.fileno())        ch = sys.stdin.read(1)    finally:        termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)    return ch# This section of code defines the methods used to determine# whether a motor needs to spin forward or backwards. The# different directions are acheived by setting one of the# GPIO pins to true and the other to false. If the status of# both pins match, the motor will not turn.def motor1_forward():    io.output(motor1_in1_pin, True)    io.output(motor1_in2_pin, False)def motor1_reverse():    io.output(motor1_in1_pin, False)    io.output(motor1_in2_pin, True)def motor2_forward():    io.output(motor2_in1_pin, True)    io.output(motor2_in2_pin, False)def motor2_reverse():    io.output(motor2_in1_pin, False)    io.output(motor2_in2_pin, True)# This method will toggle the lights on/off when the user# presses a particular key. It will then change the status# of the lights so it will know whether to turn them on or# off when it is next called.def toggleLights():    global lightStatus    if(lightStatus == False):        io.output(18, True)        io.output(23, True)        lightStatus = True    else:        io.output(18, False)        io.output(23, False)        lightStatus = False# This method will toggle the direction of the steering# motor. The method will determine whether the user wants# to turn left or right depending on the key they press and# then make the appropriate adjustment. It works as a toggle# because the program cannot read multiple pressed keys at# the same time. The possible positions of the wheels are# "right", "centre" and "left". It will then update the# status of the wheel to access next time it is called.def toggleSteering(direction):    global wheelStatus    if(direction == "right"):        if(wheelStatus == "centre"):            motor1_forward()            motor1.ChangeDutyCycle(99)            wheelStatus = "right"        elif(wheelStatus == "left"):            motor1.ChangeDutyCycle(0)            wheelStatus = "centre"    if(direction == "left"):        if(wheelStatus == "centre"):            motor1_reverse()            motor1.ChangeDutyCycle(99)            wheelStatus = "left"        elif(wheelStatus == "right"):            motor1.ChangeDutyCycle(0)            wheelStatus = "centre"# Setting the PWM pins to false so the motors will not move# until the user presses the first keyio.output(motor1_in1_pin, False)io.output(motor1_in2_pin, False)io.output(motor2_in1_pin, False)io.output(motor2_in2_pin, False)# Global variables for the status of the lights and steeringlightStatus = FalsewheelStatus = "centre"# Instructions for when the user has an interfaceprint("w/s: acceleration")print("a/d: steering")print("l: lights")print("x: exit")# Infinite loop that will not end until the user presses the# exit keywhile True:    # Keyboard character retrieval method is called and saved    # into variable    char = getch()    # The car will drive forward when the "w" key is pressed    if(char == "w"):        motor2_forward()        motor2.ChangeDutyCycle(99)    # The car will reverse when the "s" key is pressed    if(char == "s"):        motor2_reverse()        motor2.ChangeDutyCycle(99)    # The "a" key will toggle the steering left    if(char == "a"):        toggleSteering("left")    # The "d" key will toggle the steering right    if(char == "d"):        toggleSteering("right")    # The "l" key will toggle the LEDs on/off    if(char == "l"):        toggleLights()    # The "x" key will break the loop and exit the program    if(char == "x"):        print("Program Ended")        break    # At the end of each loop the acceleration motor will stop    # and wait for its next command    motor2.ChangeDutyCycle(0)    # The keyboard character variable will be set to blank, ready    # to save the next key that is pressed    char = ""# Program will cease all GPIO activity before terminatingio.cleanup()
| Contact Information |
My Teamspeak : Austs1.gameservers.com:9334  |  Steam: Iamtictac456  |  My other aliases include Scruffy and Scruffy Biggems :)
 
 
 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

no need to fear i fixed it 

| Contact Information |
My Teamspeak : Austs1.gameservers.com:9334  |  Steam: Iamtictac456  |  My other aliases include Scruffy and Scruffy Biggems :)
 
 
 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

What was the problem?

CPU: i7 4770k | GPU: Sapphire 290 Tri-X OC | RAM: Corsair Vengeance LP 2x8GB | MTB: GA-Z87X-UD5HCOOLER: Noctua NH-D14 | PSU: Corsair 760i | CASE: Corsair 550D | DISPLAY:  BenQ XL2420TE


Firestrike scores - Graphics: 10781 Physics: 9448 Combined: 4289


"Nvidia, Fuck you" - Linus Torvald

Link to comment
Share on other sites

Link to post
Share on other sites

What was the problem?

When you write code on python it puts the date time and other crap up the top it was reading that crap and i didn't realize i thought it was part of python i didn't see it was putting in in the code 

| Contact Information |
My Teamspeak : Austs1.gameservers.com:9334  |  Steam: Iamtictac456  |  My other aliases include Scruffy and Scruffy Biggems :)
 
 
 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×