http://www.wired.com/design/2012/10/arduino-due/
Wiredのこの記事だと、22日に「will be available」
ってなってるんだけど、この場合は発売日ってことで
いいのかな?
そろそろあちこちでメニューに並び始めるころだろう
って思うんだけど、とりあえずスイッチサイエンスは
並んでなかった。
3.3Vだと、SparkFunのMIDIシールドとかは動かせる
のかなぁ?手持ちでどれとどれが動くのか見極めて
おかないとな。
あと、そういえば時々3.3V動作のArduinoがあったら
いいのにって思うことがあるから、併せてArduino
pro mini 3.3Vタイプとか1個買っておこうかな。
3.3Vデバイスでちょこっと実験するときに欲しくなる
んだよな。
http://www.nicovideo.jp/watch/sm18181398
この300円でインテリア照明っていう動画に触発される。
風邪が治りつつある予感なので、リハビリの意味も
こめて、買いっぱなしで放置してあったRGB-LED
(当時100円)を引っ張り出してきて、3原色で
蛍ホワンホワンをやってみる。
面倒なので抵抗値は全部1kΩで。ブレッドボード
にサクッと部品を挿しまくってみる。
ためしに5Vを抵抗経由で繋いでみる。まず赤。
まぁ丁度ヨサゲな輝度。次、緑。なんか妙に明るい。
次、青。これもなんか妙に明るい。
…どうやら緑と青は抵抗を挿してあるのに、
直接LEDの脚に5V繋いじゃったみたい…
緑はセーフだったものの、青はお亡くなりに
なってた。チーーーーン。南無。
まだ頭が回復してないな。駄目だな。
気を取り直して、もう1個買い置きしておいた
同じ型のLEDに挿し換える。やっぱそれなりの
輝度で光るんだな。ひとまず全部1kΩでいいや。
サクッとスケッチを書いて、アップロード。
配線も赤、緑、青それぞれキチンと繋いでみる。
まぁそれなりにホワンホワンするんだけど、数値
をもうチョイ弄って、気持ちのよい光り方する
ように微調整。
消灯→最大輝度→消灯までの1周期の時間を、
赤は約2秒、緑は約3秒、青は約5秒と素数比にして
みたので、全体的には約30秒で1周期分ってことに
なるはず。
スケッチはこちら。
int ledR = 9; // LED R connected to digital pin 9
int ledG = 10; // LED G connected to digital pin 10
int ledB = 11; // LED B connected to digital pin 11
int red;
int green;
int blue;
unsigned int color_phase = 0;
void setup() {
pinMode(ledR, OUTPUT);
pinMode(ledG, OUTPUT);
pinMode(ledB, OUTPUT);
Serial.begin(9600);
}
void loop() {
analogWrite(ledR, red);
analogWrite(ledG, green);
analogWrite(ledB, blue);
color_phase ++;
if ((red=(color_phase % 1024)/2) else {
red = 511 - red;
}
if ((green=(color_phase % 1536)/3) else {
green = 511 - green;
}
if ((blue=(color_phase % 2560)/5) else {
blue = 511 - blue;
}
delay(2);
//Serial.print(red);
//Serial.print(",");
//Serial.print(green);
//Serial.print(",");
//Serial.println(blue);
}
(例によって1行おきになっちゃうみたい。プレビュー
だとちゃんとしてるのに…まぁこのブログ使ってる
限りArduinoのスケッチとは相性よくないってことだな)
改めて見直してみると、何でこんな処理してるの?
ってコードだな。色々きれいくないコード。
本当は、輝度って人間の目には対数関数的にしか
感じないから、PWMに出力する輝度をそれなりに
補正掛けた状態じゃないと綺麗にホワンホワンしない
はずなんだけど、面倒だからそこまでやんない。
まぁ、破綻無くそれなりにスムーズにLEDの輝度が
ホワンホワンしているので、これはこれでok。
それにしても、頭ぼけてるときに配線とかやらない
方が身のためだな。