實驗說明:
- I/O Pin的意思即為INPUT 接口和OUTPUT 接口,我們用一個按鍵和一個LED 燈完成一個數位訊號輸入/輸出結合使用的實驗,讓大家能簡單了解I/O 的作用。按鍵開關大家都應該比較了解,只有開與關兩種簡單的狀態,屬於數位訊號輸入元件,按下時為閉合(導通)狀態。
- 使用數位輸入接收外部元件訊號,就只會收到低電位與高電位兩種情況,對應的讀取值也只有兩種,通常以「0」與「1」呈現。
- 例如:我們使用數位輸入的按鈕模組時,就會收到兩種結果。按鈕被按下或放開時,會產生對應的電位狀態。
材料:
- ESP32-E DevKit
- USB 傳輸線
- 直插LED
- 按鍵開關
- 220Ω直插電阻
- 10kΩ直插電阻
- 麵包板
- 麵包板跳線
▼ 購買IoT物聯網學習教材:
相關知識
按鍵開關大家都應該比較了解,只有開與關兩種簡單的狀態,屬於數位訊號輸入元件,按下時為閉合(導通)狀態。
程式:
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不亮。