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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32小車盲走程序(無探索區域四路直流電機調速 正反轉等)

[復制鏈接]
跳轉到指定樓層
樓主
四路直流電機正反轉,調速程序實現STM32小車盲走,無探索區域
可適用于L298N驅動電路和H橋模塊



stm32單片機源程序如下:
  1. #include "stm32f10x.h"
  2. #include "bsp_breathing.h"
  3. #include "delay.h"
  4. #include "bsp_usart1.h"
  5. /**
  6.   * @brief  主函數
  7.   * @param  無
  8.   * @retval 無
  9.   */
  10. int main(void)
  11. {        
  12.         DelayInit();
  13.         USART1_Config();
  14.         TIM2_PWM_Init();
  15.         TIM4_PWM_Init();
  16.         while(1)        
  17.                 {
  18.                 /*取元件1*/
  19.                         MORTOR_Straight();               //電機直走                 
  20.                         DelayS(8);                        //延時15s電機直走,到第一個拐彎處
  21.                         MORTOR_Stop();        //電機停止        
  22.                         MORTOR_Left();                        //電機左轉  (轉一圈4.8s = 4800ms)?
  23.                         DelayMs(600);
  24.                         MORTOR_Stop();        //電機停止
  25.                         MORTOR_Straight();                                //電機直走
  26.                         DelayMs(4500);                        //走8s到第二個拐彎處
  27.                         MORTOR_Stop();        //電機停止
  28.                         MORTOR_Right();                                        //電機右轉1           (轉???時間,然后再直走)
  29.                         DelayMs(600);                        //轉1/4圈
  30.                         MORTOR_Stop();        //電機停止
  31.                
  32.                         MORTOR_Straight();                                 //電機直走
  33.                         DelayS(2);                        //走4s到第三個拐彎處
  34.                         MORTOR_Stop();        //電機停止
  35.                         MORTOR_Right();                        //電機右轉1
  36.                         DelayMs(600);        
  37.                         MORTOR_Stop();        //電機停止
  38.                         
  39.                         MORTOR_Straight();                                 //電機直走        
  40.                         DelayMs(750);
  41.                         MORTOR_Stop();        //電機停止
  42.                         printf("#1GC1\r\n");   
  43.                         DelayS(10);
  44.                         
  45.                         
  46.                         /*返回物架1*/
  47.                         MORTOR_Back();
  48.                         DelayMs(750);
  49.                         MORTOR_Stop();        //電機停止
  50.                         MORTOR_Right();                        //電機右轉1
  51.                         DelayMs(600);
  52.                         MORTOR_Stop();        //電機停止
  53.                         
  54.                         MORTOR_Straight();                                 //電機直走
  55.                         DelayS(2);
  56.                         MORTOR_Stop();        //電機停止
  57.                         MORTOR_Left();                        //電機左轉  (轉一圈4.8s = 4800ms)?
  58.                         DelayMs(600);
  59.                         MORTOR_Stop();        //電機停止
  60.                         
  61.                         MORTOR_Straight();                                //電機直走
  62.                         DelayMs(4500);                        //走8s到第二個拐彎處
  63.                         MORTOR_Stop();        //電機停止
  64.                         MORTOR_Right();                        //電機右轉1
  65.                         DelayMs(600);
  66.                         MORTOR_Stop();        //電機停止
  67.                         
  68.                         MORTOR_Straight();                                //電機直走
  69.                         DelayMs(2500);                        
  70.                         MORTOR_Stop();        //電機停止
  71.                         MORTOR_Right();                        //電機右轉1
  72.                         DelayMs(600);
  73.                         MORTOR_Stop();        //電機停止
  74.                         
  75.                         MORTOR_Straight();                                 //電機直走        
  76.                         DelayMs(1500);
  77.                         MORTOR_Stop();        //電機停止
  78.                         printf("#2GC1\r\n");
  79.                         DelayS(10);
  80.                         
  81.                         /*取元件2*/
  82.                         MORTOR_Back();
  83.                         DelayS(1);
  84.                         MORTOR_Stop();        //電機停止
  85.                         MORTOR_Right();                        //電機右轉1
  86.                         DelayMs(600);
  87.                         MORTOR_Stop();        //電機停止
  88.                         
  89.                         MORTOR_Straight();                                //電機直走
  90.                         DelayMs(2500);                        
  91.                         MORTOR_Stop();        //電機停止
  92.                         MORTOR_Left();                        //電機左轉  (轉一圈4.8s = 4800ms)?
  93.                         DelayMs(600);
  94.                         MORTOR_Stop();        //電機停止
  95.                         
  96.                         MORTOR_Straight();                                //電機直走
  97.                         DelayMs(750);                        
  98.                         MORTOR_Stop();        //電機停止
  99.                         MORTOR_Right();                        //電機右轉1
  100.                         DelayMs(600);
  101.                         MORTOR_Stop();        //電機停止
  102.                         
  103.                         MORTOR_Straight();                                //電機直走
  104.                         DelayMs(1500);                        
  105.                         MORTOR_Stop();        //電機停止
  106.                         printf("#3GC1\r\n");
  107.                         DelayS(10);
  108.                         
  109.                         /*返回物架2*/
  110.                         MORTOR_Back();
  111.                         DelayMs(1500);
  112.                         MORTOR_Stop();        //電機停止
  113.                         MORTOR_Right();                        //電機右轉1
  114.                         DelayMs(600);
  115.                         MORTOR_Stop();        //電機停止
  116.                         
  117.                         MORTOR_Straight();                                //電機直走
  118.                         DelayMs(750);                        
  119.                         MORTOR_Stop();        //電機停止
  120.                         MORTOR_Right();                        //電機右轉1
  121.                         DelayMs(600);
  122.                         MORTOR_Stop();        //電機停止
  123.                         
  124.                         MORTOR_Straight();                                //電機直走
  125.                         DelayMs(2500);                        
  126.                         MORTOR_Stop();        //電機停止
  127.                         MORTOR_Left();                        //電機左轉  (轉一圈4.8s = 4800ms)?
  128.                         DelayMs(600);
  129.                         MORTOR_Stop();        //電機停止
  130.                         
  131.                         MORTOR_Straight();                                //電機直走
  132.                         DelayS(1);                        
  133.                         MORTOR_Stop();        //電機停止
  134.                         printf("#4GC1\r\n");
  135.                         DelayS(10);
  136.                         
  137.                         /*取元件3*/
  138.                         MORTOR_Back();
  139.                         DelayS(1);
  140.                         MORTOR_Stop();        //電機停止
  141.                         MORTOR_Left();                        //電機左轉  (轉一圈4.8s = 4800ms)?
  142.                         DelayMs(600);
  143.                         MORTOR_Stop();        //電機停止
  144.                         
  145.                         MORTOR_Straight();                                //電機直走
  146.                         DelayMs(2500);                        
  147.                         MORTOR_Stop();        //電機停止
  148.                         MORTOR_Right();                        //電機右轉1
  149.                         DelayMs(600);
  150.                         MORTOR_Stop();        //電機停止

  151.                         MORTOR_Straight();                                //電機直走
  152.                         DelayMs(750);                        
  153.                         MORTOR_Stop();        //電機停止
  154.                         MORTOR_Left();                        //電機左轉  (轉一圈4.8s = 4800ms)?
  155.                         DelayMs(600);
  156.                         MORTOR_Stop();        //電機停止
  157.                         
  158.                         MORTOR_Straight();                                //電機直走
  159.                         DelayS(2);                        
  160.                         MORTOR_Stop();        //電機停止
  161.                         printf("#3GC1\r\n");
  162.                         DelayS(10);
  163.                         
  164.                         /*返回物架3*/
  165.                         MORTOR_Back();
  166.                         DelayS(2);
  167.                         MORTOR_Stop();        //電機停止
  168.                         MORTOR_Left();                        //電機左轉  (轉一圈4.8s = 4800ms)?
  169.                         DelayMs(600);
  170.                         MORTOR_Stop();        //電機停止
  171.                         
  172.                         MORTOR_Straight();                                //電機直走
  173.                         DelayMs(750);                        
  174.                         MORTOR_Left();        //電機停止
  175.                         MORTOR_Right();                        //電機左轉
  176.                         DelayMs(600);
  177.                         MORTOR_Stop();        //電機停止
  178.                         
  179.                         MORTOR_Straight();                                //電機直走
  180.                         DelayS(4);                        
  181.                         MORTOR_Stop();        //電機停止
  182.                         MORTOR_Left();                //電機左轉
  183.                         DelayMs(600);
  184.                         MORTOR_Stop();        //電機停止
  185.                         
  186.                         MORTOR_Straight();                                //電機直走
  187.                         DelayMs(1750);                        
  188.                         MORTOR_Stop();        //電機停止
  189.                         MORTOR_Right();                        //電機右轉1
  190.                         DelayMs(600);
  191.                         MORTOR_Stop();        //電機停止
  192.                         
  193.                         MORTOR_Straight();                                //電機直走
  194.                         DelayMs(2500);                        
  195.                         MORTOR_Stop();        //電機停止
  196.                         printf("#5GC1\r\n");
  197.                         DelayS(10);
  198.                
  199.                 /*取元件4*/
  200.                         MORTOR_Back();
  201.                         DelayS(2);
  202.                         MORTOR_Stop();        //電機停止
  203.                         MORTOR_Right();                        //電機右轉1
  204.                         DelayMs(600);
  205.                         MORTOR_Stop();        //電機停止
  206.                         
  207.                         MORTOR_Straight();                                //電機直走
  208.                         DelayMs(2500);                        
  209.                         MORTOR_Stop();        //電機停止
  210.                         MORTOR_Right();                        //電機右轉1
  211.                         DelayMs(600);
  212.                         MORTOR_Stop();        //電機停止
  213.                         
  214.                         MORTOR_Straight();                                //電機直走
  215.                         DelayS(4);                        
  216.                         MORTOR_Stop();        //電機停止
  217.                         MORTOR_Right();                        //電機右轉1
  218.                         DelayMs(600);
  219.                         MORTOR_Stop();        //電機停止
  220.                         
  221.                         MORTOR_Straight();                                //電機直走
  222.                         DelayMs(4500);                        //走8s到第二個拐彎處
  223.                         MORTOR_Stop();        //電機停止
  224.                         MORTOR_Left();                        //電機左轉  (轉一圈4.8s = 4800ms)?
  225.                         DelayMs(600);
  226.                         MORTOR_Stop();        //電機停止
  227.                         
  228.                         MORTOR_Straight();                                //電機直走
  229.                         DelayMs(2500);                        //走8s到第二個拐彎處
  230.                         MORTOR_Stop();        //電機停止
  231.                         MORTOR_Left();                        //電機左轉  (轉一圈4.8s = 4800ms)?
  232.                         DelayMs(600);
  233.                         MORTOR_Stop();        //電機停止
  234.                         
  235.                         MORTOR_Straight();                                 //電機直走        
  236.                         DelayS(1);
  237.                         MORTOR_Stop();        //電機停止
  238.                         printf("#6GC1\r\n");
  239.                         DelayS(10);
  240.                
  241.                 /*返回物架4*/
  242.                         MORTOR_Back();
  243.                         DelayS(1);
  244.                         MORTOR_Stop();        //電機停止
  245.                         MORTOR_Left();                        //電機左轉
  246.                         DelayMs(600);
  247.                         MORTOR_Stop();        //電機停止
  248.                         
  249.                         MORTOR_Straight();                                //電機直走
  250.                         DelayMs(2500);                        //走8s到第二個拐彎處
  251.                         MORTOR_Stop();        //電機停止
  252.                         MORTOR_Right();                        //電機右轉1
  253.                         DelayMs(600);
  254.                         MORTOR_Stop();        //電機停止
  255. ……………………

  256. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
盲走程序(無探索區域).rar (499 KB, 下載次數: 67)



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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中国黄色毛片视频 | 国产精品九九九 | 国产精品美女久久久久久久网站 | 在线精品一区 | 欧美日韩亚洲视频 | 天天天操操操 | 精品伦精品一区二区三区视频 | 国产成人在线播放 | 色综合一区二区三区 | 亚洲国内精品 | 午夜影视 | 国产免费高清 | 影音先锋亚洲资源 | 日本在线网站 | 精品一二区 | 国产一区2区| 日韩午夜电影 | 91一区二区三区在线观看 | 国产精品日韩 | 一区二区三区四区日韩 | 亚洲激情在线观看 | 一区二区三区四区在线 | 国产一区免费 | 成人免费观看视频 | 久久综合狠狠综合久久综合88 | 久久久婷婷 | www.亚洲精品 | 日韩精品av一区二区三区 | 国产欧美日韩久久久 | 91福利网| 成人夜晚看av | 久久精品一 | 久久久久国色av免费观看性色 | 国产h视频| 国产精品久久久精品 | 欧美中文字幕一区二区三区亚洲 | 国产欧美日韩综合精品一 | 日韩激情在线 | 国产日韩一区二区三区 | 黄色在线观看国产 | 福利社午夜影院 |