2011年3月7日月曜日

Mega8Lって同じソースで動かなかったのは何故?

PWMが出ない??マジ?
単に、PWMに接続されてる、RGBを変数足しながらループさせてるだけなんだが、Mega8Lは、自前のソフトウエアPWMでも組まないと駄目なのかな・・

やっぱRとGの発色が強いから、抵抗で少し落とさないと駄目かもな・・
現在、R 100Ω 他は82Ω グリーンを100にして、Rを200位にしてみるべきか・・
基本的に、均等に入れて、白色がいいからねーー現在、マゼンタっぽい。

LEDは、ちょっと危惧してたほど明るくなくて良かった。

撮影の仕事がらみも有るから、RGB LEDには注目してる。照明のフイルターが要らなくなるから・・
さすがに、Arduinoで、これくらい動いても当然と言えばそれまでなので、やっぱりミニの方に向いてる気はするが、基板単体で、遊べるLEDチカチカのバリエーションは、50円ほどの追加で、出来るから、有った方が楽しい。


恥ずかしいテストルーチンはこれ

int RedPin = 3;      // LED connected to digital pin 3
int GrnPin = 5;      // LED connected to digital pin 5
int BluPin = 6;      // LED connected to digital pin 6
int Rval = 255;    
int Gval = 0;
int Bval = 130;
void setup()
{
  pinMode(RedPin, OUTPUT);   // sets the pin as output
  pinMode(GrnPin, OUTPUT);   // sets the pin as output
  pinMode(BluPin, OUTPUT);   // sets the pin as output
}

void loop()
{
  Rval=++Rval;
  Gval=++Gval;
  Bval=++Bval;
 
  analogWrite(RedPin, Rval);  // Red analogWrite values from 0 to 255
  analogWrite(GrnPin, Gval);  // Green analogWrite values from 0 to 255
  analogWrite(BluPin, Bval);  // Blue analogWrite values from 0 to 255
 delay(10);
}

サブルーチンライブラリで、パーセント表示出来るの作ろうと思った。

PWMを別の目的で使う場合もある程度は、何が起こってるか解るのでいいか・・影響する場合、抵抗を外せばいい。

MEGA8用は、一応交互点滅するの作って、回路異常が無いのは確認した。

ソフトPWMはまあ、タイマーかなんかで、RGBの数値を確認し、数値以下なら、LOW、以上ならHIGHにすれば良く、あとはその周波数考えてやればいい。そんなに難しく無く、1クールが、1000分の1秒位に収まれば肉眼では連続してるように見えるはず。

パーセント処理したいと言うのが本音だから、それで、100まで数えさせればいいだけ。

これは良く、PWMの無い、PIC10で使ったなあ・・実質1MHzのPIC10だと、高速処理は結構辛かったが、8MHzのAVRなら8倍も余裕が有る。

0 件のコメント:

コメントを投稿