|
I/O 口的意思即為INPUT 接口和OUTPUT 接口,到目前為止我們設計的小燈實驗都還只是應用到Arduino 的I/O 口的輸出功能,這個實驗我們來嘗試一下使用Arduino的I/O 口的輸入功能即為讀取外接設備的輸出值,我們用一個按鍵和一個LED 小燈完成一個輸入輸出結合使用的實驗,讓大家能簡單了解I/O 的作用。按鍵開關大家都應該比較了解,屬于開關量(數字量)元件,按下時為閉合(導通)狀態。完成本實驗要用到的元件如下:
按鍵開關*1
直插LED*1
220Ω電阻*1
10KΩ電阻*1
面包板*1
面包板跳線*1 扎
圖片1.png (38.08 KB, 下載次數: 93)
下載附件
2018-10-30 08:56 上傳
我們將按鍵接到數字7 接口,紅色小燈接到數字11 接口(Arduino 控制器0-13 數字I/O 接口都可以用來接按鍵和小燈,但是盡量不選擇0 和1 接口,0 和1 接口為接口功能復用,除I/O 口功能外也是串口通信接口,下載程序時屬于與PC 機通信故應保持0 和1 接口懸空,所以為避免插拔線的麻煩盡量不選用0 和1 接口),按下面的原理圖連接好電路。
圖片2.png (106.91 KB, 下載次數: 103)
下載附件
2018-10-30 08:56 上傳
我們分析電路可知當按鍵按下時,數字7 接口可讀出為高電平。這時我們使數字11 口輸出高電平可使小燈亮起,程序中我們判斷數字7 口是否為低電平,要為低電平使數字11 口輸出也為低電平小燈不亮,原理同上。
圖片3.png (338.86 KB, 下載次數: 93)
下載附件
2018-10-30 08:56 上傳
參考源程序:
int ledpin=11;//定義數字11 接口
int inpin=7;//定義數字7 接口
int val;//定義變量val
void setup()
{
pinMode(ledpin,OUTPUT);//定義小燈接口為輸出接口
pinMode(inpin,INPUT);//定義按鍵接口為輸入接口
}
void loop()
{
val=digitalRead(inpin);//讀取數字7 口電平值賦給val
if(val==LOW)//檢測按鍵是否按下,按鍵按下時小燈亮起
{ digitalWrite(ledpin,LOW);}
else
{ digitalWrite(ledpin,HIGH);}
}
想了解更多可登錄創客集結號
|
|