Ardino基础教程 5_按键控制
實驗五:按鍵控制
I/O 口的意思即為INPUT 接口和OUTPUT 接口,到目前為止我們設計的小燈實驗都還只是應用到Arduino 的I/O 口的輸出功能,這個實驗我們來嘗試一下使用Arduino的I/O 口的輸入功能即為讀取外接設備的輸出值,我們用一個按鍵和一個LED 小燈完成一個輸入輸出結合使用的實驗,讓大家能簡單了解I/O 的作用。按鍵開關大家都應該比較了解,屬于開關量(數(shù)字量)元件,按下時為閉合(導通)狀態(tài)。
實驗器材清單
實驗原理接線圖
我們將按鍵接到數(shù)字7 接口,紅色小燈接到數(shù)字11 接口(Arduino 控制器0-13 數(shù)字I/O 接口都可以用來接按鍵和小燈,但是盡量不選擇0和1 接口,0 和1 接口為接口功能復用,除I/O 口功能外也是串口通信接口,下載程序時屬于與PC 機通信故應保持0 和1 接口懸空,所以為避免插拔線的麻煩盡量不選用0 和1 接口),按下面的原理圖連接好電路。
實物連接圖
下面開始編寫程序,我們就讓按鍵按下時小燈亮起,根據(jù)前面的學習
相信這個程序很容易就能編寫出來,相對于前面幾個實驗這個實驗的
程序中多加了一條條件判斷語句,這里我們使用if 語句,Arduino 的
程序便寫語句是基于C 語言的,所以C 的條件判斷語句自然也適用于
Arduino,像while、swich 等等。這里根據(jù)個人喜好我們習慣
于使用簡單易于理解的if 語句給大家做演示例程。
我們分析電路可知當按鍵按下時,數(shù)字7 接口可讀出為高電平,這時
我們使數(shù)字11 口輸出高電平可使小燈亮起,程序中我們判斷數(shù)字7
口是否為低電平,要為低電平使數(shù)字11 口輸出也為低電平小燈不亮,原理同上。
參考源程序:
int ledpin=11;//定義數(shù)字11 接口
int inpin=7;//定義數(shù)字7 接口
int val;//定義變量val
void setup()
{
pinMode(ledpin,OUTPUT);//定義小燈接口為輸出接口
pinMode(inpin,INPUT);//定義按鍵接口為輸入接口
}
void loop()
{
val=digitalRead(inpin);//讀取數(shù)字7 口電平值賦給val
if(val==LOW)//檢測按鍵是否按下,按鍵按下時小燈亮起
{ digitalWrite(ledpin,LOW);}
else
{ digitalWrite(ledpin,HIGH);}
}
實驗現(xiàn)象
當按鍵按下時,LED亮,按鍵沒有按下時,LED不亮。
下載完程序我們本次的小燈配合按鍵的實驗就完成了,本實驗的原理很簡單,廣泛被用于各種電路和電器中,實際生活中大家也不難在各種設備上發(fā)現(xiàn),例如大家的手機當按下任一按鍵時背光燈就會亮起,這就是典型應用了。你可以把LED當成繼電器,就可以控制220v電燈啦!
程序代碼
int ledpin=11;//定義數(shù)字11接口 int inpin=7;//定義數(shù)字7接口 int val;//定義變量val void setup() { pinMode(ledpin,OUTPUT);//定義小燈接口為輸出接口 pinMode(inpin,INPUT);//定義按鍵接口為輸入接口 } void loop() { val=digitalRead(inpin);//讀取數(shù)字7 口電平值賦給val if(val==LOW)//檢測按鍵是否按下,按鍵按下時小燈亮起 { digitalWrite(ledpin,LOW);} else { digitalWrite(ledpin,HIGH);} }總結
以上是生活随笔為你收集整理的Ardino基础教程 5_按键控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ardino基础教程 4_交通灯
- 下一篇: Ardino基础教程 6_抢答器