I2C五路巡线模块LineFollowerArray5s使用说明

介绍

该巡线模块由I2C接口通讯,不占用开发板额外端口。模块包含5路巡线传感器。预留2路IO接口,支持INPUT/OUTPUT,可用于扩展IO端口使用。

I2C五路巡线模块LineFollowerArray5s使用说明

注意:

  1. 太阳会发出大量的红外光,因此在直射阳光下的效率要差得多,户外使用要注意;
  2. Arduino I2C总线会占用系统中断,使用不能在计时器内部使用该模块的方法。

硬件总览

I2C五路巡线模块LineFollowerArray5s使用说明

原理图(请查看高清版

I2C五路巡线模块LineFollowerArray5s使用说明

安装

I2C五路巡线模块LineFollowerArray5s使用说明

组装很容易,与开发板引脚连接如下。

信号/说明 巡线模块Arduino uno
电源-5v DC5V5V
GNDGNDGND
I2C DataSDASDA / A4
I2C ClockSCLSCL / A5
INT(*)NCNC

*注意:INT引脚不是必需的,但如果用到中断功能,则可以连接到开发板任何输入端。

使用场地需是白底黑线或者黑底白线,红外传感器有效探测高度是10mm,所以要根据实际环境调节高度和灵敏度。

QGPMaker_IICSensorbar库入门(Arduino库)

示例讲解:

#include "KiKuPILineFollow.h" //引入奇果派库文件

KKPLINEFOLLOW sensorbar;    //创建巡线模块对象

//定义6个变量,对应模块上的s0至s6
const byte lineSensor0 = 0;
const byte lineSensor1 = 0; 
const byte lineSensor2 = 0; 
const byte lineSensor3 = 0;
const byte lineSensor4 = 0; 
const byte lineSensor5 = 0; 
const byte lineSensor6 = 0; 

void setup()
{
  Serial.begin(115200);
  Serial.println("Line Follow Example");

  if (sensorbar.begin() == false) {   //初始化巡线模块
    Serial.println("Failed to communicate. Check wiring.");
    while (1) ;   //如果初始化失败,则会打印错误信息
  }
  sensorbar.enableSensor();   //启用巡线模块
}

void loop()
{
  //s0至s4是5个巡线模块端口,读取其数值
  //如果s5和s6接有红外、超声波等模块,也可以这样读取
  uint8_t ls0 = sensorbar.readSensor(lineSensor0);
  uint8_t ls1 = sensorbar.readSensor(lineSensor1);
  uint8_t ls2 = sensorbar.readSensor(lineSensor2);
  uint8_t ls3 = sensorbar.readSensor(lineSensor3);
  uint8_t ls4 = sensorbar.readSensor(lineSensor4);

  //把读取结果打印出来
  Serial.print(ls0);
  Serial.print("  ");
  Serial.print(ls1);
  Serial.print("  ");
  Serial.print(ls2);
  Serial.print("  ");
  Serial.print(ls3);
  Serial.print("  ");
  Serial.print(ls4);
  Serial.println();

  delay(200);
}

能同时支持两个巡线模块,代码sensorbar.begin(<address>),其中<address>是扩展器的I 2 C地址(默认为0x20)。如果要部署2个巡线传感器,则需要把下图中3个触点中的下面2个用锡焊相连,此时该模块的i2c地址就被设置成了0x21。

I2C五路巡线模块LineFollowerArray5s使用说明
#include "KiKuPILineFollow.h"
KKPLINEFOLLOW sensorbar1;   //第1个巡线模块
KKPLINEFOLLOW sensorbar2;   //第2个巡线模块

void setup(){
  if(sensorbar1.begin(0x20) == false){
	Serial.println("IIC sensorbar1 init failed");
	while(1);
  } 
  ensorbar1.enableSensor();

  if(sensorbar2.begin(0x21) == false){
    Serial.println("IIC sensorbar2 init failed");
    while(1);
  } 
  sensorbar2.enableSensor();

  Serial.begin(115200);
}

void loop(){
  Serial.print(sensorbar1.readSensor(0));    //读取第一个巡线模块s0端口数据
  Serial.print(',');
  Serial.print(sensorbar2.readSensor(0));    //读取第二个巡线模块s0端口数据
  Serial.println(' ');
  delay(400);

}

模拟输出(PWM)

还可以通过使用analogWrite(<pin>, <0-255>)功能将S5、S6端口用作“模拟”(PWM)输出-就像Arduino模拟输出一样!需要注意的区别:

  • PWM模式不能用于舵机驱动(不支持舵机驱动)

以下是示例代码,用于调节S5引脚外接的LED灯亮度:

#include "KiKuPILineFollow.h" 
void setup() {
  //为了测试模拟端口输出,请准备一个led灯
  //负极接在s5端口的GND引脚上,正极接在S5引脚
}

void loop() 
{
  //如下代码逻辑是:s5引脚循环输出0至少255,再逐次回到0
  //结果s5引脚的电压会在0至3v之间变化
  //因此,led灯泡会出现慢慢变亮,接着又慢慢变暗的循环状态
  for (int i=0; i<256; i++)
  {
    sensorbar.analogWrite(5, i);
    delay(10); 
  }
  for (int i=255; i>=0; i--)
  {
    // PWM the LED from 255 to 0
    sensorbar.analogWrite(5, i);
    delay(10); 
  }

}

这样就完成了一个呼吸灯的效果。

示例演示

I2C五路巡线模块LineFollowerArray5s使用说明

原创文章,作者:奇果派工坊,如若转载,请注明出处:https://www.7gp.cn/archives/665

(21)
上一篇 2021年1月11日 下午3:53
下一篇 2021年1月12日 上午10:33

相关推荐

  • 智能车调试开发教程

    1.教程目标 本期教程的目标是为了实现:利用Mixly米思奇图形编码来驱动遥小车及其附加组件。 2.安装插件 2.1下载插件 2.2安装插件 下载后的插件如图所示 打开米思奇,选择…

    2023年12月3日
  • Esp32-S3电机驱动器——MIxly图形编程

    一.概述 我们提供米思奇图形编程插件和示例代码,安装简单易于使用,可以快速实现该驱动板的所有功能 二.下载米思奇 我们提供一个封装好插件的米思奇环境供大家下载,mac系统建议去Mi…

    2025年4月24日
  • 奇果派Arduino FM开源收音机学习套件

    概述 产品名称:ArdUNO FM收音机焊接组装套件产品型号:QGP-RD86A工作电压:USB-5V或3节7号(AAA)电池收音波段:调频FM波段,频率范围:87.5MHz~10…

    2025年12月13日
  • MeArm机械臂安装教程

    我们将在这里介绍最新版机械臂的安装方法。这个版本的机械臂经过多次更新和改良,结构更加合理。适合用于机械和电子方面的入门学习、也可以作为毕业论文设计的材料。 Step 1: 对舵机进…

    2020年12月29日
  • 16路PWM舵机驱动板(PCA9685)的使用说明(更新中)

    一、概述 用Arduino类库驱动舵机并不是一件难事,如果需要驱动很多电机,就需要要占用更多的引脚,也会影响到Arduino的处理能力。专门的舵机驱动板很好的解决了这个问题。 此舵…

    2021年1月4日
  • 以往版本Arduino MotorShiled电机驱动器

    MotorShiled V1-V3程序下载

    2021年1月11日
  • 摄像头使用手册

    第一步:下载安装APP tip:暂时只发布安卓版app 第二步:手机连接摄像头热点 摄像头开机后会开启名为”IPC_XXX“的热点,手机连接该热点 第三步:配置摄像头 下图是摄像头…

    2024年1月9日
  • Esp32-S3电机驱动器——硬件文档

    一、概述 这是基于Esp32平台开发智能小车的完美解决方案 开发板内置了Esp32-S3模组,32位 LX7 双核处理器,支持 240MHz 的时钟频率,集成Wi-Fi &…

    2025年4月26日
  • 程序烧录工具

    一.概述 该工具是针对奇果派驱动板提供的程序烧录功能,您可以在不写代码的情况下刷上我们的示例代码。 注意,该工具仅可在windows上运行,支持我们的几款主要产品:Arduino …

    2025年3月1日
  • MotorShiled电机驱动器 – Arduino

    这是基于Arduino开发运动机器人非常完美的解决方案,这款电机驱动器足够强大,可以驱动4个直流电机或2个步进电机,并且额外提供8路全速PWM控制,可以控制8路舵机。支持PS2无线手柄,充分发挥PS2手柄的强大功能。

    2024年11月6日