《Arduino實戰》 2 2 獲得控制權

2021-09-23 14:44:15 字數 2082 閱讀 2789

arduino實戰

現在你的程式已經開始工作了,伴隨著led乙個接乙個地點亮和熄滅,下面我們要新增乙個按鈕,來控制這電路了。這個按鈕用來啟動和停止led序列的閃爍。

2.2.1 電路圖

電路圖如圖2-7所示。你需要保留最初版本的電路,並再新增乙個按鈕(s1)和乙個阻值為10 kω的電阻(r6)就可以了。

在你看懂了修改過的電路圖之後,就可以把新的元件新增到麵包板上了。

2.2.2 連線

首先,將arduino從usb電纜上斷開,然後將按鈕安裝到麵包板上,如圖2-8所示。請注意如何將其跨接在麵包板中間。電阻r6是乙個下拉電阻,在按鈕未被按下的時候,它能防止d2的輸入浮空,而將d2的輸入下拉到地(gnd),也就是低電平。當按鈕按下的時候,d2的輸入會接到5 v,也就是高電平。

圖2-9展示了在麵包板上組裝完成後的電路。arduino的供電由連線在計算機上的usb電纜提供。

上拉電阻和下拉電阻

在包含按鈕的電路中,上拉電阻和下拉電阻的使用是十分普遍的,它可以防止由電氣雜訊或干擾帶來的錯誤訊號。這個電阻將輸入口的電平保持在與程式檢測電位相反的電平上。乙個上拉電阻將電平上拉到5 v,乙個下拉電阻將電平下拉到地。

當你連線好按鈕和增加的電阻後,就可以來處理一下**這邊的工作了。在這個程式裡,我們要使用arduino中乙個專門的特性,稱為中斷。

2.2.3 認識中斷

arduino的中斷非常強大,它可以在任何時候打斷程式流程的執行。中斷就像你就要走進浴室時突然有人按門鈴一樣——你必須馬上處理它。arduino也是一樣的,一旦中斷訊號發出,你的程式就要馬上去處理它。

標準的arduino可以使用最多兩個中斷,但在這個專案中,你只會用到乙個。當按鈕被按下時就會發生乙個中斷,第一次按下按鈕會時led序列停止閃爍,再按一次則會使其重新開始閃爍,以此類推。

2.2.4 通過按鈕控制led的程式

下列**清單就是新版的程式。你可以在現有程式的基礎上修改,也可以再新建乙個程式。

**清單2-2 開始-停止顯示

標準的arduino有兩個中斷:中斷0繫結在2號數字引腳,中斷1繫結在3號數字引腳。arduino mega還有4個額外的中斷:中斷2繫結在21號數字引腳,中斷3繫結在20號數字引腳,中斷4繫結在19號數字引腳,中斷5繫結在18號數字引腳。

抖動消除

警告 很多人認為中斷是乙個高階技巧,但只要你夠仔細,應該可以毫無障礙地使用它。在中斷服務程式中,讓你的程式**盡可能小巧,這將會避免你在程式的其他部分遇到預料之外的事情。另外乙個警告就是,你不能在中斷服務程式中使用delay函式。

接下來讓我們一起來測試我們最新的程式吧。

2.2.5 燒寫和測試

將arduino通過usb電纜連線到你的計算機。確保你的程式已經被正確編譯,然後將其寫入到arduino中。當程式燒寫完成後,所有led都處於熄滅狀態,直到你按下按鈕。嘗試著多按幾次按鈕,觀察led序列如何開始和停止。

2.2.6 使用break語句

保留原來的電路不動,現在把乙個break語句新增到你的程式中。break``指令用於跳出乙個迴圈或者switch語句。你利用它停止led序列並保持led的點亮狀態,直到再次按下按鈕,所以如果你在已經點亮3個led的時候按下按鈕,這3個led就會一直處於點亮狀態,直到再次按下按鈕,序列才會繼續迴圈點亮。

下列**清單給出了使用break語句的新版程式。

**清單2-3 新增break語句

下面要檢查一下你的程式能否正常工作。

2.2.7 燒寫和測試

確保你的程式已經正確地編譯,然後燒寫並測試它。當按下按鈕時,閃爍的led序列應該會暫停,再次按下按鈕,序列應該重新開始迴圈。

是時候讓你的專案進入到下乙個階段了。你要來製作乙個反應測試儀。

2 2 使用ARDUINO控制MC20發簡訊

使用 原始碼位置 可以通過arduino給某個手機號傳送簡訊,這個 寫的比較完善,不是簡單的只是傳送指令,而且對mc20的反饋資料進行解析分析判斷是否正常。正常則執行下乙個執行,不正常就會重 送該指令。可以從除錯資訊很清楚判定現在的工作狀態。修改 內的需要被撥打的 號碼,然後編譯正常通過。char ...

Arduino 按鈕控制LED

按鈕開關我們用的按鈕開關一共4個引腳分別為1 2 3 4如下圖,其中1和2引腳始終相連 以下我們稱它為a腳 3和4引腳始終相連 以下我們叫它b腳 當按鈕按下時,a腳和b腳連線,不按按鈕情況它們不連線。實驗原理圖 首先我們要將led正極連線到uno 控制板數字引腳13,負極通過電阻歐連線到gnd 然後...

樹莓派控制Arduino

一 樹莓派中arduino的通訊方式 usb 1 arduino在樹莓派中是靠串列埠連線通訊的,一般有兩種通訊方式,一種是通過usb連線,一種是用gpio通訊。usb連線 1 將樹莓派與arduino通過usb線進行連線。2 在樹莓派終端輸入 ls dev tty 檢視兩者連線埠的名字。檢視有沒有t...