概要
GR-COTTONのLEDで色々な光り方を試してみます。
サンプルプログラムをWebコンパイラや、IDE for GRにコピーペーストして楽しんでください。
準備
GR-COTTON、USBケーブル(マイクロBタイプ)の2つを準備します。
GR-COTTONの裏面にある白いジャンパーが3V3、USB側にします。BATT側にある場合は引き抜いて、USB側に差し込んでください。
LEDを点滅させる
以下のサンプルは非常に簡単な例ですが、青色LEDを点滅させるだけです。
青色LEDはGR-COTTONのピン24に割り当たっていて、pinModeでピン24を出力にし、digitalWriteでLEDをON/OFFしています。
ピン22が赤色、ピン23が緑色ですので、#defineの部分を22や23にして光の色を変えてみてください。
#include <arduino.h>
#define LED 24 // blue led
void setup() {
pinMode(LED, OUTPUT);
digitalWrite(LED, HIGH);
}
void loop() {
digitalWrite(LED, LOW);
delay(500);
digitalWrite(LED, HIGH);
delay(500);
}
LEDを蛍のように点滅させる
赤と緑のLEDを使って、蛍のようにもわっと光るサンプルです。
LEDの光に強弱をつけるため、analogWriteを使って0~255の範囲で設定しています。digitalWriteはONとOFFだけでした。
#include <arduino.h>
#define LED_R 22 // red led
#define LED_G 23 // green led
void setup() {
}
void loop() {
for(int i = 0; i < 255; i++){
analogWrite(LED_R, i);
analogWrite(LED_G, i);
delay(5);
}
for(int i = 0; i < 255; i++){
analogWrite(LED_R, 255 - i);
analogWrite(LED_G, 255 - i);
delay(5);
}
}
レインボー
LEDを虹色でもわっと光らせるサンプルです。
#include <arduino.h>
void setup() {
}
void loop() {
static double t = 0.0;
analogWrite(22, int(255.0 * pow(0.5 - 0.49 * cos(t / 2.0), 2.0)));
analogWrite(23, int(255.0 * pow(0.5 - 0.49 * cos(t / 3.0), 2.0)));
analogWrite(24, int(255.0 * pow(0.5 - 0.49 * cos(t / 5.0), 2.0)));
t = fmod(t + (2 * M_PI / 1000 * 10), 60.0 * M_PI);
delay(1);
}