S22_Button_Switch(按鈕開關)

【說明】

示範按鈕開關模組(Hall Magnetic Sensor)的應用

  • 內建 10K 電阻於 Vcc 與 S 之間,
  • 當按下按鈕時訊會輸出數位訊號 1 開啟 LED,
  • 當放開按鈕時訊會輸出數位訊號 0 開閉 LED。

【零件表】

No.零件名稱數量
1LCD1602_I2C1
2S22_Button_Switch1
3LED1

【零件接腳】

請參考 「LCD1602_I2C 顯示器」 接腳。

No.零件接腳UNO R3 接腳
1S (Signal)D7
2+ (Vcc) Vcc
3– (Ground) GND
4LED + (長腳)D13
5LED – (短腳)GND

【按線圖】

【程式碼】

 /*
示範按鈕開關模組(Hall Magnetic Sensor)的應用
內建 10K 電阻於 Vcc 與 S 之間,
當按下按鈕時訊會輸出數位訊號 1 開啟 LED,
當放開按鈕時訊會輸出數位訊號 0 開閉 LED。
*/
// 使用 LCD1602 I2C 顯示器顯示結果
// 定義 LCD 元件(位置 0x27 及 16x2 的顯示)
#include
LiquidCrystal_I2C lcd(0x27,16,2);
// 定義全域變數值
byte sensorPinDO = 7; // 定義感測器的接收腳位
byte ledPin = 13; // 定義 LED 的腳位
byte sensorValueDO = 0; // 儲存感測器的值
// 程式初化設定
void setup ()
{
lcd.begin(); // 開啟 LCD 元件
lcd.backlight(); // 開啟 LCD 背光
pinMode (ledPin, OUTPUT); // 設定 LED 為輸出模式
pinMode (sensorPinDO, INPUT); // 設定感測器為輸入模式
}
// 主程式迴圈
void loop ()
{
sensorValueDO = digitalRead(sensorPinDO); // 讀取聲音感測器的 DO 值
displayValue(!sensorValueDO, 0); // 將感應器 !DO 值顯示於 LCD
digitalWrite (ledPin, !sensorValueDO); // 依 !DO 值開啟或關閉 LED
}
// 顯示偵測觸發的值
void displayValue(int value, byte row) {
lcd.setCursor(0, row); // 設定游標位置
lcd.print("Value: ");
lcd.print(value); // 顯示偵測資料的值
lcd.print(" ");
}
下載程式碼

 ※  分享結束  ※


發佈留言