0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何根據(jù)溫度使用Arduino控制家用AC設(shè)備

科技觀察員 ? 來(lái)源:circuitdigest ? 作者:潘卡伊·卡特里 ? 2022-11-23 16:51 ? 次閱讀

假設(shè)您坐在房間里感覺(jué)很冷,并且希望加熱器自動(dòng)打開(kāi),然后在室溫升高一段時(shí)間后關(guān)閉,那么這個(gè)項(xiàng)目可以幫助您根據(jù)溫度自動(dòng)控制家用電器。在這里,我們正在根據(jù)溫度使用Arduino控制家用AC設(shè)備。在這里,我們使用熱敏電阻來(lái)讀取溫度。

在本教程中,我們將連接帶有繼電器的交流電器,并使用Arduino制作溫控家庭自動(dòng)化系統(tǒng)。它還在與電路連接的 16*2 LCD 顯示屏上顯示溫度和設(shè)備狀態(tài)。

所需材料

Arduino UNO

繼電器 (5v)

16*2液晶顯示屏

燈泡 (節(jié)能燈)

NTC熱敏電阻 10k

連接線

電阻器(1k 和 10k 歐姆)

電位器 (10k)

電路圖

pYYBAGN93w6AF96HAADLkQiTB_0934.png

這種基于溫度的家庭自動(dòng)化系統(tǒng)由各種組件組成,如Arduino板,LCD顯示器,繼電器和熱敏電阻。工作主要取決于繼電器和熱敏電阻,隨著溫度升高,繼電器將被打開(kāi),如果溫度降至預(yù)設(shè)值以下,則繼電器將被關(guān)閉。與繼電器連接的家用電器也將相應(yīng)地打開(kāi)和關(guān)閉。在這里,我們使用CFL燈泡作為AC設(shè)備。整個(gè)觸發(fā)過(guò)程和溫度值設(shè)置由編程的Arduino板執(zhí)行。它還為我們提供了有關(guān)每半秒的溫度變化和LCD屏幕上的電器狀態(tài)的詳細(xì)信息。

中繼:

繼電器是一種電磁開(kāi)關(guān),由小電流控制,用于打開(kāi)和關(guān)閉相對(duì)較大的電流。這意味著通過(guò)施加小電流,我們可以打開(kāi)繼電器,從而允許更大的電流流動(dòng)。繼電器是使用小得多的直流電流控制交流(交流)設(shè)備的一個(gè)很好的例子。常用的繼電器是單刀雙擲(SPDT)繼電器,它有五個(gè)端子如下:

poYBAGN93xCAZNY3AAApMLw0Zfk139.gif

當(dāng)線圈沒(méi)有施加電壓時(shí),COM(共)連接到NC(常閉觸點(diǎn))。當(dāng)對(duì)線圈施加一些電壓時(shí),產(chǎn)生的電磁場(chǎng)會(huì)吸引電樞(連接到彈簧的杠桿),COM和NO(常開(kāi)觸點(diǎn))被連接,從而允許更大的電流流動(dòng)。繼電器有多種額定值,這里我們使用 5V 工作電壓繼電器,允許 7A-250VAC 電流流動(dòng)。

繼電器通過(guò)使用由晶體管二極管和電阻組成的小型驅(qū)動(dòng)器電路進(jìn)行配置。晶體管用于放大電流,以便全電流(來(lái)自直流電源 – 9v 電池)可以流過(guò)線圈以使其完全通電。電阻用于為晶體管提供偏置。二極管用于防止晶體管關(guān)閉時(shí)的反向電流。每個(gè)電感線圈在突然關(guān)閉時(shí)都會(huì)產(chǎn)生相等且相反的電動(dòng)勢(shì),這可能會(huì)對(duì)元件造成永久性損壞,因此必須使用二極管來(lái)防止反向電流。繼電器模塊在市場(chǎng)上很容易買(mǎi)到,其所有驅(qū)動(dòng)器電路都在板上,或者您可以使用上述組件來(lái)創(chuàng)建它。這里我們使用了5V繼電器模塊

poYBAGN93xSAbNV5AABBp_h6x4w668.jpg

pYYBAGN93xaAXhCVAAArAvfftiE699.png

使用熱敏電阻計(jì)算溫度:

我們從分壓器電路中得知:

poYBAGN93xmAYkLwAAAnOuQ4IuY898.png

Vout= (Vin * Rt) / (R + Rt)

因此,Rt 的值將是:

Rt = R (Vin/Vout) – 1

這里Rt將是熱敏電阻(Rt)的電阻,R將是10k歐姆電阻。

該公式用于根據(jù)輸出電壓Vo的測(cè)量值計(jì)算熱敏電阻電阻。我們可以從 Arduino 引腳 A0 處的 ADC 值中獲取電壓輸出的值,如下所示的 Arduino 代碼。

根據(jù)熱敏電阻電阻計(jì)算溫度

在數(shù)學(xué)上,熱敏電阻電阻只能借助斯坦-哈特方程計(jì)算。

T = 1 / (A + B*ln(Rt) + C*ln (Rt)3 )

其中,A、B 和 C 是常數(shù),Rt 是熱敏電阻電阻,ln 表示對(duì)數(shù)。

項(xiàng)目中使用的熱敏電阻的常量值為 A = 1.009249522×10?3,B= 2.378405444×10?4,C= 2.019202697×10?7.這些常數(shù)值可以通過(guò)輸入熱敏電阻在三種不同溫度下的三個(gè)電阻值從計(jì)算器中獲得。您可以直接從熱敏電阻的數(shù)據(jù)表中獲取這些常數(shù)值,也可以獲得不同溫度下的三個(gè)電阻值,并使用給定的計(jì)算器獲取常數(shù)值。

因此,為了計(jì)算溫度,我們只需要熱敏電阻電阻的值。從上面給出的計(jì)算中獲得 Rt 的值后,將值放入斯坦-哈特方程中,我們將得到以開(kāi)爾文為單位的溫度值。由于輸出電壓的微小變化會(huì)導(dǎo)致溫度變化。

Arduino 代碼
本文末尾給出了此溫控家用電器的完整Arduino代碼。在這里,我們已經(jīng)解釋了其中的幾個(gè)部分。

為了執(zhí)行數(shù)學(xué)運(yùn)算,我們使用頭文件“#include ”,LCD頭文件是“#include ”,“#define繼電器8”用于分配繼電器的輸入引腳。我們必須使用代碼分配LCD的引腳。

#include
#include "LiquidCrystal.h"
#define RELAY 8
LiquidCrystal lcd(6,7,5,4,3,2); // these are in format like LCD(Rs, EN, D4, D5, D6, D7)
為了在啟動(dòng)時(shí)設(shè)置繼電器(作為輸出)和LCD,我們必須在void設(shè)置部分編寫(xiě)代碼

Void setup(){
lcd.begin(16,2);
lcd.clear();
pinMode(RELAY, OUTPUT);
}
為了使用熱敏電阻的電阻通過(guò)斯坦-哈特方程計(jì)算溫度,我們?cè)诖a中執(zhí)行一些簡(jiǎn)單的數(shù)學(xué)方程,如上面的計(jì)算中所述:

float a = 1.009249522e-03, b = 2.378405444e-04, c = 2.019202697e-07;
float T, logRt, Tf, Tc;
float Thermistor(int Vo) {
logRt = log(10000.0*((1024.0/Vo-1)));
T = (1.0 / (a + b*logRt + c* logRt * logRt * logRt)); // We get the temperature value in Kelvin from this Stein-Hart equation
Tc = T - 273.15; // Convert Kelvin to Celsius
Tf = (Tc * 1.8) + 32.0; // Convert Kelvin to Fahrenheit
return T;
}
在下面的代碼中,功能熱敏電阻從Arduino的模擬引腳讀取值,并通過(guò)執(zhí)行數(shù)學(xué)運(yùn)算來(lái)打印溫度值

lcd.print((Thermistor(analogRead(0))));
該值由熱敏電阻函數(shù)獲取,然后開(kāi)始打印計(jì)算

float Thermistor(int Vo)

我們必須根據(jù)溫度編寫(xiě)打開(kāi)和關(guān)閉燈的條件的代碼,因?yàn)槲覀冊(cè)O(shè)置了溫度值,例如如果溫度升高超過(guò) 28 攝氏度,燈將打開(kāi),如果燈保持關(guān)閉。因此,每當(dāng)溫度高于 28 度時(shí),我們需要使繼電器引腳 (PIN 8) 變高以使繼電器模塊打開(kāi)。當(dāng)溫度低于 28 度時(shí),我們需要將繼電器引腳調(diào)低以關(guān)閉繼電器模塊。

if (Tc > 28) digitalWrite(RELAY, HIGH),lcd.setCursor(0,1),lcd.print("Light status:ON "),delay(500); else

if (Tc < 28) digitalWrite(RELAY, LOW),lcd.setCursor(0,1),lcd.print("Light status:OFF"),delay(500); ?

溫控家庭自動(dòng)化系統(tǒng)工作原理

要為 Arduino 供電,您可以通過(guò) USB 將其供電到筆記本電腦或連接 12v 適配器。LCD與Arduino接口以顯示溫度值,熱敏電阻和繼電器根據(jù)電路圖連接。模擬引腳(A0)用于每時(shí)每刻檢查熱敏電阻引腳的電壓,在通過(guò)Arduino代碼使用Stein-Hart方程進(jìn)行計(jì)算后,我們能夠獲得溫度并將其以攝氏度和華氏度顯示在LCD上。

poYBAGN93xuAaLiEAACf-uks90I313.jpg

當(dāng)溫度升高超過(guò) 28 攝氏度時(shí),Arduino 通過(guò)使引腳 8 升高(繼電器模塊連接的位置)使繼電器模塊打開(kāi),當(dāng)溫度低于 28 度時(shí),Arduino 通過(guò)使引腳低關(guān)閉繼電器模塊。CFL燈泡也將根據(jù)繼電器模塊打開(kāi)和關(guān)閉。

#include

#include "LiquidCrystal.h"

#define RELAY 8

LiquidCrystal lcd(6,7,5,4,3,2);

float A = 1.009249522e-03, B = 2.378405444e-04, C = 2.019202697e-07;

float T,logRt,Tf,Tc;

float Thermistor(int Vo) {

logRt = log(10000.0*((1024.0/Vo-1)));

T = (1.0 / (A + B*logRt + C*logRt*logRt*logRt)); // We get the temperature value in Kelvin from this Stein-Hart equation

Tc = T - 273.15; // Convert Kelvin to Celcius

Tf = (T * 1.8) + 32.0; // Convert Kelvin to Fahrenheit

return T;

}


void setup() {

lcd.begin(16,2);

lcd.clear();

pinMode(RELAY, OUTPUT);

}


void loop() {



lcd.setCursor(0,0);

lcd.print("Temperature:");

lcd.print(int(Thermistor(analogRead(0))));

lcd.print("C ");

delay(500); // wait 0.5 seconds before sampling temperature again


if (Tc > 28) digitalWrite(RELAY, HIGH),lcd.setCursor(0,1),lcd.print("Light status:ON "),delay(500);

else if (Tc < 28) digitalWrite(RELAY, LOW),lcd.setCursor(0,1),lcd.print("Light status:OFF"),delay(500);?



}

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 熱敏電阻
    +關(guān)注

    關(guān)注

    14

    文章

    1175

    瀏覽量

    101622
  • 家用電器
    +關(guān)注

    關(guān)注

    2

    文章

    265

    瀏覽量

    29496
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6477

    瀏覽量

    187571
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    家用電的安全電壓與安全溫度

    誰(shuí)知道家用電的安全電壓與安全溫度是多少啊 ,我想做一個(gè)控制家用電器的智能系統(tǒng) ,利用溫控傳感器控制各個(gè)部件
    發(fā)表于 04-17 18:59

    基于家用電器中的無(wú)傳感器AC電機(jī)控制

    速度電機(jī)驅(qū)動(dòng)讓制造商有機(jī)會(huì)使用更精密的控制程序,這將增強(qiáng)設(shè)備性能,提高總體能效。因此,配備了可變速度驅(qū)動(dòng)和智能控制家用電器勝過(guò)了那些配備無(wú)控制
    發(fā)表于 10-31 17:21

    arduino控制溫度/濕度的教程

    描述用arduino控制溫度/濕度
    發(fā)表于 07-04 06:14

    利用AC5EC創(chuàng)建一個(gè)Arduino-Uno兼容板

    描述具有內(nèi)置 512K EEPROM 和時(shí)鐘 (AC5EC) 的 Arduino 克隆AC5EC板包含一個(gè)微控制器、兩個(gè) EEPROM 模塊、一個(gè)時(shí)鐘和日歷模塊、兩個(gè)晶體振蕩器以及幾個(gè)
    發(fā)表于 07-07 06:39

    如何使用Arduino控制繼電器模塊藍(lán)牙和紅外遙控器控制家用電器

    描述Arduino控制繼電器模塊藍(lán)牙和紅外在這個(gè) Arduino 項(xiàng)目中,我解釋了如何使用 Arduino 控制繼電器模塊從智能手機(jī)藍(lán)牙和紅
    發(fā)表于 07-28 06:21

    使用Arduino和微控制器制作數(shù)字溫度控制

    描述過(guò)零檢測(cè)器和功率輸出我的項(xiàng)目是關(guān)于使用 Arduino 或任何使用功率可控硅控制的微控制器制作數(shù)字溫度控制。PCB
    發(fā)表于 08-26 07:50

    家用電器中的無(wú)傳感器AC電機(jī)控制原理

    家用電器中的無(wú)傳感器AC電機(jī)控制原理 全世界對(duì)水和能源保護(hù),以及對(duì)新產(chǎn)品和服務(wù)的總體環(huán)保性的關(guān)注無(wú)疑影響著家用電器市場(chǎng)。實(shí)際監(jiān)管標(biāo)準(zhǔn)和建議,無(wú)論是一國(guó)
    發(fā)表于 03-18 11:37 ?1144次閱讀

    如何使用Arduino Manager從移動(dòng)設(shè)備或平板電腦控制Arduino

    對(duì)于家庭自動(dòng)化,Arduino的遠(yuǎn)程控制或監(jiān)視,Arduino Manager可以完成所有工作。以下是使用它從移動(dòng)設(shè)備或平板電腦控制
    的頭像 發(fā)表于 12-05 08:44 ?4355次閱讀

    Arduino溫度傳感器之繼電器控制風(fēng)扇

    一、介紹通過(guò)Arduino R3開(kāi)放板讀取LM35溫度傳感器參數(shù),將參數(shù)轉(zhuǎn)換成溫度值,根據(jù)溫度值開(kāi)發(fā)板發(fā)出高電平,將繼電器常開(kāi)開(kāi)關(guān)打開(kāi),使風(fēng)
    發(fā)表于 12-03 20:51 ?14次下載
    <b class='flag-5'>Arduino</b><b class='flag-5'>溫度</b>傳感器之繼電器<b class='flag-5'>控制</b>風(fēng)扇

    arduino控制溫度/濕度

    電子發(fā)燒友網(wǎng)站提供《用arduino控制溫度/濕度.zip》資料免費(fèi)下載
    發(fā)表于 07-06 09:08 ?0次下載
    用<b class='flag-5'>arduino</b><b class='flag-5'>控制</b><b class='flag-5'>溫度</b>/濕度

    如何使用Amazon Echo dot控制家用電器

    Arduino UNO 和 ESP8266-01 Wi-Fi 模塊將 Echo dot 揚(yáng)聲器與 AC 設(shè)備連接起來(lái)。在本教程之后,您將能夠通過(guò)Alexa控制任何
    發(fā)表于 08-22 16:26 ?1715次閱讀
    如何使用Amazon Echo dot<b class='flag-5'>控制</b><b class='flag-5'>家用</b>電器

    使用Arduino MKR1000構(gòu)建溫度傳感設(shè)備

    電子發(fā)燒友網(wǎng)站提供《使用Arduino MKR1000構(gòu)建溫度傳感設(shè)備.zip》資料免費(fèi)下載
    發(fā)表于 12-14 11:42 ?0次下載
    使用<b class='flag-5'>Arduino</b> MKR1000構(gòu)建<b class='flag-5'>溫度</b>傳感<b class='flag-5'>設(shè)備</b>

    使用arduino溫度計(jì)

    電子發(fā)燒友網(wǎng)站提供《使用arduino溫度計(jì).zip》資料免費(fèi)下載
    發(fā)表于 02-07 14:10 ?0次下載
    使用<b class='flag-5'>arduino</b><b class='flag-5'>溫度</b>計(jì)

    如何連接簧片開(kāi)關(guān)來(lái)控制我們的家用設(shè)備

    電子發(fā)燒友網(wǎng)站提供《如何連接簧片開(kāi)關(guān)來(lái)控制我們的家用設(shè)備.zip》資料免費(fèi)下載
    發(fā)表于 02-08 15:13 ?0次下載
    如何連接簧片開(kāi)關(guān)來(lái)<b class='flag-5'>控制</b>我們的<b class='flag-5'>家用</b><b class='flag-5'>設(shè)備</b>

    AC DC電源模塊是否需要具有溫度保護(hù)功能

    AC DC電源模塊是一種常見(jiàn)的電力轉(zhuǎn)換設(shè)備,可以將交流電轉(zhuǎn)化為直流電。由于其應(yīng)用廣泛,例如家用電器、工業(yè)設(shè)備、通信設(shè)備等,其使用環(huán)境也非常復(fù)
    的頭像 發(fā)表于 07-24 11:07 ?757次閱讀