在本文中,我們將學(xué)習(xí)如何使用 Arduino 構(gòu)建基于觸控的變色植物。當(dāng)您觸摸植物時(shí),植物花瓶的顏色會(huì)自動(dòng)改變。這是一個(gè)不錯(cuò)的室內(nèi)裝飾項(xiàng)目,也是初學(xué)者構(gòu)建和學(xué)習(xí)一些有趣東西的小愛好項(xiàng)目。
現(xiàn)在,當(dāng)我們說(shuō)基于觸摸的植物時(shí),可能會(huì)出現(xiàn)一個(gè)常見問(wèn)題,即電子電路如何通過(guò)植物檢測(cè)到人類的觸摸。如今,觸摸感應(yīng)設(shè)備無(wú)處不在。我們可以在智能手機(jī)和不同類型的電器中看到觸摸屏。觸摸傳感器只是一個(gè)開關(guān),當(dāng)有人觸摸觸摸傳感器時(shí),傳感器會(huì)關(guān)閉電子電路并允許電流流動(dòng)。
觸摸傳感器類型
從手機(jī)到智能自動(dòng)售貨機(jī),如今,我們可以在所有現(xiàn)代設(shè)備中找到觸摸傳感器。觸摸傳感器主要有兩種類型,即 電阻式觸摸式和電容式觸摸式。類型名稱本身就表明了操作方式和工作原理。
電阻式觸摸傳感器:顧名思義,電阻式觸摸傳感器的工作原理是基于導(dǎo)體的電阻。當(dāng)人體發(fā)生觸摸時(shí),導(dǎo)體的電阻率會(huì)發(fā)生變化,也會(huì)產(chǎn)生電壓變化,這種電壓變化會(huì)被電路檢測(cè)到,事情就會(huì)發(fā)生。
電容式觸摸傳感器:這是最常用的觸摸傳感器類型。這僅僅是因?yàn)槲覀兛梢砸淮螆?zhí)行多個(gè)觸摸。電容式觸摸傳感器基于電容的變化工作,即當(dāng)我們觸摸傳感器時(shí),電路的電容發(fā)生變化,這將被檢測(cè)為觸摸?,F(xiàn)在讓我們?cè)敿?xì)討論一下我們的電路。
如何檢測(cè)植物的觸摸?
我們廠的電路也是基于電容式觸摸傳感器。也就是說(shuō),我們將一根電線連接到我們的植物上,使其像電極一樣,然后當(dāng)我們觸摸植物時(shí),由于我們身體的存在,電容會(huì)發(fā)生變化,這將被我們的電路檢測(cè)到。說(shuō)到電路,我們需要一個(gè)微控制器來(lái)檢測(cè)電容的變化并控制整個(gè)系統(tǒng)。在我們的例子中,微控制器是 Arduino。
制作我們的變色植物花瓶所需的材料
阿杜諾
共陰極RGB LED
1兆歐電阻(棕色、黑色、綠色)
連接線
有基地的植物
普通PCB
基于觸摸的變色 Arduino Plant 電路圖
該項(xiàng)目中使用的完整電路圖如下所示。該電路是使用 Easy EDA 創(chuàng)建的,如您所見,它是一個(gè)非常簡(jiǎn)單的電路。
首先,在 Arduino 引腳 2 和引腳 4 之間連接一個(gè)兆歐電阻。然后將一根長(zhǎng)線(銅)連接到引腳 4。這條線充當(dāng)電極或觸摸引線,然后將 RGB LED 公共接地連接到地,紅色連接到Arduino的D5和D6的綠色,D7的藍(lán)色,最后將電線連接到植物體上,就是這樣。連接后我的硬件設(shè)置如下所示。
我已將 RGB LED 連接到一個(gè)普通的穿孔板上(如下圖所示),最后將底座(玻璃)放在 PCB 上方。而已。
用于檢測(cè)植物觸摸并更改 LED 顏色的 Arduino 程序
此項(xiàng)目中使用的完整程序可在此頁(yè)面底部找到。要檢測(cè)植物的電容,我們需要使用電容傳感器庫(kù)。您可以從以下鏈接下載 Arduino 電容式傳感器庫(kù)。
下載 Arduino 電容式觸摸傳感器庫(kù)
下載庫(kù)并將其添加到您的 Arduino IDE 后,將該庫(kù)包含到您的代碼中。該庫(kù)有助于讀取 Arduino 引腳的電容。
#include <電容傳感器.h>
我們已經(jīng)在引腳 2 和 4 之間連接了電阻,因此我們需要測(cè)量引腳 4 中的電容,為此,定義引腳。
電容傳感器 cs_2_4 = 電容傳感器(2,4);
電容傳感器切換微控制器引腳,即它將引腳發(fā)送到新狀態(tài),然后等待接收引腳更改為與發(fā)送引腳相同的狀態(tài)。在設(shè)置部分,我為 LED 和傳感器引線定義了不同的引腳。
pinMode(4,輸入); pinMode(5,輸出); pinMode(6,輸出); pinMode(7,輸出);
在循環(huán)部分借助數(shù)字讀取,我們可以讀取引腳 4 的狀態(tài),并將值存儲(chǔ)在變量“r”中。
r = 數(shù)字讀?。?); if (r == HIGH && p == LOW && millis() - time > debounce) { cnt++; 如果(狀態(tài) == 高) 狀態(tài) = 低; if(cnt == 1){ digitalWrite(5, HIGH); 數(shù)字寫入(6,低); 數(shù)字寫入(7,低); } if(cnt == 2){ digitalWrite(5, LOW); 數(shù)字寫入(6,高); 數(shù)字寫入(7,低); } if(cnt == 3){ digitalWrite(5, LOW); 數(shù)字寫入(6,低); 數(shù)字寫入(7,高); } if(cnt > 3){ cnt = 1; } p = r;
每次檢測(cè)到觸摸時(shí),它都會(huì)增加計(jì)數(shù),我根據(jù)增加的數(shù)字給出了不同的條件以不同的顏色點(diǎn)亮。
代碼準(zhǔn)備好后,只需將其上傳到您的 Arduino 板并將 LED 放在您的花瓶下。在這里,我使用的是玻璃花瓶,一切準(zhǔn)備就緒后,我的設(shè)置看起來(lái)像這樣。
#include <電容傳感器.h>
電容傳感器 cs_2_4 = 電容傳感器(2,4);// 引腳 2 和 4 之間有 1M 電阻,引腳 4 是傳感器引腳,添加一根導(dǎo)線和
詮釋cnt = 0;
整數(shù) = 2;
詮釋= 4;
詮釋狀態(tài)=高;
詮釋r;
詮釋 p = 低;
長(zhǎng)時(shí)間 = 0;
長(zhǎng)時(shí)間去抖 = 200;
無(wú)效設(shè)置()
{
pinMode(4,輸入);
/* LED 輸出 */
pinMode(5,輸出);
pinMode(6,輸出);
pinMode(7,輸出);
}
無(wú)效循環(huán)()
{
r = 數(shù)字讀?。?);
if (r == HIGH && p == LOW && millis() - time > debounce) {
cnt++;
如果(狀態(tài) == 高)
狀態(tài)=低;
別的
時(shí)間=毫秒();
}
如果(cnt == 1){
數(shù)字寫入(5,高);
數(shù)字寫入(6,低);
數(shù)字寫入(7,低);
}
如果(cnt == 2){
數(shù)字寫入(5,低);
數(shù)字寫入(6,高);
數(shù)字寫入(7,低);
}
如果(cnt == 3){
數(shù)字寫入(5,低);
數(shù)字寫入(6,低);
數(shù)字寫入(7,高);
}
如果(cnt > 3){
cnt = 1;
}
p = r;
}
-
觸控
+關(guān)注
關(guān)注
9文章
229瀏覽量
71400 -
RGB
+關(guān)注
關(guān)注
4文章
801瀏覽量
58719 -
觸摸傳感器
+關(guān)注
關(guān)注
0文章
122瀏覽量
23108 -
Arduino
+關(guān)注
關(guān)注
188文章
6477瀏覽量
187841
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
如何構(gòu)建Arduino官方開發(fā)環(huán)境
基于Arduino的自動(dòng)植物澆水系統(tǒng)
Arduino自動(dòng)植物澆水系統(tǒng)
![<b class='flag-5'>Arduino</b>自動(dòng)<b class='flag-5'>植物</b>澆水系統(tǒng)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
帶arduino的植物澆水報(bào)警系統(tǒng)
![帶<b class='flag-5'>arduino</b>的<b class='flag-5'>植物</b>澆水報(bào)警系統(tǒng)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Arduino帶TFT LCD的植物澆水系統(tǒng)
![<b class='flag-5'>Arduino</b>帶TFT LCD的<b class='flag-5'>植物</b>澆水系統(tǒng)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
基于Arduino Uno的植物澆水自動(dòng)化設(shè)計(jì)
如何使用Arduino構(gòu)建植物澆水系統(tǒng)
使用Arduino構(gòu)建植物澆水系統(tǒng)
![使用<b class='flag-5'>Arduino</b><b class='flag-5'>構(gòu)建</b><b class='flag-5'>植物</b>澆水系統(tǒng)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
如何使用Arduino構(gòu)建植物監(jiān)視器
![如何使用<b class='flag-5'>Arduino</b><b class='flag-5'>構(gòu)建</b><b class='flag-5'>植物</b>監(jiān)視器](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Arduino自動(dòng)化園藝植物
![<b class='flag-5'>Arduino</b>自動(dòng)化園藝<b class='flag-5'>植物</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論