410【畢設課設】基於51微控制器太陽能鋰電池無線藍芽APP光照控制路燈系統
阿新 • • 發佈:2020-12-05
【資源下載】下載地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
51微控制器太陽能鋰電池無線藍芽APP光照控制路燈122
本系統由STC89C52微控制器、太陽能電池板、鋰電池充放電保護、
升壓模組、藍芽模組、高亮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檔
unsigned char i ; unsigned char dis0[15]; //串列埠傳送內容 void Init_Timer0(void);//函式宣告 void uartSendStr(unsigned char *s,unsigned char length); void UART_Init(void); void uartSendByte(unsigned char dat); void main (void) { Init_Timer0(); //定時器0初始化 UART_Init(); //串列埠初始化 ledLigh = 0; DelayMs(200); //延時有助於穩定 ledLigh=1; while(1) //主迴圈 { lighVolt=(float)ReadADC(0)*5.15/255; //計算出電壓 *3表示分壓值//**All notes can be deleted and modified**// DelayMs(10); //延時有助於穩定 sunVolt=(float)ReadADC(1)*5.15*2/255; //計算出電流 if(ledCtrFlag == 0) { if(lighVolt<0.5) //電壓對比確定亮滅程度 {pwmLed = 1;} else if((lighVolt<1.8)) {pwmLed = 2;}