日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

温控窗帘系统制作文档

發布時間:2025/1/21 windows 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 温控窗帘系统制作文档 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

相關知識聲明:

1. 單片機要想控制直流電機,單片機電流過小不能直接驅動電機,中間需要一個“電機驅動 模塊”(淘寶有賣),L298N(6針腳,可以驅動2路直流電機)

接線方式:vcc,gnd,任意兩個io口* 2(可控制兩路)p1^0=1;p1^1=0即可轉動

2.無線遙控器用的是“200米無線遙控實驗開發套件”(7針腳,可以控制4路通斷對應遙控器四個按鍵) 接線方式:vcc,gnd,任意四個io口,一個接P3.3口? 詳細資料可參考:http://www.yunlongdz.cn/2/22.htm
3.SD18b20數字溫度傳感器,是數字傳感器,默認數值為85度,使用單總線1-wire協議傳輸,可讀兩字節的溫度數據。(3針腳 接線方式:vcc,gnd,一個io口
實現功能: 1.溫度的顯示:MFC的pc上位機顯示溫度,數碼管顯示溫度 2.獨立按鍵控制:電機正傳、反轉,實現窗簾開關。電機工作3s停轉 3遙控器控制:電機正傳、反轉,實現窗簾開關。電機工作3s停轉 4.自主控制:溫度大于22度,自動關窗簾,小于22度,自動開
效果圖: 程序關鍵代碼: c51電機控制代碼: if(count>10){count = 5; //防止count越界}電機控制大于22度,開小于22度,關if((wendu > 20) && (count > 1) && kai==0) //防止初始值誤讀{k1 = 1;k2 = 0;count = 0;guan = 0; //標志位kai = 1;Delays(3); //電機轉3秒k1 = 1;k2 = 1;}if((wendu < 21) && (count > 1) && guan==0) //21度臨界值{k1 = 0; //關窗k2 = 1;count = 0;guan = 1; //標志位kai = 0;Delays(3); //電機轉3秒k1 = 1;k2 = 1;}if(key2 == 0) //按鍵控制{k1 = 0;k2 = 1;Delays(3); //電機轉3秒k1 = 1;k2 = 1;}if(key == 0){k1 = 1;k2 = 0;Delays(3); //電機轉3秒k1 = 1;k2 = 1;}if(guo0 == 1) //遙控器D控制{k1 = 1;k2 = 0;Delays(3); //電機轉3秒k1 = 1;k2 = 1;}if(guo1 == 1) //鍵盤C控制{k1 = 0;k2 = 1;Delays(3); //電機轉3秒k1 = 1;k2 = 1;}/}
上位機關鍵代碼: 串口初始化代碼: void CWenduDlg::GUO_OpenCK() {//HANDLE hCom;//全局變量,串口句柄 hCom=CreateFile("\\\\.\\COM12",GENERIC_READ|GENERIC_WRITE,1,NULL,OPEN_EXISTING,0,NULL); //第三個參數0獨占,1非獨占if(hCom==(HANDLE)-1) //句柄,強制類型轉換{ MessageBox("打開COM失敗!"); } ///SetupComm(hCom,1024,1024);//輸入緩沖區和輸出緩沖區的大小都是 1024 COMMTIMEOUTS TimeOuts; //設定讀超時 TimeOuts.ReadIntervalTimeout=1000; TimeOuts.ReadTotalTimeoutMultiplier=500; TimeOuts.ReadTotalTimeoutConstant=5000; //設定寫超時 TimeOuts.WriteTotalTimeoutMultiplier=500; TimeOuts.WriteTotalTimeoutConstant=2000; SetCommTimeouts(hCom,&TimeOuts);//設置超時 DCB dcb; GetCommState(hCom,&dcb); dcb.BaudRate=9600;//波特率為 9600 dcb.ByteSize=8;//每個字節有 8 位 dcb.Parity=NOPARITY;//無奇偶校驗位 dcb.StopBits=TWOSTOPBITS;//兩個停止位 SetCommState(hCom,&dcb); PurgeComm(hCom,PURGE_TXCLEAR|PURGE_RXCLEAR);/}
溫度刷新代碼: void CWenduDlg::OnTimer(UINT nIDEvent) //定時器響應函數 {// TODO: Add your message handler code here and/or call default/*count++;*/if(1==nIDEvent){char str[4]; DWORD wCount=4;//讀取的字節數 BOOL bReadStat;//讀取狀態 bReadStat=ReadFile(hCom,str,wCount,&wCount,NULL); if(!bReadStat){ MessageBox("讀串口失敗!"); CloseHandle(hCom);//關串口KillTimer(1);//關定時器//return FALSE; } else{CString ss; //字符數組轉化為字符串 ss=(CString)str[0] + (CString)str[1] + (CString)str[2] + (CString)str[3]; //獲取第0123個值//MessageBox(ss); this->SetDlgItemText(IDC_EDIT1,ss); /*wendu = ((int)str[3])*10 + ((int)str[2]);*/} PurgeComm(hCom,PURGE_TXABORT|PURGE_RXABORT|PURGE_TXCLEAR|PURGE_RXCLEAR); UpdateData(FALSE);}完整的c51和MFC上位機工程代碼可參考: http://download.csdn.net/detail/guomutian911/7287157

總結

以上是生活随笔為你收集整理的温控窗帘系统制作文档的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。