在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

利用Arduino Create和ROHM傳感器評估套件制作智能花園系統

王利祥 ? 來源:羅姆 ? 作者:羅姆 ? 2023-02-23 17:58 ? 次閱讀

這篇文章來源于DevicePlus.com英語網站的翻譯稿。

今天,我們將利用ROHM傳感器評估套件打造一套智能花園系統。在此項目中,我們整合接近/環境光傳感器(ALS)和其他傳感器,實現植物培育設備的自動化操作!

有關ROHM傳感器的更多信息,請參閱我們的文章ROHM傳感器評估套件概覽!

此外,我們將使用Arduino Create對系統進行編程

Arduino Create是一個多合一的在線平臺,可以編寫代碼、配置電路板、共享項目。該平臺于2016年8月18日正式發布。

poYBAGPzFeKAcfE-AAGk0iyD-NA141.jpg

Arduino Create 提供以下服務:

Arduino Web Editor

Arduino Web Editor 是一款在線編輯器,用戶可以編寫代碼并將程序從網頁瀏覽器上傳至任何Arduino開發板上。

將代碼寫入或導入 Arduino

上傳/分享程序

使用Arduino庫

通過云連接服務

Arduino Project Hub

Arduino Project Hub 是一個hackstar.io提供的教程平臺。該Hub擁有大量不同難度和人氣的項目。

Arduino Cloud

憑借Arduino Cloud,用戶可以通過互聯網在云中管理項目。Arduino Cloud執行亞馬遜云計算服務,能夠為用戶提供安全的開發環境。

將Arduino直接連接到互聯網

通過MQTT在Arduino之間進行互通

采用AWS IoT和AWS Lambda

今天的電子食譜

預計完成時間:120分鐘

所需部件:

Arduino 主體 (Arduino UNO R3)

Rohm 傳感器評估套件https://www.rohm.com/web/global/sensor-shield-support

電阻 (220 歐姆) × 2

紅色 / 藍色 LED

土壤傳感器https://www.dfrobot.com/wiki/index.php/Moisture_Sensor_(SKU:SEN0114)

伺服電機 (SG90)

※ 您可以從以下站點購買羅姆傳感器評估套件!

Chip One Stop

Mouser Electronics

考慮植物培育設備的電氣規格

打造智能花園系統的第一步就是要確定需要集成的內容。我們如何使用這些傳感器打造一套有利于植物培育的設備呢?首先,我們看一下各種傳感器的功能和用法以及它們在該項目中的潛在用途。

傳感器評估套件提供8種不同的傳感器。我們應將哪些傳感器集成到植物培育系統中呢?我們來復習一下每個傳感器的功能,看看系統可以采用哪些傳感器。

pYYBAGPzFeSAcMmuAACw8CrGR4w557.jpg

圖1 傳感器評估套件包含的傳感器

加速度計: 檢測傾斜、運動、振動等。→我們可能不會用此器件來測量加速度。

氣壓傳感器:檢測大氣壓力→壓力與天氣之間的關系似乎與室內植物沒有關系

地磁傳感器:檢測方向→可以根據太陽的方向改變植物的朝向嗎(?)

接近傳感器:檢測正在接近的物體;檢測亮度→如果我們的系統只是在白天(或明亮時)而不是在黑暗中工作,那么這個器件很有用。

顏色傳感器:檢測顏色→葉子是否枯萎,等等……我們以后再研究這個功能吧……

霍爾傳感器:通過磁鐵檢測物體→我覺得這個項目可能不會使用接近開關或定位功能…

溫度傳感器檢測溫度→我們可以用溫度數據來控制植物的澆水情況(比如溫度較高時應該多澆水,等等)。

紫外線傳感器:檢測紫外線→日光太強/太弱時可通知用戶相關情況。

根據各個傳感器的功能簡述,為了完成此項目,我們可能需要在系統中整合多個傳感器。那么我們應該集成哪些傳感器呢?

poYBAGPzFeaAB41AAAIFhOtBwGw020.jpg

圖2 一般植物生長注意事項

如圖2所示,種植健康的植物必須滿足一定條件。一般來講,植物在通風良好、陽光充足和溫度適中的地方生長最好。當然,它們需要水。

根據這些信息,我們可以縮小傳感器的選擇范圍:

日光條件→利用紫外線傳感器和溫度傳感器檢查溫度是否過高/紫外線強度是否過大,并采取必要的措施以減少日光照射。

澆水原則→利用土壤傳感器,我們可以確定土壤中的水分含量,并根據盆的大小為植物澆水。

關于溫度→如果溫度過高或過低,我們可以檢查植物含量并觸發警報。

通風→我們可以測量室內空氣流速,如果室內風量不夠,我們可以用風扇來產生風。

現在,我們開始構造這個系統吧!

類似的設備……

說到植物培育設備……已經有人制作過大型植物培育系統。比如FarmBot。從外觀上看,FarmBot就像是一臺巨大的激光切割機或3D打印機。正如下面的視頻所示,該機器還可以幫忙播種,似乎我們通過電腦或移動應用程序就能控制播種過程。長時間在室外管理和控制這些設備會比較困難,尤其是在天氣比較惡劣的情況下。不管怎樣,這些非常酷的設備在改善可持續發展農業領域具有巨大的潛力。

FARMBOT GENESIS – https://farmbot.io/

Arduino Create × Rohm 傳感器評估套件!

接下來我們看一下如何用Arduino Create編寫程序。

pYYBAGPzFeiAU2YRAAJgfW5Wzn8255.jpg

圖3 Arduino Create

Arduino Create 網站

Arduino Create 入門

我們循序漸進地看一下Arduino Create如何使用。Arduino Create的迷人之處就在于您可以直接在瀏覽器中在線編寫代碼并進行共享(比如在社交媒體上)。通常,如果您要使用Arduino,您得在電腦上下載并安裝Arduino IDE,但是Arduino Create無需這個步驟。

打開瀏覽器,然后轉到Arduino Create 網站。

如果您是首次使用Arduino,那么必須創建一個用戶帳戶。請進入用戶注冊頁面以創建您的帳戶(如果您有Arduino帳戶,那么可以直接用現有帳戶登錄)。

(僅適用于初次使用的用戶)完成注冊后,您會收到一封包含一個URL的電子郵件,點擊該鏈接完成注冊。

(僅適用于初次使用的用戶)安裝“Arduino Web Editor Plugin”(或“ArduinoCreateAgent”),以便瀏覽器可以連接到Arduino主機。

打開Arduino Web Editor。

PC版和網絡版之間的主要區別是什么呢?

只要可以上網,您幾乎能在任何地方查看/編輯您的程序。

網絡版還支持多個庫,因此即使更換電腦,您也不必重新安裝原來使用的庫。

Arduino Create非常有用。唯一的缺點是:要使用Web Editor,您必須連接互聯網,否則是無法使用的。我覺得介紹的差不多了。此時,您可以簡單地在電腦上使用現有的Arduino軟件。

運行Arduino Create主屏幕和傳感器評估套件庫

首先打開Arduino Web Editor.

pYYBAGPzFeqAPNidAAJg6z_cFd0464.jpg

圖 4. Arduino Create Web Editor

您會看到編輯器在瀏覽器中打開。值得一提的是,與Arduino Software IDE相比,這些菜單更易于查看和定位。有時,在電腦上使用IDE并打開太多帶有很多程序的窗口時,它們會變得雜亂無章;但是這個編輯器的窗口整潔有序,您可以輕松地找到所需文件。

菜單欄位于編輯器的左側。

pYYBAGPzFeuAUsUKAAE_RhAfqNE794.jpg

圖5 Arduino Create Web Editor – 基本功能

我們來查看一些常用功能。我們從“Blink.ino”開始(路徑:Examples →BUILT IN→01.BASICS→Blink)。使用屏幕上方中央的下拉菜單,選擇要連接的Arduino開發板和端口。然后,點擊“Verify”→“Upload”(通常在Arduino軟件中執行此操作)。

添加傳感器評估套件庫

接下來,我們將添加傳感器評估套件庫。要添加庫,您可以點擊左側菜單的“Libraries”,并單擊“ADD ZIP LIBRARY”。然后,選擇要添加的庫的zip文件完成添加。您可以從此處為每個傳感器下載傳感器評估套件庫(zip文件)。

pYYBAGPzFZuAaXMuAAFTMlElC3A985.jpg

圖6 Arduino Create Web Editor – 添加庫

傳感器評估套件已成功連接。現在,我們進行連線和編程!

整個系統的設計理念如下:

日光條件→利用紫外線傳感器和溫度傳感器檢查溫度是否過高/紫外線強度是否過大,并采取必要的措施以減少日光照射。

→ 用伺服電機遮陽!

澆水原則→利用土壤傳感器,我們可以確定土壤中的水分含量,并根據盆的大小為植物澆水。

→ 使用土壤傳感器和噴壺!

關于溫度→如果溫度過高或過低,我們可以檢測植物的環境溫度并觸發警報。

→ 用LED觸發警報!(也許將來我們可以通過網絡通知程序來實現這個功能!)

通風→我們可以測量室內空氣流速,如果室內風量不夠,我們可以用扇子來產生風。

→ 用伺服電機操作扇子扇風。

poYBAGPzFfCAOE6kAAQFypWLRuc283.jpg

圖7 電路框圖(假設傳感器評估套件已連接到Arduino)

至于程序,在循環的前半部分獲取每個傳感器的值后,我們將根據每個傳感器的值啟動伺服電機和LED燈。由于每個傳感器的激活閾值因設備大小而異,因此您可以自己的喜好調整具體數值。

程序–植物培育設備

#include 
#include 
#include 
#include 
#include 
#include 
 
//***********************************************
//Set threshold
//***********************************************
int moi_threshold   = 500;  //set the moisture threshold (moist←0~1023→dry)
int upper_temp_threshold  = 30;   //high temperature-red LED 
int under_temp_threshold  = 10;   //low temperature-blue LED
int uv_threshold  = 4;   //set the intensity of ultraviolet light, shade if exceeded
int send_wind_sec  = 30; //wind blowing interval (in seconds)
//***********************************************
 
Servo uvServo;          	
Servo windServo;          	
Servo waterServo;          	
 
int redLedPin   = 13;   	
int blueLedPin   = 12;
int moisture_pin = A0;
int tempout_pin = A2;
int uvout_pin = A0;
 
int counter = 0;
bool uvFlg = false;
 
BD1020 bd1020;
RPR0521RS rpr0521rs;
ML8511A ml8511a;
BM1383GLV bm1383;
 
//***********************************************************
void setup() {
  Serial.begin(9600);
  while (!Serial);
  Wire.begin();
 
  byte rc; 
  rc = rpr0521rs.init();
  rc = bm1383.init();
 
  pinMode(redLedPin,OUTPUT);
  pinMode(blueLedPin,OUTPUT);
  uvServo.attach(9);
  windServo.attach(10);
  waterServo.attach(11);
  bd1020.init(tempout_pin);
  ml8511a.init(uvout_pin);
}
 
//***********************************************************
void loop() {
    //*********************************
    //Soil Sensor
    int moi = analogRead(moisture_pin);
    Serial.write("MOISTURE = ");
    Serial.println(moi);
    Serial.println();
    
    //*********************************
    //Temperature sensor
    float temp;
    bd1020.get_val(&temp);
    Serial.print("BD1020HFV Temp=");
    Serial.print(temp);
    Serial.print("  [degrees Celsius], ADC=");
    Serial.println(bd1020.temp_adc);
 
    //*********************************
    //UV sensor
    float uv;
    ml8511a.get_val(&uv);	
    Serial.write("ML8511A UV = ");
    Serial.print(uv);
    Serial.println(" [mW/cm2]");
    Serial.println();	
 
    //*********************************
    //Barometric pressure sensor
    byte cp;
    float press;
     
    cp = bm1383.get_val(&press);
    if (cp == 0) {
      Serial.write("BM1383GLV (PRESS) = ");
      Serial.print(press);
      Serial.println(" [hPa]");
      Serial.println();
    }
     
    //*********************************
    //ALS/proximity sensor
    byte rc;
    unsigned short ps_val;
    float als_val;
    byte near_far;
     
    rc = rpr0521rs.get_psalsval(&ps_val, &als_val);
    if (rc == 0) {
      Serial.print(F("RPR-0521RS (Proximity) 	= "));
      Serial.print(ps_val);
      Serial.print(F(" [count]"));
      near_far = rpr0521rs.check_near_far(ps_val);
      if (near_far == RPR0521RS_NEAR_VAL) {
        Serial.println(F(" Near"));
      } else {
        Serial.println(F(" Far"));
      }
       
      if (als_val != RPR0521RS_ERROR) {
        Serial.print(F("RPR-0521RS (Ambient Light) = "));
        Serial.print(als_val);
        Serial.println(F(" [lx]"));
        Serial.println();
      }
    }
 
    //***********************************
    //depending on the sensor value each time
 
    //the water level will rise when the soil dries
    if(moi > moi_threshold){
      Serial.println("Water Servo start.");
      for(int m=0;m < 10;m++){ waterServo.write(0); //move servomotor to 0 degree
            delay(1500); //wait 1.5 seconds
            waterServo.write(90); //move the servomotor to 90 degrees
      }
    } //Temperature   activate
    if(upper_temp_threshold > temp){
      digitalWrite(redLedPin, HIGH);  //turn on LED
      delay(moi);                 	//set the moisture to LED flashing time 
      digitalWrite(redLedPin, LOW);   //turn off LED
    }
    if(under_temp_threshold < temp){
      digitalWrite(blueLedPin, HIGH);  //turn on LED
      delay(moi);                 	//set the moisture to LED flashing time 
      digitalWrite(blueLedPin, LOW);   //turn off LED
    }
 
    //shades when the sunlight is too strong
    if(uv < uv_threshold && !uvFlg){
        waterServo.write(90);
        uvFlg = true;
    }
    else if(uv >= uv_threshold && uvFlg){
        waterServo.write(0);	
        uvFlg = false;
    }
 
    //create wind  at a specific time
    if(counter > send_wind_sec){
      Serial.println("Wind Servo start.");
      for(int n=0;n < 10;n++){
        waterServo.write(0);
        delay(1000);    	
        waterServo.write(90);
      }
      counter = 0;
    }
 
    counter++;
    delay(1000);
}

組裝植物培育系統!

現在,接線和編程已經完成,我們來把系統組合在一起。

pYYBAGPzFfKAL2VIAAJME15cm4o324.jpg

圖8 迷你盆栽植物

首先,您需要一棵植物(當然)!

poYBAGPzFfSACqEMAAIYTeC0kzk717.jpg

圖9 組裝遮陽部件

當紫外線太強時,安裝在伺服電機上的遮光板將旋轉90度,從而擋住窗戶上的陽光。

pYYBAGPzFfaASlL_AALHAMkC62g605.jpg

圖10 裝有伺服電機的噴壺

我們可以根據濕度水平利用伺服電機拉動噴壺進行噴水。

我們的吹風設備是一把東方折扇!

pYYBAGPzFeGAAJrhAANju_Ui5uI570.jpg

圖11 組裝完成的植物培育系統

整個系統仍有很大的改進空間。如果您想要科技感更高一些,您可以使用小型水泵、PC風扇等設備。此外,如果房間中沒有窗戶,那么可以同時利用LED與照度傳感器,在房間變暗時關閉植物的LED。

總結

在本項目中,我們組合使用傳感器評估套件中的多個傳感器來打造智能花園系統。市面上已經出現了一些很酷的植物培育設備(教程中做了簡要介紹),我相信本教程能夠為開發更先進的植物培育設備奠定堅實的基礎。

在下一個教程中,我們將更詳細地介紹Arduino Create,并嘗試使用傳感器評估套件中的加速度計。

pYYBAGPbhjqAbi1JAAAGd6_rQT0867.png

DevicePlus 編輯團隊

設備升級版適用于所有熱愛電子和機電一體化的人。

審核編輯黃宇

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

    關注

    2552

    文章

    51237

    瀏覽量

    754790
  • Arduino
    +關注

    關注

    188

    文章

    6472

    瀏覽量

    187357
收藏 人收藏

    評論

    相關推薦

    Arduino兼容傳感器擴展板SensorShield-EVK-001

    ;SensorShield-EVK-001"是將ROHM集團量產中的8種傳感器分別在PCB板上實裝并與開放平臺連接板組成的套件。通過與在全球電子工具領域應用廣泛的Arduino Uno
    發表于 04-11 06:20

    【羅姆傳感器評估板試用體驗連載】一、產品開箱

    感謝eefans和廠家提供的試用活動。本次收到的是來自羅姆放的傳感器評估板。板卡采用日系簡潔風的包裝:板卡全家福:套件包含3個傳感器板卡和一個擴展板以及一個
    發表于 02-11 19:08

    【羅姆傳感器評估板試用體驗連載】1.開箱+資料準備+環境搭建+拓展板

    系統的文件進行下載安裝。 四、羅姆Arduino拓展板 1.概述 羅姆Arduino拓展板用于連接Arduino UNO開發板以及傳感器
    發表于 02-25 11:35

    【羅姆傳感器評估板試用體驗連載】-03-傳感器篇- 氣壓傳感器評估板BM1390GLV-EVK-001 顏色傳感器評估板BH1749NUC-EVK-001

    本帖最后由 jf_18702540 于 2022-3-9 11:37 編輯 【羅姆傳感器評估板試用體驗連載】-03-傳感器篇-氣壓傳感器評估
    發表于 03-08 16:06

    【羅姆傳感器評估板試用體驗連載】開箱展示

    首先感謝電子發燒友平臺的眷顧,有幸申請到了Rohm傳感器開發板套件。這次申請的套件包含了Rohm三個類型
    發表于 03-11 14:01

    ROHM 地磁傳感器介紹與應用

    本視頻將指導您地磁傳感器評估方法 。支持Arduino Uno、mbed等開放平臺的羅姆傳感器評估套件
    的頭像 發表于 06-26 17:43 ?6022次閱讀

    基于Arduino傳感器制作智能垃圾桶

    電子發燒友網站提供《基于Arduino傳感器制作智能垃圾桶.zip》資料免費下載
    發表于 11-18 09:24 ?10次下載
    基于<b class='flag-5'>Arduino</b>和<b class='flag-5'>傳感器</b><b class='flag-5'>制作</b><b class='flag-5'>智能</b>垃圾桶

    使用Arduino和火焰傳感器制作火災探測系統

    電子發燒友網站提供《使用Arduino和火焰傳感器制作火災探測系統.zip》資料免費下載
    發表于 11-23 10:00 ?1次下載
    使用<b class='flag-5'>Arduino</b>和火焰<b class='flag-5'>傳感器</b><b class='flag-5'>制作</b>火災探測<b class='flag-5'>系統</b>

    Arduino傳感器ROHM傳感器評估套件概覽

    ROHM Sensor Shield(ROHM傳感器開發板)是一種兼容Arduino的擴展板,旨在幫助用戶快速將各種傳感器添加到自己的開發項
    的頭像 發表于 02-23 17:37 ?895次閱讀
    <b class='flag-5'>Arduino</b><b class='flag-5'>傳感器</b>–<b class='flag-5'>ROHM</b><b class='flag-5'>傳感器</b><b class='flag-5'>評估</b><b class='flag-5'>套件</b>概覽

    ROHM Arduino傳感器套件打造DIY萬圣節僵尸面具

    今天,我們會利用ROHM傳感器評估套件制作一款超級簡單的萬圣節僵尸面具!我們將使用
    的頭像 發表于 02-23 17:45 ?951次閱讀
    用<b class='flag-5'>ROHM</b> <b class='flag-5'>Arduino</b><b class='flag-5'>傳感器</b><b class='flag-5'>套件</b>打造DIY萬圣節僵尸面具

    Arduino預處理指令教程

    在適用于ROHM傳感器評估套件的輕量級Arduino庫中,我介紹了RohmMultiSensor——幫您輕松連接
    的頭像 發表于 02-24 09:51 ?1785次閱讀
    <b class='flag-5'>Arduino</b>預處理<b class='flag-5'>器</b>指令教程

    采用ROHM傳感器套件的DIY Arduino家庭安防系統 第1部分 機制

    在該項目中,我們將使用Arduino Mega和ROHM傳感器評估套件制作一套DIY
    的頭像 發表于 02-24 15:08 ?1066次閱讀
    采用<b class='flag-5'>ROHM</b><b class='flag-5'>傳感器</b><b class='flag-5'>套件</b>的DIY <b class='flag-5'>Arduino</b>家庭安防<b class='flag-5'>系統</b> 第1部分 機制

    ROHM傳感器評估套件的3D外殼以及RohmMultiSensor庫更新

    不久前,我創建了RohmMultiSensor - Arduino庫,利用該庫可以輕松控制ROHM傳感器評估
    的頭像 發表于 02-24 09:51 ?899次閱讀
    <b class='flag-5'>ROHM</b><b class='flag-5'>傳感器</b><b class='flag-5'>評估</b><b class='flag-5'>套件</b>的3D外殼以及RohmMultiSensor庫更新

    適用于羅姆傳感器評估套件的輕量級 Arduino

    羅姆傳感器評估套件是一種兼容 Arduino 的擴展板 (Shield),配有以下8鐘傳感器:加速度計、壓力
    的頭像 發表于 02-24 10:21 ?906次閱讀
    適用于羅姆<b class='flag-5'>傳感器</b><b class='flag-5'>評估</b><b class='flag-5'>套件</b>的輕量級 <b class='flag-5'>Arduino</b>庫

    利用ROHM傳感器評估套件實現UCLA AirMouse–第2部分

    利用ROHM傳感器評估套件實現UCLA AirMouse – 第1部分中,我們完成了項目的硬件。對于發射
    的頭像 發表于 02-27 10:27 ?573次閱讀
    主站蜘蛛池模板: 国内亚州视频在线观看| 免费观看三级毛片| 在线看片一区| 成 人 在 线 免费 8888 www| 国产亚洲一区二区三区在线| 最新版资源在线天堂| 大尺度视频在线| 一本视频在线| 天天摸天天爽天天澡视频| 日日干狠狠操| 岛国午夜精品视频在线观看| 国产黄色小视频在线观看| 轻点灬大ji巴太大太深了| 在线天堂中文新版有限公司| 五月在线观看| 人成网站在线观看| 国精视频一区二区视频| 一级免费看| 黄色午夜剧场| 好硬好湿好爽再深一点h视频| 亚洲1卡二卡3卡四卡不卡| 一级黄免费| 色福利视频| 久久久久久久性潮| 97av在线| 黄色日屁| 涩狠狠狠狠色| 亚洲国产视频一区| 一区二区三区中文| julia一区二区三区中文字幕| 天堂网| 男人边吃奶边爱边做视频日韩| 国产成人v爽在线免播放观看| 手机在线看| 91免费视| 天天摸天天做天天爽水多| 毛片免费高清免费| 亚洲午夜网站| 2018天天操天天干| 中国三级视频| 美女艹逼视频|