私はPythonにかなり慣れておらず、firmataを使って作業しています。arduinoで遊んでみようとしています。
これが私がしたいことです:
- デジタル出力としてLEDを使用してarduinoを設定します
ポテンショメータをアナログ0に設定します
PyQtタイマーを設定して、
アプリケーションのポテンショメータの位置を更新しますPyQtでしきい値を設定してLEDをオンにします(アナログ入力の解像度は1024ビットなので、
しきい値として800と言います)
私はこのfirmataライブラリを使用しています:リンク
これが私が問題を抱えているコードです:
PyQt4からsysをインポートします。firmataからQtCore、QtGuiをインポートします。
# Arduino setup
self.a = Arduino('COM3')
self.a.pin_mode(13, firmata.OUTPUT)
# Create timer
self.appTimer = QtCore.QTimer(self)
self.appTimer.start(100)
self.appTimer.event(self.updateAppTimer())
def updateAppTimer(self):
self.analogPosition = self.a.analog_read(self, 0)
self.ui.lblPositionValue.setNum()
エラーメッセージが表示されます:
トレースバック(最後の最後の呼び出し):ファイル "D:\ Programming \ Eclipse \ IO Demo \ src \ control.py"、行138、myapp = MainWindow()ファイル "D:\ Programming \ Eclipse \ IO Demo \ src \ control.py "、56行目、init self.appTimer.event(self.updateAppTimer())ファイル" D:\ Programming \ Eclipse \ IO Demo \ src \ control.py "、60行目、updateAppTimer self.analogPosition = self.a.analog_read(self、0)TypeError:analog_read()は正確に2つの引数を取ります(3つ指定)
'self'を削除すると、同じエラーメッセージが表示されますが、引数が1つだけ指定されています。
私が気付いていないPythonは暗黙のうちに何をしていますか?
ブロッククォート