プロジェクト概要:
GPIO0、GPIO2、GPIO15が入力ポートとして動作することを確認する
各ポートに接続されたタクトスイッチの状態を読み取りLEDを点滅させる
準備すること:
・3V3とGNDに電源を接続
・LEDと適当な抵抗を3つ用意(まだ接続しないこと)
・タクトスイッチを3つ用意(まだ接続しないこと)
作成方法&実行方法:
・ソースをコピペ
・ダウンロードモードでESP-WROOM-02を起動する
・ビルドして書き込み
・GPIO0、GPIO2、GPIO15にタクトスイッチを接続(→もう片側をGNDへ)
(※ブート用の接続は外すこと/ジャンパなど)
・GPIO12、GPIO13、GPIO14に抵抗とLEDを直列に接続(→もう片側をGNDへ)
(※ブート用の接続は外すこと/ジャンパなど)
・GPIO12、GPIO13、GPIO14に抵抗とLEDを直列に接続(→もう片側をGNDへ)
(※すでにフラッシュブートしているので注意)
実行するとGPIO0、GPIO2、GPIO15が入力ピンとして機能するのがわかる
#define CONFIG_PIN_1 0 #define CONFIG_PIN_2 2 #define CONFIG_PIN_3 15 #define LED_PIN_1 12 #define LED_PIN_2 13 #define LED_PIN_3 14 void setup() { pinMode(CONFIG_PIN_1, INPUT_PULLUP); pinMode(CONFIG_PIN_2, INPUT_PULLUP); pinMode(CONFIG_PIN_3, INPUT_PULLUP); pinMode(LED_PIN_1, OUTPUT); pinMode(LED_PIN_2, OUTPUT); pinMode(LED_PIN_3, OUTPUT); } void loop() { if(digitalRead(CONFIG_PIN_1) == LOW) { digitalWrite(LED_PIN_1, HIGH); } else { digitalWrite(LED_PIN_1, LOW); } if(digitalRead(CONFIG_PIN_2) == LOW) { digitalWrite(LED_PIN_2, HIGH); } else { digitalWrite(LED_PIN_2, LOW); } if(digitalRead(CONFIG_PIN_3) == LOW) { digitalWrite(LED_PIN_3, HIGH); } else { digitalWrite(LED_PIN_3, LOW); } delay(10); }
0 件のコメント:
コメントを投稿