Sensor – ME Line Follower

概述:

巡線模組專為巡線機器人設計。它包含兩個感測器,每個感測器有一個紅外線發射LED和一個紅外線感應光電電晶體,機器人能夠沿著白色背景上的黑色線條移動,或是黑色背景上的白色線條移動,具有檢測速度快,電路簡單等優點。本模組介面是藍色色標,說明是雙數位口控制,需要連接到主機板上帶有藍色標識介面。

 

功能特性:

  • 模組的白色區域是與金屬梁接觸的參考區域
  • 具有兩隻LED指示燈用於巡線回饋
  • 具有反接保護,電源反接不會損壞IC
  • 注意本模組容易受自然光的影響,對環境光變化較大的場所有一定的局限性
  • 支援Arduino IDE程式設計, 並且提供運行庫來簡化程式設計
  • 支援mBlock圖形化程式設計,適合全年齡用戶
  • 使用RJ25介面連線方便
  • 模組化安裝,相容樂高系列
  • 配有S1、S2、VCC、GND接頭支援絕大多數Arduino系列主控板

 

技術規格

  • 工作電壓:5V DC
  • 工作溫度:0到70℃
  • 檢測範圍:1到2釐米
  • 檢測角度:120°範圍內
  • 控制方式:雙數位口控制
  • 模組尺寸:51 x 24 x 22 mm (長x寬x高)

 

引腳定義

巡線模組有四個針腳的接頭,每個針腳的功能如下表

序號

引腳

功能

1GND地線
2VCC電源線
3S1感測器1資料輸出
4S2感測器2資料輸出

表 1 4-Pin 接頭功能表

接線方式

  • RJ25連接

由於巡線模組介面是藍色色標,當使用RJ25介面時,需要連接到主控板上帶有藍色色標的介面。以Makeblock Orion為例,可以連接到3,4,5,6號介面,如圖

1

圖 1 藍牙雙模組與 Makeblock Orion連接

  • 杜邦線連接

當使用杜邦線連接到Arduino Uno主機板時,模組S1與S2引腳需要連接到 DIGITAL(數位)口,如下圖所示:

1

圖 2 巡線模組與 Arduino UNO 連接圖

注:接杜邦線時,模組上需要焊接排針。

程式設計指南

  • Arduino程式設計

如果使用Arduino程式設計,需要調用庫Makeblock-Library-master 來控制巡線模組

本程式通過Arduino程式設計每200毫秒不斷讀取感測器的值,從串口監視器可以看出兩個感測器是否在黑線之外。

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include “MeOrion.h”
#include <Wire.h>
#include <SoftwareSerial.h>
MeLineFollower lineFinder(PORT_6);
void setup()
{
Serial.begin(9600);
}
void loop()
{
int sensorState = lineFinder.readSensors();
switch(sensorState)
{
case S1_IN_S2_IN:
Serial.println(“Sensor 1 and 2 are inside of black line”);
break;
case S1_IN_S2_OUT:
Serial.println(“Sensor 2 is outside of black line”);
break;
case S1_OUT_S2_IN:
Serial.println(“Sensor 1 is outside of black line”);
break;
case S1_OUT_S2_OUT:
Serial.println(“Sensor 1 and 2 are outside of black line”)
break;
default:
break;
}
delay(200);
}

 

巡線函數功能清單

函數

功能

MeLineFollower(uint8_t port)選定介面
uint8_t readSensors()讀取感測器狀態

1

串口顯示結果

原理解析

巡線模組是根據反射式光電感測器原理開發的機器人配件。利用紅外線在不同顏色的物體表面具有不同的反射強度的特點,在小車行駛過程中不斷地向地面發射紅外線,當紅外線遇到白色紙質地板時發生漫反射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,小車的接收管收不到紅外線;通過是否收到反射回來的紅外光為依據來確定黑線的位置和小車的行走路線(巡線感測器照到黑線時輸出為0,照到白線時輸出為1)。