大約71%的地球被水覆蓋,但可悲的是,只有2.5%是飲用水。隨著人口、污染和氣候變化的增加,預(yù)計(jì)到2025年,我們將經(jīng)歷長(zhǎng)期的水資源短缺。一方面,民族和國(guó)家之間已經(jīng)存在分享河水的小爭(zhēng)議,另一方面,由于我們的疏忽,我們作為人類(lèi)浪費(fèi)了大量的飲用水。
它第一次可能看起來(lái)不大,但是如果你的水龍頭每秒滴一滴水,你只需要大約五個(gè)小時(shí)就可以浪費(fèi)一加侖水,這足以讓普通人生存兩天。那么可以做些什么來(lái)阻止這種情況呢?與往常一樣,答案在于技術(shù)的改進(jìn)。如果我們將所有手動(dòng)水龍頭替換為一個(gè)自動(dòng)打開(kāi)和關(guān)閉的智能水龍頭,我們不僅可以節(jié)約用水,還可以擁有更健康的生活方式,因?yàn)槲覀儾槐赜门K手操作水龍頭。因此,在這個(gè)項(xiàng)目中,我們將使用Arduino構(gòu)建一個(gè)自動(dòng)飲水機(jī)和一個(gè)電磁閥,當(dāng)玻璃杯靠近它時(shí),它可以自動(dòng)給你水。聽(tīng)起來(lái)很酷吧!所以讓我們建立一個(gè)...
所需材料
電磁閥
Arduino Uno (任何版本)
IRF540 場(chǎng)效應(yīng)管
1k 和 10k 電阻器
面包板
連接線
工作理念
自動(dòng)飲水機(jī)背后的概念非常簡(jiǎn)單。我們將使用HCSR04 超聲波傳感器來(lái)檢查是否有任何物體,使得玻璃被放置在分配器之前。電磁閥將用于控制水的流動(dòng),即通電時(shí)水將流出,當(dāng)斷電時(shí),水將停止。因此,我們將編寫(xiě)一個(gè)Arduino程序,該程序始終檢查水龍頭附近是否放置了任何物體,如果是,則電磁閥將打開(kāi)并等待直到對(duì)象被移除,一旦物體被移除,電磁閥將自動(dòng)關(guān)閉,從而關(guān)閉供水。
電路圖
基于 Arduino 的飲水機(jī)的完整電路圖如下所示
本項(xiàng)目使用的電磁閥為12V閥,最大額定電流為1.2A,連續(xù)額定電流為700mA。也就是說(shuō),當(dāng)閥門(mén)打開(kāi)時(shí),它將消耗大約 700mA 來(lái)保持閥門(mén)打開(kāi)。眾所周知,Arduino 是一種以 5V 工作的開(kāi)發(fā)板,因此我們需要一個(gè)開(kāi)關(guān)驅(qū)動(dòng)器電路來(lái)打開(kāi)和關(guān)閉電磁閥。
本項(xiàng)目中使用的開(kāi)關(guān)器件是IRF540N N 溝道 MOSFET。它分別具有引腳 1 的 3 個(gè)引腳門(mén)、源極和漏極。如電路圖所示,螺線管的正極端子由Arduino的Vin引腳供電。因?yàn)槲覀儗⑹褂?12V 適配器為 Arduino 供電,因此 VIN 引腳將輸出 12V,可用于控制電磁閥。電磁閥的負(fù)極端子通過(guò) MOSFET 的源極和漏極引腳接地。因此,只有當(dāng) MOSFET 導(dǎo)通時(shí),電磁閥才會(huì)通電。
MOSFET 的柵極引腳用于打開(kāi)或關(guān)閉它。如果柵極引腳接地,它將保持關(guān)閉狀態(tài),如果施加?xùn)艠O電壓,它將接通。為了在柵極引腳未施加電壓時(shí)保持 MOSFET 關(guān)斷,柵極引腳通過(guò)一個(gè) 10k 電阻器拉至地。Arduino引腳12用于打開(kāi)或關(guān)閉MOSFET,因此D12引腳通過(guò)1K電阻連接到柵極引腳。該 1K 電阻器用于限流目的。
超聲波傳感器由Arduino的+5V和接地引腳供電。回聲和觸發(fā)引腳分別連接到引腳 8 和引腳 9。然后,我們可以對(duì)Arduino進(jìn)行編程,以使用超聲波傳感器來(lái)測(cè)量距離,并在檢測(cè)到物體時(shí)打開(kāi)MOSFET。整個(gè)電路很簡(jiǎn)單,因此可以很容易地構(gòu)建在面包板的頂部。建立連接后,我的在下面看起來(lái)像這樣。
對(duì) Arduino 板進(jìn)行編程
對(duì)于這個(gè)項(xiàng)目,我們必須編寫(xiě)一個(gè)程序,該程序使用 HCSR-04 超聲波傳感器來(lái)測(cè)量它前面物體的距離。當(dāng)距離小于10cm時(shí),我們必須打開(kāi)MOSFET,否則我們必須關(guān)閉MOSFET。我們還將使用連接到引腳 13 的板載 LED,并將其與 MOSFET 一起切換,以便確保 MOSFET 是處于導(dǎo)通還是關(guān)斷狀態(tài)。本頁(yè)末尾給出了執(zhí)行相同操作的完整程序。在下面,我通過(guò)將程序分解為有意義的小片段來(lái)解釋該程序。
程序從宏定義開(kāi)始。我們有超聲波傳感器的觸發(fā)和回波引腳,MOSFET柵極引腳和LED作為Arduino的I / O。因此,我們已經(jīng)定義了這些將連接到哪個(gè)引腳。在我們的硬件中,我們已將回聲和觸發(fā)引腳連接到 8 和 9千分別是數(shù)字引腳。然后,MOSFET 引腳連接到引腳 12,板載 LED 默認(rèn)連接到引腳 13。我們使用以下行定義相同
#define trigger 9
#define echo 8
#define LED 13
#define MOSFET 12
在設(shè)置函數(shù)中,我們聲明哪些引腳是輸入的,哪些是輸出的。在我們的硬件中,只有超聲波(US)傳感器的回波引腳是輸入引腳,其余都是輸出引腳。所以我們使用 Arduino 的 pinMode 函數(shù)來(lái)指定如下所示的相同內(nèi)容
pinMode(trigger,OUTPUT);
pinMode(echo,INPUT);
pinMode(LED,OUTPUT);
pinMode(MOSFET,OUTPUT);
在主循環(huán)函數(shù)中,我們調(diào)用名為 measure_distance() 的函數(shù)。此函數(shù)使用美國(guó)傳感器測(cè)量其前方物體的距離,并將值更新為變量“距離”。要使用美國(guó)傳感器測(cè)量距離,觸發(fā)引腳必須首先保持低電平兩微秒,然后保持高電平十微秒,然后再次保持低電平兩微秒。這將向空氣中發(fā)送超聲波信號(hào)的聲波,這些信號(hào)將被它前面的物體反射,回聲引腳將拾取它反射的信號(hào)。然后,我們使用所用時(shí)間值來(lái)計(jì)算傳感器前方物體的距離。
digitalWrite(trigger,LOW);delayMicroseconds(2);digitalWrite(trigger,HIGH);delayMicroseconds(10);digitalWrite(trigger,LOW);delayMicroseconds(2);time=pulseIn(echo,HIGH);distance=time*340/20000;
計(jì)算距離后,我們必須使用簡(jiǎn)單的if語(yǔ)句比較距離值,如果該值小于10cm,則使MOSFET和LED變高,在下面的其他語(yǔ)句中,我們使MOSFET和LED變低。執(zhí)行相同操作的程序如下所示。
if(distance<10)
{
digitalWrite(LED,HIGH);digitalWrite(MOSFET,HIGH);
}
else
{
digitalWrite(LED,LOW);digitalWrite(MOSFET,LOW);
}
自動(dòng)飲水機(jī)的工作原理
按照電路中所示進(jìn)行連接,并將以下給定的程序上傳到Arduino板中。進(jìn)行一些簡(jiǎn)單的安排,將電磁閥連接到進(jìn)水口,并使用 12V 適配器為 Arduino 板的直流插孔為電路供電。確保板載 LED 已關(guān)閉,這可確保電磁閥也熄滅。我為演示該項(xiàng)目所做的設(shè)置如下所示
如您所見(jiàn),我將超聲波傳感器直接放置在電磁閥下方,這樣當(dāng)玻璃/滾筒放置在電磁閥下方時(shí),它與超聲波傳感器直接相對(duì)。該物體將由超聲波傳感器感應(yīng),MOSFET 和 LED 將打開(kāi),從而使電磁閥打開(kāi),水向動(dòng)。
同樣,當(dāng)玻璃被移除時(shí),超聲波傳感器告訴Arduino前面沒(méi)有玻璃,因此Arduino關(guān)閉閥門(mén)。該項(xiàng)目的完整工作可以在下面的視頻中找到。如果您對(duì)使其工作有任何疑問(wèn),請(qǐng)將其發(fā)布在評(píng)論部分或使用論壇尋求技術(shù)幫助。
警告:不同的電磁閥具有不同的工作電壓和電流額定值,請(qǐng)確保您的電磁閥在 12V 下工作并且最大消耗不超過(guò) 1.5A。
#define trigger 9
#define echo 8
#define LED 13
#define MOSFET 12
float time=0,distance=0;
void setup()
{
Serial.begin(9600);
pinMode(trigger,OUTPUT);
pinMode(echo,INPUT);
pinMode(LED,OUTPUT);
pinMode(MOSFET,OUTPUT);
delay(2000);
}
void loop()
{
measure_distance();
if(distance<10)
{
digitalWrite(LED,HIGH);digitalWrite(MOSFET,HIGH);
}
else
{
digitalWrite(LED,LOW);digitalWrite(MOSFET,LOW);
}
delay(500);
}
void measure_distance()
{
digitalWrite(trigger,LOW);
delayMicroseconds(2);
digitalWrite(trigger,HIGH);
delayMicroseconds(10);
digitalWrite(trigger,LOW);
delayMicroseconds(2);
time=pulseIn(echo,HIGH);
distance=time*340/20000;
}
-
電磁閥
+關(guān)注
關(guān)注
14文章
512瀏覽量
31747 -
Arduino
+關(guān)注
關(guān)注
188文章
6479瀏覽量
188680
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
飲水機(jī)節(jié)電改造電路

基于Arduino開(kāi)發(fā)板和電磁閥的自動(dòng)飲水機(jī)制作
從傳統(tǒng)飲水機(jī)到智能即熱飲水機(jī)
維修飲水機(jī)
智能家居——多功能飲水機(jī)的設(shè)計(jì)與實(shí)現(xiàn)
飲水機(jī)自動(dòng)開(kāi)門(mén)開(kāi)機(jī)電路
一款飲水機(jī)的節(jié)電措施電子資料
紅外無(wú)線遙控飲水機(jī)相關(guān)資料分享
基于單片機(jī)的智能飲水機(jī)功能設(shè)計(jì)
飲水機(jī)原理_飲水機(jī)內(nèi)部結(jié)構(gòu)詳解
智能化飲水機(jī)的優(yōu)點(diǎn)有哪些_智能化飲水機(jī)工作原理
智能飲水機(jī)功能介紹_智能飲水機(jī)的特點(diǎn)及價(jià)格
飲水機(jī)的制冷和制熱原理分別是什么?

自動(dòng)寵物飲水機(jī)和消耗監(jiān)測(cè)

評(píng)論