階段の照明スイッチって、下の階と上の階の両方についていることが一般的だと思いますが、このスイッチの回路が臨機応変な感じで僕は大好きです。
夜中に思い出してドキドキしたりします。
階段の下の階のスイッチが上の図のA、上の階のスイッチがBだとして、照明が点いているときにどちらのスイッチを切り替えても照明は消えて、次にどちらのスイッチを切り替えても照明は点きます。
臨機応変な仕組みですね。
この回路はスイッチが2か所あるとき用のものですが、スイッチが3か所あるときはどうなるんだろうと、ふと思ったので考えてみました。
20分ぐらい考えてみたんですが、3か所すべてのスイッチのどれを押してもオンオフ切り替えれるというところまでなかなか行き着きません。。
ついにギブアップしてインターネットで調べてみると、下の4路スイッチなるものを使えば可能ということが分かりました。
このスイッチだけ見てもまだピンとこなかったのですが、回路を見ると納得!
スイッチBが4路スイッチですね。こいつはすごい!
考えていた時はもっと複雑な回路になるのかなと思っていたのですが、実にシンプルです。ドキドキします。
そしてこの4路スイッチのような、パッと見ただけでは何の役に立つのか分からなさそうな部品も、存在を知っているかどうかでいざというときに出てくるアイデアの差になるんでしょうな~。
と、部品は普段からいろいろチェックしておこうと思ったのでした。
2012 年 9 月 8 日|制作|No Comments
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の数をもっと増やしてテストを続けて行きたいと思います。
お金がかかります。ブルジョアの道楽です。
2012 年 8 月 16 日|制作|2 Comments
低山部の下村さんとこのシェアオフィスがオープンしたと聞きつけて、ちょっと見回りに行ってきました。
打ち合わせスペース
ワークスペース。木の床、味があります
ワークスペース その2
オフィスのメンバーでリノベーションの仕事も手掛けてるだけあってシャレています。かぶき者です。
部屋にでっかい植物があると落ち着きますな~。
現在入居者募集中だそうです。
サイトはこちら↓
・シェアオフィス #1 | LONDO
2012 年 8 月 9 日|日常|No Comments
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 とかでまとめたグループまるごとのアルファ情報をいじりたい場合でも、ひとつひとつのマテリアルのアルファ情報を触らないといけないので、結構手間なんですが、もっといいやり方があるんですかね?
2012 年 6 月 1 日|制作|No Comments
ジムショに新しい仲間がやってきました。
黒板です。
白く塗装後、さっそく落書きされる黒板。
その日の夜…
帰宅前、落書きされたうさぎと目が合う。
うさぎ(魔皇帝ゲルゴギス=ラビット三世):「モゴモゴモゴ…(おい、今目が合ったそこの小僧。わしの口に貼り付けられた魔封札菊十文字を剥がしてくれぬか?この札によってわしは暗黒の呪文を唱えることを封じられているのだ。フフフ…剥がしてくれればお前の願いを叶えてやろう。)」
僕:「何か物音がしたかな?気のせいか…」
魔皇帝ゲルゴギス=ラビット三世:「モゴモゴモゴ…(聞こえてるか?)」
僕:「さ、帰ってナイターでも見るか!」
2012 年 5 月 29 日|日常|No Comments