基於Arduino的按鍵控制LED實驗


I/O 口的意思即為INPUT 接口和OUTPUT 接口,到目前為止我們設計的小燈實驗都還只是應用到Arduino 的I/O 口的輸出功能,這個實驗我們來嘗試一下使用Arduino的I/O 口的輸入功能即為讀取外接設備的輸出值,我們用一個按鍵和一個LED 小燈完成一個輸入輸出結合使用的實驗,讓大家能簡單了解I/O 的作用。按鍵開關大家都應該比較了解,屬於開關量(數字量)元件,按下時為閉合(導通)狀態。完成本實驗要

用到的元件如下:

按鍵開關*1

 

 

 

 

紅色M5 直插LED*1

220Ω電阻*1

10KΩ電阻*1

面包板*1

面包板跳線*1 扎

我們將按鍵接到數字7 接口,紅色小燈接到數字11 接口(Arduino 控制器0-13 數字I/O 接口都可以用來接按鍵和小燈,但是盡量不選擇0 和1 接口,0 和1 接口為接口功能復用,除I/O 口功能外也是串口通信接口,下載程序時屬於與PC 機通信故應保持0 和1 接口懸空,所以為避免插拔線的麻煩盡量不選用0 和1 接口),按下面的原理圖連接好電路。

 

 

 

 

 

 

實物連接圖:

 

 

 

下面開始編寫程序,我們就讓按鍵按下時小燈亮起,根據前面的學習相信這個程序很容易就能編寫出來,相對於前面幾個實驗這個實驗的程序中多加了一條條件判斷語句,這里我們使用if 語句,Arduino 的程序便寫語句是基於C 語言的,所以C 的條件判斷語句自然也適用於Arduino,像while、swich 等等。這里根據個人喜好我們習慣

於使用簡單易於理解的if 語句給大家做演示例程。

我們分析電路可知當按鍵按下時,數字7 接口可讀出為高電平,這時我們使數字11 口輸出高電平可使小燈亮起,程序中我們判斷數字7 口是否為低電平,要為低電平使數字11 口輸出也為低電平小燈不亮,原理同上。

 1 int ledpin=11;//定義數字11 接口
 2 int inpin=7;//定義數字7 接口
 3 int val;//定義變量val
 4 void setup()
 5 {
 6 pinMode(ledpin,OUTPUT);//定義小燈接口為輸出接口
 7 pinMode(inpin,INPUT);//定義按鍵接口為輸入接口
 8 }
 9 void loop()
10 {
11 val=digitalRead(inpin);//讀取數字7 口電平值賦給val
12 if(val==LOW)//檢測按鍵是否按下,按鍵按下時小燈亮起
13 { digitalWrite(ledpin,LOW);}
14 else
15 { digitalWrite(ledpin,HIGH);}
16 }

實驗結果,及其現象:當按鍵按下時,LED亮,按鍵沒有按下時,LED不亮。

 

下載完程序我們本次的小燈配合按鍵的實驗就完成了,本實驗的原理很簡單,廣泛被用於各種電路和電器中,實際生活中大家也不難在各種設備上發現,例如大家的手機當按下任一按鍵時背光燈就會亮起,這就是典型應用了。你可以把LED當成繼電器,就可以控制220v電燈啦!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM