找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 22402|回復(fù): 40
打印 上一主題 下一主題
收起左側(cè)

關(guān)于stm32f103c8t6使用PWM控制小車的經(jīng)驗 避障加藍(lán)牙

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:155845 發(fā)表于 2017-3-4 16:15 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
這個是我之前通過不斷的查資料和更該寫的使用stm32f103c8t6控制電機(jī),并且可調(diào)速的程序,對于新手可以有一些參考作用。!
f103c8t6 - 避障加藍(lán)牙完整PWM控制的源程序:

完整源碼下載:
f103c8t6 - 避障加藍(lán)牙完整PWM控制.zip (4.28 MB, 下載次數(shù): 601)



下面是主程序預(yù)覽:
  1. #include"usart.h"
  2. #include"pwm.h"
  3. #include"sys.h"
  4. #include"delay.h"
  5. #include"hw.h"
  6. #include"csb.h"
  7. #include"lanya.h"
  8. int main()
  9. {
  10.         int left,right,bzl,bzr,counter,i=0,j,max;
  11.         u16 distance,dis[5];
  12.         uart_init(9600);
  13.         hw_init();

  14.   delay_init();  //初始化延時函數(shù)
  15.         PWM_Init(600,0);
  16.        
  17.         while(1)
  18.                 {

  19.                
  20.           lanya();       
  21.                 bzl=GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_13);//避障左邊傳感器
  22.                 bzr=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_4);
  23.                
  24. //                        printf("dis=%u\r\n",distance);
  25. //                        delay_ms(500);
  26. //         
  27. //                        printf("i=%d\r\n",i);

  28.                         //直行

  29.                
  30.                 max=0;
  31.                 for(counter=0;counter<5;counter++)
  32.                 {                       
  33.                 dis[counter]=csb();       
  34.                 }
  35.                 for(j=0;j<5;j++)
  36.                 {
  37.                 max=max+dis[j];
  38.                 }
  39.                 distance=max/5;
  40.                
  41.                         //直行
  42.                         //左邊
  43.                
  44.                        
  45.                  if(bzr==0)//左轉(zhuǎn)
  46.                 {
  47.                                
  48.                                         TIM_SetCompare3(TIM2,0);//PA2提速
  49.                                         TIM_SetCompare4(TIM2,600);//PA3為低
  50.                                        
  51.                                         TIM_SetCompare2(TIM3,600);//PA7反轉(zhuǎn)
  52.                                         TIM_SetCompare1(TIM3,0);//PA6為
  53.                                                 delay_ms(20);
  54.                                
  55.                
  56.                 }
  57.                        
  58.                 if(bzl==0)//右轉(zhuǎn)
  59.                 {
  60.        
  61.                 TIM_SetCompare3(TIM2,600);//PA2反轉(zhuǎn)
  62.                 TIM_SetCompare4(TIM2,1);//PA3為
  63.                                
  64.           TIM_SetCompare2(TIM3,0);//PA7提速
  65.                 TIM_SetCompare1(TIM3,600);//PA6為低
  66.                         delay_ms(20);       
  67.          
  68.        
  69.                 }
  70.                 if(distance<200)//左轉(zhuǎn)
  71.                 {
  72.                        
  73.                        
  74.                        
  75.                                        
  76.                                         TIM_SetCompare3(TIM2,0);//PA2提速
  77.                                         TIM_SetCompare4(TIM2,600);//PA3為低
  78.                                        
  79.                                         TIM_SetCompare2(TIM3,600);//PA7反轉(zhuǎn)
  80.                                         TIM_SetCompare1(TIM3,0);//PA6為
  81.                                                 delay_ms(20);
  82.                        
  83.                
  84.                 }
  85.                 if(bzl==0&&distance<200)
  86.                 {
  87.                
  88.                                         TIM_SetCompare3(TIM2,0);//PA2提速
  89.                                         TIM_SetCompare4(TIM2,600);//PA3為低
  90.                                        
  91.                                         TIM_SetCompare2(TIM3,600);//PA7反轉(zhuǎn)
  92.                                         TIM_SetCompare1(TIM3,0);//PA6為
  93.                                                 delay_ms(20);
  94.          
  95.                 }
  96.                 if(bzr==0&&distance<200)
  97.                 {
  98.                
  99.                                         TIM_SetCompare3(TIM2,0);//PA2提速
  100.                                         TIM_SetCompare4(TIM2,600);//PA3為低
  101.                                        
  102.                                         TIM_SetCompare2(TIM3,600);//PA7反轉(zhuǎn)
  103.                                         TIM_SetCompare1(TIM3,0);//PA6為
  104.                                                 delay_ms(20);
  105.          
  106.                 }
  107.                 if(bzr==0&&bzl==0)
  108.                 {
  109.                      
  110.                                         TIM_SetCompare3(TIM2,0);//PA2提速
  111.                                         TIM_SetCompare4(TIM2,600);//PA3為低
  112.                                        
  113.                                         TIM_SetCompare2(TIM3,600);//PA7反轉(zhuǎn)
  114.                                         TIM_SetCompare1(TIM3,0);//PA6為
  115.                                                 delay_ms(20);
  116.                
  117.                 }
  118.                 if(bzr==0&&bzl==0&&distance<200)
  119.                 {
  120.                              TIM_SetCompare3(TIM2,0);//PA2提速
  121.                                         TIM_SetCompare4(TIM2,600);//PA3為低
  122.                                        
  123.                                         TIM_SetCompare2(TIM3,600);//PA7反轉(zhuǎn)
  124.                                         TIM_SetCompare1(TIM3,0);//PA6為
  125.                                                 delay_ms(30);
  126.                                 }
  127.                
  128.                 }
  129.                 TIM_SetCompare2(TIM3,200);//PA7
  130.                 TIM_SetCompare1(TIM3,600);//PA6為低
  131.                         //右邊
  132.                 TIM_SetCompare3(TIM2,200);//PA2
  133.                 TIM_SetCompare4(TIM2,600);//PA3為低
  134.                 delay_ms(20);


  135.        
  136. }
復(fù)制代碼

評分

參與人數(shù) 4黑幣 +115 收起 理由
hbcdcdbbc + 5 很給力!
Haydn1 + 5 很給力!
fkssa + 5 共享資料的黑幣獎勵!
admin + 100 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏14 分享淘帖 頂6 踩
回復(fù)

使用道具 舉報

來自 2#
ID:52002 發(fā)表于 2017-3-14 17:58 | 只看該作者
splendid 發(fā)表于 2017-3-7 19:56
新手建議從手冊開始學(xué)習(xí),將講解看懂了再寫

自己買了塊stm32f103c8t6最小系統(tǒng)板,現(xiàn)在把IO輸出,定時器,RTC,PWM都弄一遍了。還搞了塊OLED,SPI通訊的,把RTC弄成萬年歷功能,在OLED上顯示。
還買了AM2320、HTU21溫濕度傳感器,把I2C也學(xué)了,弄上去顯示溫度。

還學(xué)了ADC轉(zhuǎn)換,DMA方式自動讀取數(shù)據(jù),實現(xiàn)了10K的熱敏電阻讀取溫度。
后面還再弄了塊LCD。STM32學(xué)習(xí)起來比51爽啊,好多自己想實現(xiàn)的東西就往里面填充。。。
我是空調(diào)行業(yè)搞PLC自控的,所以最先想到的就是溫濕度的東西,正在學(xué)單片機(jī),請樓主不吝賜教





評分

參與人數(shù) 1黑幣 +90 收起 理由
admin + 90 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

板凳
ID:52002 發(fā)表于 2017-3-7 13:43 | 只看該作者
感謝分享,正在學(xué)習(xí)103中
回復(fù)

使用道具 舉報

地板
ID:155845 發(fā)表于 2017-3-7 19:56 | 只看該作者
liangqin1573 發(fā)表于 2017-3-7 13:43
感謝分享,正在學(xué)習(xí)103中

新手建議從手冊開始學(xué)習(xí),將講解看懂了再寫
回復(fù)

使用道具 舉報

5#
ID:161818 發(fā)表于 2017-4-19 11:57 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報

6#
ID:161818 發(fā)表于 2017-4-19 11:58 | 只看該作者
樓主有用L298N嗎
回復(fù)

使用道具 舉報

7#
ID:192836 發(fā)表于 2017-4-23 20:56 | 只看該作者
感謝樓主分享!!
回復(fù)

使用道具 舉報

8#
ID:192836 發(fā)表于 2017-4-23 21:00 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報

9#
ID:206553 發(fā)表于 2017-6-1 02:09 | 只看該作者
感想分享
回復(fù)

使用道具 舉報

10#
ID:222670 發(fā)表于 2017-7-27 09:05 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

11#
ID:167518 發(fā)表于 2017-8-3 12:10 | 只看該作者
謝謝樓主分享
回復(fù)

使用道具 舉報

12#
ID:155845 發(fā)表于 2017-8-5 22:44 | 只看該作者

是的,用的就是L298N
回復(fù)

使用道具 舉報

13#
ID:225338 發(fā)表于 2017-8-7 04:24 來自觸屏版 | 只看該作者
大家都用298,好好學(xué)習(xí)
回復(fù)

使用道具 舉報

14#
ID:67705 發(fā)表于 2017-11-8 23:13 | 只看該作者
數(shù)據(jù)接受能行嗎?
回復(fù)

使用道具 舉報

15#
ID:64897 發(fā)表于 2018-1-4 16:45 | 只看該作者
很好
能夠有幫助
回復(fù)

使用道具 舉報

16#
ID:281550 發(fā)表于 2018-2-1 19:25 | 只看該作者
學(xué)習(xí)中,感謝你的代碼,給了我不少幫助。
回復(fù)

使用道具 舉報

17#
ID:284852 發(fā)表于 2018-2-22 22:37 | 只看該作者
厲害厲害,感謝分享,我們正要求做類似的比賽用,感謝分享
回復(fù)

使用道具 舉報

18#
ID:262564 發(fā)表于 2018-3-12 09:39 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

19#
ID:298945 發(fā)表于 2018-4-14 15:53 | 只看該作者
感謝樓主,正在學(xué)習(xí)STM32的開發(fā)
回復(fù)

使用道具 舉報

20#
ID:232534 發(fā)表于 2018-4-16 18:16 | 只看該作者
你搭建的圖呢,只有程序嗎
回復(fù)

使用道具 舉報

21#
ID:331222 發(fā)表于 2018-5-16 13:34 | 只看該作者
電腦總是識別有病毒是什么鬼  求分享一下  謝謝 1917055575@qq.com
回復(fù)

使用道具 舉報

22#
ID:214281 發(fā)表于 2018-5-25 16:00 | 只看該作者
感覺很厲害的
回復(fù)

使用道具 舉報

23#
ID:162562 發(fā)表于 2018-6-5 16:41 | 只看該作者
準(zhǔn)備學(xué)習(xí)STM單片機(jī) 正好需要,非常感謝。
回復(fù)

使用道具 舉報

24#
ID:352695 發(fā)表于 2018-6-15 21:25 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

25#
ID:285608 發(fā)表于 2018-7-2 17:31 | 只看該作者
正需要PWM來控制舵機(jī)。感謝樓主
回復(fù)

使用道具 舉報

26#
ID:381157 發(fā)表于 2018-8-7 19:02 | 只看該作者
感謝大佬分享,新手上路ing,就需要各種例程^_^
回復(fù)

使用道具 舉報

27#
ID:381157 發(fā)表于 2018-8-14 19:42 | 只看該作者
你好,有實物圖或者硬件電路圖嗎?還有,請問這里藍(lán)牙實現(xiàn)的是什么功能?
回復(fù)

使用道具 舉報

28#
ID:240819 發(fā)表于 2018-9-13 13:57 | 只看該作者
感謝分享,正在學(xué)習(xí)103中
回復(fù)

使用道具 舉報

29#
ID:342451 發(fā)表于 2018-10-2 00:19 | 只看該作者
樓主,有沒有手機(jī)藍(lán)牙控制的APP?
回復(fù)

使用道具 舉報

30#
ID:409748 發(fā)表于 2018-10-17 09:14 | 只看該作者
有沒有硬件搭建,,求賜
回復(fù)

使用道具 舉報

31#
ID:398104 發(fā)表于 2018-10-24 13:13 | 只看該作者
你好,樓主,請問你的csb.c是關(guān)于什么的呢?有點看不懂
回復(fù)

使用道具 舉報

32#
ID:311215 發(fā)表于 2018-10-24 19:51 | 只看該作者
只看了一部分代碼,請問樓主這個代碼是驅(qū)動四個輪子的嘛?
回復(fù)

使用道具 舉報

33#
ID:424129 發(fā)表于 2018-11-10 16:10 | 只看該作者
感謝樓主
回復(fù)

使用道具 舉報

34#
ID:424180 發(fā)表于 2018-11-10 18:58 | 只看該作者

感謝樓主分享。!
回復(fù)

使用道具 舉報

35#
ID:155845 發(fā)表于 2019-1-14 23:33 | 只看該作者
ABCDEFG1888 發(fā)表于 2018-10-24 13:13
你好,樓主,請問你的csb.c是關(guān)于什么的呢?有點看不懂

那是超聲波避障函數(shù)
回復(fù)

使用道具 舉報

36#
ID:259898 發(fā)表于 2019-1-16 11:29 | 只看該作者
程序哪里
回復(fù)

使用道具 舉報

37#
ID:476214 發(fā)表于 2019-2-16 13:47 | 只看該作者
很給力的文件
回復(fù)

使用道具 舉報

38#
ID:553901 發(fā)表于 2019-8-4 14:48 | 只看該作者
幫助較大
回復(fù)

使用道具 舉報

39#
ID:484435 發(fā)表于 2019-8-4 16:18 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

40#
ID:457666 發(fā)表于 2019-9-16 21:19 | 只看該作者
好東西 可以啊
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表