arduino循迹小车

int MotorRight1=14;
int MotorRight2=15;
int MotorLeft1=16;
int MotorLeft2=17;
int MotorRPWM=3;
int MotorLPWM=5;
const int SensorLeft = 2;      //左感测器輸入腳
//const int SensorMiddle= 4 ;    //中感测器輸入腳
const int SensorRight = 6;     //右感测器輸入腳
int SL;    //左感测器狀態
//int SM;    //中感测器狀態
int SR;    //右感测器狀態

void setup()
{
  Serial.begin(9600);
  pinMode(MotorRight1, OUTPUT);  // 腳位 14 (PWM)
  pinMode(MotorRight2, OUTPUT);  // 腳位 15 (PWM)
  pinMode(MotorLeft1,  OUTPUT);  // 腳位 16 (PWM)
  pinMode(MotorLeft2,  OUTPUT);  // 腳位 17 (PWM)

  pinMode(MotorLPWM,  OUTPUT);  // 腳位 3 (PWM)
  pinMode(MotorRPWM,  OUTPUT);  // 腳位 5 (PWM)

  pinMode(SensorLeft, INPUT); //定義左感测器
 //   pinMode(SensorMiddle, INPUT);//定義中感测器
  pinMode(SensorRight, INPUT); //定義右感测器
}

void loop()
 {
 SL = digitalRead(SensorLeft);
 // SM = digitalRead(SensorMiddle);
 SR = digitalRead(SensorRight);
       if (SL == LOW&&SR==LOW)//
   {
             digitalWrite(MotorRight1,HIGH);
             digitalWrite(MotorRight2,LOW);
             analogWrite(MotorRPWM,150);

             digitalWrite(MotorLeft1,HIGH);
             digitalWrite(MotorLeft2,LOW);
             analogWrite(MotorLPWM,150);

         }      

       else //
      {
         if (SL == HIGH & SR == LOW)// 左黑右白, 高速左轉
        {
            delay(1);
            digitalWrite(MotorRight1,HIGH);
            digitalWrite(MotorRight2,LOW);
            analogWrite(MotorRPWM,130);

            digitalWrite(MotorLeft1,LOW);
            digitalWrite(MotorLeft2,LOW);
        }
         else if (SR == HIGH & SL == LOW) // 左白右黑, 高速右轉
        {
          delay(1);
          digitalWrite(MotorRight1,LOW);
           digitalWrite(MotorRight2,LOW);
           digitalWrite(MotorLeft1,HIGH);
           digitalWrite(MotorLeft2,LOW);
           analogWrite(MotorLPWM,130);

        }
         else // 都是白色, 停止
        {
        digitalWrite(MotorRight1,LOW);
        digitalWrite(MotorRight2,LOW);
        digitalWrite(MotorLeft1,LOW);
        digitalWrite(MotorLeft2,LOW);;
        }}}
时间: 2024-10-15 01:03:02

arduino循迹小车的相关文章

黑白线循迹小车利用STM32F407与三个红外对管实现

小车循迹模块编程思路 所用模块:LM399红外对管循迹模块 特征:可同时搭载4个红外对管,进行黑白线检测 检测:当它探寻到黑线时候,DX口输出TTL电平接近于VCC电压 当它探寻到白线时候,DX口输出TTL电平近似为0.1V 实现功能: 让小车始终沿着黑线跑动,可以沿着黑线转弯(弯度测试),在黑线上可以设置断点,长度自己设定,路过间断线时,依然可以自主循迹到有黑线位置,并继续跑动.   初步想法: 无论是两个轮子的解构还是四轮结构,利用后面两个轮子作为主动轮,前面两个轮子作为从动轮.所以就得实现

arduino小车入门教学——第三天(循迹)

大家好,我是小编. 继上一节内容点击打开链接 我今天讲arduino循迹小车. 循迹模块原理:红外对管的工作原理是利用红外线对颜色的反射 率不一样,将反射信号的强弱转化成电流信号.黑白寻迹模块在检测 到黑色高电平有效,检测到白色是为低电平有效,检测高度为0 -3cm. 注:在电路中你可以使用旋钮电位器来调黑白寻迹的灵敏度. 红外对管在机器人设计,工业制造中应用十分广泛.可利用红外 对管制作黑白寻迹机器人.工业计数传感器等等. 使用方法: 1.P1 传感器接口有3 根排针,分别是SR.SM.SL

STM32智能小车之 循迹

           一般小车实现了跑动之后,接着要做的就是让它按照我们设定的路线进行巡线走路,那么就要用到循迹模块了.网上循迹模块很多的,有好多种,原理就那样,就是利用红外传感原理.小车能够按照黑线走是因为当红外线的光照到黑线上时会被吸收,从而检测部到信号,而照到白线时可以反射回去,也就可以接受得到,因此,空值起来也很简单,一句话,检测和模块相连管脚的电平的高低. 哪么我就来说说,该怎样检测呢. 通过相应的函数读取管脚的电平值就行了. GPIO_ReadInputDataBit(GPIOD,

寻迹小车开发日记

这几天实验室有一个关于大一的比赛,说是让开发一个智能寻迹小车.但是作为大三的我,怎能不给他们做个榜样呢?于是我就默默的自己试着开发了一下这个智能车.经过了十多天的时间(中间一个星期在等原件),第四版寻迹小车制作完成.但是现在我还没有告诉我们实验室大一的学弟我在做这个,让他们自己先琢磨一会. 赛道如下图: 比赛项目的大致情况就是这样. 下面就是我 每一次开发的过程记录,我就直接把当时的笔记摘抄在下面了. 硬件资源:STC89C52RC,12M晶振,LM298N两路驱动,TT马达,四路寻迹模块,整车

国赛题目_寻迹小车调试记录

前几天老师布置了寻迹小车的任务,试着做了一下,现在已经能寻迹了,但是后退因为只有三个光电感应的模块,要效果好的话还得后面再装三个,一直懒得去拿...就先放着了.这里总结一下调试中碰到的问题. 我学stm32也没多久,但是既然已经布置了任务,只能硬着头皮上,用到什么学什么,自然碰到了不少问题. 小车用到的模块有:超声波测距(用于避障),光电模块(用于感应地上的线),电机驱动,还有提供5v电源的稳压模块. 先说稳压模块吧,这个稳压我用的是如下电路图 显然比较简单,我就想自己制作了,我没有打印过pcb

V1机器人循迹板说明

V1寻迹板使用说明 本寻迹板说明分寻迹板模块本身与上位机两部分 寻迹模块 尺寸 寻迹板用法 寻迹板拥有10个灰度传感器通道,其通道顺序定义如下图,从左往右依次为1-10通道.每个红外对管正上方有一个指示灯,用于指示其传感器的黑白线状态.板上丝印为UART的接口为寻迹板的串行接口,寻迹板的上位机调试以及单片机连接寻迹板都使用此串口.另外两边的IIC接口等待后续开发,暂时不用.寻迹板正常运行时,板上按键侧边的state指示灯会闪动. 寻迹板的阈值和参数调节主要依靠电脑端上位机来完成,上位机用法点这里

无人驾驶专题----循迹

贴图: 目前横向偏差大概在45cm左右,此时最大速度为260cm/s,接近待速. 从图中我们可以看出前一段为直道,横向偏差比较小.当到达弯道的时候横向偏差突然增大,然后到部分直道的时候,偏差又开始变小. 后面的偏差不变是由于停车导致的. 后面的策略: 改变栅格地图的大小 预描点是一个和速度有个的物理量

arduino小车入门教学——第四天(传感器)

大家好,我是小编. 记上一节内容点击打开链接 今天我们讲传感器. 今天讲光感和超声波. 先发一张图: 光感有三个接口,分别是: UCC.out.GND. 超声波有四个接口,分别是: UCC.T.E.GND. 下面是原理. 超声波是一头发出超声波,声波碰到物体后反弹,另一端接收,从而判断距离. 光感是检测光值,判断的最小0最大255. 附上程序: 避障小车 #include <Servo.h>  int pinLF=14;      int pinLB=15;      int pinRF=16

智能小车资料大全分享给大家

今天给大家分享一下智能小车的资料,包括制作流程.原理图设计和源码等,不下于60辆智能小车的制作经验.其中历届智能小车的开发资料就有90个文件了. 分享的智能小车类型包括:Bluetooth控制两轮小车:智能小车配套程序,循迹.红外避障综合程序资料大全:智能车系统解决方案:STM32两轮自平衡小车资料:STM32两轮自平衡小车系统毕设:自平衡小车控制(stc12+mpu6050程序):寻迹实验小车,arduino开发板DIY红外避障小车:面部跟随机器人小车:蓝牙小车,支持APP控制:nrf24l0