第0回 解答例
LEDを点滅させる
演習の解答例。まず自分で書いてから読むこと。
基本:500ms周期で点滅
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(500);
digitalWrite(LED_BUILTIN, LOW);
delay(500);
}発展1:点滅速度を変える
delay()の数値を直接書き換えるのではなく、名前を付けておくと変更箇所が1か所で済む。
const int BLINK_MS = 100; // ここだけ変えれば速度が変わる
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(BLINK_MS);
digitalWrite(LED_BUILTIN, LOW);
delay(BLINK_MS);
}発展2:ボタンでLEDのON/OFFを切り替える
const int LED_PIN = LED_BUILTIN;
const int BUTTON_PIN = 9;
void setup() {
pinMode(LED_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);
}
void loop() {
// INPUT_PULLUP では、押したときに LOW になる
if (digitalRead(BUTTON_PIN) == LOW) {
digitalWrite(LED_PIN, HIGH);
} else {
digitalWrite(LED_PIN, LOW);
}
}ポイント
setup()は1回、loop()は繰り返し呼ばれる- 数値に名前を付けると、何を表す値かがコードから読み取れる
INPUT_PULLUPを使うと外付け抵抗なしでボタンを読める(押すとLOW)