プロジェクト概要:
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 件のコメント:
コメントを投稿