04_LED-Fluffy
LEDをふんわり明滅させる
LEDの明るさを少しずつ変化させ、ゆっくり点灯・消灯させます。
準備する
CherryIoTとモジュールを接続する
CherryIoTの指定コネクタに以下のモジュールを接続し、CherryIoTをPCのUSB-A挿入口に接続します。
LEDモジュール
接続先:A
サンプルコード
GitHubで公開しているサンプルコードです。コードをコピーして Arduino IDEで使用します。
GitHubからコードを読み込んでいます...プログラムを書き込む
上のサンプルコードをコピーし、Arduino IDEに貼りつけます。
ボードとポートの設定を確認し、左上の 「→(書き込みボタン)」を押してCherryIoTに書き込みます。
初めて書き込む方は「はじめてのCherryIoT」で詳しい手順を確認してください。
動作確認
LEDが急に切り替わらず、ゆっくり明るくなったり暗くなったりするなら成功です。
コードの解説
analogWriteで出力値を0から255まで増減させ、LEDの明るさを滑らかに変えます。
GitHubからコードを読み込んでいます...const int ledPin = 3;コネクタAのLEDに対応するGPIO3を、定数ledPinへ保存します。
void setup() {setup関数は、電源投入時やリセット時に1回だけ実行されます。ここでLEDを使うための初期設定を行います。
pinMode(ledPin, OUTPUT);LEDへ信号を送れるように、ledPinをOUTPUT(出力)に設定します。
void loop() {loop関数は繰り返し実行されます。明るくする処理と暗くする処理を続けて行うことで、LEDがふんわり明滅します。
for (int i=0; i<=255; i++){明るさを表す整数型の変数iを0から始め、255以下の間、処理後にiを1増加させて繰り返します。0は消灯、255は最大の明るさを表すため、LEDを少しずつ明るくできます。
analogWrite(ledPin, i);ledPinへiの値を出力し、LEDの明るさを設定します。analogWriteは、素早いON・OFFの割合を変えるPWMという方法で、0から255までの段階的な明るさを作ります。
delay(10);0.01秒待ちます。
for (int i=255; i>=0; i--){今度はiを255から始め、0以上の間、処理後にiを1減少させて繰り返します。出力値が少しずつ小さくなるため、LEDが徐々に暗くなります。
analogWrite(ledPin, i);減少していくiの値をLEDへ出力し、最大の明るさから消灯まで少しずつ暗くします。
delay(10);0.01秒待ちます。