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

大家好,我是小编。

继上一节内容点击打开链接

我今天讲arduino循迹小车。

循迹模块原理:红外对管的工作原理是利用红外线对颜色的反射

率不一样,将反射信号的强弱转化成电流信号。黑白寻迹模块在检测

到黑色高电平有效,检测到白色是为低电平有效,检测高度为0

—3cm。

注:在电路中你可以使用旋钮电位器来调黑白寻迹的灵敏度。

红外对管在机器人设计,工业制造中应用十分广泛。可利用红外

对管制作黑白寻迹机器人、工业计数传感器等等。

使用方法:

1.P1 传感器接口有3 根排针,分别是SR、SM、SL 是三个信号输出端。

2.检测到物体,信号端输出低电平;未检测到物体,信号端输出高电

平。

3.主要判断信号输出端是0 或者1,就能判断物体是否存在。

这是场地:

这个程序是:

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);
  pinMode(MotorRight2, OUTPUT);
  pinMode(MotorLeft1,  OUTPUT);
  pinMode(MotorLeft2,  OUTPUT);  

  pinMode(MotorLPWM,  OUTPUT);
  pinMode(MotorRPWM,  OUTPUT);  

  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-08-28 10:10:50

arduino小车入门教学——第三天(循迹)的相关文章

arduino小车入门教学——第三天(arduino基础)

大家好,我是小编, 记上一节内容点击打开链接 我们今天讲arduino基础. 首先在arduino官网上下载程序. Windows解压版 苹果系统的版本 好,下载过编程软件.我们就来讲编程. 这是类似C++的编程语言. void setup() { } 这是初始语句,只循环一次. void loop() { } 这是无限制循环语句. 这些是入门,更多程序在这里: 这是arduino自带的程序. 谢谢大家.

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

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

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

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

[转]Windows Azure入门教学系列 (六):使用Table Storage

本文转自:http://blogs.msdn.com/b/azchina/archive/2010/03/11/windows-azure-table-storage.aspx 本文是Windows Azure入门教学的第六篇文章. 本文将会介绍如何使用Table Storage.Table Storage提供给我们一个云端的表格结构.我们可以把他想象为XML文件或者是一个轻量级的数据库(当然,不是通过SQL 语句进行数据的操作). 使用Table Storage的方法依然是调用REST API

Windows Azure中文博客 Windows Azure入门教学系列 (一): 创建第一个WebRole程序

http://blogs.msdn.com/b/azchina/ 本文转自:http://blogs.msdn.com/b/azchina/archive/2010/02/09/windows-azure-webrole.aspx 这是一系列Windows Azure入门教学文章的第一篇. 在第一篇教学中,我们将学习如何在Visual Studio 2010中创建一个WebRole程序(C#语言). 在开始本教学之前,请确保你从Windows Azure 平台下载下载并安装了最新的Windows

Windows Azure入门教学系列 (一): 创建第一个WebRole程序

这是一系列 Windows Azure入门教学文章的第一篇. 在第一篇教学中,我们将学习如何在 Visual Studio 2010中创建一个WebRole程序 (C#语言 ). 在开始本教学之前,请确保你从 Windows Azure  平台下载下载并安装了最新的 Windows Azure开发工具.本教学使用Visual Studio 2010作为开发工具. 步骤一:创建解决方案和项目 以管理员权限打开 Visual Studio 2010,点击 File,选择 New,点击 Project

具有避障和寻线功能的Arduino小车

标签:  Arduino  乐高  机器人 创客对于成年人来说,多半是科技娱乐,或者是一种是一种向往科技的人生态度,总是希望自己不仅可以看到或者听到科技的资讯,还希望能够亲身制作科技玩意,从而更好地体验科技. 说到科技娱乐,也就是做东西,不需要什么指标,高兴即可,所以做些容易的,也是OK的.这次带来的作品又是Arduino与乐高结合的小车,小车具有简单的避障和寻线功能. 避障传感器是夏普GP2Y0A21红外测距传感器,它是模拟量传感器,该传感器测距范围为10cm~80cm.Arduino模拟量信

visual studio 2015 搭建python开发环境,python入门到精通[三]

在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo,这里略带一句,其实就"学习python"而言,比较建议使用pycharm,pycharm可以设置VS或者eclipse等多种IDE的编码,可以让绝大部分其他语言使用IDE的习惯者更容易上手.这一点兼容确实做的很好.不过既然这么多园友要求使用vs开发python的话,就介绍一下visual

SpringMVC+Apache Shiro+JPA(hibernate)案例教学(三)给Shiro登录验证加上验证码

序: 给Shiro加入验证码,有多种方式,当然你也可以通过继承修改FormAuthenticationFilter类,通过Shiro去验证验证码.具体实现请百度: 应用Shiro到Web Application(验证码实现) 而今天我要说的,既然使用的SpringMVC,为什么不直接在Controller中就处理验证码验证,让事情变的更简单一点呢? 一.新建ValidateCode.java验证码工具类 package org.shiro.demo.util; import java.util.