RGBフルカラーLEDの色を段々に変化点灯させますパート2

〔パート1〕   〔パート3〕 〔Arduinoの動かせ方入門に戻る〕



前のページでは、赤色→黄色→緑色→水色→青色→紫色の変化を自動的に一定間隔で繰り返した回路でした。
このページでは、可変抵抗のツマミを回すと変化する様にしてみましょう。
基本は前ページと同じなので回路とスケッチプログラムだけ記載します。

《回路図》

RGBLED1

《スケッチプログラム》

下記がスケッチプログラムです、コピーペーストして貼り付けて下さい。
スケッチをダウンロードしたい方はこちら
ダウンロードスケッチの保存先と開き方はこちらを参照下さい。
---------------------------------------------------------------------
void setup() {
}
void loop() {
     int H , val ;
     int R , G , B ;

     /* 半固定抵抗の値を読取りその値を0〜360に変換する処理  */
     val = analogRead(5) ;             // アナログ5番ピンから値を読み取る
     val = constrain(val, 80, 550) ;   // 80-550の範囲ないで値を切取る
     H   = map(val,80,550,0,360) ;     // HSVのH値(0-360)にスケール変換を行う
     /* HSVのH値を各LEDのアナログ出力値(0-255)に変換する処理 */
     if (H <= 120) {
          /* H値(0-120) 赤-黄-緑     */
          R = map(H,0,120,255,0) ;     // 赤LED R←→G
          G = map(H,0,120,0,255) ;     // 緑LED G←→R
          B = 0 ;
     } else if (H <= 240) {
          /* H値(120-240) 緑-水色-青 */
          G = map(H,120,240,255,0) ;   // 緑LED G←→B
          B = map(H,120,240,0,255) ;   // 青LED B←→G
          R = 0 ;
     } else {
          /* H値(240-360) 青-紫-赤   */
          B = map(H,240,360,255,0) ;   // 青LED B←→R
          R = map(H,240,360,0,255) ;   // 青LED R←→B
          G= 0 ;
     }
     /* RGBLEDに出力する処理   */
     analogWrite(9,R) ;                //  9番ピンから赤LEDの出力
     analogWrite(11,G) ;               // 11番ピンから緑LEDの出力
     analogWrite(10,B) ;               // 10番ピンから青LEDの出力
}
---------------------------------------------------------------------
半固定抵抗のツマミを回すとLED色が変化すると思います。

《やさしく解説》

半固定抵抗について

アナログ入力は電圧の0〜5Vを0〜1023の値に変換して読み込みます。
今回配線した半固定抵抗は10KΩで約75〜570の値で読み取るみたいです。

ツマミを右に回せばLEDは黄・赤方向、左に回せば青方向に向かい最後には赤です。
 左←(赤色←→紫色←→青色←→水色←→緑色←→黄色←→赤色)→右

ツマミの位置が左9時の方向位置で約570程の値です、右に回し12時の位置で約75程の値を読込みます。 また、配線を5V(赤線)とGND(黒線)で入れ替えると、右に回しで570程となり逆になります。

抵抗値の異なる半固定抵抗や他の可変抵抗を取り付けた場合は約75〜570と限りません。
今回プログラム(constrain関数)で、読取った数値を80−550の範囲で切り取っています、 80より小さいと80を返し、550以上は550を返し、それ以外はそのまま数値を返します。

《音の大きさでLEDを可変させる回路(中級編)》

音センサーを使用して、音の大きさに合わせ段々に赤色→黄色→緑色→水色→青色→紫色と変化 させる回路はこちらを参照して下さい。 *1)



追記(*1) 2012/06/18


【きむ茶工房ガレージハウス】
Copyright (C) 2006-2012 Shigehiro Kimura All Rights Reserved.