标题: stm32程序:四个灰度传感器 巡线小车 直线 弧弯 钝角弯 直角弯 [打印本页]

作者: 823090373    时间: 2017-8-1 22:11
标题: stm32程序:四个灰度传感器 巡线小车 直线 弧弯 钝角弯 直角弯
简单的巡线小车 stm32源程序,可实现直线 弧弯 钝角弯 直角弯等功能
新手学习

单片机源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "usart.h"         
  6. #include "adc.h"
  7. #include "timer.h"
  8. #include "car.h"

  9. /************************************************
  10. ADC    A0     A1     A2    A3
  11. PWM     TIM3 CH2A7     TIM3 CH1A6
  12.         F11高 F13低    F12高 F14低
  13. 中间灰度巡线 差速
  14. 旁边转弯   正反转
  15. ************************************************/
  16. int main(void)
  17. {         
  18.         GPIO_Config();
  19.         delay_init();                     //延时函数初始化         
  20.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
  21.         uart_init(115200);                 //串口初始化为115200
  22.          LED_Init();                             //LED端口初始化
  23.          Adc_Init();                                  //ADC初始化
  24.   DMA_Config();
  25.   TIM3_PWM_Init(99,71);//频率 10 KHZ
  26.          
  27.                         while(1)
  28.                                 {        
  29.         //                        printf ("%4d  %4d  %4d  %4d\r\n",AD_Value[0],AD_Value[1],AD_Value[2],AD_Value[3]);
  30. //                            delay_ms(100);        
  31.         LED0=0;  //灰度测试
  32.                                         ADC_CHANGE();
  33. //                                if(AD_Value[0]>2900)left1=1;//检测到白线>3000 =1 检测到绿线<3000=0
  34. //                                 else left1=0;
  35. //                                if(AD_Value[1]>2900)mid1=1;
  36. //                                 else mid1=0;
  37. //                                if(AD_Value[2]>2900)mid2=1;
  38. //                                 else mid2=0;
  39. //                                if(AD_Value[3]>2900)right1=1;
  40. //                                 else right1=0;
  41. //                                printf ("%4d  %4d  %4d  %4d\r\n",left1,mid1,mid2,right1);            


  42.                                         Go_STRAIGHT(80,80);
  43.                                   RUN();
  44.                          }

  45.          
  46. }

  47. ……………………

  48. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
巡线小车.rar (329.89 KB, 下载次数: 478)



作者: 1649776506    时间: 2018-3-3 16:48
有点看不懂,这个板是什么型号的
作者: moresweet    时间: 2018-5-10 15:34
我很需要这个代码包借鉴,主要来看看灰度传感器是怎么用起来的
作者: robomasters    时间: 2018-6-27 15:50
请问可爱的楼主用的是模拟灰度传感器吗

作者: zhangtou    时间: 2018-7-5 11:25
你好,请问在使用两个以上灰度传感器时,选择了独立,多通道模式时,是不是必须要用DMA,求解答,十分感谢
作者: 开心123    时间: 2018-8-1 22:09
群主QQ
作者: lilianhe2008    时间: 2019-5-1 16:03
灰度传感器是什么型号啊
作者: HPtan    时间: 2019-7-7 16:24
1649776506 发表于 2018-3-3 16:48
**** 作者被禁止或删除 内容自动屏蔽 ****

stm32e
作者: HPtan    时间: 2019-7-9 12:57
1649776506 发表于 2018-3-3 16:48
**** 作者被禁止或删除 内容自动屏蔽 ****

stm32的板子
作者: 789bfh    时间: 2019-11-16 11:48
恒给力
作者: shazibangpai    时间: 2020-10-12 17:28
PWN 的6、7口是接在哪里的呀?秋梨膏
作者: VioletEver    时间: 2021-8-25 13:55
是stm32f10x的板子吗?
作者: bobsong2000    时间: 2021-12-8 12:44
好像和我的项目差不多
作者: KIVENDon    时间: 2022-7-12 20:14
很给力,最近正在考虑用灰度传感器还是红外传感器





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1