Arduinon etäohjaaminen on suhteellisen helppoa. Tässä artikkelissa käyn lävitse kuinka tämä tapahtuu Pythonilla. Sama toimenpide on lähestulkoon yhtä helppoa myös muilla ohjelmointikielillä.
Ensiksi viedään Arduinoon seuraavanlainen koodin pätkä:
#!/usr/bin/env python
# remoteControl.py - Graphical user interface for remote control.
# (c) Kimmo Karvinen & Tero Karvinen http://BotBook.com
import serial
import gtk
ser = None # global variable
def sendSerial ( widget , ch ):
global ser
print ( "Sending " + ch )
ser . write ( ch )
def main ():
global ser
# File name might differ between Linux, Windows, and Mac OS X
ser = serial . Serial ( '/dev/ttyUSB0' , 9600 )
if ( ser ):
print ( "Serial port " + ser . portstr + " opened." )
window = gtk . Window ( gtk . WINDOW_TOPLEVEL )
window . connect ( "destroy" , gtk . main_quit )
vbox = gtk . VBox ()
window . add ( vbox )
row1 = gtk . HBox ()
off1 = gtk . Button ( "1 off" )
off1 . connect ( "clicked" , sendSerial , "2" )
row1 . pack_start ( off1 )
vbox . pack_start ( row1 )
on1 = gtk . Button ( "1 on" )
on1 . connect ( "clicked" , sendSerial , "8" )
row1 . pack_start ( on1 )
row2 = gtk . HBox ()
vbox . pack_start ( row2 ) # vertical box starts at the bottom
off2 = gtk . Button ( "2 off" )
off2 . connect ( "clicked" , sendSerial , "3" )
row2 . pack_start ( off2 )
on2 = gtk . Button ( "2 on" )
on2 . connect ( "clicked" , sendSerial , "7" )
row2 . pack_start ( on2 )
row3 = gtk . HBox ()
vbox . pack_start ( row3 )
off3 = gtk . Button ( "3 off" )
off3 . connect ( "clicked" , sendSerial , "4" )
row3 . pack_start ( off3 )
on3 = gtk . Button ( "3 on" )
on3 . connect ( "clicked" , sendSerial , "6" )
row3 . pack_start ( on3 )
window . show_all ()
gtk . main ()
print ( "Thanks for using BotBook.com remote control." )
if __name__ == "__main__" :
main ()
Seuraavaksi luodaan Pythonilla seuraavanlainen ohjelma:
#!/usr/bin/env python
# packingVBox.py - Pack many widgets on top of each other.
# (c) Kimmo Karvinen & Tero Karvinen http://BotBook.com
import gtk
window = gtk . Window ()
window . connect ( "destroy" , gtk . main_quit )
vbox = gtk . VBox ()
window . add ( vbox )
b1 = gtk . Button ( "Button 1" )
vbox . pack_start ( b1 )
b2 = gtk . Button ( "Button 2" )
vbox . pack_start ( b2 )
window . show_all ()
gtk . main ()
Ajamalla ylläolevan Python ohjelman näytöllesi piirretään 4 laatikkio, joita painamalla annat käskyjä Arduinollesi. Kyseinen ohjelma mahdollistaa virransyötön portteihin 2, 8, 3 ja 7.