ESP32, IOT物聯網

【IOT物聯網應用-ESP32】第五篇:數位輸入 使用按键控制LED明暗

實驗說明:

  • I/O Pin的意思即為INPUT 接口和OUTPUT 接口,我們用一個按鍵和一個LED 燈完成一個數位訊號輸入/輸出結合使用的實驗,讓大家能簡單了解I/O 的作用。按鍵開關大家都應該比較了解,只有開與關兩種簡單的狀態,屬於數位訊號輸入元件,按下時為閉合(導通)狀態。
  • 使用數位輸入接收外部元件訊號,就只會收到低電位與高電位兩種情況,對應的讀取值也只有兩種,通常以「0」與「1」呈現。
  • 例如:我們使用數位輸入的按鈕模組時,就會收到兩種結果。按鈕被按下或放開時,會產生對應的電位狀態。

 

材料:

  • ESP32-E DevKit
  • USB 傳輸線
  • 直插LED
  • 按鍵開關
  • 220Ω直插電阻
  • 10kΩ直插電阻
  • 麵包板
  • 麵包板跳線

▼ 購買IoT物聯網學習教材:

ESP32 物聯網應用學習套件 ESP32CAM IoT物聯網學習教材 適用Arduino

 

相關知識

按鍵開關大家都應該比較了解,只有開與關兩種簡單的狀態,屬於數位訊號輸入元件,按下時為閉合(導通)狀態。

 

程式:

int ledpin=16;
int inpin=15;
int val;
void setup()
{
  pinMode(ledpin,OUTPUT);
  pinMode(inpin,INPUT);
}
void loop()
{
  val=digitalRead(inpin);
  if(val==LOW)
  { 
    digitalWrite(ledpin,LOW);
  }
  else
  { 
    digitalWrite(ledpin,HIGH);
  }
}

 

程式說明:

  • 第 1 列定義數位接口GPIO16 Pin 。
  • 第 2 列定義數位接口GPIO15 Pin 。
  • 第 3 列定義變數val。
  • 第 6 列定義LED Pin為輸出Pin。
  • 第 7 列定義按鍵 Pin為輸入Pin。
  • 第 11 列讀取數位接口GPIO15 Pin電位值賦給val。
  • 第 12~19 列檢測按鍵是否按下,按鍵按下時LED亮起。

分析電路可知當按鍵按下時,數位接口GPIO15 Pin可讀出為高電位,這時我們使數位接口GPIO16 Pin輸出高電位則可使LED亮起,在程式中我們判斷數位接口GPIO15 Pin是否為低電位,若是低電位則使數位接口GPIO16 Pin輸出也為低電位LED不亮。

 

 

 

 

相關文章