【概要】
PC(Processing)からシリアル通信でコマンドを送信して、Arduino側でRCサーボモータを制御する。
ここを参考にさせてもらった。 http://www.eleki-jack.com/FC/2010/07/gainerpepper17.html
参考にさせてもらったのはGainer用なので、シリアル通信処理を追加してArduino側のサーボを制御出来るようにした。
Arduino側のプログラムはこちらを参照してください。(2012.3.11追記)
【画面】
【準備】
ControlP5というGUIのライブラリを使用しているので、事前にインストールしておく必要がある。
ダウンロード&インストール方法はこちら。 http://www.sojamo.de/libraries/controlP5/
【Processingのプログラム】
注意1:使用するCOMポートは環境に合わせて変更する必要がある。
注意2:ControlP5のバージョンUP等の影響により、このプログラムのままでは動かない可能性もあります。(2012.3.11追記)
/*
* Servo Controler
*/
import controlP5.*;
import processing.serial.*;
ControlP5 controlP5;
Serial myPort; // Create object from Serial class
int[] cmd1 = {255,0,4,0,90,90,90};
boolean init = false;
void setup() {
size(290,290);
Textlabel title;
controlP5 = new ControlP5(this);
title = controlP5.addTextlabel("title", "Servo Controller",10,10);
title.setHeight(30);
title.setWidth(400);
title.setFont(ControlP5.synt24);
// create sliders
for (int i = 0 ; i < 3 ; i++ ) {
// add a vertical slider
controlP5.addSlider("servo" + i, 0, 180, 90, (50 + i * 80), 60, 10, 181);
Slider ss = (Slider)controlP5.controller("servo" + i);
ss.setNumberOfTickMarks(7);
ss.setSliderMode(Slider.FLEXIBLE);
ss.snapToTickMarks(false);
ss.setValue(90);
}
println(Serial.list());
String portName = Serial.list()[0]; //使用するCOMポートは環境に合わせて変更する必要がある。
myPort = new Serial(this, portName, 9600);
init = true;
}
void draw() {
background(100);
}
void servoCmd() {
if(!init) return;
for(int i = 0; i < 7; i++) {
myPort.write((byte)cmd1[i]);
}
}
void servo0(int value) {
cmd1[4] = value;
servoCmd();
}
void servo1(int value) {
cmd1[5] = value;
servoCmd();
}
void servo2(int value) {
cmd1[6] = value;
servoCmd();
}
-
IchigoJam + TB6612モータードライバー で、LEGO Power Functions Motor と Servo Motor を制御する実験。 4年前
-
IchigoJam + TB6612モータードライバー で、LEGO Power Functions Motor と Servo Motor を制御する実験。 4年前
-
IchigoJam + TB6612モータードライバー で、LEGO Power Functions Motor と Servo Motor を制御する実験。 4年前
-
IchigoJam + TB6612モータードライバー で、LEGO Power Functions Motor と Servo Motor を制御する実験。 4年前
-
IchigoJam + TB6612モータードライバー で、LEGO Power Functions Motor と Servo Motor を制御する実験。 4年前
-
IchigoJamをiPadなどのブラウザから使えるようにする「IchigoJam WebTerm」を作った。 4年前
-
IchigoJamをiPadなどのブラウザから使えるようにする「IchigoJam WebTerm」を作った。 4年前
-
IchigoJamをiPadなどのブラウザから使えるようにする「IchigoJam WebTerm」を作った。 4年前
-
IchigoJamをiPadなどのブラウザから使えるようにする「IchigoJam WebTerm」を作った。 4年前
-
IchigoJamをiPadなどのブラウザから使えるようにする「IchigoJam WebTerm」を作った。 4年前
「電子工作」カテゴリの最新記事
IchigoJam + TB6612モータードライバー で、LEGO Power Functions Motor と Servo...
IchigoJamをiPadなどのブラウザから使えるようにする「IchigoJam WebTerm」を作った。
ESP32-DevKitCでいろいろ実験
ESP32-DevKitCに、RCWControllerを接続してみた。
esp8266/ESP-WROOM-02にFTPサーバーを入れてみた。
RCWController + ESP-WROOM-02 + モーター・シールドで、タミヤのギヤボックスを動...
iPad + Pythonista(iOSで動くPython) + BLEで、Genuino101のLチカをしてみた。
mbed HRM1017 + RCBController で、タミヤのタンクを動かしてみた。
「Adafruit 2.8インチ TFTタッチシールド v2」 をmbedで動かしてみた。(1)
TinyJS on mbed を FRDM-K64F で動かしてみた。
ブログエディタの不具合の為、Arduino側ソースコードの一部が欠落していました。
修正しました。
また、Processing側のコードもControlP5のバージョンUPの影響で、このままでは動かない可能性があります。
現在動作確認する環境が手元に無いため未対応です。