2022-05-04
専用ライブラリが用意されていて、TTLシリアル通信(UART)とI2C通信から簡単にJrk G2を制御できます。
Arduino IDEで使用するライブラリを導入します。つぎの手順で導入します。
もし、Arduino IDEからうまくいかない時は、つぎの方法で導入してください。
次のように接続します。
Pololu Jrk | Arduino |
---|---|
TX | RX(ピン0) |
RX | TX(ピン1) |
5V | 5V |
GND | GND |
Rx/Txをハードウェアシリアルを使用するサンプルと、ソフトウェアシリアルを使用するサンプルは次のようになります。
Targetを、2048の中心から、増やして正回転、減らして逆回転を指定するだけで簡単に制御できます。パラメータは、プログラムから設定することもできますし、Jrk G2 Configuration Utilityで設定するとそのまま使うこともできます。
#include <JrkG2.h> JrkG2Serial jrk(Serial); void setup() { Serial.begin(9600); } void loop() { delay(1000); jrk.setTarget(2048); // Targetの標準値 delay(1000); jrk.setTarget(1500); uint16_t feedback = jrk.getScaledFeedback(); Serial.println(feedback); }
#include <JrkG2.h> #include <SoftwareSerial.h> SoftwareSerial softSerial(2, 3); //RX, TXピン指定 JrkG2Serial jrk(softSerial); void setup() { softSerial.begin(9600); Serial.begin(9600); } void loop() { delay(1000); jrk.setTarget(2048); // Targetの標準値 delay(1000); jrk.setTarget(1500); uint16_t feedback = jrk.getScaledFeedback(); Serial.println(feedback); }
つぎのように接続します。
Pololu Jrk | Arduino |
---|---|
SDA | SDA |
SCL | SCL |
5V | 5V |
GND | GND |
#include <JrkG2.h> JrkG2I2C jrk; void setup() { Wire.begin(); Serial.begin(9600); } void loop() { delay(1000); jrk.setTarget(2000); delay(1000); jrk.setTarget(1500); uint16_t feedback = jrk.getScaledFeedback(); Serial.println(feedback); }