shokai / arduino_firmata

Arduino Firmata protocol implementation on Ruby
http://shokai.github.io/arduino_firmata
MIT License
104 stars 23 forks source link

set pin_mode before analog_read #27

Closed shokai closed 11 years ago

shokai commented 11 years ago
arduino.pin_mode 0, ArduinoFirmata::ANALOG

arduino.analog_read 0

arduino.on :analog_read do |pin, value|
  puts "analog pin #{pin} changed #{value}"
  arduino.analog_write 11, value if pin == 0
end
shokai commented 11 years ago

あまり速度変わらない上に、pin_mode設定しないとならないのは面倒くさい

shokai commented 11 years ago

やめよう analog_readの報告をanalog 0だけにしたい場合、こうやってもう一度初期化すればいいし

arduino.reset

arduino.write REPORT_ANALOG | 0
arduino.write 1

先にmode設定しないとanalog_readが使えなくなってしまうのは、既存のコードが動かなくなるし、 analog_report みたいなメソッド作ったほうがいい気がする。

それかこうとか

arduino.on :analog_read, 3 do |value|
  puts "analog pin '3' changed #{value}"
  arduino.analog_write 11, value if pin == 0
end
shokai commented 11 years ago

結局

が問題かと思ったけど、そんなに大きな問題ではない。