【鸿蒙开发】Hi3861学习笔记-雨滴传感器
00. 目录
文章目录
- 00. 目录
- 01. 雨滴传感器概述
- 02. 雨滴传感器功能介绍
- 03. 雨滴传感器原理图
- 04. 硬件接线
- 05. 软件设计
- 06. 实验现象
- 07. 附录
01. 雨滴传感器概述
雨滴,下雨传感器,可用于各种天气状况的监测,并转成数定信号和AO输出。
1、传感器采用高品质FR-04双面材料,超大面积5.0*4.0CM,并用镀镍处理表面,具有对抗氧化,导电性,及寿命方面更优越的性能;
2、比较器输出,信号干净,波形好,驱动能力强,超过15mA;
3、配电位器调节灵敏度;
4、工作电压3.3V-5V
5、输出形式 :数字开关量输出(0和1)和模拟量AO电压输出;
6、设有固定螺栓孔,方便安装
7、小板PCB尺寸:3.2cm x 1.4cm
8、使用宽电压LM393比较器
02. 雨滴传感器功能介绍
接上5V电源,电源指示灯亮,感应板上没有水滴时,DO输出为高电平,开关指示灯灭 ,滴上一滴水,DO输出为低电平,开关指示灯亮,刷掉上面的水滴,又恢复到,输出高电平状态。
AO模拟输出,可以连接单片机的AD口检测滴在上面的雨量大小。
DO TTL数字输出也可以连接单片机检测是否有雨。
接线方式
1、VCC:接电源正极(3-5V)
2、GND:接电源负极
3、DO:TTL开关信号输出
4、AO:模拟信号输出
03. 雨滴传感器原理图
04. 硬件接线
05. 软件设计
template.c
/******************************************************************************************************* 实验现象:雨滴传感器模块,检测到有雨时,指示灯亮,否则灭。******************************************************************************************************/#include <stdio.h>
#include <unistd.h>#include "ohos_init.h"
#include "cmsis_os2.h"#include "bsp_led.h"//管脚定义
#define MODULE_PIN HI_IO_NAME_GPIO_11
#define MODULE_GPIO_FUN HI_IO_FUNC_GPIO_11_GPIO//传感器模块初始化
void pz_module_init(void)
{hi_gpio_init(); // GPIO初始化hi_io_set_pull(MODULE_PIN, HI_IO_PULL_NONE); // 设置GPIO上拉hi_io_set_func(MODULE_PIN, MODULE_GPIO_FUN); // 设置IO为GPIO功能hi_gpio_set_dir(MODULE_PIN, HI_GPIO_DIR_IN); // 设置GPIO为输入模式
}osThreadId_t MODULE_Task_ID; //任务IDvoid MODULE_Task(void)
{uint8_t key=0;uint8_t value=0;led_init();//LED初始化pz_module_init();while (1) {hi_gpio_get_input_val(MODULE_PIN,&key);if(key==0)LED(1);else LED(0);usleep(10*1000);}
}
//任务创建
void module_task_create(void)
{osThreadAttr_t taskOptions;taskOptions.name = "ModuleTask"; // 任务的名字taskOptions.attr_bits = 0; // 属性位taskOptions.cb_mem = NULL; // 堆空间地址taskOptions.cb_size = 0; // 堆空间大小taskOptions.stack_mem = NULL; // 栈空间地址taskOptions.stack_size = 1024; // 栈空间大小 单位:字节taskOptions.priority = osPriorityNormal; // 任务的优先级MODULE_Task_ID = osThreadNew((osThreadFunc_t)MODULE_Task, NULL, &taskOptions); // 创建任务1if (MODULE_Task_ID != NULL){printf("ID = %d, Create MODULE_Task_ID is OK!\n", MODULE_Task_ID);}
}/*** @description: 初始化并创建任务* @param {*}* @return {*}*/
static void template_demo(void)
{printf("-Hi3861开发板--雨滴传感器模块实验\r\n");module_task_create();
}
SYS_RUN(template_demo);
06. 实验现象
雨滴传感器模块,检测到有雨时,指示灯亮,否则灭。
07. 附录
下载:YL-083+雨滴模块资料.zip