Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pyfirmata
Pyfirmata
Ales Zabala
Hackmeeting 2011
http://lagunak.gisa-elkartea.org/projects/krnl
http://lagunak.gisa-elkartea.org/svn/krnl/recetario/irmata
Pyfirmata
!"mo interactuar con ar#uino usan#o
$%thon % &irmata
GISA Elkartea
Ales Zabala
Hackmeeting 2011
http://lagunak.gisa-elkartea.org/projects/krnl
http://lagunak.gisa-elkartea.org/svn/krnl/recetario/irmata
Puesta a punto
)nstalar p%irmata
$ hg clone https://bitbucket.org/tino/pyfirmata
$ cd pyfirmata; python setup.py install
(i necesitas servos:
)nstalar p%irmata:
$ svn export https://lagunak/svn/krnl/pyfirmata_servo/servo.patch .
$ patch -p0 servo.patch
$ python setup.py install
GISA Elkartea
Ales Zabala
Hackmeeting 2011
http://lagunak.gisa-elkartea.org/projects/krnl
http://lagunak.gisa-elkartea.org/svn/krnl/recetario/irmata
Hola mundo (blink)
pin.read() == 0..1
pin.write([0,1])
GISA Elkartea
Ales Zabala
Hackmeeting 2011
http://lagunak.gisa-elkartea.org/projects/krnl
http://lagunak.gisa-elkartea.org/svn/krnl/recetario/irmata
PC Speaker (PWM)
2 def __init__#self8 port8 pot_pin8 motor_pin(:
+...-
*3 self.board.digital+self.motor_pin-.mode " 9:;
+...-
/2 def start#self(:
/3 )hile self.loop:
/4 ne)value " self.board.analog+self.pot_pin-.read#(
/6 print ne)value
,0 if self.value 5" ne)value:
,* self.board.digital+self.motor_pin-.)rite#ne)value(
,/ self.value " ne)value
,, time.sleep#0.1(
pin.mode = PWM
pin.write(0..1)
GISA Elkartea
Ales Zabala
Hackmeeting 2011
http://lagunak.gisa-elkartea.org/projects/krnl
http://lagunak.gisa-elkartea.org/svn/krnl/recetario/irmata
Seros
2 def __init__#self8 port8
pot_pin8 motor_pin(:
+...-
*3 self.board.digital+self.motor_pin-.mode " &<=>?
+...-
/2 def start#self(:
/3 )hile self.loop:
/4 ne)value " self.board.analog+self.pot_pin-.read#(
/6 if #ne)value is not @one( and #self.value 5" ne)value(:
,0 angle " int#*40 A ne)value(
,* printBCs "7 CsB C #ne)value8 angle(
,/ self.board.digital+self.motor_pin-.)rite#angle(
,, self.value " ne)value
,0 time.sleep#0.1(
pin.mode = SERVO
pin.write(anguo)
GISA Elkartea
Ales Zabala
Hackmeeting 2011
http://lagunak.gisa-elkartea.org/projects/krnl
http://lagunak.gisa-elkartea.org/svn/krnl/recetario/irmata
!tro e"emplo