マイコン(PIC)を使って可変抵抗器でフルカラーLED(RGB)の色を自由に選べるように、もしくはスイッチ(モーメンタリ)を押すたびに色が赤→橙→黄のように変わっていくようにしたいのですがプログラムをどうすればいいかわかりません。
どうすればいいのでしょうか?
また、今までずっとアナログ回路をやっており初めてマイコンに手を出したばっかりなので色々とわからないことだらけです。
ライターはマイクロチップ社のPICkit3を使っていますがPICは何を使えばいいのでしょうか?(LEDの点灯程度の用途)
ちなみに今まではアナログ的にRGBそれぞれに可変抵抗器で明るさを調整できるようにし、3つの可変抵抗器で色を作っていました。一つの可変抵抗器で自由に色を作れたらと思い質問させていただきました。
よろしくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
まず、同じ内容を複数投稿しないでください(規約違反です)。
回答が分散して回答者が二度手間になります。https://oshiete.goo.ne.jp/qa/9912860.html
LEDの明るさを調整する方法は、流す電流を変える方法とPWMを使う方法がありますが、電流を変えるのは困難ですので普通はPWMを使います。
PWMは専用のモジュールを積んだPICもありますが、3つのPWMを出力できるものは少ないので、自力でプログラムした方がいいでしょう。
LED調光程度であればPWM周波数1kHzもあれば人間の目に点滅が見えないくらいのものができます。まあ最初は分からないと思いますので適当に作って点滅が見えるようなら階調を減らして周波数を上げるのがよいでしょう。
簡単なPWMの作り方は、まず全部点灯し、時間待ちループを回すかタイマーを見て、適切な時間経ったところで目的のLEDを消すという流れになります。
なおLEDを発光させる時間と人間の目に映る明るさは比例しませんので、目的の色を出すのはわりと大変です。試行錯誤してください。
No.3
- 回答日時:
3色LED単体で行うには抵抗値を変化させての色変化で無くPWMなどの点滅(残像)でやったほうが分かりやすい。
抵抗値は3色のLED出力が最大になるような抵抗値にしておく。PWMは2個ぐらいしか実装されていないから足りない出力は擬似的にPWMを作り出すか通信使って2個で連動させるか。
ピン数にこだわりが無いならPIC16F1827など18ピン以上を勧める。どうしても8ピンなら12F1822か683。12F675でも出来無くないがPWMや通信機能が無いからそれを自力でプログラミングするのは大変。
それ以外ではコレ
http://akizukidenshi.com/catalog/g/gM-08414/
このタイミング見れば分かるけどRGB8ビットで転送すればその色になる仕掛け。
回答ありがとうございます。m(_ _)m
そのLED連結してはAruduinoで制御したことでしたらあります!
また、みなさんにいろいろ教えていただいた結果補足のようにスイッチで色を変える形にしようと思ったのですが可能でしょうか?
No.2
- 回答日時:
>可変抵抗器を0から最大(0〜5Vで合ってますか?)まで動かす間に赤〜橙〜黄〜黄緑〜緑〜水色〜青〜紫〜ピンク〜白みたいな感じで自由に色を作れたらと思います。
可変抵抗器は連続量を入力する装置ではなく、
0-255の値を入力する入力装置
と理解することです。
>一つの可変抵抗器で自由に色を作れたらと思い質問させていただきました。
デジタルの値とその時の色の関係の表の作り方次第で、使いやすいかどうかが決まりますので、自分の気に入った色が出せる関係を見出してください。
PICのプログラムとしては、
可変抵抗器の状態(電圧値?)をAD変換でデジタル化してPICに取り込み、
デジタルの値とその時の色の関係の表を作っておいて、
その表に従ってフルカラーLED(RGB)への制御信号をPICから出す
時間待ちして初めに戻る
ではいかがですか?
main()
{
int i;
while(1) {
i = getADdata(portI);
r=tableR(i);
g=tableG(i);
b=tableB(i);
putDAdata(portR,r);
putDAdata(portG,g);
putDAdata(portB,b);
wait();
}
}
といった感じでしょうか。
プログラムまでありがとうございます。m(_ _)m
参考にさせていただきます。
みなさんにいろいろ教えてもらい考えた結果やはりスイッチで色を変えるようにしたいのですがこれは可能でしょうか?
No.1
- 回答日時:
(´・ω・`)・・・
赤、緑、青、どのパラメータを変えるのかをマイコン側で指定して可変抵抗器の値を読み取るような使い方にするのでしょうか。
それとも全部を一度に変えたいという事でしょうか。
この手の物の正解は一つではありませんので、自身が行いたいことをどのようにして実現するかをまずは考えてみましょう。
その手段によって選択するパーツを選定するのです。
初めて使うのでわからないのですが返信はこのお礼というやつでいいのでしょうか?
________________________________
回答ありがとうございます。
やりたいこととしましては、可変抵抗器を0から最大(0〜5Vで合ってますか?)まで動かす間に赤〜橙〜黄〜黄緑〜緑〜水色〜青〜紫〜ピンク〜白みたいな感じで自由に色を作れたらと思います。とにかくこう行かなくても自由にいろいろな色を作れるようにしたいです。
もしくはボタンの場合ですが、押すたびにさっきのようにあらかじめプリセットした色を切り替えたいです。
12F675というPICを買ってきたのですがこれでできるのでしょうか?
よろしくお願いします。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
CDの保有枚数を教えてください
ひとむかし前はCDを買ったり借りたりが主流でしたが、サブスクで簡単に音楽が聴ける今、CDを手に取ることも減ってきたかと思います。皆さんは2024年現在、何枚くらいCDをお持ちですか?
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
「お昼の放送」の思い出
小学校から中学校、ところによっては高校まで お昼休みに校内放送で、放送委員が音楽とかおしゃべりとか流してましたよね。 最近は自分でもラジオができるようになって、そのクオリティもすごいことになっていると聞きます。
-
マイコン(PIC)を使って可変抵抗器でフルカラーLED(RGB)の色を自由に選べるように、もしくはス
その他(教育・科学・学問)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PLC間の信号のやりとりについて...
-
arduinoで複数のサーボを動かし...
-
EnumとType
-
USBからの電源供給をコントロー...
-
コンピューターでラジコン操作?
-
Picマイコンについて質問します...
-
ディスプレイ上で起こる2重表...
-
HDMIとHDの違いはなんですか? ...
-
ゲーミングPCでの質問です ゲー...
-
ZCTの比率について
-
【EX2510S】HDMIとDisplayPort...
-
テレビから”キーン”と耳鳴りの...
-
DVIが映らない
-
6dB/octと20dB/decが同じ理由
-
目を左右別々に動かす
-
「かりん」を数字で表すとした...
-
Cpkのk(偏り)値をExcelで出す...
-
VPN環境でのARPテーブルの情報...
-
心電計に時定数を3秒とした。
-
DELLのディスプレイが、急...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PLC間の信号のやりとりについて...
-
USBからの電源供給をコントロー...
-
マイコンボード上のポートと端...
-
Picマイコンについて質問します...
-
シーケンスのプログラムについ...
-
EnumとType
-
H8マイコンの端子の数字の端子...
-
マイコン(PIC)を使って可変抵抗...
-
コンピューターでラジコン操作?
-
VBでUSBポートからの入力を制御...
-
AVRマイコンの未使用ピンの処理...
-
Visual Basic 6.0のShell関数
-
MS-DOS のソフトをWindows XPで...
-
家電のcpu
-
C++でLEDを点灯させるプログラム
-
VC++で位相進み補償を行うには?
-
秋月電子LED電光掲示板で「あと...
-
VBA IE制御でのBISIC認証画面の...
-
picマイコンより簡単に扱えるマ...
-
振幅スペクトル、位相スペクト...
おすすめ情報
みなさん本当に回答ありがとうございます。m(_ _)m
いろいろ教えてもらった結果やはり、スイッチで操作しようということになりまして、スイッチを押すたびにもともとプログラムでプリセットしておいた(固定)色に変わっていくもの(押すたびに赤→橙→黄色→黄緑→緑→水色→青→紫→ピンク→白のように)にしたいと思いました。
これは可能でしょうか?