ArduinoとTLC5940で複数のRGB LEDを制御する

Arduinoで複数のRGBフルカラーLEDを制御してみようと思ったのですが、まずArduinoでPWM出力できるピンは6つしかなく、フルカラーLEDを1つ制御するには3つのPWM出力ピンを使う為、ArduinoだけだとフルカラーLED2つまでしか制御できないということになります。
そこで、もっと多量のPWM出力を制御できないか調べたところ、TLC5940というICから16ピン分のPWM出力を制御できるということが分かりました。さらにTLC5940どうしでデイジーチェーン接続していけば、32、48、、というようにPWM出力のピン数を増やしていけるみたいです。

さっそく購入したTLC5940

そしてLEDのカソード側とTLC5940のPWM出力を繋ぐので、RGB LEDはアノードコモンのものが必要になります。

角型フルカラーLED OSTA71A1D-A アノードコモン

このLEDの足をブレッドボードに4つの導線に分けて刺そうとすると、あと1穴分幅が足りなくてブレッドボードに刺さりません。むむむ、もどかしいです。
他に良さそうなアノードコモンのRGB LEDを見つけれなかったので、このLEDの足に銅線をはんだ付けしてブレッドボードに刺せるようにします。(もっと簡単な方法があったのでしょうかね?)

LEDの足をヒートクリップで挟んで熱からLEDを守る!あ、この写真は違う足を挟んでたw

足が長くなり、横たわるしかなくなったLED

お次は回路を組みます。
「Arduino 日本語リファレンス」のTLC5940のページにあった回路を参考に組みました。

2つのTLC5940をデイジーチェーン接続で繋いでいます。RGB LEDは10個

ランダムな色で順番に光るようにした動画です。

Arduinoのコードはこちら

// "tlc_config.h"の値を下記に変更
//    #define NUM_TLCS    2

#include "Tlc5940.h"

#define MAX_BRIGHTNESS 4095

void setup() {
  Tlc.init();
}

void loop() {

  int myR = random(4)*(MAX_BRIGHTNESS/3);
  int myG = random(4)*(MAX_BRIGHTNESS/3);
  int myB = random(4)*(MAX_BRIGHTNESS/3);

  //channelの 0 と 31 は未接続
  for (TLC_CHANNEL_TYPE channel = 1; channel < (NUM_TLCS * 16)-2; channel += 3) {

    Tlc.clear();
    Tlc.set(channel + 0, myR);
    Tlc.set(channel + 1, myG);
    Tlc.set(channel + 2, myB);
    Tlc.update();
    delay(70);
  }
}

今後はLEDの数をもっと増やしてテストを続けて行きたいと思います。
お金がかかります。ブルジョアの道楽です。

薬院のシェアオフィス

低山部の下村さんとこのシェアオフィスがオープンしたと聞きつけて、ちょっと見回りに行ってきました。

打ち合わせスペース

ワークスペース。木の床、味があります

ワークスペース その2

オフィスのメンバーでリノベーションの仕事も手掛けてるだけあってシャレています。かぶき者です。
部屋にでっかい植物があると落ち着きますな~。

現在入居者募集中だそうです。
サイトはこちら↓
 ・シェアオフィス #1 | LONDO

Away3D 4.0 透明からフェードインさせる

Away3D 4.0.0 Beta で、Mesh を透明からフェードインさせる方法を見つけるまでに結構時間がかかったので、コードをメモしておきます。
ColorMaterial や TextureMaterial の alpha情報を Tweener で操作するやり方です。
(赤色部分が該当コードです。)

package
{
	import away3d.containers.View3D;
	import away3d.entities.Mesh;
	import away3d.materials.ColorMaterial;
	import away3d.primitives.CubeGeometry;
	import caurina.transitions.Tweener;
	import flash.events.Event;

	[SWF(backgroundColor="#FFFFFF", frameRate="60", width="800", height="600")]

	public class AlphaTest extends View3D{

		public function AlphaTest(){
			antiAlias = 4;
			backgroundColor = 0xcccccc;

			var material : ColorMaterial = new ColorMaterial(0x333333);
			var cubeGeo : CubeGeometry = new CubeGeometry(256, 256, 256, 4, 4, 4);
			var cube : Mesh = new Mesh(cubeGeo, material);
			cube.rotationX = 30;
			cube.rotationY = 30;
			scene.addChild(cube);

			var mt:ColorMaterial = (cube.material as ColorMaterial);
			mt.alpha = 0;
			Tweener.addTween(mt, { alpha:1, transition:"linear", time:3 } );

			addEventListener(Event.ENTER_FRAME, update);
		}

		private function update(e:Event):void {
			render();
		}
	}
}

この方法だと、ObjectContainer3D とかでまとめたグループまるごとのアルファ情報をいじりたい場合でも、ひとつひとつのマテリアルのアルファ情報を触らないといけないので、結構手間なんですが、もっといいやり方があるんですかね?

黒板

ジムショに新しい仲間がやってきました。

黒板です。

白く塗装後、さっそく落書きされる黒板。

その日の夜…

帰宅前、落書きされたうさぎと目が合う。

うさぎ(魔皇帝ゲルゴギス=ラビット三世):「モゴモゴモゴ…(おい、今目が合ったそこの小僧。わしの口に貼り付けられた魔封札菊十文字を剥がしてくれぬか?この札によってわしは暗黒の呪文を唱えることを封じられているのだ。フフフ…剥がしてくれればお前の願いを叶えてやろう。)」

僕:「何か物音がしたかな?気のせいか…」

魔皇帝ゲルゴギス=ラビット三世:「モゴモゴモゴ…(聞こえてるか?)」

僕:「さ、帰ってナイターでも見るか!」

AIRKinect:スケルトン情報を使ってゲーム作成

FlashでKinectセンサーを触ってみようと思い、windowsの環境でも使いやすそうなAIRKinectを使ってみることにしました。

AIRKinectのセッティングはこちらを参考にさせていただきました。

 ・blog.alumican.net » AIRKinect Extension (AIR + ANE + Kinect)を動かす

AIRKinectにスケルトン情報を取得するAPIが用意されているので、取得したスケルトン情報でゲーム画面内の人形を動かして遊ぶ2人プレイ用ゲームを作りました。

相手の陣地の穴にボールを先に5球入れたら勝ちです。
ちょうど事務所にいた元尾さんと下村さんにプレイしてもった映像はこちらです。

下村氏から「バナナの皮が落ちてきて、それを踏むと滑るようにしたら面白そう」等という粋な意見もあがり、もうちょっと作りこんでみたい気もする今日この頃です。

1 2 3 4 5 6 7 8 9 10 11 12 ... 20

ABOUT

MY APPLI

サッカーピープル
サッカーピープル

操作のしやすさ最優先の
自由自在なサッカーゲームです
iOS版 / Android版

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

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

CATEGORIES

ARCHIVES

TAGS

3Dプリント AIR ANE Arduino Away3D client work DIY Flash Funnel JavaScript Kinect LED openFrameworks PhotoShop Progression Qubicle Unity Xcode アプリ インターバル撮影 カメラ キャラ ゲーム制作 コロッコトロッコ スクリーンセーバー デバッグ フットサル ミニマル ランニング レーザーカッター 事務所 低山部 作品 動物 塗装 展示会 文字 料理 福岡てら子 美食家 街ぶらり 道具 鉄道 電子工作

FEEDS

SNS

--

Arduinoをはじめよう
Arduinoをはじめよう

電子工作が未経験の人にも
分かりやすい入門書

Arduinoをはじめようキット
Arduinoをはじめようキット

上の書籍の内容が
一通り試せるツールセット

Prototyping Lab ―「作りながら考える」ためのArduino実践レシピ
Prototyping Lab

「Arduinoをはじめよう」より
深く掘り下げた内容の実践書

Make: Electronics
Make: Electronics

電子工作の基礎から実践まで