add TW203 Module
This commit is contained in:
parent
d92c73e33f
commit
ee5c39dd22
|
@ -29,7 +29,7 @@ lite_component("app") {
|
|||
# "TW105_I2C_sht30:i2c_sht30",
|
||||
# "TW106_UART:uart_example",
|
||||
# "TW201_Module_oled:module_oled_example",
|
||||
"TW203_Module_tricolor_light:module_tricolor_light_example",
|
||||
"TW203_Module_tricolor_light:module_tricolor_light_example",
|
||||
# "TW204_Module_enviroment:module_enviroment_example",
|
||||
# "TW301_Network_wifista:network_wifista_example",
|
||||
# "TW302_Network_wifiap:network_wifiap_example",
|
||||
|
|
|
@ -14,3 +14,53 @@
|
|||
main_demo.c --本案例环境联动控制源文件
|
||||
tricolor_light_demo.c --三色灯控制源文件
|
||||
|
||||
|
||||
# 相关API介绍
|
||||
## beep_demo
|
||||
1.BeepInit(): 蜂鸣器初始化函数,初始化GPIO9为PWM0输出
|
||||
2.BeepStart(): 蜂鸣器使能函数
|
||||
3.BeepStop(): 蜂鸣器停止函数
|
||||
4.BeepCtrl(struct BEEPCTRLATTR* ctrlAttr):蜂鸣器控制函数
|
||||
ctrlAttr参数说明:
|
||||
times //响的次数
|
||||
duty //每次响的占空比
|
||||
period //每响一次的时间周期
|
||||
callTime //控制函数的调用周期
|
||||
|
||||
## infrared_demo
|
||||
1.InfraredSensorInit(): 红外传感初始化函数,初始化GPIO7为IO输入
|
||||
2.GetInfraredSensorVal(): 获取红外传感IO引脚当前的状态值
|
||||
3.GetEnvBodyState(): 获取红外人体感应目前的环境状态
|
||||
返回值(enum ENV_BODY_STATE):
|
||||
BODY_NOT //无人靠近
|
||||
BODY_COME //有人靠近
|
||||
BODY_KEEP //有人靠近后保持
|
||||
BODY_LEAVE //有人离开
|
||||
|
||||
## light_demo
|
||||
1.LightSensorVal(unsigned short* val): 获取当前环境光照值,保存到val中
|
||||
2.GetLightAverageVal(unsigned char cnt): 多次获取当前环境光照并取平均值
|
||||
cnt为多次获取次数
|
||||
return 返回多次获取的平均值
|
||||
3.GetEnvLightState(): 获取当前环境光照状态
|
||||
返回值(enum ENV_LIGHT_STATE):
|
||||
LIGHT_DAY //白天
|
||||
LIGHT_DUSK //黄昏
|
||||
LIGHT_NIGHT //黑夜
|
||||
|
||||
## tricolor_light_demo
|
||||
1.TricolorLightInit(): 三色灯初始化函数,初始化GPIO10,GPIO11,GPIO12为PWM1,PWM2,PWM3输出
|
||||
2.TricolorLightStart(char redDuty, char GreenDuty, char BlueDuty): 设置PWM输出值,并开启PWM输出
|
||||
redDuty: 红灯PWM占空比
|
||||
GreenDuty: 绿灯PWM占空比
|
||||
BlueDuty: 蓝灯PWM占空比
|
||||
3.TricolorLightStop(): 三色灯P输出停止函数
|
||||
|
||||
# 运行结果
|
||||
当红外检测到有人接近时,蜂鸣器响两声,同时:
|
||||
当环境光线充足时,三色灯熄灭;
|
||||
当环境光线较昏暗时,三色灯显示低亮度;
|
||||
当环境光线非常不足时,三色灯显示高亮度;
|
||||
当红外检测到有人离开时,蜂鸣器响两声,且三色灯熄灭
|
||||
|
||||
|
||||
|
|
|
@ -25,7 +25,6 @@ enum ENV_LIGHT_STATE{
|
|||
LIGHT_NIGHT //黑夜
|
||||
};
|
||||
|
||||
void LightSensorInit(void);
|
||||
int GetLightAverageVal(unsigned char cnt);
|
||||
enum ENV_LIGHT_STATE GetEnvLightState(void);
|
||||
|
||||
|
|
|
@ -17,14 +17,6 @@
|
|||
#define ENV_LIGHT_LEVEL_LOW 1000 //低环境光AD值,模拟黄昏
|
||||
#define ENV_LIGHT_LEVEL_LOWEST 1500 //超低环境光AD值,模拟黑夜
|
||||
|
||||
void LightSensorInit(void)
|
||||
{
|
||||
IoTGpioInit(IOT_GPIO_IO_GPIO_13); // 光敏电阻
|
||||
IotIoSetFunc(IOT_GPIO_IO_GPIO_13, HI_IO_FUNC_GPIO_13_GPIO);
|
||||
IotIoSetPull(IOT_GPIO_IO_GPIO_13, IOT_IO_PULL_UP);
|
||||
IoTGpioSetDir(IOT_GPIO_IO_GPIO_13, IOT_GPIO_DIR_IN);
|
||||
}
|
||||
|
||||
int LightSensorVal(unsigned short* val)
|
||||
{
|
||||
int ret = IoTAdcRead(WIFI_IOT_ADC_CHANNEL_6,val,WIFI_IOT_ADC_EQU_MODEL_8,WIFI_IOT_ADC_CUR_BAIS_DEFAULT,256);
|
||||
|
|
|
@ -27,24 +27,26 @@
|
|||
const unsigned char rgbDutyLow[] = {20,4,20}; //低亮度
|
||||
const unsigned char rgbDutyHig[] = {99,99,99}; //高亮度
|
||||
|
||||
//初始化蜂鸣器相关参数
|
||||
struct BEEPCTRLATTR gBeepCtrlAttr ={
|
||||
.times = 0,
|
||||
.duty = 0.4,
|
||||
.period = 500,
|
||||
.callTime = 200
|
||||
.callTime = 200
|
||||
};
|
||||
|
||||
static void MainDemoTask(void)
|
||||
{
|
||||
int lightVal = 0;
|
||||
char redDuty = 0, GreenDuty = 0, BlueDuty = 0;
|
||||
enum ENV_BODY_STATE envBodyState = BODY_NOT;
|
||||
enum ENV_LIGHT_STATE envLightState = LIGHT_DAY;
|
||||
enum ENV_BODY_STATE envBodyState = BODY_NOT; //记录人体状态变量
|
||||
enum ENV_LIGHT_STATE envLightState = LIGHT_DAY; //记录环境光照变量
|
||||
|
||||
//蜂鸣器初始化
|
||||
BeepInit();
|
||||
|
||||
//红外传感器初始化
|
||||
InfraredSensorInit();
|
||||
|
||||
//三色灯初始化
|
||||
TricolorLightInit();
|
||||
|
||||
for(;;)
|
||||
|
@ -102,7 +104,6 @@ static void MainDemoEntry(void)
|
|||
if (osThreadNew((osThreadFunc_t)MainDemoTask, NULL, &attr) == NULL) {
|
||||
printf("[MainDemoExample] Falied to create Main Demo Task!\n");
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
APP_FEATURE_INIT(MainDemoEntry);
|
||||
|
|
Loading…
Reference in New Issue