LEDモジュール
私が購入したGROVEスターターキットV3に入っていたLEDモジュールは、LED Socket Kit v1.4というモジュールです。スイッチサイエンスさんの単体販売ページに掲載されているものとは、基板部分は同じですが、付属するLEDの個数に違いがあります。スイッチサイエンスさんで販売されているものはLEDが1個しかついていませんが、GROVEスターターキットV3には赤、青、緑の3種類のLEDが付いています。
基板の右下にあるのがLEDを挿すソケットです。右上にあるの黄色いプラスチックが付いた箱はLEDの明るさを調整する可変抵抗です。黄色い部分をドライバで回して明るさを調整します。
LEDモジュールの動作
1(HIGH)を送るとLEDが点灯し、0(LOW)を送るとLEDが消灯します。LEDの明るさは基板についている可変抵抗で調整できるようになっています。LEDが暗い時や点灯しない時は可変抵抗を回してみてください。
LEDをソケットに挿す際に、LEDの極性を合わせる必要があります。通常は足の長い方がプラスですが、足の長さが同じでどちらかわからない場合は LED の形状で判断します。
円の一部分が欠けて直線になっている方がマイナスです。モジュールのLEDソケット部にも円が欠けている絵が描いてあるので、それに合わせてLEDを差し込みます。
プログラム
// Nefry BT無印の場合: D2, A0, A2 (注:D0は使えません) // Nefry BT R2の場合: D0, D2, D5, A1 (注:A0を使うときはA1を記載します。) #define PIN D2 void setup() { pinMode(PIN, OUTPUT); Serial.print("PIN = "); Serial.println(PIN); } void loop() { digitalWrite(PIN, HIGH); Serial.println(HIGH); delay(1000); digitalWrite(PIN, LOW); Serial.println(LOW); delay(1000); }
1秒ごとに点灯、消灯を繰り返すプログラムです。digitalWrite(ピン, 設定値) を使ってHIGHとLOWを交互に設定しています。
LEDの明るさを変化させるプログラム
PWM(Pulse Width Modulation)を使って明るさを変化させます。Nefry BTでPWMを使う場合は、LEDCライブラリを使います。PWMとLEDCライブラリについては別記事に解説を書いていますので参照ください。
//GROVEケーブルを接続するGROVEコネクターを1つ選んで#define文に記載してください。 // Nefry BT無印の場合: D2, A0, A2 (注:D0は使えません) // Nefry BT R2の場合: D0, D2, D5, A1 (注:A0を使うときはA1を記載します) #define PIN D2 // LEDCのパラメータ設定 // LEDC_CHANNEL : チャンネル : 0 // LEDC_RESOLUTION_BITS: 目盛数 : 10bit (0〜1023) // LEDC_FREQUENCY : 周波数 : 50Hz (= 20ms周期) #define LEDC_CHANNEL 0 #define LEDC_RESOLUTION_BITS 10 #define LEDC_FREQUENCY 50 const int32_t min = 0; const int32_t max = 1023; const int32_t delta = 32; int32_t i; void setup() { Serial.print("PIN = "); Serial.println(PIN); ledcSetup(LEDC_CHANNEL, LEDC_FREQUENCY, LEDC_RESOLUTION_BITS); ledcAttachPin(PIN, LEDC_CHANNEL); } void loop() { for (i = min; i < max; i += delta) { ledcWrite(LEDC_CHANNEL, (uint32_t)i); delay(50); } for (i = max; i > min; i -= delta) { ledcWrite(LEDC_CHANNEL, (uint32_t)i); delay(50); } }
LEDをだんだん明るくし、輝度が最大になったら、今度はだんだん暗くする動作を繰り返すプログラムです。setup( )関数内のledcSetup( )関数でパラメータを設定し、ledcAttachPin( )関数で使用するピンを指定しています。loop( )関数内では、ledcWrite( )関数でLEDの明るさを変更しています。
諸元
名称 | LED Socket Kit リレー |
バージョン | v1.4 |
Seeed社 Wiki | http://wiki.seeedstudio.com/Grove-LED_Socket_Kit/ |
スイッチサイエンス商品ページ | https://www.switch-science.com/catalog/1251/ |
Nefry BT無印 動作ソケット | D2, A0, A2 |
Nefry BT R2 動作ソケット | D0, D2, D5, A0(プログラム上はA1) |
「Nefry BTとGroveモジュール接続実験」 トップページ