Arduino Basic (6) – AnalogRead 類比輸入

前面幾節講的都是數位的處理,也就是只有 0 和 1 兩種訊號,但我們的世界並不是只有 0 和 1 兩種訊號而已,我們還有更複雜的類比訊號。

諸如電壓、聲音、光亮、溫度等等的,都無法單純的由 0 和 1 構成。

那當我們需要處理這些訊號的時候該怎麼辦呢?

這時候就是 ADC (Analog to Digital Convert, ADC) 出場的時候啦!

Arduino 中的 ADC

Arduino 所採用的 AVR 微控制器內建有一組可多通道輸入多 ADC,根據型號的不同,其通道數目與效能也有所不同。

以我們常用的 Arduino UNO 為例,其所採用的 ATmega328p 微控制器內建有一組 6 通道 10 位元解析度的 A/D 轉換器,這 6 個通道的輸入腳位分別為 A0 ~ A5。

基本語法

在 Arduino 中要讀取 ADC 的輸入很簡單,但一樣要先在 setup() 中加入的設定。

讀值的語法也很簡單,就這樣:

事前準備

  • 可變電阻 x1

基本讀取

在這個範例中,我們將直接把可變電阻的電壓值透過 Arduino UNO 讀取後直接回傳到電腦上顯示。

硬體接線

程式碼

LED 亮度控制

透過可變電阻來改變 LED 的亮度。

硬體接線

程式碼

LED 跑馬燈速度控制

硬體接線

程式碼

模擬

到這邊,類比輸入的部分就算介紹完了,希望這篇文章的內容對你有所幫助~

在〈Arduino Basic (6) – AnalogRead 類比輸入〉中有 2 則留言

  1. 請問如何把監控視窗中的ADC數值顯示在LCD上呢? 有程式嗎?

您的見解

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料