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

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

相关推荐

  • Esp32-S3电机驱动器——硬件文档

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

    2025年4月26日
  • Esp32-S3电机驱动器——Arduino编程

    一.概述 我们提供基于Arduino平台的ESP32示例代码,提供了蓝牙手柄、ps2手柄的无线连接示例,以及对直流电机、舵机、编码器电机、电压传感器、陀螺仪和OLED显示屏等设备的…

    2025年4月25日
  • 树莓派电机驱动板

    一、概述 这是基于树莓派制作运动机器人非常完美的解决方案,这款电机驱动器足够强大,可以驱动4个直流电机或2个步进电机,并且额外提供4路全速PWM控制,可以控制4路舵机。自带稳压电路…

    2021年1月2日
  • 智能车调试开发教程

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

    2023年12月3日
  • 麦克纳姆轮小车V2版安装说明

    《V2金属版麦克纳姆轮小车安装视频》 金属版麦轮小车请点击以上链接查看 一、概述 二、开始安装 电机线焊接/连接 安装电机支架和电机 安装侧板和顶盖 先确认好顶部盖板需要安装哪些东…

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

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

    2024年1月9日
  • Armbot机械臂学习套件-双摇杆控制器使用说明

    《MEARM机械臂安装教程》 如果尚未安装机械臂,请先点击以上文章链接,安装机械臂 一、简介 Armbot机械臂学习套件是基于Arduino开发板设计的一套迷你机械臂DIY学习套件…

    2020年12月31日
  • 奇果派S1机甲战车使用手册

    安装发射器 安装底座 底盘安装 《麦克纳轮V2底盘安装》 麦克纳姆轮车架底盘安装请访问以上链接 集成版底盘车架的安装 发射器接线注意事项: 发射器电流比较大,电源供电功率需要足够大…

    2021年1月11日
  • arduino连接ps2手柄

    一. 准备器材 1.ps2无线手柄,某宝购入(建议买带插针的,直接接的貌似干扰比较强) 2.arduino UNO板,某宝购入 3.杜邦线(母对母)若干,某宝购入 4.转接板(选购…

    2025年2月14日