找回密码
 立即注册

QQ登录

只需一步,快速开始

基础模块资料库

基于Arduino使用灰度传感器



产品用途

1.电度表脉冲数据采样
2.传真机碎纸机纸张检测
3.障碍检测
4.黑白线检测

112 (2).jpg
(灰度传感器)


产品介绍

  • 采用TCRT5000红外反射传感器
  • 检测反射距离:1mm~25mm适用
  • 工作电压:3.3-5V
  • 输出形式:数字信号(0和1)
  • 设有固定螺栓孔,方面安装
  • 小板PCB尺寸:35mm*10mm
  • 单重:4.5g


使用说明

TCRT5000传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,红外接收管一直处于关断状态,此时模块的输出端为低电平,指示二极管一直处于熄灭状态;被检测物体出现在检测范围内时,红外线被反射回来且强度足够大,红外接收管饱和,此时模块的输出端为高电平,指示二极管被点亮。

接线方式

114 (2).jpg
(灰度传感器   反面)

灰度传感器 <------>  Arduino Nano
     VCC      <------>     3.3V/5V
     GND     <------>      GND
      OUT     <------>        8

程序测试——读取检测黑白线数值

编写打印串口程序,观察灰度传感器检测到黑线与白线时,串口打印数值为多少。

Mixly图形化编程程序

115.png
(串口打印程序)


串口监视器显示,灰度传感器检测到白线时,输出高电平,即串口显示数值1;检测到黑线时,输出低电平,串口显示数值0。

116.png
(串口监视器显示)

程序实现代码

  1. 读取检测黑白线值
  2. void setup(){
  3.   pinMode(8, INPUT);
  4.   Serial.begin(9600);
  5. }
  6. void loop(){
  7.   Serial.println(digitalRead(8));
  8. }
复制代码

同理,灰度传感器也可检测障碍物,如果灰色传感器前方没有障碍物,输出低电平(0),检测到前方有障碍物,输出高电平(1)。

灰度传感器基础小案例

用灰度传感器进行计数,当有物品从灰度传感器上方快速划过,灰度传感器检测到,在LCD1602显示屏上显示数字,记录物品经过灰度传感器的次数。

接线方式

117 (2).jpg
(LCD1602液晶显示屏)

灰度传感器 <------>      Arduino Nano
      VCC      <------>         3.3V
     GND      <------>         GND
     OUT       <------>           8

LCD1602 <------>       Arduino Nano
    GND    <------>        GND
    VCC     <------>        5V
    SDA     <------>        A4
    SCL      <------>        A5

Mixly图形化编程程序

对显示屏进行初始化,显示屏最初状态显示数值为0,设置一个item整数为0的变量,item就是次数。如果灰度传感器等于高时,说明检测到物品,item赋值为item+1,即每次检测到物品,item值都会在原有的值基础上加上一,添加一个延时模块,然后再LCD1602显示屏中显示会发生变化的item值。

118.png
(图形化程序)


程序实现代码

  1. #include <Wire.h>
  2. #include <LiquidCrystal_I2C.h>
  3. volatile int item;
  4. LiquidCrystal_I2C mylcd(0x27,16,2);
  5. void setup(){
  6.   mylcd.init();
  7.   mylcd.backlight();
  8.   item = 0;
  9.   mylcd.setCursor(1-1, 1-1);
  10.   mylcd.print(0);
  11.   pinMode(8, INPUT);
  12. }
  13. void loop(){
  14.   if (digitalRead(8) == HIGH) {
  15.     item = item + 1;
  16.     delay(50);
  17.     mylcd.setCursor(1-1, 1-1);
  18.     mylcd.print(item);
  19.   }
  20. }
复制代码
分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册