在本文中,我將向您展示如何使用一些 PICAXE 來制作這樣的東西。
要求
要完成此項目,您將需要以下內容:
一臺運行PICAXE 編輯器或類似 IDE 來對 PICAXE 進行編程的計算機。
編程電纜。我正在使用AXE-027。
一個PICAXE 20 平方米,一個 08 平方米。
一個LCD、一個LM34、433MHz TX和 RX 模塊。
面包板和跳線。
以下列表中的零件:
在本文中,我將使用 LM 34 溫度傳感器制作無線溫度計。從數據表:
“LM34 系列器件是精密集成電路溫度傳感器,其輸出電壓與華氏溫度成線性比例。LM34 器件比以開爾文校準的線性溫度傳感器具有優勢,因為用戶不需要從LM34 器件無需任何外部校準或微調即可在室溫下提供 +-1/2 o F 的典型精度,在-50 全范圍內提供+-1-1/2 o F 的典型精度o F 到 300 o F 溫度范圍。”
這對我的項目來說是完美的。
要從 LM34 讀取電壓,我使用的是PICAXE 08m2。這是一個很棒的小微控制器。溫度通過 RF 433MHz 模塊傳輸。在接收器方面,我將有一個 PICAXE 20m2,帶 LCD。
硬件
對于這個項目,我需要兩個電路:一個用于發送,一個用于接收。讓我們從發射器開始:
微控制器在 BC547 NPN 晶體管的幫助下打開/關閉 433MHz 模塊。這樣,我就不會過多地干擾其他無線應用程序。發射器模塊連接到 12v。這將增加范圍。
收件人:
軟件
我們需要兩個程序:一個用于發送,一個用于接收。您可以從下面的鏈接下載兩者。源代碼在正確的位置注釋,但這里是一些命令的一些解釋。
在發射器中:
readadc10 - 這是一個帶有兩個參數的命令,通道和變量。通道是模擬設備的引腳。就我而言,它是 LM34 的輸出引腳。該變量是一個字變量。我將我的 adc_raw 命名為。Readadc10 具有 10 位分辨率。
serout tx_pin,波特,(“LM34”,b0,b1,b10)
serout - 此命令傳輸串行數據,8 位,無奇偶校驗,1 個停止位。它需要三個參數:pin、baudmode 和 data。Pin 是發送引腳,我將其命名為 tx_pin。Baudmode設置為N2400_4,我程序中的數據是字節格式的adc_raw。在 PICAXE 環境中使用字變量時,字變量由兩個字節變量組成。閱讀PICAXE 手冊中有關變量的更多信息。我在 serout 命令中使用了限定符。我的限定詞是“LM34”。使用此功能,我可以讓不同的傳感器或設備進行報告,并且接收器將整理出預選賽。
在接收器中:
serin rx_pin,波特,(“LM34”),b6,b7,b27
serin - 此命令接收串行數據。它需要四個或更多參數。Rx_pin 是 PICAXE 20m2 上的接收引腳,baud 是波特率,(“LM23”)是一個限定符,這意味著在 LM34 之后接收到的所有內容都將被讀入變量。Serin 一次讀取一個字節,我需要將字節放入變量中。
將接收到的字節轉換為 acsii 字符。我正在使用 bintoascii 命令:
bintoascii tmp_c, b2, b3, b4
此命令將字變量轉換為單獨的字節值。
下載
下載源文件,玩得開心!
jc_20m2-無線溫度計.zip
結論
在這篇文章中,我制作了一個帶有兩個 PICAXE 的無線溫度計:一個 08M2 和一個 20M2。溫度讀數側有一個 LM34 華氏溫度傳感器。該傳感器的輸出由微控制器讀取,并通過無線模塊傳輸。接收器讀取串行數據,計算華氏溫度和攝氏度,最后在 LCD 上顯示溫度。
圖片和視頻
發射機:
接收者:
-
微控制器
+關注
關注
48文章
7573瀏覽量
151666 -
溫度計
+關注
關注
6文章
405瀏覽量
78505
發布評論請先 登錄
相關推薦
評論