arduino:m5stickc:02.エルチカ

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秒末
}

さあ、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);
}

では最後にボタン(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);
  }
}

  • arduino/m5stickc/02.エルチカ.txt
  • 最終更新: 2020/09/07 09:28
  • by baba