前回、Arduino UNOを使いアナログ出力(PWM)によりLEDをゆっくり点灯させたり(消灯させたり)、任意の明るさに点灯させたりをやってみました。, analogWrite関数を使いPWM(Pulse Width Modulation)制御を使いデューティー比を指定する事によりデジタル出力のHIGH(5V)やLOW(0V)だけでは出来ない点灯をやってみました。, 今回はその復讐も兼ねアナログ出力(PWM)を使いRGB LEDを制御してフルカラーで点灯させてみたいと思います。, 前回、アナログ出力(PWM)についてご紹介しました。 PWM制御によりLEDをゆっくり点灯させたり任意の明るさに固定したりと、LEDをアナログ的に点灯させる事が出来ました。 今回はそのPWM制御を使いRGB LED(3色のLEDが1つにパッケージされたもの)を制御してLEDをイルミネーションのように光らせてみたいと思います。, 今回使うRGB LEDですが、これまで使ってきた単色(赤や青など)のLEDと使い方は基本的に同じです。 ただ、光の三原色である赤(RED)・緑(GREEN)・青(BLUE)の3つのLEDが1つにパッケージングされているのでピン(足)の数は4本となっています。(画像引用:秋月電子通商), 回路は下図のようになり各色LEDにつながったピンとGND(またはVcc)が共通となっているので4本足になっています。 LEDのカソード側(マイナス側)が共通となったものをカソードコモンタイプ、またアノード側(プラス側)が共通となったものをアノードコモンタイプと呼びます。 回路図を見ると分かりますが、単純に3色のLEDが1つになった製品です。, という事は前回やったアナログ出力(PWM)で各LEDをそれぞれ制御して点灯させればどうなるか? アナログ出力(PWM)で使うanalogWrite関数を使えばデューティー比を0〜255の256段階変え明るさを制御できるので、それが3色あるわけですから256の3乗、つまり約1670万色(フルカラー)の色を表現する事ができるということになります。, まずは復習としてデジタル出力でRGB LEDを点灯させてみましょう。 デジタル出力に関してはこちらも参考にして下さい。, 回路はこんな感じで組んでみました。 デジタルピン9・10・11にそれぞれ赤色・緑色・青色LEDの順に繋いでいます。(今回カソードコモンタイプのLEDを使っています) 電流制限抵抗は全て220Ω位のもので大丈夫だと思います。 抵抗値の計算方法は後述します。, そして今回は手元に制限抵抗付きのものがあったのでこちらを使ってみました。(回路は全く同じです), これは単体のRGB LEDに制限抵抗(150Ω)が内蔵され端子付きなのでブレッドボーに取り付けやすくテスト用としては最適です。(後述するセンサーセットに入っています), 簡単なスケッチとなりますがこちらを用意しました。 デジタル出力で使うdigitalWrite関数はHIGH(5V)かLOW(0V)の出力となるので単純に赤色⇒緑色⇒青色を順に点灯させるだけのスケッチとなります。(これまでやってきたデジタル出力の復習です), フルカラーRGB LEDの点灯テスト✴️ . この計算式はグラデーションの中間色を求める一般的な方法で、R・G・Bの比較比率が同じことから「等比(計算)グラデーション」と呼ばれます。色のバランスを保持できる特徴があり、簡単な計算式で算出できるため、単に「グラデーションの計算方法」と言えば「等比計算」の事を指します。 60 @krsak. #arduino #esp32 #arduinofun #arduinoide #arduinolove #arduinoprojects #electronics #iot #電子工作, 東京バード(@bird_tokyo)がシェアした投稿 – 2020年10月月6日午前6時25分PDT, それではここからが本題、PWMでRGB LEDを点灯させてみましょう。 とは言っても前回の内容が理解できていれば非常に簡単です。 LEDの数が単に3つに増えただけです。, まずはこちらのスケッチを動かしてみましょう。 配線は先程使った回路でPWM制御に使える9・10・11番ピンに繋いでいるのでそのまま使いまわします。, それでは最後にグラデーションで点灯させてみましょう。 グラデーション方法はスケッチによりいろんな点灯パターンが作れそうですが、簡単にこんなスケッチを作ってみました。, 今回はこれまでやってきたデジタル出力とアナログ出力(PWM)の復習としてRGB LEDを使ってそれぞれ点灯させてみました。 digitalWriteおよびanalogWrite関数が難なく使えるようになっていれば今回の目標は達成です。, ArduinoでPWMテスト! RGB LEDでフルカラーイルミネーション点灯✴️ . (adsbygoogle = window.adsbygoogle || []).push({}); 追記:カラーコードをRGB値に変換するツール作りました→「Quick HEX to RGB」, Webサイトの制作途中やテスト段階では、手軽に「とりあえず」色をつける…ということもあります。そんな時は短くてスペルの簡単な色名称を覚えておくと便利です。よくある「red」や「blue」だと彩度が高すぎて使いにくい、ということも。まずは私がよく使う、覚えやすくて使いやすい色を並べておきます!, カラーネームはカラーコードやRGB値と同様、そのまま記述すれば色の指定ができます。, 色や、その色名って見ているだけでわくわくしちゃいます。Web以外の色も見てみると、新たなひらめきにつながるかも?『色の名前事典507』ではいろんな色の成り立ちや名前の由来も知れて楽しめますよ!, Web制作の最新情報やWebクリエイターボックスからのお知らせ、中の人の近況等を定期的にお送りいたします。 Wordでグラデーションの使い方をマスターしてゴールド(金色)を作ろう。塗りつぶしのRGBカラーを指定すれば、好みのゴールドを作ることができるよ。ExcelやPowerPointでもやり方は同 … Stock. Copyright(C)2020 SwitchBox All Rights Reserved. . Webサイトを作るとき、通常色の指定にはカラーコードを記述しますが、決められた色名称を使うこともできます。色を自分で一から探すより、リストの中から選ぶ方がイメージにあう色が探しやすいよなぁ…という場面があったり、単純に色 […] ガジェット大好き! webブラウザ上で動作する、色の表現法であるrgbとhsv(hsbとも呼ばれる)を相互変換するツールです。またrgbとhsv(hsb)を相互変換するための計算式の解説もあります。 We will deliver articles that match you. 各RGB値の変化を線形にした場合、次のように水色と黄色の領域が狭くなり、またグラデーションもあまり綺麗に見えません。 Edit request.

© Indoor Corgi Elec.

旅行大好き! Webサイトを作るとき、通常色の指定にはカラーコードを記述しますが、決められた色名称を使うこともできます。色を自分で一から探すより、リストの中から選ぶ方がイメージにあう色が探しやすいよなぁ…という場面があったり、単純に色の名前からカラーコードやRGB値を知りたいということが時々あったので、一覧にまとめました。新たに加わった「rebeccapurple」も一覧に入れていますよ。 #arduino #esp32 #arduinofun #arduinoide #arduinolove #arduinoprojects #electronics #iot #電子工作, 東京バード(@bird_tokyo)がシェアした投稿 – 2020年10月月4日午前8時24分PDT, 今回はじめてRGBタイプのLEDを使ったのですが制限抵抗の値をどれくらいにするのか少し迷いました。 折角なので少しその話もしておきます。, Arduinoの出力電圧はHIGHの状態で約5Vとなっています。 そしてLEDには定格値がありArduinoに直接繋げるとそれを越してしまい破損に繋がります。 それを防ぐために1本抵抗を入れるわけですが、その抵抗値ってどうやって求めたらいいのか?, 以前こちらの記事でも少しご紹介しました。 赤色LEDの場合、一般的に順方向電圧(VF)は約2.0V・順方向電流(IF)は約20mAくらいの製品が多いようです。 ここからオームの法則を使い大体150Ω 以上の抵抗を繋げれば大丈夫という話をしました。 LEDに接続する抵抗はそんなに厳密に値を出さなくても実際のところは300〜1kΩくらいのものを使えば問題ないと思います。, 今回220Ωの抵抗を接続して説明しましたが、厳密にいうとLEDの定格は色により大きく変わってきます。 詳しくは各パーツのデータシートを確認するのが1番です。 この項目は少し余談という事で、興味があれば読んで下さい。, 例として秋月電子通商さんで販売されている5mm赤色LED(OSDR5113A)というLEDをみてみましょう。データシートも見れるので一緒に確認して下さい。, データシートを見てみましょう。 Absolute Maximum Ratingという表があります 最大絶対定格という意味になり部品の限界値を意味します。, 次にElectrical Optical Characteristicsという表にDC Foward Voltageが順方向電圧VFにあたりMin(最低値)1.8V・Typ(一般値)2.0V・Max(最大)2.5Vで書かれています。, この部分の一般値を読むので順方向電圧VFは2.0Vとなります。 またIF=20mAとあるので順方向電流は20mAとなります。 一般的によく使われている赤色LEDに関しては大体この値に近いものとなっています。, これが分かればあとはオームの法則を使い抵抗値を計算するだけなので簡単です。 計算方法も秋月さんのサイトに書かれているので参考にしてみて下さい。, 同様に例として秋月さんで販売されているRGBフルカラーLED(OSTA5131A)を見てみましょう。 順方向電流IF=20mAに対し、順方向電圧VFの値は赤色が2.0V、緑色が3.6V、青色が3.6Vとなっています。, 色によりLEDの定格は結構変わるようですね。 これで計算すると赤色150Ω、緑色青色が70Ωという計算になりますが、最近のLEDはかなり低い電流でも明るく光ってくれるので実際にはこれより大きな抵抗を繋げても問題ないかと思います。, そしてRGB LEDの場合、色により抵抗値を変えて接続してもいいのですが・・・。 さらに見てみると、データシートには同じ電流IF20mAを流した場合でも光る強さ(カンデラ:mcd)が変わってきます。 RGBの3色を合わせて点灯させるわけですからその辺りも本当は考えた方が(揃える?)いいのか?という話になりますが・・・, テストレベルではそこまで意識する必要はなく、そして今回は上記により暗い赤を基準に抵抗値を補正して全て220Ωとしました。もちろんこんな厳密にする必要はあまりなく、一番大きな抵抗値に揃えて繋いでやれば問題ないと思います。 この項目ではデータシートの見方や計算の概要が分かればいいと思います。, また今回実際に使った制限抵抗付きのRGB LEDには全て150Ωの制限抵抗が取り付けられていました。, Arduinoが持っているデジタル入出力ピン(D0~D13)の設定(入力 or 出力)をする。, pin:設定したいピンの番号 mode:入力として使いたい場合「INPUT」、出力として使いたい場合は「OUTPUT」と記載。, Arduinoはオープンソースのハードウェアなので正規品以外にも互換品が多数メーカーから販売されています。 互換品でも正規品と比べて特に問題なく使用でき数百円程度で購入が可能なのでArduino学習用としていいですね!, また、これからArduino学習を進めていくにあたりArduino UNO(互換品)やブレッドボード、ジャンパーピンなどがセットになったスターターキットが販売されています。 私はGeekcreit製のスターターキットを使っていますが、ELEGOO製のものは国内Amazonなどでも購入可能で人気があるようです。(セット内容はほぼ同じです!), そしてELEGOOのサイトからスターターキット用サンプルスケッチのダウンロードも可能です。(Geekcreitのキットでも使えます), 基本的にこれからこのセットで出来るものから紹介していこうと考えていますが、かなり多くのことが出来ます。 電子工作を始めるにはまずブレッドボードやジャンパーピン、メインとなるArduino UNOやサーボ、LEDなどの基本的なパーツがないと実際に動かすことが出来ませんが、個々にパーツを購入して回路を組んでとなるとかなりの手間がかかります。, スターターキットがあればArduinoの初歩的なことはかなりの数こなすことが出来るのでオススメです! そこからスキルアップに伴い個別でセンサーなど必要なものを増やしていき・・・。, 上記ELEGOOのArduinoスターターキットにはRGB LEDが1つ付属しているようです。 手持ちになければ国内Amazonなどでも簡単に入手が出来るので実際に点灯させていろいろ試して下さい。, また今回私は制限抵抗付きのものを使用しました。 端子も付いているのでブレッドボードでのテストに最適です。 単品での販売が見つかりませんでしたが、こちらの37センサーモジュールスターターキットに付属しているものです。 こちらも今後いろいろと使ってご紹介していこうかと考えています。, 前回のアナログ出力(PWM)について理解出来ていればデューティー比を指定してそれぞれの色で256段階の明るさを指定し3色合わせてフルカラーを表現できるという事です。 単にLEDの数が増えただけなので簡単でしたね!, これまでデジタル出力とアナログ出力(PWM)についてやってきました。 次回は入力としてデジタル入力についてやってみたいと思います。, 【Arduino入門編⑥】可変抵抗を使いアナログ値を読み取る。アナログ値から実際に入力されている電圧を計算。アナログ入力端子の解説です!, 【M5StickC】ブロックプログラミング(UIFlow)で動作させるための環境づくり&セットアップ手順!, 【M5StickC Plus】ブザー機能が追加されディスプレイサイズが大型化したM5StickC Plusがやって来た!, 【Plotclock製作 その②】ようやく時刻を描いてくれるようになったPlotclockくん完成!サーボの調整からRTCモジュール導入までの話。, 【Arduino入門編②】複数のLEDを点滅(Lチカ)させてみる!デジタル出力の解説その②, 【Arduino入門編③】PWM制御でLEDをゆっくり点灯&消灯させてみる!アナログ出力(PWM)の解説その①, 【Arduino入門編⑧】サーボモーターを動かしてみる。PWM制御についていの解説です!, Arduinoとサーボで動かす時間を書いて消す時計Plotclockを作る![その① パーツ紹介], 【Arduion入門編⑨】シリアルモニタの基本的な使い方!シリアルモニタからArduinoに繋げたサーボモーターやLEDを制御してみる!, ドローン大好き!カメラ大好き! Node-REDをRaspberry PにインストールしてLEDとセンサーを動かす, 通常のグラデーションはALED::patGrad、対称なグラデーションはALED::patSymを指定。, 基準になる色を指定。HSVなので、hue, sat, valメンバ変数を指定する。, アドレサブルRGB LEDにデータを送信するsendLedData関数とバッファーのsendBuf変数.

webブラウザ上で動作する、rgb値とhtml・cssなどの色指定で使用するカラーコードを相互変換するシンプルなツール。16進数カラーコードとrgbを変換する計算式の解説も。 . ¨é›†ã™ã‚‹[iResEditor.js], 画像の指定位置の色(RGBA)を取得する, 波形データと周波数スペクトル, このブログのマスターが作成した無料ゲームです。, このブログのマスターが作成したアプリです。, このブログのマスターが作成したロボットです。(試作機). RGBは、RED(赤)・GREEN(緑)・BLUE(青)の頭文字で、「RGB(255,0,0)」というふうに表記したりします。モニターは、3色のライトを組み合わせて色を出しているので、どの色をどのくらい光らせるかをそのまま数字で表しているんですね。, 数字は0~255までを使います。例えば「RGB(255,0,0)」なら「赤は最大の255まで明るく、緑と青は一番暗い0にする」という意味になります。つまり、光ってるのは赤だけなので、モニターには赤色が映ります。, また、光は足せばたすほど明るくなる性質があって、赤と緑を足すと黄色になります。RGB表記では「RGB(255,255,0)」で黄色ということですね。, 主な色を一覧表にしてみました。実際にアプリなんかで使うときは、この表をみてコピペすればOKです。, …というわけで今回は、RGBカラーの仕組みと一覧表をまとめてみました。デスクトップカスタマイズやペイントソフトなど、色をRGBコードで書く必要があるときは使ってみてください。. RGBとは、PCやテレビで色を出す仕組みのことです。このブログで扱っているデスクトップカスタマイズやお絵描き系のフリーソフトなんかで必要になることがあるので、簡単にまとめてみました。. . pinMode()関数とペアで使い、指定したピンがpinMode()関数でOUTPUTに設定されている場合、次の電圧にセットされます。, 【Arduino入門編①】ArduinoでLEDを点滅(Lチカ)させてみる!Arduinoの基本となるデジタル出力の解説その①, 【Arduino入門編④】RGB(フルカラー)LEDを制御してみる!アナログ出力(PWM)の解説その②, 【Arduino入門編⑦】ジョイスティックの制御方法!デジタル・アナログ入力の解説です!, 【Banggoodクーポン情報】Skyzone SKY04X / Insta360 GO / Fatshark HDO2 / UZ65 / US65 PRO / Mobula6 HD クーポン追加!, RGB LEDは3色のLEDが1つにパッケージングされ、フルカラー表示が可能!(256×256×256=約1670万色), analogWrite関数によるPWM出力は0〜255のデューティー比で指定する!.

仕事でC++(Qt)、趣味でC#. Copyright (C) 2000-2019 PEKO-STEP. Why not register and get more from Qiita? ぜひご登録ください!もちろん無料です! :), 世界中で使われている色を集めた本。見やすくて美しい色見本に加え、歴史、雑学も紹介しているので、見て楽しく、読んでためになる1冊です。.

.

写真大好き! 色をクリックすると16進表記のカラーコード、rgb()、hsl()の値が表示されます。 RGBとHSV・HSBの相互変換ツールと変換計算式, RGBとHSLの相互変換ツールと変換計算式, HTML・CSSで使用するカラーネーム・カラーコード一覧, amastep - Amazonのアフィリエイト用画像リンク作成補助ツール, 画像から色のRBGを取得するスポイトツール, HTML特殊文字のエスケープ変換ツール, 生年月日から小中学校の入学・卒業年を調べる. rgb表記では「rgb(255,255,0)」で黄色ということですね。 rgbカラーコード一覧表 主な色を一覧表にしてみました。実際にアプリなんかで使うときは、この表をみてコピペすればokです。 8色のグラデーション 12色相環グラデーションの230色とカラーネーム140色、基本16色の一覧です。 12色相環のグラデーション. 簡単にアドレサブルRGBデバイスのイルミネーションを自作できるように、代表的な模様(単色、グラデーション、1点発光)や、アニメーション(移動、回転、色変化、点滅)を作成できるALEDクラスを提供しています。本記事ではALEDクラスの基本的な使い方をまず説明します。そして、実際にスケッチを動かしながら、単色とグラデーション模様を描写する方法を解説しています。, 本記事はArduino互換機「CG-CustomARGB」を使ったアドレサブルRGBプログラミングチュートリアルの一部です。, これまでのアドレサブルRGBチュートリアルで使っていたスケッチは、inoファイル1つのみの構成でした。今回は、以下のようにinoファイル + aled.hファイルの2つになっています。, 全ての処理をinoファイルに記述しても良いのですが、コードが長くなってくると見通しが悪くなってきます。そこで、inoファイルはsetup、loop関数などのメインの処理を記述しておき、色を管理するクラスや、模様、アニメーション、LEDにデータ送信などをするALEDクラスはaled.hファイルに記述するようにします。inoファイルからaled.hファイルをinclude (参照)することで、aled.hファイルの機能を使うことが可能になる、という仕組みです。, なお、前項までのチュートリアルではinoファイルに以下の機能を記述していましたが、これらの機能もaled.hに移動されています。, 前準備として、お使いのアドレサブルRGBデバイスの「個別制御可能なLED数」を把握しておく必要があります。まだの方は製品ページの「動作確認」を参考に数を確認して下さい。, なぜLED数の確認が必要なのでしょうか?理由は、LEDの数がデバイスによって異なるからです。ファンを例にとっても、中央部が発光するもの、外周部が発光するもの、片面か両面かなど、様々です。発光部に何個のLEDを搭載するかもメーカーによって異なります。デバイスのLED数より少ないデータを送信してしまうと、足りない分のLEDは発光しませんし、多く送信してしまうと余ったデータは反映されなくなってしまい、意図した模様にならない可能性が出てきます。, 1つ注意しておかなければいけないのが、物理的なLED数と制御可能なLED数は異なる場合があるということです。Antec製 Prizm 140 ARGBを例に説明します。このファンは物理的には表面18個と裏面18個の合計36個のLEDを搭載しています。しかし、接続は以下のように表と裏のLEDが並列に繋がっているため、個別に制御できるのは18組となります。表と裏は必ず同じ色になるということです。, 一方CORSAIR製QL140 RGBのように、表と裏別々に制御できるような接続になっているものもあります。どのような接続だったとしても、製品ページの「動作確認」にある手順で個別制御可能な数は分かりますので、安心して下さい。, では実際にスケッチを動かしてALEDクラスの使い方を説明していきます。シンプルな単色模様を描写するスケッチを用意しましたのでダウンロードして下さい。, 書き込む前に、SinglePattern.inoの7行目の最後の引数「34」をお使いのデバイスの制御可能LED数に変更します。, 変更できたらスケッチを書き込んで動作させてみましょう。以下のように動けば成功です。, 同じディレクトリ内の「aled.h」ファイルの中身を参照しています。これにより、aled.h内に記述している機能をinoファイル内で使用できるようになります。, ALEDクラスのインスタンスを作成しています。ALEDクラスの機能を利用するための下準備と考えて下さい。, 1つめの引数である出力チャネルは、CH1からCH5のどこに接続されているデバイスにデータを送信するか決めます。複数選択する場合は「|」で区切ります。なお、CH1~CH5の値はaled.h内にマクロとして定義してあります。, 2つめの引数のLED数は、「アドレサブルRGBデバイスの個別制御可能なLED数」で説明した通り、お使いのデバイスの個別制御可能なLEDの数を設定します。ALEDクラスは設定したLEDの数に合うように、送信データの長さやグラデーション模様の計算を最適化してくれます。, 今回からsetup関数でなく、loop関数に処理を記述しています。loop関数は最後(58行目)まで実行した後、最初に戻って繰り返し実行されます。アニメーションなど、色を変化させる場合はloop関数を使用すると良いでしょう。, aled.patternメンバ変数に、模様の種類を指定します。aled.h内であらかじめ用意された以下の中から指定する必要があります。今回は最もシンプルな全LEDを同じ色にするpatSingleを指定しています。, 色を指定します。aled.colorメンバ変数はHSV型になっていて、hue, sat, valメンバ変数を持っているので、それを変更します。HSV型についての解説はチュートリアルの「HSV(HSB)モデルでRGB LEDの色を指定する」を参照して下さい。, 設定した模様と色にもとづいて、アドレサブルRGBデバイスを発光(最初は赤色)させます。aled.patternとaled.colorの値をもとにバッファーにRGB値を準備し、さらにsendLedData関数を実行してデータを送信する、という一連の流れを裏で一気に行っています。これは、これまでのチュートリアルで解説した手順ですが、ALEDクラスではdraw関数1行だけで実行できるようになっており、ユーザーは模様、色や後で解説するアニメーションの処理に集中できるメリットがあります。, delay関数はaled.hとは関係なく、Arduino IDE標準の機能です。ミリ秒で指定した時間だけ待機します。それぞれの命令は、実際には人の目では追えないくらい短い時間で行われるので、しばらく赤色で発光させておきたい場合は待機する必要があります。, 色の値(aled.hue, aled.sat, aled.val)が変わっていますが、内容は23-30行目までの繰り返しです。まずはhue=180, sat=80なので水色、次はsat=0なので白、最後はval=0なので消灯となります。その後はloop関数の最初に戻って再度赤になる、という流れです。, ALEDクラスの基本的な使い方は分かってもらえたのではないでしょうか。次はグラデーション模様を表示する方法について解説します。グラデーションというのは、場所に応じて色を徐々に変化させていく模様のことです。そのため、単色の場合よりも多くのパラメーター(ALEDクラスのメンバ変数)を指定する必要があります。ALEDクラスでグラデーション模様を決めるパラメータを表にまとめました。, 単色模様の時は色を決めていたcolorだけでしたが、colorPattern, posが増えていて、patternも2種類のグラデーションが指定できるようになっています。それぞれのパラメーターについては、実際にスケッチを動かしながら解説していきます。, まずは通常のグラデーション模様を描写するスケッチを用意しましたのでダウンロードして下さい。, 書き込む前に、GradPattern.inoの7行目の最後の引数「34」をお使いのデバイスの制御可能LED数に変更します。変更できたらスケッチを書き込んで動作させてみましょう。以下のように動けば成功です。なお、各ステップを3秒間表示するようになっています。, 今回はpatGradを指定して、通常のグラデーション模様を選択します。もう一つの対称グラデーション模様については後に別のスケッチを使って解説します。, また、基準になる色(colorメンバ変数)はグラデーションの解説にはさほど重要でないので、赤色に固定しています。そのため、この後に出てくる模様は全て赤色からスタートして色が変化していきます。もちろん、この値を変えることでも模様が変化しますので、一通りスケッチの動きが理解できたら変更してみるのも面白いと思います。, posはグラデーション模様を描き始める位置を0-100の範囲で指定します。0を指定すると1番目のLEDが基準になります。50を指定すると、全体の真ん中の位置からスタートします。一番最後のLEDの後は最初に戻ります(ループしている)ので、どこから始めたとしてもデバイス全体に模様が表示されます。, colorPatternメンバ変数にグラデーションで変化させる色の量を指定します。ここではsatとvalが0なので、彩度と明るさは変化しません。一方hue=90なので色相を90変化させます。, 上で説明した通り、colorが赤でpos=0なので、1番目のLEDは赤になります。そこから2番目、3番目と進むにつれてhueの値が変化していき、最後のLEDでhue=90の黄色になるイメージです。Antec製 Prizm 140 ARGBの場合だと、左下に1つめのLEDが配置されているので、そこが赤になり、反時計回りに色が変化していきます。, colorPattern.hue=360を指定しているので、ちょうど色相が1周して虹色の模様になります。, colorPattern.hue=0なので色相は変化しなくなりました。代わりにcolorPattern.sat=-100なので徐々に彩度が減っていき、最後は0 (白色)になるような模様を描写します。この例から分かる通り、変化量にはマイナスの値を指定することもできます。, colorPattern.satとcolorPattern.valに-200を指定しているので、彩度と明るさが変化します。この例から分かる通り、変化量は100を超えるような大きさであっても構いません。satとvalは100から徐々に減っていき、0になるとまた100に戻るようになっています。そのため、-200を指定すると100から0に変化する模様が2回現れることになるのです。, 模様の場所を変化させる例です。これまでは全てpos=0だったので1番目のLEDの位置からグラデーションを開始していました。posを10、20と変化させることで開始位置が変わります。Antec製 Prizm 140 ARGBのように円形にLEDが配置してある場合だと、反時計回りに少しずつ移動するように見えます。, 書き込む前に、SymPattern.inoの7行目の最後の引数「34」をお使いのデバイスの制御可能LED数に変更します。変更できたらスケッチを書き込んで動作させてみましょう。以下のように動けば成功です。なお、各ステップを3秒間表示するようになっています。, 対称なグラデーション模様も、指定するパラメーターは前項で解説した通常のグラデーションと同じです。異なるのはpatternにALED::patSymを指定する点です。このスケッチでは、通常のグラデーションとの比較のため、同じパラメーターで通常のグラデーションと対称なグラデーションをそれぞれ描写します。最初はhueを90変化させる場合です。, 以下がAntec製 Prizm 140 ARGBでの比較です。通常のグラデーションでは、最初のLEDから最後のLEDにかけて色が変化します。そのため、最初のLED(赤)と最後のLED(黄緑)の間に境界が見られます。一方、対称なグラデーションでは最初のLEDから中間のLEDにかけて色が変化します。そのため、通常のグラデーションと違い、色の境界が無く常になめらかに変化しています。, なお、境界ができるかどうかはアドレサブルRGBデバイスのLEDの配置によっても変わります。, 次は、彩度を変化させる場合の比較です。こちらも対称なグラデーションだと最初と最後のLEDの間の境界が無くなめらかに描写できるていることが分かると思います。, ALEDクラスの基本的な使い方は以上です。本クラスの機能を使うことで、シンプルなコードでグラデーション模様を描写することができました。ALEDクラスには今回解説した静止模様だけでなく、アニメーションを描写する機能も備わっています。次回はアニメーションをプログラミングする方法について解説します。, 本記事ではアニメーションの原理を説明した後、実際にスケッチを動かしながら移動、回転、色変化、点滅アニメーションのプログラミング方法を解説しています。ALEDクラスを利用することで、少ないコードでアニメーションを記述することができます。.