Arduino 模擬引腳


Arduino的模擬引腳的引用,網上不錯的一篇文章

參考:http://blog.sina.com.cn/s/blog_156e62ef90102xjio.html

 

模擬引腳

本文是對於Arduino芯片上模擬引腳的介紹。上面所說的Arduino芯片主要包括(Atmega8, Atmega168,Atmega328或Atmega1280)。

數模轉換電路

Arduino中使用的Atmega控制器都配有一個板載6通道數模轉換器,這個轉換器的精度為10bit,能夠返回0-1023的整數。盡管模擬引腳的主要功能是讀取模擬信號,但是實際上和0-13號數字引腳一樣,模擬引腳也可以進行INPUT、OUTPUT操作(GPIO)。因此,如果你在做項目時需要更多的數字引腳,那么模擬引腳也可用作GPIO操作。

引腳編號

A0、A1、A2、A3……就是模擬引腳的編號。你可以用這個編號讓模擬引腳輸出高電平或低電平。下面的例子會將A0口設置為輸出模式,並且輸出高電平 

 

1  pinMode(A0, OUTPUT);

digitalWrite(A0, HIGH);

 

上拉電阻

模擬引腳也有和數字引腳一樣的內置上拉電阻。通過下列代碼激活模擬引腳內部的上拉電阻。

digitalWrite(A0, HIGH); // 將上拉電阻激活。(這與普通的輸入引腳有點區別)

但是激活了上拉電阻后,再用analogRead()的話,讀出的值會受到影響。

一些額外需注意的細節

如果一個引腳已經被設置成為OUTPUT模式,analogRead函數就不能夠正常工作。因此,如果要將模擬引腳當做數字引腳並且設置了OUTPUT模式,請在調用analogRead前將這個模擬引腳重新定義為INPUT模式。 
如上所述,如果你將模擬引腳定為輸出模式並且輸出了HIGH,那么它內部的上拉電阻就會被激活。如果這時候再轉為INPUT,那么上拉電阻將依然工作着。(因此,你需要先設置為LOW,再轉換為INPUT,才能夠獲得正確結果。)

從Atmega的數據手冊中,我們可以知道:如果要在模擬引腳上進行快速的電平切換,會導致電子噪聲。這會給模電轉換模塊帶來“抖動”,從而影響到其他引腳上的模擬信號值讀取。因此,你需要在將模擬引腳進行電平操作切換后使用后用delay函數進行一小段時間的延遲,然后再使用analogRead()去讀取其他引腳上的模擬信號。

原文鏈接 
回到第零輯目錄

 

本文摘自 http://blog.csdn.net/amagamag/article/details/51734049  譯者:唐家勛 


免責聲明!

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



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