久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8225|回復: 8
打印 上一主題 下一主題
收起左側

51單片機WiFi遙控小車及APP

  [復制鏈接]
跳轉到指定樓層
樓主
    51單片機WiFi遙控小車是利用手機作為控制端,通過WIFI模塊與單片機串口通信,實現小車的前進、后退、左拐、右拐停止等功能。

下載:
51單片機WiFi遙控小車及APP.rar (180.02 KB, 下載次數: 173)










單片機源碼:
  1. #include <REGX51.H>
  2. #define uint unsigned int
  3. #define uchar unsigned char


  4. uchar Receive,i,qj,yz,zz,ht;
  5. uint n;
  6. uchar Recive_table[40];



  7. void ms_delay(uint t)
  8. {
  9. uint i,j;
  10. for(i=t;i>0;i--)
  11. for(j=110;j>0;j--);
  12. }


  13. void us_delay(uchar t)
  14. {
  15. while(t--);
  16. }


  17. void Uart_Init() //使用定時器1作為波特率發生器(STC89C52、STC89C51、AT89C51等均可)
  18. {
  19. TMOD = 0x20;
  20. SCON = 0x50;
  21. TH1 = 0xFD;
  22. TL1 = TH1;
  23. PCON = 0x00;
  24. EA = 1; //總中斷打開
  25. ES = 1; //開串口中斷
  26. TR1 = 1; //啟動定時器1
  27. }




  28. void Send_Uart(uchar value)
  29. {
  30. ES=0; //關閉串口中斷
  31. TI=0; //清發送完畢中斷請求標志位
  32. SBUF=value; //發送
  33. while(TI==0); //等待發送完畢
  34. TI=0; //清發送完畢中斷請求標志位
  35. ES=1; //允許串口中斷
  36. }






  37. void ESP8266_Set(uchar *puf) // 數組指針*puf指向字符串數組
  38. {
  39. while(*puf!='\0') //遇到空格跳出循環
  40. {
  41. Send_Uart(*puf);
  42. us_delay(5);
  43. puf++;
  44. }
  45. us_delay(5);
  46. Send_Uart('\r');
  47. us_delay(5);
  48. Send_Uart('\n');
  49. }





  50. void main()
  51. {
  52. Uart_Init();
  53. ms_delay(2000);
  54. ESP8266_Set("AT+CWMODE=2");
  55. ms_delay(2000);
  56. // ESP8266_Set("AT+RST");
  57. // ms_delay(2000);
  58. ESP8266_Set("AT+CWSAP=\"wifi\",\"123456789\",11,4"); //AT+CWSAP="wifi","123456789",11,4
  59. ms_delay(2000);
  60. ESP8266_Set("AT+CIPMUX=1");
  61. ms_delay(2000);
  62. ESP8266_Set("AT+CIPSERVER=1,5000");
  63. ms_delay(2000);
  64. ESP8266_Set("AT+CIPSTO=0");
  65. ES=1;
  66. qj=1;
  67. zz=1;
  68. yz=1;
  69. ht=1;
  70. while(1)
  71. {
  72. if((Recive_table[0]=='+')&&(Recive_table[1]=='I')&&(Recive_table[2]=='P'))
  73. {
  74. if((Recive_table[9]=='G')&&(Recive_table[10]=='P'))
  75. {
  76. if(Recive_table[15]=='0')
  77. {
  78. qj=0; //前進
  79. zz=1;
  80. yz=1;
  81. ht=1;
  82. }
  83. else
  84. if (Recive_table[15]=='1')
  85. {
  86. qj=1;
  87. zz=1;
  88. yz=1;
  89. ht=0; // 后退
  90. }
  91. else
  92. if (Recive_table[15]=='2')
  93. {
  94. // qj=1; //
  95. zz=1;
  96. yz=0; //右轉
  97. // ht=1;
  98. }
  99. else
  100. if (Recive_table[15]=='3')
  101. {
  102. // qj=1; //
  103. zz=0; //左轉
  104. yz=1;
  105. // ht=1;
  106. }
  107. else
  108. if (Recive_table[15]=='4')
  109. {
  110. qj=1; //
  111. zz=1;
  112. yz=1;
  113. ht=1;
  114. }
  115. }
  116. }
  117. if(qj==0)
  118. {
  119. if((zz==0)|(yz==0))
  120. {
  121. ;
  122. }
  123. else
  124. {
  125. P2=0x11;
  126. ms_delay(10);
  127. P2=0x22;
  128. ms_delay(10);
  129. P2=0x44;
  130. ms_delay(10);
  131. P2=0x88;
  132. ms_delay(10);
  133. }
  134. }
  135. if(ht==0)
  136. {
  137. if((zz==0)|(yz==0))
  138. {
  139. ;
  140. }
  141. else
  142. {
  143. P2=0x88;
  144. ms_delay(10);
  145. P2=0x44;
  146. ms_delay(10);
  147. P2=0x22;
  148. ms_delay(10);
  149. P2=0x11;
  150. ms_delay(10);
  151. }
  152. }
  153. if(zz==0)
  154. {
  155. if(ht==1)
  156. {
  157. P2=0x01;
  158. ms_delay(10);
  159. P2=0x02;
  160. ms_delay(10);
  161. P2=0x04;
  162. ms_delay(10);
  163. P2=0x08;
  164. ms_delay(10);
  165. }
  166. else
  167. {
  168. P2=0x08;
  169. ms_delay(10);
  170. P2=0x04;
  171. ms_delay(10);
  172. P2=0x02;
  173. ms_delay(10);
  174. P2=0x01;
  175. ms_delay(10);
  176. }
  177. }
  178. if(yz==0)
  179. {
  180. if(ht==1)
  181. {
  182. P2=0x10;
  183. ms_delay(10);
  184. P2=0x20;
  185. ms_delay(10);
  186. P2=0x40;
  187. ms_delay(10);
  188. P2=0x80;
  189. ms_delay(10);
  190. }
  191. else
  192. {
  193. P2=0x80;
  194. ms_delay(10);
  195. P2=0x40;
  196. ms_delay(10);
  197. P2=0x20;
  198. ms_delay(10);
  199. P2=0x10;
  200. ms_delay(10);
  201. }
  202. }
  203. }
  204. }






  205. void Uart_Interrupt() interrupt 4
  206. {
  207. static uchar i=0;
  208. if(RI==1)
  209. {
  210. RI=0;
  211. Receive=SBUF;
  212. Recive_table[ i]=Receive; if((Recive_table[ i]=='\n')){ i=0;} else i++; } else TI=0; }
復制代碼


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏11 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:130231 發表于 2018-6-13 15:53 | 只看該作者
APP可以有重力感應控制嗎
回復

使用道具 舉報

板凳
ID:34643 發表于 2018-6-13 21:01 | 只看該作者
zqy181818 發表于 2018-6-13 15:53
APP可以有重力感應控制嗎

APP沒有重力感應控制
回復

使用道具 舉報

地板
ID:34643 發表于 2018-6-16 06:14 | 只看該作者
電機使用的是步進電機。
回復

使用道具 舉報

5#
ID:130231 發表于 2018-6-16 22:23 | 只看該作者
51mcu 發表于 2018-6-13 21:01
APP沒有重力感應控制

我看到過,用的是加速傳感器做的,不過的是我不會做。
回復

使用道具 舉報

6#
ID:436502 發表于 2018-11-30 13:57 | 只看該作者
感謝樓主無私奉獻
回復

使用道具 舉報

7#
ID:74784 發表于 2021-3-22 18:51 | 只看該作者
下了2遍都說數據壞掉了!

評分

參與人數 1黑幣 +15 收起 理由
51hei團團 + 15

查看全部評分

回復

使用道具 舉報

8#
ID:328014 發表于 2021-3-23 00:24 | 只看該作者
lxa0 發表于 2021-3-22 18:51
下了2遍都說數據壞掉了!

我剛測試了,沒有問題 要用最新版的winrar解壓才行,用其他的會失敗
回復

使用道具 舉報

9#
ID:895316 發表于 2021-3-23 08:12 | 只看該作者
大佬可以加攝像頭嗎,DIY小玩意要做智能搜救小車想加個攝像頭和超聲波避障
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品成人影院 | 久久久久国产成人精品亚洲午夜 | 在线91 | 精品欧美乱码久久久久久 | 网站黄色av| 亚洲精品一区二区在线观看 | 午夜tv免费观看 | 久久高清免费视频 | 久久久久国产精品www | 日韩精品一区二区三区在线播放 | 国产成人免费视频网站高清观看视频 | 精品视频一区二区三区 | 午夜成人免费电影 | 日韩 国产 在线 | 日韩精品无码一区二区三区 | 国产成人黄色 | 成人高清在线 | 日韩精品欧美精品 | 国产一区 在线视频 | 日韩在线免费视频 | 久久精品电影 | 青青草av在线播放 | 久久最新精品视频 | 久久免费视频1 | 久久久久久久久久久久久9999 | 国产欧美日韩一区二区三区 | 色综合久久天天综合网 | 久草视 | 青青草原综合久久大伊人精品 | 久久久久国产一区二区三区不卡 | 免费看黄色国产 | 成人 在线 | 粉嫩一区二区三区国产精品 | 在线激情视频 | 看羞羞视频免费 | 日韩精品一区二区三区在线播放 | 中文字幕在线国产 | 成人深夜小视频 | 久久精品亚洲精品 | 91精品国产91久久久久久吃药 | 九色网址 |