マイコン(PIC)を使って可変抵抗器でフルカラーLED(RGB)の色を自由に選べるように、もしくはスイッチ(モーメンタリ)を押すたびに色が赤→橙→黄のように変わっていくようにしたいのですがプログラムをどうすればいいかわかりません。
どうすればいいのでしょうか?
また、今までずっとアナログ回路をやっており初めてマイコンに手を出したばっかりなので色々とわからないことだらけです。
ライターはマイクロチップ社のPICkit3を使っていますがPICは何を使えばいいのでしょうか?(LEDの点灯程度の用途)
ちなみに今まではアナログ的にRGBそれぞれに可変抵抗器で明るさを調整できるようにし、3つの可変抵抗器で色を作っていました。一つの可変抵抗器で自由に色を作れたらと思い質問させていただきました。
よろしくお願いします。
No.4ベストアンサー
- 回答日時:
#1です。
> 数値を入れてプリセットできると思い込んでいました。
設定する数値がわかっていれば簡単です。その数値をプログラムの一部としてプログラムメモリーに書き込んでも良いし、EEPROMを使うならpickit3経由でいじることもできます。EEPROMはCPU自身で書きかえることもできます。
要は制御値をどうやって外部に出すかです。D/A変換してアナログ値として出すか、PWM信号として出すか。ここが出来ていればどうにでもなると思いますが・・・
> また、私の思い違いでPICでも0〜255までの値で設定できるのでしょうか?
PIC12FやPIC16Fなどは基本的に8ビットですから0〜255の数値を扱うのは問題ありません。メモリーを2バイト使えば言うまでもなく0~65535が扱えます。
PICは一般にA/D変換は10ビット、D/A変換は5ビットになっているものが多いです。PWMは出力周波数によりますが8~12ビット程度の分解能はあります。表示灯の色を変えるだけでしたら十分過ぎると思いますが、品番によって機能がなかったり回路数に違いがあるので注意してください。
> そうしたらマイコン入りのLEDを使う方が簡単なのでしょうか?
どんなLEDユニットを使うかによるでしょう。
まず明るさ制御がどうなっているか。光る・光らないだけの制御なら赤、青、緑の3色の点滅を組み合わせて8色しか表示できません。明、暗、OFFの3段階制御のユニットなら27色が、4段階制御なら64色が可能ですね。色数はこの程度でも十分かと。ならばD/Aは5ビットでも十分過ぎることになります。
そして親装置とのインターフェイスが容易であることが条件でしょう。
No.2
- 回答日時:
#1です。
> ボタンを押すごとにプリセットしておいた色にどんどん変化していくもの(赤→橙→黄色→黄緑→緑→水色→青→紫→ピンク→白のように)は可能ですかね?
可能です。
色が決まっているのでしたらプリセット値に応じたPWMパルス(またはアナログ電圧)を出せばよいでしょう。
しかしプリセットしておく値はどうやって決めますか? LEDは同じ電流を流しても色によって明るさが違うので実際に光り方を見ながら決めるしかないと思います。
例えばCPUにVRを3個設け、この値に応じて赤、青、緑のLEDの明るさが変わるようにします。実際に光らせてみて最適になった所でボタンを押して記憶させます。これをあなたが欲しいすべての色に対して行います。
PICはほぼすべての品種でEEPROM(不揮発性メモリー)を持っているのでこれを使うと良いでしょう。
プリセットが完了したら「使用モード」にし、色選択ボタンで色を切り替えて使います。
「色選択ボタン」は「使用モード」では1個のボタンで押すたびに順次変わる方式で良いでしょう。しかし「設定モード」では何番目の色を設定しているのかわからなくなるでしょうから3~4個用意してバイナリー的に指定した方が使いやすいと思います。
ご存知と思いますがLEDは電流と明るさが比例しないうえ色によってその変化のしかたが違います。3色のLEDの電流を同じ割合で変えた場合、合成した色が変わるので注意してください。いわゆるガンマ補正といわれるものです。
回答ありがとうございます。m(_ _)m
なるほど!そうですよね。
今までマイコン入りのLEDとArduinoを使い0〜255までの値で明るさを制御し色をいじっていたため数値を入れてプリセットできると思い込んでいました。
また、プリセット自体は決めた色を何色か固定でいいので最終的には電源入力にボタン、フルカラーLEDという感じにしたいです。
具体的には、とある機械の電源インジケータが単色ではつまらないので好きな色に後から変えられるようにしようと思って今回PICでいろいろ考えています。
そうしたらマイコン入りのLEDを使う方が簡単なのでしょうか?
また、私の思い違いでPICでも0〜255までの値で設定できるのでしょうか?
おそらく決められた周波数のパルスでいじってるはずなので受け側(LED)にマイコンが入っている前提で255までの値を使ったプログラムで制御していると思いますので単に受け側がLEDの場合は難しいですよね。
すいません。いろんな色を扱うようなことは今までAruduinoとマイコン入りLEDでしかやったことがないもので...
ちなみに各色のRGBの値(0〜255)は前に計測してあります。
よろしくお願いします。m(_ _)m
No.1
- 回答日時:
ひとつの可変抵抗器(VR)では無理でしょう。
色は赤、青、緑の3つの要素の組み合わせです。それぞれ独立して 0~100% の調整できないと任意の色は作れないです。
もし1つのVRでするならば制限が生じます。例えば、VRを左一杯にすると赤0%、緑100%、右一杯にして赤100%、緑0%、これはできます。しかし赤と緑を同時に100%とか0%にはできません。さらに青はどうしましょう? 常に50%では目的を達せないですね。
やはり3個のVRを使って赤、青、緑を個別に0~100%調整できるようにすべきと思いますが・・・
1個のVRで3色の量を調整する上手い方法があれば話は別ですがたぶん無理でしょう。小生には思いつきません。
PICを使うのであればまずアナログ入力が3つ必要です。PIC16Fクラスのものは一般に5~10個持っているのでまず心配いりません。ADコンバーターの基準電源は内蔵していますし、電源電圧を基準電源にできるものもあります。
出力も3つ必要ですね。赤、青、緑のレベルをアナログ値で出すならDA変換器が3つ必要です。しかしPICのDAは貧弱で一般的には5ビットの変換器を1回路しか持っていません。この点チップの選択には注意してください。
小生が作るならPWMを使います。パルス幅を変えてアナログっぽい信号を作るものです。とは言ってもPWMを3回路以上持っているチップは多くはありません。マイクロチップ社の製品情報を探したところPIC16F1574は4回路持っているようです。これなら使えるでしょう。外形は14ピンの古典的な(?)DIP型があるので工作はしやすいでしょう。ポートを増やした20ピン型もあります。
<注意>チップは機能や端子を共用している部分があり実際に使おうとすると他の機能と重複して使えないことがあります。そのためマニュアルを熟読して実際に使えるかどうは十分検討してください。
VRからアナログ入力したものをPWMにして出力する、という仕掛けですが、その間に押しボタン操作をうまく入れれば使い易いものができるでしょう。
ありがとうございます。
自分も希望通りの色の変化にすると滑らかなRGBのそれぞれの明るさ変動ができないのではないかと思っていたのですがやはりそうですよねイーケイキットから可変抵抗器で色を選べるものがあったので買ってみたのですが抵抗値に合わせて15色プリセットされた色が点々と変わっていくような仕様でした。
やはりボタンで色を変える方式にしようと思います。
ボタンを押すごとにプリセットしておいた色にどんどん変化していくもの(赤→橙→黄色→黄緑→緑→水色→青→紫→ピンク→白のように)は可能ですかね?
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 工学 UCHIDA製、小型電動ロクロに使われているモータは? 3 2023/07/01 18:40
- プラモデル・鉄道模型・模型製作 ジオラマで使いたく電気部品のど素人なのですが 発光ダイオードで300個ほど付けたくて同じような物を使 2 2022/10/03 19:45
- その他(自然科学) LEDの接続について 2 2022/09/16 22:18
- その他(AV機器・カメラ) ★バッテリーの内部抵抗についてお尋ねします 7 2023/02/16 15:39
- その他(クラウドサービス・オンラインストレージ) Googleカレンダーの予定の色を変えたい、文字色を変えたい。 1 2022/10/18 21:43
- 物理学 ブリッジ回路回路について質問です。 ブリッジ回路が不平衡な場合は真ん中に電気が入り、平衡な場合は回路 2 2023/07/07 16:21
- 工学 測温抵抗体 2つの温調で利用できますか? 1 2022/11/22 21:18
- その他(趣味・アウトドア・車) FT-747GXの出力調整で、基板上で調整する可変抵抗はどこにあるか教えてください。終段に2SC32 1 2022/11/24 22:25
- 携帯型ゲーム機 Nintendo Switchの充電器について。 純正品の充電器が接触不良か断線で 充電しにくい状態 3 2022/11/13 12:11
- 工学 エミッタ設置増幅回路で下記の要件を満たす増幅器を設計せよ。 要件は必要要件であり、例えば、少なくとも 1 2022/12/16 10:15
このQ&Aを見た人はこんなQ&Aも見ています
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
色の読み方。
-
マルとバツの色は赤と青どっち?
-
パソコンを使い、講義のまとめ...
-
吸収極大波長が2つ出てくる理由
-
奇数と偶数が覚えられません。...
-
「 沙羅双樹の花の色 」は何故...
-
燈色(ひいろ)とはどんな色で...
-
暗記用チェックペン&シート、...
-
黄色はどうして目立つのか
-
セロハンの色と透過した光について
-
虫の名前、教えてください
-
エスキモーやイヌイットの色彩...
-
黒色は熱(赤外線)を放射する...
-
白以外の絵の具で白を作れるのか?
-
川の水についての質問です
-
袋Aに赤球5個と白球3個、袋Bに...
-
NaClのX線回折の色
-
色の性質に詳しい方お願いしま...
-
光のスペクトルに金色と銀色が...
-
赤色素 読み
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マルとバツの色は赤と青どっち?
-
色の読み方。
-
パソコンを使い、講義のまとめ...
-
数学A 組合せ 赤玉、青玉、白...
-
透明という言葉から連想されるもの
-
ガンメタとはどういう色?
-
日本語における色の表現方法に...
-
「青」・「赤」から連想する動...
-
奇数と偶数が覚えられません。...
-
“白人”“黒人”“黄色人種”
-
暗記用チェックペン&シート、...
-
吸収極大波長が2つ出てくる理由
-
黄色い鳥居のわけは?
-
配線の色の意味
-
煙に色を付けるにはどうすれば...
-
「 沙羅双樹の花の色 」は何故...
-
「色」と「色味」の使い分け
-
I/Oの意味
-
この数学の問題が難しいです
-
燈色(ひいろ)とはどんな色で...
おすすめ情報