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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

Wifi遙控小車使用說明與APP及單片機控制源碼下載

  [復制鏈接]
跳轉到指定樓層
樓主
Wifi遙控小車使用說明
本例程采用ESP8266 wifi模塊與STM32串口連接,并提供AT指令封裝庫與STM32通訊,實現如下的通訊方式:

1、硬件部分
Wifi模塊絲印圖即引腳如下:
硬件連接如下:
Wifi模塊
Stm32核心板
說明
GND
GND

UTXD
PB11(RXD)
串口發送IO
CH_PD
VCC
3.3V,wifi使能位
URXD
PB10(TXD)
串口接收IO
VCC
3.3V
3.3V
其他

懸空
2、手機APP部分
APP部分我們采用常用的APP  wifi調試軟件 ITEAD WIFI,安裝完成后打開
如下界面,點擊Set up進入設置:
進入后會自動獲取到手機的IP,注意手機是連接到一個路由器下的,支持局域網內調試,先設置端口,一般是 8080
然后設置指令,我們使用到了如下紅框內的指令,指令協議可以參考工程文件interface.h有如下描述:
//指令定義
#define COMM_STOP  'I'//停止
#define COMM_UP    'A'//前進
#define COMM_DOWN  'B'//后退
#define COMM_LEFT  'C'//左轉
#define COMM_RIGHT 'D'//右轉
指令設置好之后就可以啟動服務了,如下點擊開始就好了
設置完成后如下,這里記下服務端IP和端口號,我這里是 192.168.31.195,端口 8080 ,然后返回:
3、stm32軟件部分
設置完APP軟件后,再來修改我們的工程文件,打開工程“wifi遙控小車”,打開main.c文件,修改紅框內信息:
HOST_NAME和HOST_PORT為手機上面的IP和端口號,SSID為您的路由器名,PSD為路由器密碼,修改好后重新編譯后下載。
下載完成復位一下,就可以運行了,程序會自動連接手機開啟的服務,實現TCP/IP通信,連接成功后,看手機端的設置會有如下提示:
本程序還是用了串口1來輸出調試信息,將串口1連接電腦后也會在串口調試助手看到如下信息:
連接成功后即可在如下界面按鍵,操作小車運行:
如有其他問題請先詳細參考wifi模塊資料以及本實驗程序。

單片機源程序如下:
  1. /********************************* 深圳市航太電子有限公司 *******************************
  2. * 實 驗 名 :小車藍牙遙控實驗
  3. * 實驗說明 :使用手機連接藍牙模塊后,通過手機發送指令來控制小車
  4. * 實驗平臺 :航太ARM單片機開發板
  5. * 連接方式 :請參考interface.h文件
  6. * 注    意 :指令必須連續發送才會使小車動作,若停止發送指令,則小車會停止
  7. ****************************************************************************************/

  8. #include "stm32f10x.h"
  9. #include "interface.h"
  10. #include "LCD1602.h"
  11. #include "IRCtrol.h"
  12. #include "motor.h"
  13. #include "uart.h"
  14. #include "ESP8266.h"
  15. #include "serialportAPI.h"
  16. #include <stdlib.h>
  17. #include <stdio.h>

  18. //全局變量定義
  19. unsigned int speed_count=0;//占空比計數器 50次一周期
  20. char front_left_speed_duty=SPEED_DUTY;
  21. char front_right_speed_duty=SPEED_DUTY;
  22. char behind_left_speed_duty=SPEED_DUTY;
  23. char behind_right_speed_duty=SPEED_DUTY;

  24. unsigned char tick_5ms = 0;//5ms計數器,作為主函數的基本周期
  25. unsigned char tick_1ms = 0;//1ms計數器,作為電機的基本計數器
  26. unsigned char tick_200ms = 0;//刷新顯示
  27. unsigned int tick_3s = 0;//隔3s斷線檢測

  28. char ctrl_comm = COMM_STOP;//控制指令
  29. unsigned char continue_time=0;
  30. unsigned char wifi_rec_flag=0;//藍牙控制標志位

  31. #define HOST_NAME   "192.168.31.195" //主機IP
  32. #define HOST_PORT   8080  //主機端口

  33. #define SSID "Hantech"  //路由器名
  34. #define PSD  "hantechinternet" //密碼

  35. #define RECVBUF_SIZE 16
  36. unsigned char buffer[RECVBUF_SIZE] = {0};

  37. int main(void)
  38. {
  39.         USART1Conf(9600);
  40.         DBG("system begin");
  41.         delay_init();
  42.         GPIOCLKInit();
  43.         UserLEDInit();
  44.         LCD1602Init();
  45.         TIM2_Init();
  46.         MotorInit();
  47.         ServoInit();
  48. //        USART3Conf(9600);

  49.                 while(1)
  50.         {
  51.                 DBG("chang baud");
  52.                
  53.                 UartBegin(115200,&USART3Conf,&PutChar);//每次設置完波特率后需要做一點延時
  54.                 delay(500);
  55.                 SetBaud(19200);
  56.                 UartBegin(19200,&USART3Conf,&PutChar);//更改波特率到19200
  57.                 delay(500);
  58.                 if(0 != SetBaud(19200))//在新波特率下檢查是否成功
  59.                 {
  60.                         break;//成功就退出
  61.                 }        
  62.         }

  63.         while(0 == WifiInit(SSID,PSD,HOST_NAME,HOST_PORT));
  64.         
  65. while(1)
  66. {        
  67.                 if(SerialAvailable() > 5)//接收到至少5個字符
  68.                 {
  69.                         int len;
  70.                         len = recv(buffer, RECVBUF_SIZE, 100);
  71.                         if (len > 0)
  72.                         {
  73.                                         char inChar;
  74.                                         inChar = buffer[0];
  75.         //                          send(buffer, len);
  76.                                         if (ctrl_comm != inChar || continue_time == 1)
  77.                                         {
  78.                                                 wifi_rec_flag = 1;
  79.                                                 ctrl_comm = inChar;
  80.                                         }
  81.                                         continue_time = 60;//更新持續時間
  82.                                   tick_3s = 0;//心跳包周期
  83.                         }
  84.                 }
  85.                
  86.                          if(tick_5ms >= 5)
  87.                 {
  88.                         tick_5ms = 0;
  89.                         tick_200ms++;
  90.                         if(tick_200ms >= 40)
  91.                         {
  92.                                 tick_200ms = 0;
  93.                                 tick_3s++;
  94.                                 LEDToggle(LED_PIN);
  95.                                 if(tick_3s >= 15)//15*200=3000
  96.                                 {
  97.                                         tick_3s = 0;
  98.                                         //定時檢查連接是否正常,如果不正常,wifi復位重新連接
  99.                                         if (getSystemStatus() != STATUS_GETLINK)
  100.                                         {
  101.                                                 DBG("TCP unlink");
  102.                                                 while(!WifiInit(SSID,PSD,HOST_NAME,HOST_PORT));
  103.                                         }else
  104.                                         {
  105.                                                 DBG("TCP link tick");
  106.                                         }                                       
  107.                                 }
  108.                         }
  109.                         //continue_time--;//200ms 無接收指令就停車
  110.                         if(continue_time == 0)
  111.                         {
  112.                                 continue_time = 1;
  113.                                 CarStop();
  114.                         }
  115.                         //do something
  116.                         if(wifi_rec_flag == 1)//接收到紅外信號
  117.                         {
  118.                                 wifi_rec_flag = 0;
  119.                                 switch(ctrl_comm)
  120.                                 {
  121.                                         case COMM_UP:    CarGo();break;
  122.                                         case COMM_DOWN:  CarBack();break;
  123.                                         case COMM_LEFT:  CarLeft();break;
  124.                                         case COMM_RIGHT: CarRight();break;
  125.                                         case COMM_STOP:  CarStop();break;
  126.                                         default : break;
  127.                                 }
  128.                                 LCD1602WriteCommand(ctrl_comm);
  129.                                 DBG("recv COMM");
  130.                         }
  131.                 }
  132.                
  133. }
  134. }

復制代碼


所有資料51hei提供下載:
wifi遙控小車.zip (6.88 MB, 下載次數: 222)



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

使用道具 舉報

沙發
ID:327035 發表于 2018-11-4 19:28 | 只看該作者
厲害了
回復

使用道具 舉報

板凳
ID:244589 發表于 2018-11-6 11:59 | 只看該作者
樓主,可以分享一下原理圖嗎
回復

使用道具 舉報

地板
ID:184813 發表于 2019-12-30 23:00 | 只看該作者
樓主,可以分享一下原理圖嗎
回復

使用道具 舉報

5#
ID:184813 發表于 2020-2-4 20:58 | 只看該作者
#在這里快速回復#樓主,可以分享一下原理圖嗎
回復

使用道具 舉報

6#
ID:80231 發表于 2020-2-25 23:52 | 只看該作者
多謝!!!!!!!!
回復

使用道具 舉報

7#
ID:770561 發表于 2020-6-5 17:33 | 只看該作者
太棒了。。終于找到了!!
回復

使用道具 舉報

8#
ID:826597 發表于 2020-10-7 16:43 | 只看該作者
感謝分享,非常詳細
回復

使用道具 舉報

9#
ID:862190 發表于 2020-12-17 15:33 | 只看該作者
太棒了。。終于找到了!!
回復

使用道具 舉報

10#
ID:800143 發表于 2020-12-31 16:31 | 只看該作者
用ESP-8266模塊怎么寫C語言客服端和終端實時互傳?
回復

使用道具 舉報

11#
ID:800143 發表于 2020-12-31 16:33 | 只看該作者
用ESP-8266模塊怎么寫客服端與終端的無線互傳?
回復

使用道具 舉報

12#
ID:120677 發表于 2021-1-7 08:37 | 只看該作者
這個界面做得好
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩中文久久 | 亚洲精品一区在线 | 欧美一级黄视频 | 九九热久久免费视频 | 欧美激情va永久在线播放 | 欧美在线一区二区三区 | 综合色导航| 成人精品免费视频 | 国产第一区二区 | 国产成人精品亚洲日本在线观看 | 亚洲精品国产电影 | 神马福利| 天天天天操 | 国产最新视频在线 | 国产在线不卡 | 欧美日韩在线视频一区二区 | 99爱国产| 欧美三区在线观看 | 欧美日韩国产一区二区三区 | 中文字幕在线人 | 婷婷中文在线 | 999国产视频 | 国产高清免费视频 | 91精品国产高清久久久久久久久 | 亚洲传媒在线 | 午夜私人影院在线观看 | 日韩视频一区二区 | 97成人在线 | 亚洲 中文 欧美 日韩 在线观看 | 国产视频精品在线 | 日本在线精品视频 | 久久久123| 9999视频| 69精品久久久久久 | 国产欧美一区二区三区久久手机版 | 国产精品国产a级 | 久草视频观看 | 国产精品自产拍 | 精品视频在线观看 | 免费在线观看av网址 | 成人国产精品久久 |