加速度センサーの出力値を受け取る

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側でいろいろ面白そうなことが出来そうですね。

Funnel で Arduino を動かしてみる

早く 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 的なテストは大成功!

Arduino Duemilanove ボードの説明

Arduinoをはじめよう」を一通り読んでみて動きを試して見たものの、なんでこういう回路を組んだら動くのかという電子工作面のことが完璧には理解できてないので、Arduinoボードの各パーツについて調べてみることにしました。

すると、下記のページに詳しく載っていました。

ArduinoDuemilanove – スイッチサイエンス

Arduinoの読み方の音声データまでありました。
アルデュイーノの「ル」の部分は巻き舌で読むと本格的になりますw

ボードの説明をプリントアウトして、手元に置いてすぐ見れるようにしときたいなーと思って、上記のページを元に簡単にPDFにまとめてみました。
あくまで各パーツの簡易説明なので、もっと詳しい情報は上記のページに載っています。

Arduino Duemilanove ボードの簡易説明(PDF)

Arduino と FIO が届いた!

Arduinoをいじってみようと思いまして、先日ネット通販で購入した「Arduino Duemilanove」と「FIO」とその他パーツが今日ついに届きました。

本当は「Arduinoをはじめようキット」が欲しかったんですけど、Amazonで在庫切れだったのでブレッドボードとかのパーツは個別で購入することにしました。

左:Arduino Duemilanove 右:FIO

裏返し。イタリア地図がイカします

いろいろ実験するためにLEDとか、なんちゃらセンサーとかほしいなあと思って天神のカホパーツセンターへ行ってきました。

店内に入るなり電子パーツの品揃えに圧倒されてしまい、完全に初心者の自分はどれを買っていいのか迷ってしまいましたが、ふっきれて勢いでいろいろ購入。

ドーン!

上段(左から)
・ジャンプワイヤーキット(オス+オス)
・ブレッドボード
・電池をつなぐやつ(使うことがあるかは不明)
・LED
・ジャンプワイヤー(オス+オス)

中段
・ブレッドボード
・傾斜センサー

下段
・トグルスイッチ
・振動センサー
・リチウムイオン電池充電器
・リチウムイオンポリマー電池
・ジャンプワイヤー(オス+ミノムシクリップ)

今回は準備段階までということで、次回から動かしていきたいと思います。(予定)

1 2 3

ABOUT

GAMES

サッカーピープル
スライムパズルストーリー

倉庫番ライクパズルと
冒険のゲームです
※制作中

止まるなコロッコ2
止まるなコロッコ2

止まるなコロッコの
続編です
iOS版 / Android版

止まるなコロッコ
止まるなコロッコ

石ころのコロッコが転がるように
セッティングする脱出ゲームです
iOS版 / Android版

コロッコトロッコ
コロッコトロッコ

石ころのコロッコを転がしながら
サラリーマンを会社へ運ぶゲームです
iPhone版 / Android版

TAGS

SNS

FEEDS