HOME > 技術談話 > PIC microcontroller > 10ポイントRGB LEDアレイ(試食)
はじめに 外観と中身 順電流と順電圧 とりあえず点灯 色を作る 電流制限抵抗の位置 評価用ハードウェア
サンプルプログラム1 サンプルプログラム2
今回利用するデバイスはこちら。秋月電子通商さんで取り扱いが始まったLEDアレイです。 高輝度10ポイントRGB LEDアレイ OSX10201-LRPB2 (I-04761 2011/07/04 @250) ダイナミック制御必須のデバイスですが、PICマイコンと組み合わせて色々な表示を試してみます。 ダイナミック制御については過去のページもありますので合わせて参照していただけると幸いです。 複数LED制御、マトリクスLED制御 (新しいウィンドウで開きます) 複数個並べると縦長の棒になります。これをフルカラーで白と緑を点灯…。ネギができます(笑 相変わらず進捗は遅いかも…。そのような場合は「つぶやき」をチェックしてみてください。 途中経過やホームページの更新タイミングで何かしら独り言をつぶやいてます。 注意事項 |
2011/07/17 |
▲ |
単純に10個のLEDが並んでいる様に見えますが、1つ1つの窓の中にLEDが3つ仕込まれています。 LEDの位置は2.54mm(0.1inch)間隔です。背面にある端子の間隔も2.54mmの倍数になるので、ユニバーサル基板にぴったり収まります。 表面に保護シートが貼ってあるので、最後に剥がすのを忘れずに。 |
デバイスの中身は双方?…コモンです。 配置はともかく、マトリクスLEDと似た様な方法で利用できます(ダイナミック制御が前提な配線)。 |
複数個購入すると、やりたいですよね(汗 横に置く事、問題無いです。一体化します。 実際に配線を行うとなると…。 裏側は凄い事になりそうです。 |
LEDが1つの窓に3つ組み込まれていますが、制御は 10*3 のマトリクスLEDとして扱えば大丈夫です。 このLEDアレイを2個接続した場合は… 10*6(20*3) のマトリクスLEDと同等の制御で利用できます。 マイコンで制御する場合は前者 10*6 の方が配線量が少なくなりますが、輝度と絡みますので、ご注意を。 |
2011/07/18 |
▲ |
実際に点灯させようとデータシートを確認するも…。情報量が少ないです。A4用紙に換算して2枚だけ。 絶対定格と電気的特性(一例)のみで順電流(If)、順電圧(Vf)のグラフがありません。 電気的特性として、If=20mA時、Red:2.1V(Typ.)、Green:3.2V(Typ.)、Blue:3.1V(Typ.)。これだけ。 明るさを見つつ電流制限抵抗を変えるので、グラフの有無は関係ないと言えば関係ないのですが(汗 ちょっと気になるので、現物合わせ。いや、実験してみました。 カーボン抵抗、テスター、人力測定なので正確さに劣りますが、雰囲気ということで。 |
電流制限抵抗 | 電源 = 3.3V | 電源 = 5.0V | |||||||
表 示 | 実測値 | 誤 差 | R | B | G | R | B | G | |
22000 | 21800 | -0.9% | 0.08mA | 0.04mA | 0.04mA | 0.16mA | 0.12mA | 0.11mA | |
10000 | 9890 | -1.1% | 0.17mA | 0.09mA | 0.08mA | 0.34mA | 0.25mA | 0.24mA | |
7500 | 7420 | -1.1% | 0.23mA | 0.11mA | 0.10mA | 0.45mA | 0.33mA | 0.32mA | |
4700 | 4570 | -2.8% | 0.36mA | 0.17mA | 0.15mA | 0.72mA | 0.53mA | 0.50mA | |
3000 | 2980 | -0.7% | 0.54mA | 0.26mA | 0.22mA | 1.10mA | 0.81mA | 0.76mA | |
2000 | 1970 | -1.5% | 0.81mA | 0.38mA | 0.32mA | 1.64mA | 1.21mA | 1.13mA | |
1500 | 1477 | -1.5% | 1.06mA | 0.49mA | 0.41mA | 2.17mA | 1.59mA | 1.48mA | |
1000 | 985 | -1.5% | 1.57mA | 0.71mA | 0.58mA | 3.22mA | 2.34mA | 2.17mA | |
820 | 813 | -0.9% | 1.90mA | 0.85mA | 0.69mA | 3.89mA | 2.81mA | 2.60mA | |
750 | 756 | 0.8% | 2.05mA | 0.91mA | 0.74mA | 4.20mA | 3.03mA | 2.78mA | |
510 | 516 | 1.2% | 2.94mA | 1.28mA | 1.02mA | 6.03mA | 4.32mA | 3.91mA | |
470 | 475 | 1.1% | 3.18mA | 1.37mA | 1.09mA | 6.53mA | 4.67mA | 4.22mA | |
300 | 306 | 2.0% | 4.83mA | 2.01mA | 1.58mA | 9.89mA | 7.01mA | 6.22mA | |
200 | 207 | 3.5% | 6.97mA | 2.76mA | 2.17mA | 14.22mA | 9.95mA | 8.68mA |
抵抗値が固定の場合、LEDの色により電流値が異なる事に注意です。これはそのまま輝度に反映されます。 手持ちの抵抗を引っ張り出して、片っ端から接続しましたが、数字だけが並んでも意味不明。 せっかくなので、測定結果をグラフにしました。■表示は電源3.3V、▲表示は電源5.0Vです。 |
グラフをクリックすると大きめの表示を行います(新しいウィンドウが開きます)。 赤色にずれがありますがご容赦。電源電圧関係なく順電流(If)、順電圧(Vf)の関係が見られると思います。 見た感じ、抵抗値が同じ場合は、赤>青>緑の様な明るさの関係でした(個人差あり)。各色の明るさを同じにする事は難しいのですが、緑の輝度を上げるためには電流制限抵抗の値を下げて順電流を上げる必要があります。 そもそも論なのですが、前述の電気的特性、If=20mA時、Red:2.1V(Typ.)、Green:3.2V(Typ.)、Blue:3.1V(Typ.)。 これを電源電圧3.3Vで点灯するためには、Red:60Ω、Green:5Ω、Blue:10Ωなんですよね。 計算用の参考ページ:LEDの接続 (新しいウィンドウが開きます) 60Ωはまだしも、10Ω以下の抵抗なんて手元に無いです。普段使わないし。 見た感じですが、各LED共に200Ωの電流制限抵抗でも十分な輝度を得られます。プログラムによるダイナミック制御で輝度を調整できますが、気になる方は精密抵抗を使って電流を調整する方が良いかもしれません。 今回、抵抗を色々変えて電流値を測定しました。これはマイコンに直結した場合を想定しての事です。マイコンの出力ポートで流せる電流量の範囲内であれば実験装置の部品点数を減らす事ができます。ただし、電流を抑えたために十分な輝度が得られない。という、ジレンマもあります。 |
2011/07/19 |
▲ |
この項以降で「メイリオ」フォントを使ってます。表示されない方、ご連絡下されば元に戻します。 |
標準 | 強調 | 斜体 | 下線 | 1234567890 | あいうえお | 線が細いです | ||
メイリオ | 強調 | 斜体 | 下線 | 1234567890 | あいうえお | 幅が広くなります |
LEDを回路図風で見ると以下の様な感じ。。まぁ、3×10のマトリクスLEDです。 ピン番号と合致していないので注意して下さい。 |
どちらを COL とするか…。ここでは、#0〜#9 を COL、RED/BLUE/GREEN を ROW とします。 COL がアノードコモン、ROWがカソードコモン。そんなマトリクスLEDを制御する雰囲気です。 電流制限抵抗をつけて、アノード側をプラス、カソード側をマイナスに接続すれば点灯します。 電流制限抵抗の値は見えれば良いレベルなので大きめの 500Ω 前後で十分かと。 ケース1: まずは、#4,RED を点灯して見ます。 電流制限抵抗は省略しています |
ケース2: 今度は複数 LED を点灯します。最初にROW基準で #2,#5,BLUE を点灯。 |
ケース3: 次に COL 基準で #3,RED,GREEN を点灯。 |
ケース4: 最後に複数 COL、複数 ROW パターンです。これは駄目な制御の代表例です。 |
駄目な…厳密には駄目ではありませんが、時として 3 個の LED を点灯しようとして、4 個の LED が点灯してしまう事があります。結果的な動作なんですけどね。 単色のマトリクス LED と同じ感覚で利用できるのですが、大きな違いは RGB 各色の LED が同じ場所に存在する事です。RGB 各色の LED を同時点灯すれば多彩な色を表現できますが、同時点灯する LED の数と場所により輝度が異なってしまいます。 |
2011/07/24 |
▲ |
今回使用する LED を組み合わせた場合、以下の様な発色が期待できます(色はイメージです)。 |
赤 Red | On | Off | On | Off | On | Off | On | Off | |
青 Blue | On | On | Off | Off | On | On | Off | Off | |
緑 Green | On | On | On | On | Off | Off | Off | Off | |
発色 | |||||||||
名称 | 白色 | 水色 | 黄色 | 緑色 | 紫色 | 青色 | 赤色 | 黒色 |
点灯する LED の組み合わせで複数の色を表現する事ができます。 全部オフで黒色? ちょっと乱暴ですが…(汗 他の色は? 個別に輝度を指定する事で複雑な色を表現できると思いますが、輝度を変える要素は LED に流れる電流値で決まるので、可変電流の構成が必要になります。ちょっと面倒ですね。 電流値を変えずに輝度を変える方法。。見かけ上の明るさを調整する方法はあります。 過去にPWM制御についてまとめました → PWM制御の復習(新しいウィンドウが開きます) この PWM 制御を応用すれば、見かけ上の輝度を操作して多くの色が表現できないかと、皮算用。 |
少々汚い絵になってしまいましたが、カラー LED 単体では表現できる事が判明している(過去に実験)ので、これを複数の LED に適用すれば…カラフルな表示ができるはず。たぶん。 |
2011/07/28 |
▲ |
LED には電流制限抵抗を接続します。その位置は何処にすべきか? |
単色のマトリクス LED であれば上図のどちらを選んでもダイナミック制御を行う事ができます。 電流制限抵抗の接続と制御について → 格子状(マトリクス)配置 単色であれば…。が、ポイントです。カラー LED の場合は制約があるんです。 カラー LED を制御する場合の注意点として、 ・同じ電流値でも色により明るさが異なる。 ・同じ電流制限抵抗では色毎に電流値が異なる。 が挙げられます。 前述の「順電流と順電圧」参考。 |
上図で左側のケース:LEDの場所毎に電流制限抵抗を設ける ・色に関わらず同じ電流制限抵抗を経由するので、色により「見た目」の輝度が変化する。 ・赤色を基準にすると青色と緑色は暗く見え、青色と緑色を基準にすると赤色が明るすぎる。 ・異なる色を同時に点灯する事ができない(輝度が微妙に変化する)。 ・位置基準のダイナミック制御の巡回数は 3 巡で完了する(ある意味、輝度を稼げる)。 上図右側のケース:LEDの色毎に電流制限抵抗を設ける ・色毎に電流制限抵抗が用意されるので赤色、青色、緑色を 1 個づつ点灯する分には輝度が揃う。 ・同じ色を複数個点灯すると輝度が変化する(電流制限抵抗が 1 個だけなので)。 ・色を混ぜるという意味では、調整がしやすい。 ・色基準のダイナミック制御の巡回数は 10 巡で完了する。 今回使用するデバイスはダイナミック制御が必要不可欠です。そして「見た目(発色)」が大切です。 となると、上図右側、LEDの各色毎に電流制御抵抗を設ける方法を選択する方がベストです。 |
2011/07/30 |
▲ |
(1)回路図 今回は 28pin の PIC16F886 を利用します。書き込みは PICkit3 を利用しました。 |
LED の点灯方法は、位置の1つを High レベルで指定し、必要な色を Low レベルで指定します。 位置に相当する出力ポートを複数 High レベルにする事は禁止です。 この回路図の場合は 1 つの位置の LED が点灯するだけなので、位置を移動して別の LED を点灯し…を繰り返します。いわゆる、ダイナミック制御で見かけ上の同時点灯を実現します。 この回路図での注意点は以下の通りです。 ・特別な場所を除き、未使用端子はオープン、プログラムでは Low レベル出力としています。 ・RC6/RC7 は入力ポートで外部でプルアップしています。後日、シリアル通信使うかな? ・RB6/RB7 は書き込み用に使ってます。プログラムでは入力、内蔵プルアップ有効としています。 ・電流制限抵抗は各色で同一です(いい感じの抵抗値が手元に無かった)。 デバイスの選択については、結局のところ出力ポート数に左右されます。今回は28pinのPIC16F886を利用しましたが、利用するポート数を制限すれば18pinのデバイスでも実験は可能です。 今回は 28pin のデバイスを利用したおかげで空きピンが 6 本あります(通信用を除く)。 LED アレイを2つ追加して…。制御は面倒かもしれませんが 30 個表示を行う事もできそうです。 |
(2)配置例 回路図を元に、ブレッドボード上に部品を配置します。 制御線が多すぎて面倒ですが、LED アレイへの接続は柔らかいジャンパ線で接続すると吉です。 |
絵をクリックすると通常サイズの絵が別ウィンドウで開きます。 左側が PIC16F886、右側が LED アレイです(絵的に DIP 部品を流用)。 LED アレイの右側の余白は…。LED アレイを連結しようと思案中(汗 |
(3)実装例 回路図を元に、少し大きめのブレッドボード上に部品を配置します。 |
配置例のまんまです。柔らかいジャンパ線は自由度が増します。 上に伸びて隠れている配線(配置例の 11B 〜 15B)は PICkit3 に接続されています。 写真では既に LED アレイが点灯していますが、表示していない箇所は「黒色」を表現したつもりです。 まぁ、消灯なんですけどね。 |
(4)初回の書き込み 今までのテーマでは秋月電子通商さんの AKI-PIC プログラマを利用する事が多かったと思います。 この書き込み機のメリットは、PIC の内容を気にする必要が無い事。しがらみがない事。 実験で PIC デバイスを使うメリットは書いたり消したりが簡単な事。特にPICkitXを利用するとデバイスの移動を伴わず、プログラムの変更と書き込みをパソコンの画面の中で完結する事ができます。 けど、御用心。 別の装置で使っていたデバイスを再利用すること…。よくある話です。でも、初めての書き込みを行う際に、書き込み前のプログラムの影響で装置電源を入れたとたんに回路が壊れる可能性が否定できません。 作業手順の話になりますが作業が終了したタイミングでデバイスを消去してから保管するのがベターです。 だけど素性のわからないデバイスが存在する。よくある話です。 理想を言えば消去済みのデバイスを利用しての「初書き込み」としたいところです。 今回はブレッドボード上で回路を構築しています。なので、ちょっと工夫すると書き込み機として利用する事ができます。回路図で表現するとは以下の様になります。 |
元の回路図と比べると明らかですが、周辺部品を総て取り払っています。 PIC16F688 の場合はデバイス左右に Vss があるので御用心。。 ブレッドボードに PIC と PICkitX を接続。続いて LED アレイ等の部品の実装と配線を行う前に、まずはデバイス消去(イレーズ)だけ済ませておきましょう。 |
(5)電流制限抵抗 今回は各色問わず、同じ抵抗値を利用しています。単に微妙な値の抵抗器が手元に無かっただけ。 試しに電流を測定すると以下の様な感じです。共に 5V 動作、電流制限抵抗値は 470Ω です。 ・赤色 … 6.8mA ・青色 … 4.9mA ・緑色 … 4.5mA 上述した「順電流と順電圧」で掲載された数字と微妙に異なりますが、ご容赦。 総てが同じ抵抗値で赤色が多く電流が流れている事から予想されるのは、白色点灯時に赤色が残ります。 前述の実装例では白色っぽく撮影されましたが、実物を見ると赤色が残る感じです。 |
このあたりは、精密抵抗(多回転半固定ボリューム)で微調整するのがベターです。ですが、微調整後の抵抗値にぴったりマッチする単独の抵抗器を探すのは難しいと思われます。 |
上図は電流制限抵抗値を変えられる様にした場合の回路例です。 単に抵抗器を2つ接続しただけですが、BASE となる抵抗を忘れずに接続して下さい。ボリュームの調整が失敗すると 0Ω 相当となる事態を回避します。 |
もう1つ注意点。 ダイナミック制御は1個の LED あたりの点灯時間が短いので暗くなります。この場合、抵抗値を下げて電流を流せば結果的に明るくなるのですが、PIC 出力端子の許容電流(絶対定格)に納まる事が大切です。 今回使用した PIC16F886 では、 ・端子あたり最大25mA ・ポート全体で最大90mA の値未満で駆動しなければなりません(詳しくはデータシート参照)。 トランジスタアレイを使えば簡単に大電流を流せるのですが、今回はそこまではやりません。 とりあえず、6.8 + 4.9 + 4.5 = 16.2mA で、定格の範囲内で動作しています。 |
2011/08/16 |
▲ |
(1)ダウンロード サンプルプログラムを公開します → Sample1_0100.zip 2011/08/17 開発環境は MPLAB IDE V8.63 と HI-TECH C V9.81 を利用しています。 注意事項 開発環境による修正 サンプルプログラムでは、LED アレイを各色で固定位置に表示します。 左から順番に、黒、赤、青、紫、緑、黄、水、白、黒、赤の全十色を「見かけ上」同時に点灯します。 黒…。結果として消灯扱いになってます。 ダイナミック制御を行っていますが、メイン処理で待機を行う事で実現しています。 ダイナミック制御用の定数を用意しました。変更すると 100us 単位で調整する事ができます。 (厳密な時間あわせはしていません。雰囲気です。雰囲気。。) ちらつきが抑えられるのは 20 以下の値でしょうか。 |
(2)タイミングチャート 特にフローチャートを作るまでもく、シンプルなサンプルプログラムです。 今回のサンプルプログラムをタイミングチャートで表現すると以下の様になります。 |
10 個の LED を左から右に向かって順番に点灯しています。右端の次は左端に戻ります。 結局の所、一瞬、一瞬では 1 個の LED しか点灯していません。けど、これを高速で切り替えると人間の目には同時に点灯している様に見えてしまいます。 注意点は、カソードの扱いです。LED の位置であるアノードを切り替える前にカソード総てを一旦 High とし、LED を強制的に消灯しています。これは複数位置の LED を点灯(一瞬です)させないためです。 |
(3)動作結果 コンパクトデジカメで撮影しました。ISO設定を変える事でシャッター速度を変更しています。 ダイナミック制御用の定数は 20 を指定し、1個あたり2ms(20*100=2000us)になります。 LED は都合 10 個、全体の巡回周期は約 20ms になります。 |
ISO50, 1/14 = 71.43ms 71.43ms > 20ms 総ての表示が記録されました。 シャッターが開いている間に三巡しています。 |
||
ISO100, 1/26 = 38.46ms 38.46ms >20ms これも大丈夫。 |
||
ISO200, 1/39 = 25.64ms 25.64ms > 20ms これも大丈夫。 |
||
ISO400, 1/82 = 12.20ms 12.20ms < 20ms シャッター速度の方が早いケース。 1個のLEDあたり2ms相当なので、12.20msの間に6個相当のLEDを制御しているはず。 |
一番下の ISO400, 1/82 は時間から計算すると 6.1 個の表示が行われていると思われます。 緑色から始まり、右端の赤色までで 6 個。そして左端に戻って…。残念ながら「黒色」の表示なんです。 このあたりは評価しやすいデータに置き換えた方が無難です。 厳密には… 待機時間以外の処理時間があるので、1 個あたりの時間は 2.1ms 位になります。これはメイン処理で相対時間制御しているためです。制御タイミングを内蔵タイマに連動させればッタリになるはずです。 おまけで、ダイナミック制御用の定数を 10 にした場合を載せます。この場合は巡回に 10ms 相当。 |
ISO400, 1/112 = 8.93ms 8.93ms < 10ms これもシャッター速度が速いケース。 1個のLEDあたり1ms相当なので、8.93msの間に8個相当のLEDを制御しているはず。 |
証明するのが難しいパターンに再び遭遇(汗 やはり「黒色」は避けた方がいいですね orz 1/112 = 8.93ms であればぎりぎり9個は見えそうなはず。けど…「黒色」が…。 前述と制御手法と同様、1個あたりの時間が 1.1ms 位であれば、ほぼ 8 個なんですよね。 動作結果にシャッター速度を絡めてしまいましたが、結局の所は ・人の目をごまかせるか? ・ちらつきはないか? を最優先事項とします。 |
2011/08/17 |
▲ |
(1)ダウンロード サンプルプログラムを公開します → Sample2_0100.zip 2011/08/24 開発環境は MPLAB IDE V8.63 と HI-TECH C V9.82 を利用しています。 注意事項 開発環境による修正 今回、コンパイラに関してはバージョンアップを行いました。 別件で switch 文の不具合が見つかり、そのままの状態では利用に耐えないためです。 サンプルプログラム1に比べ、いくつかの制御内容が変更されています。 ・黒色を除外し、左から赤、青、紫、緑、黄、水、白、赤、青、紫の全十色を利用します。 ・スイッチを利用します。押下の度に1つのLEDあたりの点灯時間を変更します。 ・ソフトタイマからハードタイマ(タイマ 2)を利用し、500us 分解能で制御を行います。 ダイナミック制御をメイン処理で行う方法は変更ありませんが、制御方法を変更した事で時間待ちしている状態で他の処理を行える様な構造になりました(今回は特に利用していませんが…)。 スイッチ処理については「汎用スイッチライブラリ」を利用しています。 主な使い方についてはこちら → 1つのスイッチ (新しいウィンドウが開きます) |
(2)操作 スイッチを押下すると点灯時間は 500us 単位で変化します。 何が選択されているか判別する事が困難なので、スイッチ押下で選択値を切り替えると共に、押下している間は選択された値を赤色 LED の点灯位置で示す様にしています。 |
左からの位置 | 点灯時間 | 全体サイクル | 左からの位置 | 点灯時間 | 全体サイクル | |
0 | 500us | 5ms(200.0Hz) | 5 | 3000us | 30ms( 33.3Hz) | |
1 | 1000us | 10ms(100.0Hz) | 6 | 3500us | 35ms( 29.6Hz) | |
2 | 1500us | 15ms( 66.7Hz) | 7 | 4000us | 40ms( 25.0Hz) | |
3 | 2000us | 20ms( 50.0Hz) | 8 | 4500us | 45ms( 22.2Hz) | |
4 | 2500us | 25ms( 40.0Hz) | 9 | 5000us | 50ms( 20.0Hz) |
(3)動作結果 サンプルプログラム1ではプログラムを書き換えないと制御時間の実験ができませんでしたが、今回はスイッチを押下すれば色々な制御時間を簡単に試す事ができます。 前回と同様、記念撮影。シャッター速度を上げるためにISO感度を上げています(画質低下はご容赦)。 |
ISO1600, 1/145 = 6.9ms 設定場所: 0 = 500us… 全体 5ms 6.9ms > 5ms 総ての表示が記録されました。 |
||
ISO1600, 1/120 = 8.3ms 設定場所: 9 = 5000us … 全体 50ms 8.3ms < 50ms 根本的に全体を撮影する事はできません。 かろうじて、2個のLEDを撮影できました。 |
あくまでも写真撮影用なので、制御時間の設定は肉眼で見た「ちらつき」有無で判断して下さい。 結果としては、設定の 4(2500us, 25ms, 40Hz)でちらつきを確認できます。 設定の 9(5000us, 50ms, 20Hz)は動いているのが見えます(これはこれで面白い)。 制御周期を短くすると「ちらつき」は納まりますが、定期的に制御を行わなければならないため、単位時間あたりに要する制御時間の比率は上昇します。要は、他の作業ができなくなります。 余談ですが、設定 0、設定 1 を比較した場合、双方とも「ちらつき」ありません。そして輝度は変わりません(累積点灯時間が同じ)。ただし、制御に要する時間は設定 0 の方が確実に多いです。 もう1つ。スイッチを押下している間、選択された値に相当する位置の LED を点灯しますが、その点灯はスタティックな点灯です(ダイナミック制御無し、点灯維持)。輝度は全然違います。 |
(4)おまけ ここまでくると、振りたくなります。振る事で別の情報が見えてきます。 |
ISO100, 1/12 = 83.3ms 設定の 0(500us, 5ms, 200Hz) 数えると 170 個ほど光っています。 83.3 / 0.5 = 160.7 デジカメのシャッター速度の記録が何処まで正解かにもよりますが、いい感じです。 |
||
ISO100, 1/12 = 83.3ms 設定の 4(2500us, 25ms, 40Hz) 数えると 33 個ほど光ってます。 83.3 / 2.5 = 33.32 数が少ないので数えミスは少ない? |
||
ISO100, 1/10 = 100ms 設定の 9(5000us, 50ms, 20Hz) 数えると 22 個ほど光っています。 100 / 5 = 20 デジカメのメーカーさんへ。。 遅いシャッター速度の記録って少々甘いのかもしれません。 |
LED の制御時間はオシロスコープで確認しているので、デジカメの性能かな? そういえば、過去に似たような事をやりました → LED の PWM 制御 新しいウィンドウが開きます。 次回は…。割り込み処理で制御してみます。 タイマ割り込みでダイナミック制御すると、メイン処理は他の処理を同時進行する事が容易になります。 今回のサンプルプログラム2でも他の処理を同時実行できますが、他の処理で時間超過するとダイナミック制御のタイミングがずれてしまい、ちらつきや輝度の低下を招く恐れがあります。 |
2011/08/24 |
▲ |
■工程表?
マイコンと接続 割り込み |
▲ |