国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

關(guān)于花卉澆水指示器的實現(xiàn)過程

芯片開放社區(qū) ? 來源:芯片開放社區(qū) ? 作者:芯片開放社區(qū) ? 2022-12-12 13:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

開發(fā)者 張同學(xué) 通過外接濕度傳感器,利用RVB2601處理濕度傳感器送來的信號,用RVB2601點亮不同顏色的LED燈及OLED顯示不同數(shù)量的橫線表示花卉土壤的干濕度,完成了創(chuàng)意應(yīng)用開發(fā)——花卉澆水指示器。

關(guān)花卉澆水指示器的實現(xiàn)過程,請見本文詳細(xì)介紹。

01項目背景

花兒人見人愛,很多人都喜歡養(yǎng)殖花卉,剛買來的花兒艷麗多姿,沒過幾天,花兒就蔫了。其中澆水是否恰當(dāng),是主要問題。

花卉是否缺水?花卉是否應(yīng)該澆水了?花卉的澆水問題,對很多人來說是個難題。

02作品簡介

2.1設(shè)置濕度傳感器

當(dāng)花卉土壤過于干燥時,RVB2601的紅色LED點亮,同時OLED僅顯示幾根橫線,提醒花卉需要澆水,參見下圖1。

4ff96526-79db-11ed-8abf-dac502259ad0.png

實測圖1-紅色燈亮

2.2此傳感器與RVB2601相連

當(dāng)花卉土壤干濕度恰當(dāng)時,RVB2601的綠色LED點亮,同時OLED顯示恰當(dāng)數(shù)量的橫線,表示花卉不需澆水或通風(fēng)散濕,參見下圖2。

503ecc6a-79db-11ed-8abf-dac502259ad0.png

實測圖2-綠色燈亮

2.3RVB2601處理濕度傳感器送來的信號

當(dāng)花卉土壤過于潮濕時,RVB2601的藍色LED點亮,同時OLED顯示幾乎滿屏的橫線,提醒花卉需要通風(fēng)散濕,參見下圖3。

50c27f38-79db-11ed-8abf-dac502259ad0.png

實測圖3-藍色燈亮

4.4 用RVB2601點亮不同顏色的LED燈及OLED顯示不同數(shù)量的橫線表示花卉土壤的干濕度。

03系統(tǒng)框圖

用“平頭哥RISC-V RVB2601開發(fā)板”檢測土壤濕度的辦法:

  • 開發(fā)板讀取土壤濕度傳感器的模擬信號,經(jīng)開發(fā)板ADC轉(zhuǎn)換后變成數(shù)字信號,然后驅(qū)動開發(fā)板的LED及OLED;

  • 經(jīng)篩選,選取下款濕度傳感器,參見圖4:

512b7ede-79db-11ed-8abf-dac502259ad0.jpg

圖4濕度傳感器外形圖

濕度傳感器模塊為雙輸出模式:數(shù)字量輸出及模擬量輸出,比較器采用LM393芯片,工作穩(wěn)定,信號干凈。設(shè)有固定螺栓孔,方便安裝。

電路圖參見圖5:

51500df8-79db-11ed-8abf-dac502259ad0.jpg

圖5電路圖

04各部分功能說明和解析

4.1 土壤濕度傳感器

參見圖6:

51776970-79db-11ed-8abf-dac502259ad0.png

圖6土壤濕度傳感器

4.2 土壤濕度信號放大處理模塊

參見圖7:

519dc3e0-79db-11ed-8abf-dac502259ad0.png

圖7土壤濕度信號放大處理模塊

4.3濕度處理、顯示模塊

即RVB2601,參見圖8:

51c2e13e-79db-11ed-8abf-dac502259ad0.png

圖8RVB2601

05作品源碼和案例中處理的傳感器數(shù)據(jù)

5.1作品源碼

#define _DEFAULT_SOURCE /* needed for usleep() */
#include 
#include 
#include 
#include 
#include 
#include "aos/cli.h"

#include "app_config.h"
#include "app_init.h"
#include "csi_config.h"
#include "hw_config.h"
#include "csi_config.h"

#include "lvgl.h"
#include "lv_label.h"
#include "oled.h"

#include "board_config.h"
#include "drv/gpio_pin.h"
#include 
#include 


#include 
#include 


#define TAG "APP"


/**************************oled*****************************/
extern void oled_draw_point(uint8_t r, uint8_t c, uint8_t t);
extern void Fill_RAM(unsigned char Data); 
extern void oled_reflesh();
/**************************************************************/



/*******************************led****************************/
csi_gpio_pin_t MY_PIN_LED_RED;
csi_gpio_pin_t MY_PIN_LED_GREEN;
csi_gpio_pin_t MY_PIN_LED_BLUE; 
/*************************************************************/

#define ADC_CHECK_RETURN(ret)
do 
 { 
 if (ret != CSI_OK) 
 return -1; 
 } 
while(0); 
 

static csi_adc_t adc;

int main(void)
{
 char j,k;
 int ret;
 uint32_t data;
 
 int x0,x1,y0,y1;
 //uint8_t p1[128][64];
  /********************************light led*****************************/
 board_yoc_init();
 LOGD(TAG, "board_yoc_init() completed!
");
 aos_msleep(1000); //by me
 oled_init();
 
 //PA4 - BLUE PA7-REDPA25 GREEN
 csi_pin_set_mux(PA4, PIN_FUNC_GPIO);
 csi_pin_set_mux(PA7, PIN_FUNC_GPIO);
 csi_pin_set_mux(PA25, PIN_FUNC_GPIO);
 
 csi_gpio_pin_init(&MY_PIN_LED_BLUE, PA4);
 csi_gpio_pin_init(&MY_PIN_LED_RED, PA7);
 csi_gpio_pin_init(&MY_PIN_LED_GREEN, PA25);
 
 csi_gpio_pin_dir(&MY_PIN_LED_GREEN, GPIO_DIRECTION_OUTPUT);
 csi_gpio_pin_dir(&MY_PIN_LED_RED, GPIO_DIRECTION_OUTPUT);
 csi_gpio_pin_dir(&MY_PIN_LED_BLUE, GPIO_DIRECTION_OUTPUT);
 
 csi_gpio_pin_write(&MY_PIN_LED_BLUE, GPIO_PIN_HIGH);
 csi_gpio_pin_write(&MY_PIN_LED_RED, GPIO_PIN_HIGH);
 csi_gpio_pin_write(&MY_PIN_LED_GREEN, GPIO_PIN_HIGH);
/***************************************************************************/
 
 /***********************************ADC******************************/
 csi_pin_set_mux(EXAMPLE_ADC_CHANNEL0_PIN, EXAMPLE_ADC_CHANNEL0_PIN_FUNC);
 //editfind in filesfind in files 搜索“EXAMPLE_ADC_CHANNEL0_PIN”可得:
//g:C-SkyCDKCSKYPACKch2601_evbv7.4.3includeoard_config.h有此字段:
 //#define EXAMPLE_ADC_CHANNEL0_PIN  EXAMPLE_ADC_CH0,再搜索:
 //EXAMPLE_ADC_CH0,可得:#define EXAMPLE_ADC_CH0 PA3、P18
 //可見,本程序的ADC輸入引腳是:PA3
 //PA3:J1:9-10腳,參見:
 //RVB2601開發(fā)板用戶手冊:37067137319852441601615475227781dm4cDSePeY-音頻DAC、音頻ADC.pdf P8/19
 
 ret = csi_adc_init(&adc, 0);
 ADC_CHECK_RETURN(ret);
  csi_adc_continue_mode(&adc, true);
 ADC_CHECK_RETURN(ret);
 //開啟/關(guān)閉ADC連續(xù)采樣模式,false->禁止
 //參見:ADC · GitBook.pdf
 
 ret = csi_adc_freq_div(&adc, 128);
 if(ret == 0){
 return -1;
 }
 
 /* Configure sampling time */
 ret = csi_adc_sampling_time(&adc, 2);
 ADC_CHECK_RETURN(ret);

 /* Enable channel */
 ret = csi_adc_channel_enable(&adc, 0, true);
 ADC_CHECK_RETURN(ret);

 /* Trigger new conversion */
 ret = csi_adc_start(&adc);
 ADC_CHECK_RETURN(ret);
 
// LOGD(TAG, "%s ,ADC INITED!
", aos_get_app_version());

 while(1) 
 {
  /* Read result */
 data = csi_adc_read(&adc);
 printf("get adc result: %d
", data);//在串口調(diào)試助手中顯示
  printf("the voltage is: %d mV
", data*3300/4096);
 aos_msleep(500);
 /***********************************************************end of ADC************************/
 
 
 /*************************************OLED***********************/
  x0=50;
  x1=80;
  y0=63;
 y1=(4096-data)/3.3/20; 
  for(j=y0;j>y0-y1;j--)
 {
  Fill_RAM(0x00);
  for(k=x0;k2800)
  {
 csi_gpio_pin_write(&MY_PIN_LED_RED, GPIO_PIN_LOW);
 //aos_msleep(2000);
 //acsi_gpio_pin_write(&MY_PIN_LED_RED, GPIO_PIN_HIGH);
  }
  
  if(data<800)
????????? ??? {
????????? ???? csi_gpio_pin_write(&MY_PIN_LED_BLUE, GPIO_PIN_LOW);
????????? ???? //aos_msleep(2000);
???? ???????? //csi_gpio_pin_write(&MY_PIN_LED_BLUE, GPIO_PIN_HIGH);????  
????????? ??? }
????????? ????? ? ?
???????if((data>=800)&&(data<=2800))
????????? ?? {
?????????????? ?csi_gpio_pin_write(&MY_PIN_LED_GREEN, GPIO_PIN_LOW);  
????????? ???? //aos_msleep(2000);
????????? ????//csi_gpio_pin_write(&MY_PIN_LED_GREEN, GPIO_PIN_HIGH);?? 
???? ???? ??? }
????????? /********************************END OF LED***************************/???? 
????????? 
????????? aos_msleep(5000);
????????? Fill_RAM(0x00);
????????? oled_reflesh();
????? }
???? 
???? csi_adc_uninit(&adc);
???? printf("csi_adc_uninited.
");
???? return 0;
}

5.2傳感器數(shù)據(jù)

實測的傳感器數(shù)據(jù)如下:

(1)土壤極端干燥時的電壓值:2.99V

根據(jù)多次試驗,當(dāng)電壓值為:2 .26V時,土壤就比較干燥,此時的Data:2.26*4096/3300=2805。

(2)土壤濕度最適當(dāng)時的電壓值:1.50V

根據(jù)多次試驗,當(dāng)電壓值為:0.65-2 .26V時,土壤濕度比較適當(dāng),此時的Data:0.65*4096/3300到2805即:807~2805。

(3)土壤極端過濕時的電壓值:0.56V

根據(jù)多次試驗,當(dāng)電壓值為:0.65V時,土壤就過濕,此時的Data:0.65*4096/3300=807

06視頻演示

https://pan.baidu.com/s/14e7PXorkclUSF74BCm4Bzw

提取碼:jkdf

07項目總結(jié)

花卉的澆水問題,對很多人來說是個難題。此款“花卉澆水指示器”將澆水問題,轉(zhuǎn)化為土壤的干濕度問題,用傳感器檢測的數(shù)值,直觀地指示花兒是否需要澆水,不需依仗經(jīng)驗,主觀判斷,值得推廣。


審核編輯 :李倩


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

    關(guān)注

    121

    文章

    6358

    瀏覽量

    233657
  • 指示器
    +關(guān)注

    關(guān)注

    0

    文章

    258

    瀏覽量

    39307

原文標(biāo)題:應(yīng)用速遞 | 智能澆花神器 養(yǎng)花種菜好幫手

文章出處:【微信號:芯片開放社區(qū),微信公眾號:芯片開放社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    LES20-SHT40-S2-RS485 溫濕度變送器 花卉溫室智能管控系統(tǒng)應(yīng)用方案

    、高適配性的技術(shù)解決方案。【關(guān)鍵詞】LES20-SHT40-S2-RS485;溫濕度變送器;花卉溫室;智能溫濕度管控;SHT40 傳感;Modbus RTU 協(xié)議;RS485 通信;設(shè)施園藝
    的頭像 發(fā)表于 02-28 14:00 ?71次閱讀
    LES20-SHT40-S2-RS485 溫濕度變送器 <b class='flag-5'>花卉</b>溫室智能管控系統(tǒng)應(yīng)用方案

    STM32H5開發(fā)VL53L8CX(4)----運動指示器

    VL53L8CX傳感內(nèi)置了一個固件功能,可以檢測場景中的運動。這個運動指示器是基于連續(xù)幀之間來計算的。使用插件vl53l8cx_plugin_motion_indicator可以使用這個選項
    的頭像 發(fā)表于 12-22 17:15 ?1639次閱讀
    STM32H5開發(fā)VL53L8CX(4)----運動<b class='flag-5'>指示器</b>

    VL53L8CX小板開發(fā)(4)----運動指示器

    VL53L8CX設(shè)備的引用。 配置運動指示器: ○ 使用4x4的分辨率初始化運動指示器。如果失敗,則打印錯誤信息并返回狀態(tài)。 ○ 可選地更改用于檢測運動的最小和最大距離。這些距離有一些限制,如果超出
    的頭像 發(fā)表于 12-22 15:00 ?8594次閱讀
    VL53L8CX小板開發(fā)(4)----運動<b class='flag-5'>指示器</b>

    光纖收發(fā)6個指示燈含義

    在工業(yè)通信、安防監(jiān)控、企業(yè)組網(wǎng)等場景中, 光纖收發(fā) 作為光電轉(zhuǎn)換的關(guān)鍵設(shè)備,廣泛應(yīng)用于千兆/百兆以太網(wǎng)的遠(yuǎn)距離傳輸。然而,當(dāng)網(wǎng)絡(luò)出現(xiàn)中斷或不穩(wěn)定時,很多用戶面對設(shè)備上閃爍的指示燈卻一頭霧水。其實
    的頭像 發(fā)表于 12-05 09:44 ?1440次閱讀
    光纖收發(fā)<b class='flag-5'>器</b>6個<b class='flag-5'>指示</b>燈含義

    采用匯編指示符來使用自定義指令

    具體實現(xiàn) 1、采用.word .half .dword等匯編指示符直接插入自定義指令,這種方法需要自己指定寄存。其中.word為插入一個字的數(shù)據(jù)即32位,.half為插入半字即16位
    發(fā)表于 10-28 06:02

    ?基于ST EVLIOL4LSV1 IO-Link執(zhí)行的工業(yè)物聯(lián)網(wǎng)技術(shù)解析

    STMicroelectronics EVLIOL4LSV1 IO-Link執(zhí)行設(shè)計用于工廠自動化和系統(tǒng)報警指示器應(yīng)用中使用的傳統(tǒng)塔式燈:它是一套完整的解決方案,可用作工業(yè)化的參考設(shè)計。通過IO-Link,EVLIOL4LSV1成為智能塔式燈的執(zhí)行
    的頭像 發(fā)表于 10-17 15:25 ?553次閱讀
    ?基于ST EVLIOL4LSV1 IO-Link執(zhí)行<b class='flag-5'>器</b>的工業(yè)物聯(lián)網(wǎng)技術(shù)解析

    TPS563212同步降壓轉(zhuǎn)換技術(shù)解析與應(yīng)用指南

    的電源正常狀態(tài)指示器或外部軟啟動。通過正確配置使能引腳、電源正常狀態(tài)指示器或外部軟啟動可以實現(xiàn)電源時序控制。4.2V至18V的寬輸入電壓范圍支持12V和15V等各種常見的輸入電壓軌。其輸出電壓為0.6V至7V,支持高達3A的持續(xù)
    的頭像 發(fā)表于 09-26 10:22 ?667次閱讀
    TPS563212同步降壓轉(zhuǎn)換<b class='flag-5'>器</b>技術(shù)解析與應(yīng)用指南

    TPS562212同步降壓轉(zhuǎn)換技術(shù)解析與應(yīng)用指南

    軟啟動。通過正確配置使能引腳、電源正常狀態(tài)指示器或外部軟啟動可以實現(xiàn)電源時序控制。4.2V至18V的寬輸入電壓范圍支持12V和15V等各種常見的輸入電壓軌。其輸出電壓為0.6V至7V,支持高達2A的持續(xù)輸出電流。
    的頭像 發(fā)表于 09-26 09:37 ?661次閱讀
    TPS562212同步降壓轉(zhuǎn)換<b class='flag-5'>器</b>技術(shù)解析與應(yīng)用指南

    德州儀器UCC256404技術(shù)方案 使用數(shù)字控制在次級側(cè)實現(xiàn)LLC電流模式控制

    歡迎來到 德州儀器的 電源設(shè)計小貼士 Power Tips 系列文章 ? 本期,我們將介紹 LLC 電流模式控制 的詳細(xì)知識 ? 電流模式控制 LLC 注意事項 如圖 1 所示, 指示器 - 指示器
    的頭像 發(fā)表于 08-14 10:50 ?4252次閱讀
    德州儀器UCC256404技術(shù)方案  使用數(shù)字控制<b class='flag-5'>器</b>在次級側(cè)<b class='flag-5'>實現(xiàn)</b>LLC電流模式控制

    TPS563211 4.2V 至 18V、3A、同步降壓轉(zhuǎn)換,精度為 1%,PG/SS 和 PFM/強制 PWM數(shù)據(jù)手冊

    TPS563211 是一款經(jīng)濟高效且高度靈活的同步降壓轉(zhuǎn)換,可提供可選的 Eco 模式作或 FCCM(強制連續(xù)導(dǎo)通模式)作。可選的 Power-Good 指示器或外部軟啟動也可以通過 MODE
    的頭像 發(fā)表于 06-09 17:30 ?803次閱讀
    TPS563211 4.2V 至 18V、3A、同步降壓轉(zhuǎn)換<b class='flag-5'>器</b>,精度為 1%,PG/SS 和 PFM/強制 PWM數(shù)據(jù)手冊

    TPS563212 具有節(jié)能模式和可選 FCCM 的 4.2V 至 18V、3A、1.2MHz 同步降壓轉(zhuǎn)換數(shù)據(jù)手冊

    TPS563212 是一款經(jīng)濟高效且高度靈活的同步降壓轉(zhuǎn)換,可提供可選的 Eco 模式作或 FCCM(強制連續(xù)導(dǎo)通模式)作。可選的電源正常指示器或外部軟啟動也可以通過 MODE 引腳進行配置。通過
    的頭像 發(fā)表于 06-09 15:28 ?772次閱讀
    TPS563212 具有節(jié)能模式和可選 FCCM 的 4.2V 至 18V、3A、1.2MHz 同步降壓轉(zhuǎn)換<b class='flag-5'>器</b>數(shù)據(jù)手冊

    TPS562212 具有節(jié)能模式和可選 FCCM 的 4.2V 至 18V、2A、1.2MHz 同步降壓轉(zhuǎn)換數(shù)據(jù)手冊

    TPS562212 是一款經(jīng)濟高效且高度靈活的同步降壓轉(zhuǎn)換,可提供可選的 Eco 模式作或 FCCM(強制連續(xù)導(dǎo)通模式)作。可選的電源正常指示器或外部軟啟動也可以通過 MODE 引腳進行配置。通過
    的頭像 發(fā)表于 06-09 14:38 ?802次閱讀
    TPS562212 具有節(jié)能模式和可選 FCCM 的 4.2V 至 18V、2A、1.2MHz 同步降壓轉(zhuǎn)換<b class='flag-5'>器</b>數(shù)據(jù)手冊

    Profinet轉(zhuǎn)Ethernet IP主站網(wǎng)關(guān):點燃?xì)漉a(chǎn)線的智慧之光!

    案例分享:轉(zhuǎn)角指示器和Profinet轉(zhuǎn)EthernetIP網(wǎng)關(guān)的應(yīng)用 在現(xiàn)代工業(yè)自動化中,設(shè)備和系統(tǒng)之間的高效通信至關(guān)重要。最近,我們在某大型化工企業(yè)的生產(chǎn)線上實施了一個項目,旨在通過先進的設(shè)備
    的頭像 發(fā)表于 05-19 14:10 ?471次閱讀
    Profinet轉(zhuǎn)Ethernet IP主站網(wǎng)關(guān):點燃?xì)漉a(chǎn)線的智慧之光!

    超級電容在故障指示器中的作用有哪些?

    超級電容在故障指示器中的作用有哪些?安裝在輸配電線路、電力電纜及開關(guān)柜進出線上的故障指示器在電流流通的線路中起著非常重要的作用,一旦線路發(fā)生故障,巡線人員可以利用指示燈的報警顯示快速的確定故障出現(xiàn)
    的頭像 發(fā)表于 05-16 08:41 ?663次閱讀
    超級電容在故障<b class='flag-5'>指示器</b>中的作用有哪些?

    LORA數(shù)采網(wǎng)關(guān)在花卉大棚小氣候監(jiān)測的功能應(yīng)用

    LORA數(shù)采網(wǎng)關(guān)在花卉大棚小氣候監(jiān)測中具有重要的功能應(yīng)用,以下是其具體介紹: 數(shù)據(jù)采集與傳輸 環(huán)境參數(shù)采集:LORA數(shù)采網(wǎng)關(guān)可以連接多種傳感,如溫濕度傳感、光照傳感、二氧化碳傳感
    的頭像 發(fā)表于 03-18 13:48 ?938次閱讀