Lチカ(LEDチカチカ)
ここまででプログラムの書き込み及び、基本的なリファレンス場所は抑えたので次は、 ハードウェアでいうところのHello Worldの定番であるLEDチカチカ(1秒おきにLEDの点滅を繰り返すプログラムを動作させること)をM5Stick-Cで実行してみます。M5StickCでは赤色LEDがすでに実装されているので、まずはこの赤色LEDを利用してLチカしてみます。LEDの位置は下図を参照してください。
#include <M5StickC.h>
void setup() {
M5.begin(); // M5StickCを動作させるために必ず最初に入れる
pinMode(G10, OUTPUT); // G10番ピンを出力モードに変更
}
void loop() {
digitalWrite(G10, LOW); //G10番ピンをLOW(0V)に
delay(1000); // 1秒待つ
digitalWrite(G10, HIGH); // G10番ピンをHIGH(3.3V)に
delay(1000); // 1秒末
}
外部LEDをLチカさせる
さあ、1秒おきに内部LEDを点滅させることができたでしょうか? これだけでは内部に実装されたLEDの点滅のみなので、ブレッドボード上のLEDも同様に点滅させてみましょう。 M5StickCにはソケットが備わっており、ここからジャンパー線などを利用して入力や出力を簡単に拡張することができます。今回はG0ピンをLED動作ピンとして利用してみます。他のピンでももちろん構いません。またオームの法則を利用して利用するLEDに適切な抵抗を一本追加する必要があります。以下動画で利用している抵抗は270[Ω]を利用しています。LEDと抵抗の計算方法は別途http://www.sousin.net/design/sousin/contents/teikou_keisan.htmを参照してください。またLEDには極性(プラスとマイナスを間違えてはいけない、ということ)がありますので、プラス(アノードと呼びます)、マイナス(カソードと呼びます)を間違えないように接続してください。下記動画の回路図も合わせて示します。
#include <M5StickC.h>
void setup(){
M5.begin();
pinMode(G0, OUTPUT);
}
void loop(){
digitalWrite(G0, LOW);
delay(1000);
digitalWrite(G0, HIGH);
delay(1000);
}
ボタンを押したときだけ光るLED
では最後にボタン(G37)を押したときだけLEDが発光するプログラムを作成してみます.
#include <M5StickC.h>
void setup() {
// put your setup code here, to run once:
pinMode(G0, OUTPUT);
pinMode(G37, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
if( digitalRead(G37) == LOW ){
digitalWrite(G0, HIGH);
}
else{
digitalWrite(G0, LOW);
}
}

