<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用Arduino構建基于觸控的變色植物

科技觀察員 ? 來源:circuitdigest ? 作者:Mr.X ? 2022-08-08 16:21 ? 次閱讀

在本文中,我們將學習如何使用 Arduino 構建基于觸控的變色植物。當您觸摸植物時,植物花瓶的顏色會自動改變。這是一個不錯的室內裝飾項目,也是初學者構建和學習一些有趣東西的小愛好項目。

現在,當我們說基于觸摸的植物時,可能會出現一個常見問題,即電子電路如何通過植物檢測到人類的觸摸。如今,觸摸感應設備無處不在。我們可以在智能手機和不同類型的電器中看到觸摸屏。觸摸傳感器只是一個開關,當有人觸摸觸摸傳感器時,傳感器會關閉電子電路并允許電流流動。

觸摸傳感器類型

手機智能自動售貨機,如今,我們可以在所有現代設備中找到觸摸傳感器。觸摸傳感器主要有兩種類型,即 電阻式觸摸式和電容式觸摸式。類型名稱本身就表明了操作方式和工作原理。

電阻式觸摸傳感器:顧名思義,電阻式觸摸傳感器的工作原理是基于導體的電阻。當人體發生觸摸時,導體的電阻率會發生變化,也會產生電壓變化,這種電壓變化會被電路檢測到,事情就會發生。

電容式觸摸傳感器:這是最常用的觸摸傳感器類型。這僅僅是因為我們可以一次執行多個觸摸。電容式觸摸傳感器基于電容的變化工作,即當我們觸摸傳感器時,電路的電容發生變化,這將被檢測為觸摸?,F在讓我們詳細討論一下我們的電路。

如何檢測植物的觸摸?

我們廠的電路也是基于電容式觸摸傳感器。也就是說,我們將一根電線連接到我們的植物上,使其像電極一樣,然后當我們觸摸植物時,由于我們身體的存在,電容會發生變化,這將被我們的電路檢測到。說到電路,我們需要一個微控制器來檢測電容的變化并控制整個系統。在我們的例子中,微控制器是 Arduino。

poYBAGLwxtaAZZdUAAXQ_bqFP-0568.png

制作我們的變色植物花瓶所需的材料

阿杜諾

共陰極RGB LED

1兆歐電阻(棕色、黑色、綠色)

連接線

有基地的植物

普通PCB

pYYBAGLwxt2AN3enAAm8-KRWw2A131.png

基于觸摸的變色 Arduino Plant 電路圖

該項目中使用的完整電路圖如下所示。該電路是使用 Easy EDA 創建的,如您所見,它是一個非常簡單的電路。

poYBAGLwxuKAVQnEAABycc3MPEA527.png

首先,在 Arduino 引腳 2 和引腳 4 之間連接一個兆歐電阻。然后將一根長線(銅)連接到引腳 4。這條線充當電極或觸摸引線,然后將 RGB LED 公共接地連接到地,紅色連接到Arduino的D5和D6的綠色,D7的藍色,最后將電線連接到植物體上,就是這樣。連接后我的硬件設置如下所示。

pYYBAGLwxuaABRmHAAkvredqyzU345.png

我已將 RGB LED 連接到一個普通的穿孔板上(如下圖所示),最后將底座(玻璃)放在 PCB 上方。而已。

pYYBAGLwxu2ADadAAAdusYy6CwY407.png

用于檢測植物觸摸并更改 LED 顏色的 Arduino 程序

此項目中使用的完整程序可在此頁面底部找到。要檢測植物的電容,我們需要使用電容傳感器庫。您可以從以下鏈接下載 Arduino 電容式傳感器庫。

下載 Arduino 電容式觸摸傳感器庫

下載庫并將其添加到您的 Arduino IDE 后,將該庫包含到您的代碼中。該庫有助于讀取 Arduino 引腳的電容。

#include <電容傳感器.h>

我們已經在引腳 2 和 4 之間連接了電阻,因此我們需要測量引腳 4 中的電容,為此,定義引腳。

電容傳感器 cs_2_4 = 電容傳感器(2,4);

電容傳感器切換微控制器引腳,即它將引腳發送到新狀態,然后等待接收引腳更改為與發送引腳相同的狀態。在設置部分,我為 LED 和傳感器引線定義了不同的引腳。

  pinMode(4,輸入);
  pinMode(5,輸出);
  pinMode(6,輸出);
  pinMode(7,輸出);

在循環部分借助數字讀取,我們可以讀取引腳 4 的狀態,并將值存儲在變量“r”中。

r = 數字讀?。?);
  if (r == HIGH && p == LOW && millis() - time > debounce) { 
    cnt++; 
  如果(狀態 == 高)
     狀態 = 低;
if(cnt == 1){ 
    digitalWrite(5, HIGH); 
    數字寫入(6,低);
    數字寫入(7,低);
  } 
  if(cnt == 2){ 
    digitalWrite(5, LOW); 
    數字寫入(6,高);
    數字寫入(7,低);
  } 
  if(cnt == 3){ 
    digitalWrite(5, LOW); 
    數字寫入(6,低);
    數字寫入(7,高);
  } 
  if(cnt > 3){ 
      cnt = 1; 
  } 
  p = r;

每次檢測到觸摸時,它都會增加計數,我根據增加的數字給出了不同的條件以不同的顏色點亮。

代碼準備好后,只需將其上傳到您的 Arduino 板并將 LED 放在您的花瓶下。在這里,我使用的是玻璃花瓶,一切準備就緒后,我的設置看起來像這樣。

#include <電容傳感器.h>
電容傳感器 cs_2_4 = 電容傳感器(2,4);// 引腳 2 和 4 之間有 1M 電阻,引腳 4 是傳感器引腳,添加一根導線和
詮釋cnt = 0;
整數 = 2;
詮釋= 4;
詮釋狀態=高;
詮釋r;
詮釋 p = 低;
長時間 = 0;
長時間去抖 = 200;
無效設置()
{
pinMode(4,輸入);
/* LED 輸出 */
pinMode(5,輸出);
pinMode(6,輸出);
pinMode(7,輸出);
}
無效循環()
{
r = 數字讀?。?);
if (r == HIGH && p == LOW && millis() - time > debounce) {
cnt++;
如果(狀態 == 高)
狀態=低;
別的
時間=毫秒();
}
如果(cnt == 1){
數字寫入(5,高);
數字寫入(6,低);
數字寫入(7,低);
}
如果(cnt == 2){
數字寫入(5,低);
數字寫入(6,高);
數字寫入(7,低);
}
如果(cnt == 3){
數字寫入(5,低);
數字寫入(6,低);
數字寫入(7,高);
}
如果(cnt > 3){
cnt = 1;
}
p = r;
}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 觸控
    +關注

    關注

    7

    文章

    213

    瀏覽量

    70994
  • RGB
    RGB
    +關注

    關注

    4

    文章

    774

    瀏覽量

    57606
  • 觸摸傳感器
    +關注

    關注

    0

    文章

    116

    瀏覽量

    22984
  • Arduino
    +關注

    關注

    185

    文章

    6434

    瀏覽量

    185200
收藏 人收藏

    評論

    相關推薦

    如何構建Arduino官方開發環境

    本系列教程將向大家講述,在自己的計算機上構建完善的嵌入式系統開發環境的方法。本文將向大家講述構建Arduino官方開發環境的方法。Arduino簡介:
    發表于 12-24 06:44

    基于Arduino的自動植物澆水系統

    描述Arduino自動植物澆水系統Sprout 是一款現代室內種植機,可自動澆灌您的植物、草藥、蔬菜等,并將徹底改變您的園藝游戲。它由一個集成的蓄水池組成,從該蓄水池中抽水并保持植物
    發表于 09-14 07:10

    Arduino自動植物澆水系統

    電子發燒友網站提供《Arduino自動植物澆水系統.zip》資料免費下載
    發表于 08-19 09:23 ?7次下載
    <b class='flag-5'>Arduino</b>自動<b class='flag-5'>植物</b>澆水系統

    Arduino智能植物孵化器

    電子發燒友網站提供《Arduino智能植物孵化器.zip》資料免費下載
    發表于 10-28 15:58 ?1次下載
    <b class='flag-5'>Arduino</b>智能<b class='flag-5'>植物</b>孵化器

    arduino植物澆水報警系統

    電子發燒友網站提供《帶arduino植物澆水報警系統.zip》資料免費下載
    發表于 12-21 16:52 ?0次下載
    帶<b class='flag-5'>arduino</b>的<b class='flag-5'>植物</b>澆水報警系統

    Arduino帶TFT LCD的植物澆水系統

    電子發燒友網站提供《Arduino帶TFT LCD的植物澆水系統.zip》資料免費下載
    發表于 12-22 15:15 ?1次下載
    <b class='flag-5'>Arduino</b>帶TFT LCD的<b class='flag-5'>植物</b>澆水系統

    基于Arduino Uno的植物澆水自動化設計

    過去很長一段時間,經常會因為假期而忘記照顧植物導致植物干枯。因此,我考慮將任務自動化以挽救未來的植物生命。我將 Arduino Uno 與Infineon的TLE94112 多半橋結合
    發表于 12-23 14:26 ?0次下載

    Arduino城市植物澆水解決方案

    電子發燒友網站提供《Arduino城市植物澆水解決方案.zip》資料免費下載
    發表于 12-29 15:05 ?0次下載
    <b class='flag-5'>Arduino</b>城市<b class='flag-5'>植物</b>澆水解決方案

    如何使用Arduino構建植物澆水系統

    在本教程中,我們將學習如何使用濕度傳感器,水泵和綠色LED閃爍來制作植物澆水系統。硬件組件:Adafruit 12V水泵×1個Arduino UNO Wifi版本2×1個SparkFun土壤濕度
    發表于 01-03 17:56 ?1次下載

    Arduino IoT Cloud的幫助下創建植物通訊器

    電子發燒友網站提供《在Arduino IoT Cloud的幫助下創建植物通訊器.zip》資料免費下載
    發表于 01-31 14:44 ?0次下載
    在<b class='flag-5'>Arduino</b> IoT Cloud的幫助下創建<b class='flag-5'>植物</b>通訊器

    Arduino變色小鬼燈

    電子發燒友網站提供《Arduino變色小鬼燈.zip》資料免費下載
    發表于 02-09 11:21 ?0次下載
    <b class='flag-5'>Arduino</b><b class='flag-5'>變色</b>小鬼燈

    使用Arduino構建植物澆水系統

    電子發燒友網站提供《使用Arduino構建植物澆水系統.zip》資料免費下載
    發表于 06-28 16:06 ?0次下載
    使用<b class='flag-5'>Arduino</b><b class='flag-5'>構建</b><b class='flag-5'>植物</b>澆水系統

    如何使用Arduino構建植物監視器

    電子發燒友網站提供《如何使用Arduino構建植物監視器.zip》資料免費下載
    發表于 06-28 15:34 ?0次下載
    如何使用<b class='flag-5'>Arduino</b><b class='flag-5'>構建</b><b class='flag-5'>植物</b>監視器

    arduino變色電子變色

    電子發燒友網站提供《arduino變色電子變色龍.zip》資料免費下載
    發表于 07-05 10:31 ?0次下載
    <b class='flag-5'>arduino</b><b class='flag-5'>變色</b>電子<b class='flag-5'>變色</b>龍

    Arduino自動化園藝植物

    電子發燒友網站提供《Arduino自動化園藝植物.zip》資料免費下載
    發表于 07-06 10:43 ?0次下載
    <b class='flag-5'>Arduino</b>自動化園藝<b class='flag-5'>植物</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>