497【畢設課設】基於51微控制器太陽能鋰電池無線WiFi光照控制路燈
阿新 • • 發佈:2020-12-05
【資源下載】下載地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
51微控制器太陽能鋰電池無線WiFi APP光照控制路燈21
本系統由STC89C52微控制器、太陽能電池板、鋰電池充放電保護、升壓、
WIFI模組、高亮LED燈、A/D取樣PCF8591、光照檢測組成。
1、通過太陽能給鋰電池充電,具有充電保護。鋰電池通過升壓升壓到
5V給整個微控制器系統供電;
2、上電預設自動狀態,通過光敏電阻檢測光照,進而控制燈的亮度,
天越黑,燈越亮;分0-4檔。
3、可以通過手機APP,通過藍芽控制燈的亮滅,點選“關閉”將關閉
Led;點選“開啟”將根據光照情況控制led燈即步驟2的作用。
4、微控制器檢測太陽能電池板的電壓,並將太陽能是否在給電池充電狀態
傳送給手機,手機APP相應狀態顯示。
傳送控制命令:
*C# //關閉led燈
*O# //開啟led燈 根據光照情況控制led燈
裝置傳送資料:
例子:*BYD1# //BY電池在充電 BN電池不在充電 D表示檔位1代表1檔
例子:*BND2# //BY電池在充電 BN電池不在充電 2檔
點選並拖拽以移動 #include <reg52.h> #include <intrins.h> #include <stdio.h> #include <string.h> #include "delay.h" #include "i2c.h" sbit LED0 = P1^1; sbit LED1 = P1^0; unsigned char Count1 =0 ; //pwm對比 unsigned char setPwm1 = 2; //pwm初始值 unsigned char reportMes = 0; //上報資料標誌 #define OPEN 0x22 #define CLOSE 0x33 unsigned long time_20ms=0; //定時器計數 float LighV=0.0; //檢測電壓 float SunVolt=0.0; //檢測電流 unsigned char i,MesCount=0 ; unsigned char sendDataFlag ; unsigned char dis0[15]; //串列埠傳送內容 unsigned char BufTab[20]; //暫存 wifi串列埠傳送來的資料 unsigned char Count; //串列埠資料計數 unsigned char UartBusy=0; //串列埠接收判忙 unsigned char ReadFlag=0;//串列埠讀取標誌 unsigned long Num = 0; //計數 unsigned char rebackFalg =0 ; //返回命令標誌 unsigned char WifiCtrFlag = 1; //wifi控制標誌 void Init_Timer0(void);//函式宣告 void uartSendStr(unsigned char *s,unsigned char length); void UART_Init(void); void uartSendByte(unsigned char dat);