簡單的巡線小車 stm32源程序,可實現直線 弧彎 鈍角彎 直角彎等功能
新手學習
IMG_20170801_220802.jpg (2.36 MB, 下載次數: 185)
下載附件
2017-8-1 22:11 上傳
單片機源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "key.h"
- #include "sys.h"
- #include "usart.h"
- #include "adc.h"
- #include "timer.h"
- #include "car.h"
-
- /************************************************
- ADC A0 A1 A2 A3
- PWM TIM3 CH2A7 TIM3 CH1A6
- F11高 F13低 F12高 F14低
- 中間灰度巡線 差速
- 旁邊轉彎 正反轉
- ************************************************/
- int main(void)
- {
- GPIO_Config();
- delay_init(); //延時函數初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置中斷優先級分組為組2:2位搶占優先級,2位響應優先級
- uart_init(115200); //串口初始化為115200
- LED_Init(); //LED端口初始化
- Adc_Init(); //ADC初始化
- DMA_Config();
- TIM3_PWM_Init(99,71);//頻率 10 KHZ
-
- while(1)
- {
- // printf ("%4d %4d %4d %4d\r\n",AD_Value[0],AD_Value[1],AD_Value[2],AD_Value[3]);
- // delay_ms(100);
- LED0=0; //灰度測試
- ADC_CHANGE();
- // if(AD_Value[0]>2900)left1=1;//檢測到白線>3000 =1 檢測到綠線<3000=0
- // else left1=0;
- // if(AD_Value[1]>2900)mid1=1;
- // else mid1=0;
- // if(AD_Value[2]>2900)mid2=1;
- // else mid2=0;
- // if(AD_Value[3]>2900)right1=1;
- // else right1=0;
- // printf ("%4d %4d %4d %4d\r\n",left1,mid1,mid2,right1);
- Go_STRAIGHT(80,80);
- RUN();
- }
-
- }
-
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
巡線小車.rar
(329.89 KB, 下載次數: 478)
2017-8-2 00:28 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|