目前市面上較新的Arduino Pro Mini 似乎都多加了兩支Analog 腳 A6 及A7,
http://www.arduino.cc/en/Main/ArduinoBoardProMini
當我們燒了Firmata 協議而不是用一般Arduino sketch 來寫固定的程式時,這兩支
多出來的腳會讀不到。
這是因為較早官方Pro Mini 沒這兩支腳,所以當我們用Arduino IDE 燒錄Firmata 時,
這兩支腳是沒被定義的。如果需要用到這兩支腳,必須改一下Firmata 相關程式裡的定義:
1. Arduino IDE 的 libraies/Firmata/Board.h
裡面的Arduino Duemilanove, Diecimila, and NG 下兩行的
TOTAL_ANALOG_PINS 6 改成 8
TOTAL_PINS 20 改成 22
再用Arduino IDE 把Firmata 燒進Pro Mini 裡
接下來是電腦端所使用的程式庫
2. 使用pyFirmata 的話,需修改 pyFirmata/pyfirmata/boards.py
'analog':tuple(x for x in range(6)), <===改成 8
3. 使用pyduino 的話,需修改 pyduino.py
self.analog = []
for i in range(6): <==改成8
目前使用經驗:
pyFirmata 支援PWM 及Servo 沒問題, 但要做 install 的動作
pyduino PWM 失敗, Servo 未支援, 單一支pyduino.py 可以不做 install,
直接跟執行程式放同目錄載入(import)即可。
http://www.arduino.cc/en/Main/ArduinoBoardProMini
當我們燒了Firmata 協議而不是用一般Arduino sketch 來寫固定的程式時,這兩支
多出來的腳會讀不到。
這是因為較早官方Pro Mini 沒這兩支腳,所以當我們用Arduino IDE 燒錄Firmata 時,
這兩支腳是沒被定義的。如果需要用到這兩支腳,必須改一下Firmata 相關程式裡的定義:
1. Arduino IDE 的 libraies/Firmata/Board.h
裡面的Arduino Duemilanove, Diecimila, and NG 下兩行的
TOTAL_ANALOG_PINS 6 改成 8
TOTAL_PINS 20 改成 22
再用Arduino IDE 把Firmata 燒進Pro Mini 裡
接下來是電腦端所使用的程式庫
2. 使用pyFirmata 的話,需修改 pyFirmata/pyfirmata/boards.py
'analog':tuple(x for x in range(6)), <===改成 8
3. 使用pyduino 的話,需修改 pyduino.py
self.analog = []
for i in range(6): <==改成8
目前使用經驗:
pyFirmata 支援PWM 及Servo 沒問題, 但要做 install 的動作
pyduino PWM 失敗, Servo 未支援, 單一支pyduino.py 可以不做 install,
直接跟執行程式放同目錄載入(import)即可。
沒有留言:
張貼留言