obniz 電子工作 電気の話

obnizでフルカラーLEDをグラデーション点灯しよう【obniz講座第5回】

今回はこの動画のようにフルカラーLEDをグラデーション点灯させてみます。

 

これまでの記事はこちらです。

記事内容
obnizでIoT電子工作を始めよう!【obniz講座第1回】obnizのディスプレイに文字を表示させます
obnizでLEDを光らせよう!【obniz講座第2回】obnizにLEDと抵抗を接続してLEDを光らせます
ソフトウェアボタンでLEDをON/OFFしよう【obniz講座第3回】HTMLで作成したボタンを押して、LEDをON/OFFさせます
obnizのPWM制御でLED調光しよう【obniz講座第4回】obnizのPWM機能を使ってLEDを調光させます

準備するもの

今回準備するものはこちらです。

準備するもの

  • obniz本体 ×1個
  • マイクロUSBケーブル(obniz付属品) ×1本
  • フルカラーLED(カソードコモン、今回はOSTA5131Aを使用) ×1個
  • 150Ω前後の抵抗(赤色LED用) ×1個
  • 100Ω前後の抵抗(緑/青色LED用) ×2個
  • ブレッドボード ×1個(あると半田付けせずに済みます)
  • ブレッドボード用ジャンプワイヤ

 

created by Rinker
サンハヤト
¥529 (2024/11/29 05:00:41時点 Amazon調べ-詳細)

 


LEDや抵抗などの電子部品は、東京の秋葉原にある「秋月電子通商」や「千石電商」などから購入しています。

 

 秋月電子通商

 千石電商ネット通販

 

今回はobnizのアプトプット端子から電流を吐き出す「ソース電流」でLEDを光らせるので、フルカラーLEDはカソードコモンタイプを使用します。

カソードコモンについては次の項目で説明します。

 

フルカラーLEDのカソードコモンとは

カソードコモン

LEDには正しい向きがあり、プラス側がアノード、マイナス側がカソードになります。

フルカラーLEDは赤、緑、青色LEDが組み合わさっています。

それぞれにアノードとカソードがあるとピン数が多くなってしまうため、ピン数を少なくするためにアノードを1つにまとめた「アノードコモン」や、カソードを1つにまとめた「カソードコモン」があります。

 

今回は「obniz」から吐き出す「ソース電流」でLEDを光らせるので、上の図のようにカソードコモン(オプトサプライのOSTA5131A)を使用します。

 

LEDの特性や抵抗値計算、アノードコモンとカソードコモンの違いなど、それぞれ下記の記事で説明しているので、こちらも合わせてご覧ください。

 

合わせて読みたい
LEDの正式名称は?Lってどんな意味?LEDの名前・略称を説明します

サンダー最近は照明にLEDが使用されることが増えてきました。ここで、LEDの意味をご存知でしょうか? 今回はLEDの意味について説明します。   LEDとは?LEDの正式名称って何?LEDは ...

続きを見る

合わせて読みたい
LED抵抗計算機
LED抵抗値自動計算機とその求め方について説明します【簡単】

LED抵抗自動計算機 下図のように、LED1個をつなぐとき、LEDに流したい電流から抵抗値を求める計算機です。   LED抵抗計算機 ↓電源電圧【例】5(V) ↓LEDの電圧降下【例】2(V ...

続きを見る

合わせて読みたい
アノードコモンとカソードコモン
LEDのアノードコモンとカソードコモンの違いと使い分けについて

サンダー「アノードコモン」と「カソードコモン」の違い分かりますか? かみなりんえーっと、アノードがプラス側、カソードがマイナス側で・・・コモンってなんだっけ? サンダー改めて聞かれると、どっちがどうだ ...

続きを見る

 

フルカラーLEDの抵抗値計算

今回使用するフルカラーLEDの「OSTA513A」の電圧降下は以下の通りです。(データシートより)

 

LED色順方向電流順方向電圧(Typ.)順方向電圧(Max.)
20mA2.12.6
緑/青20mA3.13.6

 

Typ,は「Typical(典型的な、代表的な)」の略で、一般的な値を表しています。

「obniz」の出力端子は特に設定していない場合は5V、順方向電圧はLEDを通った後に降下する電圧と等しいです。

例として赤色LEDに20mA流したい場合の抵抗値の求め方を説明します。

 

LEDと電源電圧の接続

 

LEDと抵抗は直列なので、流れる電流は同じです。

今回流す電流を20mA(=0.02A)と仮定し、抵抗値をRとして、抵抗値を求めます。

5V= 0.02 × R + 2.1V

R= (5 - 2.1) ÷ 0.02

=145(Ω)

このように電源電圧(今回はobnizの出力端子)が5V、順方向電圧2.1V、LEDに20mA流したい場合、抵抗値は145Ωにすればよいことが分かります。

ただ、一般的に145Ωといった中途半端な値の抵抗がないので、150Ωの抵抗を使用します。

同じように計算して、緑と青のLEDには100Ωの抵抗を接続します。

 

フルカラーLEDの接続図

このようにLEDに流したい電流値から抵抗値の求め方は下記の記事で説明しています。また、自動で計算するアプリケーションも用意してあるので、是非お使いください。

 

合わせて読みたい
LED抵抗計算機
LED抵抗値自動計算機とその求め方について説明します【簡単】

LED抵抗自動計算機 下図のように、LED1個をつなぐとき、LEDに流したい電流から抵抗値を求める計算機です。   LED抵抗計算機 ↓電源電圧【例】5(V) ↓LEDの電圧降下【例】2(V ...

続きを見る

 

私は基板を手作りしましたが、ブレッドボードを使用すれば、半田付け不要で実験可能です。

 

サンハヤト SAD-101 ニューブレッドボード

 

サンプルプログラム

この動画のように、ボタンを押したらフルカラーLEDをグラデーションさせるプログラムを説明します。

onbiz.jsは常に最新にしてください

下記のoniz.jsを読み込む際のバージョンは常に最新バージョンへ書き換えてください

<script src="https://unpkg.com/obniz@【ここの部分】/obniz.js" crossorigin="anonymous"></script>

<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <script
  src="https://code.jquery.com/jquery-3.3.1.js"
  integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
  crossorigin="anonymous"></script>  
  <script src="https://unpkg.com/obniz@2.0.1/obniz.js" crossorigin="anonymous"></script>
</head>
<body>

    <div id="obniz-debug"></div>
    <button id="on">ON</button>
    <button id="off">OFF</button>

  <script>
  var obniz = new Obniz("OBNIZ_ID_HERE");
  obniz.onconnect = async function () 
  {

    var full_led = obniz.wired("FullColorLED", {r:0 , g:1 , b:2 , common:11 , commonType:'cathode_common' });

    $('#on').click(function () 
    {
      full_led.gradation(2000);
      obniz.display.clear();
      obniz.display.print("ON");
    });
    
    $('#off').click(function () 
    {
      full_led.stopgradation();
      full_led.rgb(0,0,0);
      obniz.display.clear();
      obniz.display.print("OFF");
    });
  }

</script>
</body>
</html>

 

既出部分の概略

<head></head>内の記述については過去の講座で説明していますので、簡単に説明し、新たな部分のみ説明致します。

 

コード説明参照講座
<meta charset="utf-8">文字コード(UTF-8)の設定obnizでLEDを光らせよう!【第2回】
<meta name ~(省略)>横幅を端末に合わせ、表示倍率を1倍に設定obnizでLEDを光らせよう!【第2回】
<script src="https://code.jquery.com~(省略)jQueryをCDNから読み込んで利用obnizのPWM制御でLEDを調光しよう【obniz講座第4回】
<script src="https://unpkg.com/obniz@1.14.1/obniz.js"~(省略)obnizを制御するための関数などを利用obnizでIoT電子工作を始めよう!【obniz講座第1回】
<div id="obniz-debug"></div>obnizのデバッグ表示obnizでIoT電子工作を始めよう!【obniz講座第1回】
<button ~(省略)HTMLでボタンを作成し、id名を設定ソフトウェアボタンでobnizのLEDをON/OFFしよう!【obniz講座第3回】
var obniz = new Obniz("OBNIZ_ID_HERE");設定したobnizのIDを「obniz」変数として宣言obnizでIoT電子工作を始めよう!【obniz講座第1回】
obniz.display.clear();obnizのディスプレイ表示をクリアobnizでIoT電子工作を始めよう!【obniz講座第1回】
obniz.display.print("***");obnizのディスプレイに文字を表示obnizでIoT電子工作を始めよう!【obniz講座第1回】

 

var full_led = obniz.wired(~省略~)はフルカラーLEDを制御するために用意された関数の利用

下記のコードについて説明します。

var full_led = obniz.wired("FullColorLED", {r:0 , g:1 , b:2 , common:11 , commonType:'cathode_common' });

 

まず、「var」で「full_led」という変数を宣言しています。

obniz.wired("FullColorLED", {r:0 , g:1 , b:2 , common:11 , commonType:'cathode_common' });は「obniz」を制御するための関数をまとめた「obniz.js」で定義されています。

 

最初に"FullColorLED"を代入し、フルカラーLEDの制御であることを示します。

r,g,bはそれぞれ赤色LED、緑色LED、青色LEDを接続しているポート番号を指定します。

フルカラーLEDの接続図

今回は上記のように赤、緑、青それぞれのアノードを0、1、2ポートに接続します。

抵抗の挿入箇所はLEDの前後どちらでも構いませんが、カソードコモンのため、カソードを11番のポートにそのまま接続するのが良いかと思います。

このとき、赤色LEDの抵抗と、緑/青色LEDの抵抗値を間違えないようにしてください。

 

そして、「commonType:」にはアノードコモンかカソードコモンかを指定します。

今回はカソードコモンですので、'cathode_common'としていますが、吸い込みで光らせる場合(シンク電流)はアノードコモンとなるので、その場合は'anode_common'とする必要があります。

 

$('#on').click(function () { }); はID名「on」の要素がクリックされた時の処理

下記のコードについて説明します。

$('#on').click(function () { });

 

これは、jQueryで、ID名「on」で宣言した要素がクリックされたときに行う処理を表しています。

()の中のfunction()は無名関数で、{ }の中で処理を記述しています。

 

full_led.gradation(2000); は2000ミリ秒(1000ミリ秒 = 1秒)を1周期としてグラデーション点灯する関数

下記のコードについて説明します。

full_led.gradation(2000);

 

これは「obniz.js」の関数を利用しています。

カッコ内の数字は何ミリ秒で、グラデーションを1周するかを指定しています。

1,000ミリ秒 =1秒なので、2秒で1周期のグラデーション点灯をするという事になります。

 

ちなみに、1周期で何を変更しているかと言うと、HSV(H:色相、S:彩度、V:明度)の値のうち、「H」の色相を0~360度まで変更させる時間を1周期としています。

色相リング

上記が色相を環状に表した図となりますが、0~360度に変更させる、つまり赤→黄→緑→シアン(水色)→青→紫の順にLEDの色を変更させています。

 

full_led.stopgradation(); はグラデーション点灯の停止

下記のコードについて説明します。

full_led.stopgradation();

 

これはそのまま自動グラデーションを停止させる関数です。

 

full_led.rgb(0,0,0); はフルカラーLEDを消灯させる

下記のコードについて説明します。

full_led.rgb(0,0,0);

 

full_led.rgb(0,0,0);順に赤、緑、青色の色情報を0にしています。

赤、緑、青の色情報をすべて「0」にすると黒になりますが、LEDの場合、黒は消灯にあたります。

 

プログラムの実行

プログラムを実行し、「ON」ボタンを押したら自動でグラデーション点灯、「OFF」ボタンを押したらグラデーションが終了し、LEDが消灯することを確認してください。

 

 

【前回の講座】

前回の講座
obnizのPWM制御でLEDを調光しよう【obniz講座第4回】

今回はobnizのPWM制御を使って、LEDを調光させたいと思います。 これまでのobnizについての記事や、PWMについて説明した記事もあるので、合わせてご覧ください。 記事 内容 obnizでIo ...

続きを見る

【次回の講座】

次回の講座
obnizで圧電ブザーを鳴らそう
obnizで圧電ブザーを鳴らそう!【obniz講座第6回】

サンダー今回はobnizで圧電ブザーを鳴らしたいと思います。 ドレミファソラシドのソフトウェアボタンを用意し、圧電ブザーで音階を表現します。 前回の講座はこちらです。   準備するもの 今回 ...

続きを見る

 

created by Rinker
サンハヤト
¥529 (2024/11/29 05:00:41時点 Amazon調べ-詳細)

 

【講座のまとめ】

記事内容
obnizでIoT電子工作を始めよう!【obnizでIoT電子工作を始めよう!【obniz講座第1回】obnizのディスプレイに文字を表示させます
obnizでLEDを光らせよう!【obniz講座第2回】obnizにLEDと抵抗を接続してLEDを光らせます
ソフトウェアボタンでLEDをON/OFFしよう!【obniz講座第3回】HTMLで作成したボタンを押して、LEDをON/OFFさせます
obnizのPWM制御でLEDを調光しよう【obniz講座第4回】obnizのPWM機能を使ってLEDを調光させます
obnizでフルカラーLEDをグラデーション点灯しよう【obniz講座第5回】obnizでフルカラーLEDをグラデーション点灯させます
obnizで圧電ブザーを鳴らそう!【obniz講座第6回】obnizで圧電ブザーを鳴らします
obnizでミニ4駆をラジコン化しよう!【obniz講座第7回】obnizでタミヤのミニ四駆をコントロールします
obnizでサーボモータを動かそう!【obniz講座第8回】obnizでサーボモータを動かします

 







人気の記事

1

サンダー直流(DC)と交流(AC)の違いって分かりますか? かみなりん家庭用のコンセントは交流(AC)だよね。乾電池はなんとなくDC(直流)というイメージです。 サンダー改めて聞かれると、交流と直流の ...

【オペアンプ】 反転増幅回路の回路図アイキャッチ 2

かみなりんオペアンプの反転増幅回路ってどういう特徴があるの? サンダー反転増幅回路は文字通り、入力電圧の符号を反転、増幅する回路になります。 かみなりん反転して、増幅するから反転増幅回路なんだね。じゃ ...

アノードコモンとカソードコモン 3

サンダー「アノードコモン」と「カソードコモン」の違い分かりますか? かみなりんえーっと、アノードがプラス側、カソードがマイナス側で・・・コモンってなんだっけ? サンダー改めて聞かれると、どっちがどうだ ...

4

かみなりんアフィリエイトで成果が発生しない!? という問題が起きているようですね。 アフィリエイトが発生しないというのは死活問題ですね。   原因はどうやら、アンカーリンク内のtarget= ...

旅行やアルバイト等の 紹介にバリューコマースの『MyLinkBox』が超便利!! 5

サンダーバリューコマースから2019年6月5日に『MyLinkBox』がリリースされました! かみなりんその『MyLinkBox』ってなに? サンダー『カエレバ』や『Rinker』はご存知でしょうか? ...

miMind使いかたアイキャッチ 6

サンダーマインドマップはご存知ですか?   放射状に枝が伸びていくアレですよね?   頭の整理をするのに良く使います   私もよく情報を整理するためにマインドマップを作成 ...

Web(ウェブ)開発の学習にオススメなUdemyコース3選 7

サンダー世界最大級のオンライン学習プラットフォームの【Udemy】はご存知ですか? アメリカのシリコンバレー発のオンライン学習サイトで、日本ではベネッセが運営しています。 私自身もWeb開発やPyth ...

ブレッドボード の使い方のアイキャッチ 8

サンダーブレッドボードって知ってる? かみなりん電子工作でハンダ付けせずに、手軽に電子回路が組めるボードだよね? サンダーそう、今回はそのブレッドボードの使い方を紹介します。ブレッドボードを使ってLE ...

箇条書きタグ自動追加ツール 9

【このツールの目的】 箇条書きタグ(ulタグもしくはolタグ)を自動で追加するツールです。 listタグも自動で追加します。 【箇条書きの種類選択】 数字無し箇条書き(ul) ・箇条書き数字有り箇条書 ...

LED抵抗計算機 10

LED抵抗自動計算機 下図のように、LED1個をつなぐとき、LEDに流したい電流から抵抗値を求める計算機です。   LED抵抗計算機 ↓電源電圧【例】5(V) ↓LEDの電圧降下【例】2(V ...

-obniz, 電子工作, 電気の話
-, , , , , ,