Arduinoで遊ぼう - フルカラーLED
Posted by arms22 on 2008年11月25日

Make Tokyo Meeting 02で買ってきたArduino Duemilanoveで遊んでみました。Arduinoの説明や環境構築については下記URLを参照してください。
統合開発環境とUSBドライバをインストールして、Arduino DuemilanoveをMacに繋げば環境構築完了。試しにLED点滅のサンプルをダウンロードするとすぐにLEDの点滅が開始される。サンプルを少し変えて、LEDの点滅周期を変えるなんてこともすぐにできてしまう。
さっそく何か作ってみた。↑のようなカラーチャートから色を読み取りその色情報をArduino Duemilanoveに送るProcessingアプリを作成した。カラーチャート上でマウスを動かすとカーソルの下の色を読み取り、Arduino Duemilanoveに送信する。Arduino Duemilanoveは送られて来た色情報を元にフルカラーLEDを点灯させる。
新日本無線のNJU6061というLEDドライバICがある。PWM制御型の3色LEDドライバだ。このICの一部の機能をArduino Duemilanoveで実装して、フルカラーLEDを光らせている。
簡易版PWM制御型3色LEDドライバ仕様
- 各色16step(内部256step*3色)
- 波形補正機能(非線形補正を行い自然に明るさが変わっているように見せる)
- UART 9600bps
- LED1 PWMデータセット 0110 xxxx
- LED2 PWMデータセット 0111 xxxx
- LED3 PWMデータセット 1000 xxxx
回路
Arduino DuemilanoveのPWM 3にRED、PWM 5にGREEN、PWM 6にBLUE、カソードコモンをGNDに接続する。
サンプルスケッチ
#define INS_MASK 0xf0
#define DAT_MASK 0x0f
#define INS_LED1_DATA 0x60
#define INS_LED2_DATA 0x70
#define INS_LED3_DATA 0x80
int LED1_step;
int LED2_step;
int LED3_step;
#define LED1_port 3
#define LED2_port 5
#define LED3_port 6
const int step_to_duty[] = {
0, 2, 4, 6,
10, 16, 26, 38,
54, 72, 92,118,
146,180,216,255,
};
void setup(){
LED1_step = 0;
LED2_step = 0;
LED3_step = 0;
pinMode(LED1_port,OUTPUT);
pinMode(LED2_port,OUTPUT);
pinMode(LED3_port,OUTPUT);
digitalWrite(LED1_port, 0);
digitalWrite(LED2_port, 0);
digitalWrite(LED3_port, 0);
Serial.begin(9600);
}
void loop(){
if(Serial.available() > 0){
int ledIns = Serial.read();
if((ledIns & INS_MASK) == INS_LED1_DATA){
LED1_step = ledIns & DAT_MASK;
if(!LED1_step){
digitalWrite(LED1_port, LOW);
}else{
analogWrite(LED1_port, step_to_duty[LED1_step]);
}
}
else if((ledIns & INS_MASK) == INS_LED2_DATA){
LED2_step = ledIns & DAT_MASK;
if(!LED2_step){
digitalWrite(LED2_port, LOW);
}else{
analogWrite(LED2_port, step_to_duty[LED2_step]);
}
}
else if((ledIns & INS_MASK) == INS_LED3_DATA){
LED3_step = ledIns & DAT_MASK;
if(!LED3_step){
digitalWrite(LED3_port, LOW);
}else{
analogWrite(LED3_port, step_to_duty[LED3_step]);
}
}
}
}
サンプルスケッチ: PWM制御型3色LEDドライバ
http://xfind.hp.infoseek.co.jp/electric/arduino/sketch_081118a.zip
Make日本語版 Vol.04記事「初めてのArduino」PDF公開
http://jp.makezine.com/blog/2008/11/make_lrn_arduino.html
フィジカル・コンピューティング: Arduinoを使おう
http://www.eleki-jack.com/FC/arduino/
建築発明工作ゼミ2008: Arduino
http://kousaku-kousaku.blogspot.com/2008/07/arduino.html
四谷工作研究所: Arduino
http://www.artstudium.org/kousaku/arduino/
Arduino.cc
http://www.arduino.cc/
Microchip,ミッドレンジの8ビットMCUコアを拡張
Posted by arms22 on 2008年11月12日

米Microchip Technology社は,同社の8ビットMCUであるPIC12及びPCI16コアを拡張したことを発表した(発表資料)。技術的に多岐に及んでおり,より大きなプログラムサイズとデータサイズ,より深くかつ改良されたハードウェアスタック,リセット方法の追加,14の新命令,Cでプログラム記述をする際のコードサイズ削減の最適化,周辺回路サポートの追加,割り込みのレイテンシ削減などが行われている。
主な変更点
- 最大56KBのフラッシュプログラムメモリ
- 最大4KBのデータメモリ
- 14の新命令
DDWFC Add W+F with Carry SUBWFB Subtract F-W with Borrow LSLF Logical Shift Left LSRF Logical Shift Right ASRF Arithmetic Shift Right MOVLP Move Literal to PCLATH MOVLB Move Literal to BSR BRA Branch Relative (signed) BRW Branch PC +W (unsigned) CALLW Call PCLATH:W ADDFSR Add Literal to FSR (signed) MOVIW Move Indirect to W MOVWI Move W to Indirect RESET Reset Hardware & Software - 16レベルのハードウェアスタック、追加リセット機能
- 割り込みのレイテンシ削減(コンテキストの自動退避)
- 拡張インダイレクトアドレッシング
- 周辺回路サポートの追加
Microchip,ミッドレンジの8ビットMCUコアを拡張
http://techon.nikkeibp.co.jp/article/NEWS/20081111/161094/
Microchip Enhances 8-bit Mid-range PIC(R) Core - Press Release
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2018&mcparam=en538258
Enhanced Core Solutions
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2692&redirects=enhanced
Make: Tokyo Meeting 02参加してきました。
Posted by arms22 on 2008年11月10日

Make: Tokyo Meeting 02 参加してきました!朝5:00に起きて新大阪から新幹線で一路多摩美術大学へ。開場前から入り口に沢山の人が並んで待っていました!今回はなんと前回の2倍、1200人もの人が訪れたようです。Meeting終了30分前まで会場にいたけど、人が絶えることはありませんでした。
会場は文化祭のような雰囲気で、アート、クラフト、技術がまざりあって兎に角アツかった!次回は出展側にまわれたらいいなと感じた。以下、気になったモノ、作りたくなったモノ、欲しくなったモノを中心にレポートします。
自作戦車とセグウェイ試乗。セグウェイは開始してすぐだったので並ばずに試乗することができた。お昼過ぎごろ、自作戦車の真空圧縮空気砲が盛大に火(?)を噴いていた。
手作りジェットエンジンのデモ。特大の火炎球と爆音で来場者の注目を浴びていました。エンジン始動時のドーンという爆音に大興奮!
雪風。スペクトラムアナライザーを電動ファンとパウダービーズで表現しています。これは本当に欲しくなった!パウダービーズをうまく巻き上げる仕掛けもわかったし、もう作ってしまうしかない!、、かも。。
宇田道信さんの電子楽器ウダー。YouTubeで演奏を見て以来、ずっと気になっていました。生で宇田さんの演奏が聴けて、実際にさわることができたすごくうれしかった。たぶん5回くらいブースに行って演奏聞いてたと思う。販売されたら買ってしまう、、かも。
IN-12Bを使ったニキシー管時計。ニキシー管が安かったので6個買いました。余っている170V電源と組み合わせて、前回より大きな時計を作ろうかな。
ヒゲキタさんの手作りプラネタリウムと3D立体映像。今回プラネタリムの展示は2つあって、こっちはキロスター(6000個の星)でもう一つはメガスター(200万個の星)。メガスターも見とけばよかった。。
3D立体映像はとってもローテク(?)で実現されていた。赤と青の光源を使って、2つの影を作り出しそれを3Dメガネ(赤と青のフィルムをはってあるアレ)で見ると立体になるという仕掛け。これも作ってみたい。立体影絵とかできそう。
紙のコーンとダンボールエンクロージャーによる手作りスピーカー。いい音していました。残念ながら作り方はまだ非公開。次に作るスタバスピーカーはコーンも自作かな�。
テスラコイルによる演奏
バリバリバイーン!とにかくすげーとしか言えない。演奏というか威嚇?天井の蛍光灯が漏れた電気でチカチカしてました。暗くてうまく写真が撮れませんでした。
折り紙で作った手作り立体ゾートロープ
コマ絵ではなく、折り紙で作った蛙でゾートロープを作っていた。折り紙の蛙が滑らかに動いているように見える。面白い。やっぱり暗くて、うまく撮れなかった。
手に入れたモノ
- IN-12Bニキシー管、6個 ¥1800
- Arduino Duemilanove、¥2700
- Make: 04、¥1500
- Make: Tokyo Meeting 02の思い出、¥0 プライスレス
Make: Tokyo Meeting 02フォトレポート
塊魂の編みぐるみ、影を追いかける影、パラメトリックスピーカー、自走サーバー、iPhoneリモコンカー、新型折鶴などなど。
Google ブログ - "Make: Tokyo Meeting 02"の検索結果
来場した沢山の方がブログでレポートを掲載されています。気になる人は要チェック。
Make: Tokyo Meeting 02参加します!
Posted by arms22 on 2008年11月07日

ええと、、、
Make: Tokyo Meeting 02参加します!
こことか、あそことかで告知してたのでマネしてみました。
気付いたら声かけて下さい(笑)
Make: Tokyo Meeting 02 アップデート
http://jp.makezine.com/blog/2008/11/make_tokyo_meeting_02_update.html