Go Down

Topic: Control Arduino from WIndows using Python (Read 2 times) previous topic - next topic

simplesi

1st post attempt failed so this one is not as long winded

This code
Code: [Select]
from firmata import *
import time
a = Arduino("COM32", baudrate=57600) # Baudrate must match rate set in sketch
#time.sleep(3)
a.pin_mode(12, firmata.OUTPUT)

print "wait"
time.sleep(2)
print "Go"
b=1
while True:
    a.digital_write(12, firmata.HIGH)
    time.sleep(1)
    a.digital_write(12, firmata.LOW)
    time.sleep(1)
    print "count" , b
    b= b +1

#a.serial.close()


Stops after 5 counts - ctrl-c takes tens secs to hand back control and then it give this
Code: [Select]
Traceback (most recent call last):
  File "E:\Dropbox\Private\arduino\py\firmatatest.py", line 12, in <module>
    a.digital_write(12, firmata.HIGH)
  File "build\bdist.win32\egg\firmata\firmata.py", line 91, in digital_write
    self.serial.write(chr(self.digital_output_data[port_number] >> 7))
  File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 268, in write
    err = win32.GetOverlappedResult(self.hComPort, self._overlappedWrite, ctypes.byref(n), True)
KeyboardInterrupt


any ideas why and what to do about it or alternative working methods of switching pins off and on using Python from Windows?

regards
Simon

PaulS

Code: [Select]
a = Arduino("COM32"
32? You need to shitcan whatever application is abusing your COM ports. I never get a number above 8 when connecting my Arduinos.

simplesi

"Ditch" might be the nice term to use over this side of the pond :)

i don't think that the high com port num is the problem as the Firmate_Test.exe prog works just fine (unless Python on Windows can't handle it???)

(I'm running an 8 Yr old XP machine here that has had more USB kit plugged into it over the years that I've had hot dinners)

I did reset a com port to a lower number a few years ago  so might try doing it again.

regards
Simon

simplesi

made no diff - switched it down to com2 - still stopped after 5 iterations :(

Simon

simplesi

this is getting wierder !
I'd left the python prog running since last post and just noticed my LED on in 12 going off and on - switched to my Python console and the count is now up to 43!

Simon

Go Up