實驗說明:
- 我們在電視綜藝節目裡面經常看到多個選手搶答問題,每個選手前面都有一個搶答器,誰先按下搶答器按鍵,誰前面的燈就會點亮,然後就可以回答主持人提出的問題。本章節將會教讀者如何製作一個搶答器。
- 本實驗就是將前一章節的按鍵控制LED的實驗擴展成3個按鍵對應3 個LED,並會佔用6 個數位I/O Pin。
材料:
- Arduino Uno R3
- USB 傳輸線
- 直插LED
- 按鍵開關
- 220Ω直插電阻
- 10kΩ直插電阻
- 麵包板
- 麵包板跳線
接線說明:
程式:
int redkey=10, yellowkey=9, greenkey=8;
int redled=7, yellowled=6, greenled=5;
int redkey_val, yellowkey_val, greenkey_val;
void setup()
{
pinMode(redled,OUTPUT);
pinMode(yellowled,OUTPUT);
pinMode(greenled,OUTPUT);
pinMode(redkey,INPUT);
pinMode(yellowkey,INPUT);
pinMode(greenkey,INPUT);
}
void loop()
{
redkey_val=digitalRead(redkey);
if(redkey_val==LOW)
digitalWrite(redled,LOW);
else
digitalWrite(redled,HIGH);
yellowkey_val=digitalRead(yellowkey);
if(yellowkey_val==LOW)
digitalWrite(yellowled,LOW);
else
digitalWrite(yellowled,HIGH);
greenkey_val=digitalRead(greenkey);
if(greenkey_val==LOW)
digitalWrite(greenled,LOW);
else
digitalWrite(greenled,HIGH);
}
程式說明:
- 第 1 列定義按鍵開關數位接口10Pin、9Pin、8Pin 。
- 第 2 列定義LED數位接口7Pin、6Pin、5Pin 。
- 第 3 列宣告3個變數redkey_val 、 yellowkey_val 、 greenkey_val。
- 第 7~9 列定義LED Pin為輸出Pin 。
- 第 10~12 列定義按鍵 Pin為輸入Pin。
- 第 16 列讀取數位接口10Pin 電位值賦給redkey_val。
- 第 17~20 列檢測按鍵是否按下,按鍵按下時紅色LED亮起。
- 第 22 列讀取數位接口9Pin 電位值賦給yellowkey_val。
- 第 23~26 列檢測按鍵是否按下,按鍵按下時黃色LED亮起。
- 第 28 列讀取數位接口8Pin 電位值賦給greenkey_val 。
- 第 29~32 列檢測按鍵是否按下,按鍵按下時綠色LED亮起。
下載完程序,我們自己製作的簡易搶答器就完成了。