3軸加速度センサー「KXM52-1050」のアナログ出力値を、ArduinoとFunnelを使ってswfファイルでキャッチするテストです。
緑の基板が「KXM52-1050」で、緑のワイヤーがX軸の出力、黄色がY軸、青がZ軸です
AS3ドキュメントクラスのコードはこちら。
出力値を受け取ってテキストフィールドに表示します。
package {
import flash.display.Sprite;
import flash.text.TextField;
import funnel.*;
public class Main extends Sprite {
private var aio:Arduino;
private var xTx:TextField = new TextField();
private var yTx:TextField = new TextField();
private var zTx:TextField = new TextField();
public function Main() {
var config:Configuration = Arduino.FIRMATA;
aio = new Arduino(config);
var myX:Pin = aio.analogPin(0);
var myY:Pin = aio.analogPin(1);
var myZ:Pin = aio.analogPin(2);
myX.addEventListener(PinEvent.CHANGE, xChange);
myY.addEventListener(PinEvent.CHANGE, yChange);
myZ.addEventListener(PinEvent.CHANGE, zChange);
set_text(xTx, 50, 50);
set_text(yTx, 50, 100);
set_text(zTx, 50, 150);
}
//テキストフィールド作成
private function set_text(tx:TextField,_x:int,_y:int):void {
tx.x = _x;
tx.y = _y;
tx.width = 200;
tx.height = 20;
addChild(tx);
}
//Xの値が変化
private function xChange(e:PinEvent):void {
xTx.text = "X: " + String(e.target.value);
}
//Yの値が変化
private function yChange(e:PinEvent):void {
yTx.text = "Y: " + String(e.target.value);
}
//Xの値が変化
private function zChange(e:PinEvent):void {
zTx.text = "Z: " + String(e.target.value);
}
}
}
この出力値さえ取り込めれば後はFlash側でいろいろ面白そうなことが出来そうですね。
2009 年 11 月 26 日|制作|No Comments
早く Flash と Arduino を連携させてみたい!
ということで、Funnelライブラリ(AS3版)を使って Arduino とシリアル通信するテストをやってみました。
今回は下記の図のような方法で、連携させています。
「Arduino meets Funnel !! (FunnelとArduinoを使ってみた) - hatayanlog」のページを見ながらやってみました。
このページに各ソフトの詳しいインストール方法まで載っていて、非常に助かりました!
テストしてみた結果がこちら。PC画面に表示されているのは、SWFファイルです。
PC画面のスライダーを動かすと、キーボードのところに置いているLEDの明るさが変化します。
ActionScript のコードはこちらです。
「flaとasのファイル一式」もアップしています。
package {
import flash.display.Sprite;
import flash.events.Event;
import fl.events.SliderEvent;
import funnel.*;
public class LedFader extends Sprite {
private var aio:Arduino;
public function LedFader() {
var config:Configuration = Arduino.FIRMATA;
config.setDigitalPinMode(11, PWM); //11ピン、アナログ出力
aio = new Arduino(config);
var externalLED:Pin = aio.digitalPin(11);
//スライダードラッグ
mySlider.addEventListener(SliderEvent.THUMB_DRAG, function(e:SliderEvent):void {
externalLED.value = e.value * 0.01;
});
}
}
}
続いて電子回路は下記のようになっています。
・11番のピン(PWM)
↓
・ジャンプワイヤ
↓
・1KΩ抵抗
↓
・LED
↓
・ジャンプワイヤ
↓
・GND
Funnelの機能のほんの一部しか使っていませんが、とりあえずHello World 的なテストは大成功!
2009 年 6 月 25 日|制作|1 Comment
「Arduinoをはじめよう」を一通り読んでみて動きを試して見たものの、なんでこういう回路を組んだら動くのかという電子工作面のことが完璧には理解できてないので、Arduinoボードの各パーツについて調べてみることにしました。
すると、下記のページに詳しく載っていました。
・ArduinoDuemilanove – スイッチサイエンス
Arduinoの読み方の音声データまでありました。
アルデュイーノの「ル」の部分は巻き舌で読むと本格的になりますw
ボードの説明をプリントアウトして、手元に置いてすぐ見れるようにしときたいなーと思って、上記のページを元に簡単にPDFにまとめてみました。
あくまで各パーツの簡易説明なので、もっと詳しい情報は上記のページに載っています。
・Arduino Duemilanove ボードの簡易説明(PDF)
2009 年 6 月 24 日|制作|No Comments
Arduinoをいじってみようと思いまして、先日ネット通販で購入した「Arduino Duemilanove」と「FIO」とその他パーツが今日ついに届きました。
本当は「Arduinoをはじめようキット」が欲しかったんですけど、Amazonで在庫切れだったのでブレッドボードとかのパーツは個別で購入することにしました。
左:Arduino Duemilanove 右:FIO
裏返し。イタリア地図がイカします
いろいろ実験するためにLEDとか、なんちゃらセンサーとかほしいなあと思って天神のカホパーツセンターへ行ってきました。
店内に入るなり電子パーツの品揃えに圧倒されてしまい、完全に初心者の自分はどれを買っていいのか迷ってしまいましたが、ふっきれて勢いでいろいろ購入。
ドーン!
上段(左から)
・ジャンプワイヤーキット(オス+オス)
・ブレッドボード
・電池をつなぐやつ(使うことがあるかは不明)
・LED
・ジャンプワイヤー(オス+オス)
中段
・ブレッドボード
・傾斜センサー
下段
・トグルスイッチ
・振動センサー
・リチウムイオン電池充電器
・リチウムイオンポリマー電池
・ジャンプワイヤー(オス+ミノムシクリップ)
今回は準備段階までということで、次回から動かしていきたいと思います。(予定)
2009 年 6 月 18 日|制作|1 Comment