• Skip to main content
  • Skip to primary sidebar
  • Skip to footer
  • HOME
  • Arduino
    • Arduino初心者編
    • Arduino基礎編
    • Arduino応用編
    • Arduino実践編
  • Raspberry Pi
  • microbit
  • XBee
  • Scratch
  • Contact Us
  • Privacy Policy

STEMSHIP

ものづくりを通して、科学を学ぼう!

現在の場所:ホーム / Arduino / Arduino基礎編 / ArduinoでSTEM教育​ 基礎編:RGB-LED

ArduinoでSTEM教育​ 基礎編:RGB-LED

2019年10月6日 by STEMSHIP 1 コメント

今回は、RGB-LEDを使用して、赤・緑・青の輝度をそれぞれ調節して、様々な光を作る方法を紹介します。​

目次

  • 使用する部品一覧
  • RGB-LEDの特徴や取り扱い方法
  • PWM変調とは
  • 回路図
  • 配線図
  • 組立完成写真
  • プログラム
  • 動かしてみよう
  • 今回学んだポイント
  • 改造してみよう

使用する部品一覧

使用する部品は図のとおりです。これらの部品は、すべて「ELEGOO Arduino用のMega2560スタータキット」に含まれています。​Arduinoは、もちろんunoやnanoでも問題ありません。

  • Arduino MEGA2560 R3 …1個​
  • 830穴 ブレッドボード …1個​
  • RGBLED …1個​
  • 220 ohm 抵抗 …3個​
  • ジャンパワイヤ(オス-オス) …4個​

RGB-LEDの特徴や取り扱い方法

RGB-LEDは、赤(Red)、緑(Green)、青(Blue)のLEDが一つのパッケージになっている部品です。光の3原色であるこれらのLEDの明るさを調整することで、様々な色の光を作ることができます。 RGB-LEDはリードが4本あります。3個のLEDで共通使用する カソード(負端子) は1本です。

PWM変調とは

LEDの輝度を変更するには、PWM変調という方法を用います。​PWMとは、Pulse Width Modulationの略で、High/Lowの幅を変化させることを意味しています。​
​
デジタルピンは、High(5V)もしくはLow(0V)のどちらかしか出力できませんが、これらを高速に切り替えることで平均電圧を制御することができます。5Vの期間を長くすると輝度が高くなり、0Vの期間を長くすると輝度が低くなります。​
​
PWM変調のHigh/Lowの比率は、一般的にDutyで表されます。​
Arduinoでは、このDutyを簡単に記述できるように、analogWite()関数が用意されています。値は0~255まで設定することができます。​

回路図

6番のPWMピンに赤色LEDの端子、5番のPWMピンに緑色LEDの端子、3番のPWMピンに青色LEDの端子を接続します。そして、各々のピンとLEDの間に、抵抗を接続します。もしこの抵抗を付けなかった場合は、LEDに大電流が流れてしまうため、LEDが故障してしまうので注意しましょう。最後に、LEDの共通カソード端子をGNDに接続します。​

配線図

ブレッドボードを使用した配線は図のとおりになります。

組立完成写真

実際に組み立てた写真です。同じようにできましたか?​

プログラム

プログラムでは、最初にピン番号の設定が必要です。​先程接続したピンと同じピン番号を設定してください。d​efine文を使用して、青を3番、緑を5番、赤を6番に設定します。​
​
次に、ピンの入出力設定をします。これはsetup()内で行います。​LEDピンは出力なので、pinModeで”OUTPUTに設定します。HIGHを設定することでLEDがONします。反対に、LOWを設定するとLEDがOFFします。​
​
ピンの設定が終わったので、メインループでPWM変調するための変数を宣言します。​0~255の値を扱うため、整数の変数であるintを使用します。​

ソース:Elegoo Mega 2560 The Most Complete Starter Kit (www.elegoo.com/download)

それでは、メインループでPWM変調をするためのプログラムを書いていきます。​最初に、先程宣言した変数に初期値をいれます。​赤色だけONさせたいので、redValueを255に設定し、他を0に設定します。​
​
いよいよPWM変調のプログラムの登場です。​輝度を0~255まで段階的に変化させるため、for文を使用します。​for文の{}内で、PWM変調出力のanalogWrite関数を使用し、引数に最初に宣言した変数を用います。​輝度を段階的に変化させるスピードを調整するために、delay()を使用します。​delay()は、指定した時間(ミリ秒単位)だけプログラムを一時停止します。​

ソース:Elegoo Mega 2560 The Most Complete Starter Kit (www.elegoo.com/download)

先程は、赤と緑の輝度変更をプログラムしました。​同様に、「緑と青」、「青と赤」の輝度変更プログラムを書きます。​

ソース:Elegoo Mega 2560 The Most Complete Starter Kit (www.elegoo.com/download)

動かしてみよう

プログラムを書き込んで、実際に動かしてみてください。

今回学んだポイント

  • 赤、緑、青の光を混ぜると、様々な色を作れる。​
  • LEDの輝度変更は、PWM変調でできる。​
  • PWM変調は、analogWrite()関数で簡単に記述できる。​
  • for文を使用すれば、繰り返し処理を簡単に記述できる。​

改造してみよう

もう少し理解を深めるために、自分で改造してみてください。​

  • delay()時間を変えると、どのように変化するか試してみよう。​
  • 3個のLEDをPWM変調して、オリジナルの光を作ろう。​

Filed Under: Arduino基礎編 関連タグ:LED

Reader Interactions

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。

最初のサイドバー

CONTACT US

  • Facebook
  • Twitter
  • Youtube

More to See

Arduinoベースのセンサノード:XBeeデータ収集ノードの製作

2021年9月27日 By STEMSHIP

Arduinoベースのセンサノード:Arduinoを使った温度センサの作製

2021年9月21日 By STEMSHIP

XBeeモジュールとBMP280センサを使用してデータ収集する

2021年5月31日 By STEMSHIP

XBeeモジュールでMicroPythonを使ってセンサを読み取る

2021年5月24日 By STEMSHIP

XBeeモジュールでセンサを読み取る:センサノードの設定と測定

2021年5月17日 By STEMSHIP

カテゴリー

  • Arduino (44)
    • Arduino初心者編 (15)
    • Arduino基礎編 (11)
    • Arduino実践編 (4)
    • Arduino応用編 (11)
    • Arduino番外編 (3)
  • MakeyMakey (1)
  • microbit (11)
  • Raspberry Pi (13)
  • Scratch (6)
  • STEM教育 (5)
  • XBee (15)
  • ものづくり教育 (2)
  • 子供の教育 (2)
  • 科学 (6)
  • 算数 (5)

Tags

BLE DCモータ EEPROM ELEGOO ESP32 ESP8266 IoT LCD LED makeymakey MQTT Node-RED scratch STEM教育 WiFi XBee アニメーション オンラインゲーム カメラ クローン ゲーム コスチュームの変更 サーボモータ ステッピングモータ ステートマシン スピーカ タイマー ピンポン ブロック定義 ペン ライントレース ラジコン リスト 分数 割り込み 実験 工作 幼児 当たり判定 温度センサ 無線通信 物理 角度制御 重力 音楽

Footer

最近の投稿

  • Arduinoベースのセンサノード:スケッチ(プログラム)の作製
  • Arduinoベースのセンサノード:XBeeデータ収集ノードの製作
  • Arduinoベースのセンサノード:Arduinoを使った温度センサの作製
  • XBeeモジュールとBMP280センサを使用してデータ収集する
  • XBeeモジュールでMicroPythonを使ってセンサを読み取る

タグ

BLE DCモータ EEPROM ELEGOO ESP32 ESP8266 IoT LCD LED makeymakey MQTT Node-RED scratch STEM教育 WiFi XBee アニメーション オンラインゲーム カメラ クローン ゲーム コスチュームの変更 サーボモータ ステッピングモータ ステートマシン スピーカ タイマー ピンポン ブロック定義 ペン ライントレース ラジコン リスト 分数 割り込み 実験 工作 幼児 当たり判定 温度センサ 無線通信 物理 角度制御 重力 音楽

Search

2023年3月
月 火 水 木 金 土 日
 12345
6789101112
13141516171819
20212223242526
2728293031  
« 10月    

Copyright © 2023 · STEMSHIP.COM