|
使用 TLink 遠程控制開發板燈光的亮度、色溫以及 RGB 顏色。主程序如下:
#include "stdio.h"
#include "string.h"
#include "DELAY/Delay.h"
#include "ADC/ADC.h"
#include "LED/LED.h"
#include "NVIC/NVIC.h"
#include "IIC/IIC.h"
#include "OLED/OLED.h"
#include "DHT11/DHT11.h"
#include "UART/uart.h"
#include "NetWork.h"
#include "LIGHT/Light.h"
#include "TIMx/TIMx.h"
#include "DMA/DMA.h"
#include "TLink.h"
extern u16 RGB_buffer[69];
DeviceSta_Strcture device = {0};
int main(void)
{
u8 i = 0;
u16 DHT11_data; //存儲DHT11傳感器采集數據
/*初始化各外設*/
initSysTick();
initADC();
initUART();
initUART2();
initLED();
initDHT11();
initIIC();
initOLED();
initNVIC(NVIC_PriorityGroup_2);//開啟UART2的接收和空閑中斷
/*設置定時器2時鐘為10us,1KHz*/
initTIMx(TIM2,719,100,TIM_IT_Update,DISABLE);
initTIM2OC1(50);
initTIM2OC2(50);
initTIMx(TIM4,0,89,TIM_IT_Update,DISABLE);
initTIM4OC1(0);
initDMA(DMA1_Channel1, (u32)(&TIM4->CCR1), (u32)RGB_buffer,sizeof(RGB_buffer));
/*亮度10%,色溫50%,RGB紅光*/
initLight(0,0,0,0,0);
formatScreen(0x00);//清屏
/*打印ESP8266啟動信息到OLED*/
if(initESP8266()!=0)
{
showString(0,0,"init ok!",FONT_16_EN);
}else
{
showString(0,0,"init error!",FONT_16_EN);
}
if(connectAP(SSID,PWD)!=0)
{
showString(0,2,"conn ap ok!",FONT_16_EN);
}else
{
showString(0,2,"con ap error!",FONT_16_EN);
}
if(connectTlink()!=0)
{
showString(0,4,"conn TLink ok!",FONT_16_EN);
}else
{
showString(0,4,"conn TLink no!",FONT_16_EN);
}
Delay_ms(1000);//讓數據保持一段時間
formatScreen(0x00);
showCNString(32,0," ",FONT_16_CN);
showString(0,2,"Hum :",FONT_16_EN);
showString(0,4,"Temp:",FONT_16_EN);
showString(0,6,"Lux :",FONT_16_EN);
while (1)
{
/*數據采集顯示*/
if(++i>30)
{
i = 0;
DHT11_data = readDHT11();
device.Humidity = DHT11_data>>8;
device.Temperature = DHT11_data&0x00FF;
device.Lux = getConvValueAve(10,1000);
showNumber(40,2,device.Humidity,DEC,3,FONT_16_EN);
showNumber(40,4,device.Temperature,DEC,3,FONT_16_EN);
showNumber(40,6,device.Lux,DEC,4,FONT_16_EN);
sendDeviceStatus(&device);
}
toggleLED();
Delay_ms(100);
}
}
|
-
-
智能燈泡.7z
2019-3-23 03:23 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
193.07 KB, 下載次數: 49, 下載積分: 黑幣 -5
|