賀凱強
歐姆表或萬用表(歐姆檔)是我們測量電阻的常用工具。平時,我們只是把它作為一種消費的工具而已。如果進一步深究它的原理,并且將其中的電學知識與Arduino編程結合,就可以自己制作出一只能夠精確測量的歐姆表。這是一個將科學、技術、工程與數學融合的過程。拿著自制的歐姆表去測電阻,也將是一次非常有趣的體驗。
● 制作:歐姆表的電路連接
自制的多量程歐姆表是根據串聯電路的歐姆定律制成。Arduino將電路中電壓分配規律,轉化為數字信號。通過數字的變化,反推出未知電阻的阻值。我們參照自制多量程歐姆表的電路圖(如圖1),來解析自制多量程歐姆表的原理。

5V為待測電阻Rx和已知電阻R1之間的總電壓,V為電壓表測得的阻值。因為串聯電路的電流不變,所以根據公式可求得待測電阻的阻值為: 。
可見,要求得待測電阻的阻值,我們需要已知兩個變量。一個是定值電阻,一個是A0端口電壓。理論測量范圍為0到無窮大。已知Arduino UNO可提供5V的電壓,選擇1KΩ定值電阻作為電路的已知電阻。Arduino UNO可以將電路中的0~5V電壓轉換成數字信號0~1023,且兩者呈線性關系。例如,輸入模擬信號管腳的電壓為0V,轉換之后的數字為0;模擬信號管腳電壓為5V,轉換之后的電壓為1023。利用Mixly圖形化編程軟件,可以實現兩者轉換以及結果顯示。圖2為實際電路示意圖。紅色導線一端接入Arduino UNO板5V管腳,另一端作為測量電阻的引腳;1KΩ電阻一端接地,另外一端連接黑色導線作為測量電阻的引腳,同時連接藍色導線接入A0管腳。
之前我們已經了解到A0端口的測量值和A0和GND之間電壓V之間的換算關系為 ,將其代入到計算公式當中,可得A0數值和Rx的計算關系為: 。
● 改裝:繪制歐姆表的表盤
上述的歐姆表只是一個最初的模型,測量的電阻值只能在電腦上顯示。這樣的歐姆表只是對其原理的一個展現,還不能成為一個獨立的作品。為了使自制的歐姆表更貼近真實的歐姆表,我們可以對其做進一步改進,在圖2連線的基礎上,加入舵機。利用舵機角度的變化表示阻值的大小,制成指針式歐姆表。要解決的首要問題是,將測量到的電阻值轉換成為舵機的角度。選擇歐姆表的量程為0~10KΩ。已有舵機的旋轉范圍是0~180度,為了簡化計算過程,我們設置舵機轉動10度代表1KΩ,轉動5度代表最小刻度0.5KΩ。現設置歐姆表量程為0~10KΩ,因此舵機轉動的最大角度為100度。
使用直尺、半圓與圓規,在紙盒的表面畫出歐姆表的刻度盤,用舵機在刻度盤上比對位置,使得舵機的轉動軸和刻度盤的中心重合,以此來確定舵機的安裝位置,并用筆標記。再按照舵機的尺寸,挖空紙盒表面,將舵機安裝上去。舵機的三根引腳分別接Arduino UNO電源管腳、接地端與A1管腳。這樣,一個獨立歐姆表的連線和組裝工作已經完成。圖3為歐姆表刻度盤,圖4為指針式歐姆表實際電路示意圖。

● 玩轉:學習小數變量的使用
程序的編寫大致分為三個部分:第一個部分是對變量的定義,第二個部分是各個小程序的編寫,第三個部分是用程序語句連接各個小程序,最終實現歐姆表的功能。
第一部分的程序是定義變量。變量分為整數、小數、布爾、字符和字符串。如果要給數字賦予一個變量,需要定義變量為整數變量或者小數變量。我們在這一制作過程中,需要進行比較精確的計算,計算的過程與結果必須以小數的形式呈現。因此,我們選擇各個變量為小數變量。定義analog變量為小數變量,初始值為0。模擬端口A0的數值會賦予這個變量。同理,經過歐姆定律公式計算,得到的待測電阻數值用r來表示;r擴大10倍得到的數值賦予a,a與舵機旋轉的角度有關系。圖5為第一部分程序。
第二部分是各個小程序的編寫。首先根據歐姆定律,編寫待測電阻的計算程序。將模擬端口的A0數值賦予analog變量,再代入計算公式中。這里的計算公式與上述歐姆定律的計算公式一致。不同的是,總電壓V原先是5V,現在是與5V對應的1023,而電壓V1用變量analog表示。
名為“電阻”的程序被執行后,會得到待測電阻的精確數值。如果用舵機表示電阻值,電阻值的數值過小,需要進行放大。如待測電阻經過測量為5KΩ,如果舵機相應地轉動5度,指針轉動不明顯。但將電阻值放大十倍為50,舵機轉動50度,舵機轉動明顯,這樣歐姆表的指示將更加精確。
所以,需要執行“舵機顯示電阻”程序,程序內容為待測電阻數值擴大十倍。選擇A1端口為舵機的信號輸入端口,之后a與舵機轉動的角度進行映射,建立對應關系。0~10KΩ放大十倍為0~100,放大的數值和舵機轉動角度一一對應。圖6為第二部分程序。
第三部分程序是要連接第二部分的程序(如圖7)。

● 分享
自制的歐姆表與真正的歐姆表或者萬用表相比,其精確性相差很多。但從制作者的角度出發,在制作過程中享受不斷解決問題的過程,享受縮小與真實產品差距的陶醉和愉悅,這其中的收獲遠遠大于僅僅用歐姆表去測一個電阻。這是一名創客對自我的挑戰與對創新的執著。如果這名創客是一位小學生或者中學生,其教育意義與價值不言而喻。因此,在中小學創客空間建設過程中,不妨在工具區旁,專門為自制工具區留出位置。教師和學生可以將自制的歐姆表、電壓表等工具擺到自制工具區,這是對學生與教師個人創作的鼓勵與肯定,是對創客文化與精神的踐行,也是建設個性化創客空間的點睛之筆。本案例是自制電壓表項目的延伸,其原理都是基于對模擬輸入端口的深入理解,但該歐姆表在測量小電阻時其結果還并不令人滿意,我們先將這個問題分享出來,看一看大家能否有自己的解決方案,是否可以做一個量程可以調整的歐姆表呢?當然對于這一問題我將會在接下來的時間里,繼續追蹤研究。
本案例的分享視頻將會在以下公眾號中陸續登載。