找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3269|回复: 0
打印 上一主题 下一主题
收起左侧

STM32单片机智能小车基于灰度传感器的巡线代码

[复制链接]
跳转到指定楼层
楼主
ID:586099 发表于 2020-3-30 17:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机源程序如下:
  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. }
复制代码

所有资料51hei提供下载:
基于灰度巡线的小车.7z (220.48 KB, 下载次数: 93)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表