【雕爷学编程】Arduino动手做(77)---模拟灰度传感器模块2

在这里插入图片描述

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验七十七:机器人小车灰度传感器 颜色识别模块巡线寻线循迹模拟值

在这里插入图片描述
知识点:灰度、灰度值和模拟灰度传感器模块
一、灰度(grayscale)
1、灰度是单色(灰色)阴影的集合或范围,范围从最浅端的纯白色到相对端的纯黑色。 灰度仅包含亮度(亮度)信息,而没有颜色信息; 这就是为什么最大亮度为白色而零亮度为黑色的原因; 中间的所有东西都是灰色阴影。 这就是为什么灰度图像仅包含灰色阴影而没有颜色的原因。

灰度使用黑色调表示物体,即用黑色为基准色,不同的饱和度的黑色来显示图像。每个灰度对象都具有从 0%(白色)到100%(黑色)的亮度值。使用黑白或灰度扫描仪生成的图像通常以灰度显示,使用灰度还可将彩色图稿转换为高质量黑白图稿。

在这里插入图片描述
2、数字图像通常同时包含颜色信息和亮度或灰度。如果删除颜色信息,则会留下灰度,从而产生黑白图像。灰度是图像的重要方面,它是唯一未被删除的部分。 否则,无论存在什么颜色信息,都会产生纯黑色图像。

数字图像由具有红色,绿色和蓝色(RGB)颜色的三个像素组成,在数字成像中也称为通道。每个通道还包含一个亮度值,用于确定颜色的明暗程度。 为了获得灰度图像,去除了每个通道的颜色信息,仅保留亮度值,这就是为什么图像变成没有颜色的明暗区域的图案,基本上是黑白图像。大多数数字成像软件应用程序,即使是最基本的应用程序,都能够将图像转换为灰度图像。 这在打印时也非常重要,因为它只消耗黑色墨水,而彩色打印则消耗所有三种打印颜色(青色,品红色和黄色)以及黑色。

3、灰色与人性
(1)深色、脏色系与人性:迷茫,实在,老实,厚硬,顽固,坚毅,执着,正派,压抑。
(2)灰色就是不动声色,是包容大度,是一笑了之。没有人生来就是灰色的,是时间和经历把人磨炼成灰色。有一句话说,年龄愈大就愈能懂得灰色的价值。
(3)灰比黑隐蔽一些,内敛一些,朦胧一些,低调一些,不像黑色那么硬,那么鲜明刺眼。灰色更有弹性,它是退一步的海阔天空。但灰色决不是灰心丧气,悲观失望,它甚至比黑色更有潜在的力量!
(4)灰色的心理特征:简朴、朴素、深沉、阴天、灰尘、阴影、乌云、浓雾、灰心等。

在这里插入图片描述
二、灰度值(grayscale value)
1、灰度色是指纯白、纯黑以及两者中的一系列从黑到白的过渡色。我们平常所说的黑白照片、黑白电视,实际上都应该称为灰度照片、灰度电视才确切。灰度色中不包含任何色相,即不存在红色、黄色这样的颜色。灰度的通常表示方法是百分比,范围从0%到100%。Photoshop中只能输入整数,在Illustrator和GoLive允许输入小数百分比。 注意这个百分比是以纯黑为基准的百分比。与RGB正好相反,百分比越高颜色越偏黑,百分比越低颜色越偏白。

在计算机领域中,灰度(Gray scale)数字图像是每个像素只有一个采样颜色的图像。这类图像通常显示为从最暗黑色到最亮的白色的灰度,尽管理论上这个采样可以任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑白两种颜色,灰度图像在黑色与白色之间还有许多级的颜色深度。但是,在数字图像领域之外,“黑白图像”也表示“灰度图像”,例如灰度的照片通常叫做“黑白照片”。在一些关于数字图像的文章中单色图像等同于灰度图像,在另外一些文章中又等同于黑白图像。 灰度图像经常是在单个电磁波频谱如可见光内测量每个像素的亮度得到的。

在这里插入图片描述
2、用于显示的灰度图像通常用每个采样像素8 bits的非线性尺度来保存,这样可以有256种灰度(8bits就是2的8次方=256)。这种精度刚刚能够避免可见的条带失真,并且非常易于编程。在医学图像与遥感图像这些技术应用中经常采用更多的级数以充分利用每个采样10或12 bits的传感器精度,并且避免计算时的近似误差。在这样的应用领域流行使用16 bits即65536个组合(或65536种颜色)。 灰度最高相当于最高的黑,就是纯黑。灰度最低相当于最低的黑,也就是“没有黑”,那就是纯白。 虽然灰度共有256级,但是由于Photoshop的灰度滑块只能输入整数百分比,因此实际上从灰度滑块中只能选择出101种(0%也算一种)灰度。大家可以在灰度滑块中输入递增的数值然后切换到RGB滑块察看,可以看到:0%的灰度RGB数值是255,255,255;1%灰度的RGB数值是253,253,253;2%灰度RGB值为250,250,250。也就是说,252,252,252这样的灰度是无法用Photoshop的灰度滑块选中的。相比之下Illustrator的灰度允许输入两位小数,使得选色的精确性大大提高了 。

在这里插入图片描述
3、灰阶,是将最亮与最暗之间的亮度变化,区分为若干份。以便于进行信号输入相对应的屏幕亮度管控。每张数字影像都是由许多点所组合而成的,这些点又称为像素(pixels),通常每一个像素可以呈现出许多不同的颜色,它是由红、绿、蓝(RGB)三个子像素组成的。

每一个子像素,其背后的光源都可以显现出不同的亮度级别。而灰阶代表了由最暗到最亮之间不同亮度的层次级别。这中间层级越多,所能够呈现的画面效果也就越细腻。以8bit panel为例,能表现2的8次方,等于256个亮度层次,我们就称之为256灰阶。LCD屏幕上每个像素,均由不同亮度层次的红、绿、蓝组合起来,最终形成不同的色彩点。也就是说,屏幕上每一个点的色彩变化,其实都是由构成这个点的三个RGB子像素的灰阶变化所带来的。

由于不同物质的电磁辐射(反射或发射)强度不同,因此在感光材料上感光的程度亦不相同,形成黑白之间的色调变化,构成了灰阶的等级。一般在目视判读时,其灰阶可粗略地划分成七级,即白、灰白、浅灰、灰、深灰、浅黑、与黑。灰阶是像片判读中的重要判读标志和基础。

在这里插入图片描述
三、模拟灰度传感器模块
1、与典型的光传感器模块相比,这种灰度传感器还包括一个发光 LED。arduino 的灰度传感器由光电池(光控可变电阻器)和板载集成白光 LED 组成,瞄准传感器前方。与它连接的 LED 可让您比较并提供一些反射反馈来分析灰度光范围。将应用不同的颜色,但只会输出灰度值。灰度传感器模块可检测 400 至 640 nm 的可见光谱。基于相应的电源电压,由光敏电阻记录的辐射被类似地输出。3.3V 至 5V 的电源电压可广泛用于几乎任何 MCU。

2、灰度传感器模块特点:
(1)电压范围 3.3-5V
(2)电源电流 < 20mA
(3)工作温度范围 -10°C – +70°C
(4)可提供 3 个版本:
无分压器(最大 ADC = 电源电压)
3.3V / 1V ADC 版本,包括从 3.3V 到 1V ADC 的分压器
5V / 1V ADC 版本,包括从 5V 到 1V ADC 的分压器
(5)检测分辨率 10%
(6)接口类型:模拟信号输出
(7)尺寸 24x21mm
(8)重量大小:3g

3、模块电原理图

在这里插入图片描述
4、模块工作原理
灰度传感器包括一个白色高亮发光二极管和一个光敏电阻,由于发光二极管照射到灰度不同的纸张上返回的光是不同的,光敏电阻接收到返回的光,根据光的强度不同,光敏电阻的阻值也不同,从而实现灰度值的测试。

基于半导体的光电效应原理所开发的光线与灰度传感器,其主要部件为光电晶体管。在有效的检测距离内,发光二极管发出白光,照射在检测面上,检测面反射部分光线,光电晶体管电阻随光的强度增加而减小,通过和电阻串联,输出电阻的分压值,便能将变化的光信号变换为变化的电气信号,并从模拟口输出,板上的LED可以用来调试。例如:LED的光照在不同颜色的材料上,通过观察光传感器读取的值的范围,来制作颜色识别器或者循迹小车。

5、编程原理
灰度传感器共引出三个引脚,分别是电源正Vcc、电源地GND、信号端OUT,实际使用时可以直接将传感器连接到 Arduino 控制器的模拟接口,例如模拟口 A0,给 Arduino 通电后,传感器白色高亮 LED 亮起,将传感器扣放在灰度不同的纸张上,通过 Arduino 控制器自带的 AD 转换进行数据的读取,然后通过串口打印出测量的模拟量即可。

发光二极管与1K电阻串联,发光二极管作为光源,照射在检测物体上,1K电阻起限流作用。光敏电阻与10K电阻串联,光敏电阻具有光越强阻值越小的特性。当发光二极管照在白色物体上时,白色物体反射所有光,亮度强,光敏电阻阻值小,分压小,out点输出的电压值高;当发光二极管照在黑色物体上时,黑色物体吸收所有光,亮度弱,光敏电阻阻值大,分压大,out点输出的电压值低。

6、模块接脚图
S端口接到控制器的模拟输入引脚。5V 和GND分别接到电源的+5V和GND。

在这里插入图片描述
模拟灰度传感器模块的实验环境
一、模拟灰度传感器模块实验所需硬件清单

Arduino Uno开发板 X1
模拟灰度传感器模块X1
杜邦线 若干(备了9条)
高电平触发有源蜂鸣器模块X1
LED发光二极管(绿、蓝色)X2
高电平触发单路5V继电器模块X1
Proto Shield 原型扩展板(带mini面包板)X1

在这里插入图片描述

二、传感器模块实验所需软件平台

代码编程 Arduino IDE (版本1.8.19)
仿真编程 Linkboy (版本V4.6.3)
图形编程 Mind+ (版本 V1.7.0 RC2.0)
以及编玩边学(线上平台https://ide.codepku.com/?type=Arduino)

三、实验接线示意图

在这里插入图片描述
在这里插入图片描述

四、实验注意事项
1、该模块不防水、不防尘;
2、在明亮环境中和反光材质上使用时,效果不佳;
3、电源需要和控制器一致,通常为3.3V或5V;
4、可以感知地面或桌面不同的颜色而产生相应的信号,可实现与颜色有相关的互动,也可以作为巡线小车的巡线传感器或者足球机器人的场地灰度识别。

在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

驴友花雕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值