
1、介绍
灰度传感器是模拟传感器,与Arduino 结合使用,可以感知地面或桌面不同的颜色而产生相应的信号,可实现与颜色有相关的互动作品,也可以作为巡线小车的巡线传感器或者足球机器人的场地灰度识别。灰度传感器包括一个白色高亮发光二极管和一个光敏电阻,由于发光二极管照射到灰度不同的纸张上返回的光是不同的,光敏电阻接收到返回的光,根据光的强度不同,光敏电阻的阻值也不同,从而实现灰度值的测试。
2、原理图
3、模块参数
引脚名称 | 描述 |
|---|---|
G | GND(电源输入负极) |
V | VCC(电源输入正极) |
S | 模拟信号引脚 |
供电电压:3.3V / 5V
连接方式:PH2.0 端子线
安装方式:双螺丝固定
4、电路板尺寸

5、Arduino IDE示例程序
Arduino UNO 图形化示例程序:
int value = 0;
void setup(){
Serial.begin(9600);
pinMode(A0, INPUT);
}
void loop(){
value = analogRead(A0);
Serial.print("灰度值:");
Serial.println(value);
delay(500);
}ESP32 Python 示例(适用于Mixly IDE /米思齐)
(开发板选择 Python ESP32 【ESP32 Generic(4MB)】切换为代码模式上传 ):
import machine
import time
adc32 = machine.ADC(machine.Pin(32))
while True:
print('灰度值:',end ="")
print(adc32.read_u16())
time.sleep_ms(100)
6、米思齐 Mixly 示例程序(图形化语言)
Arduino UNO 图形化示例程序:点击下载

ESP32 Python图形化示例程序:点击下载

7、测试环境搭建
Arduino UNO 测试环境搭建
准备配件:
HELLO STEM UNO R3 开发板 *1
HELLO STEM UNO R3P 扩展板 *1
USB type-c 数据线 *1
灰度传感器(HS-S22A)*1
PH2.0 3P双头端子线 *1
电路接线图:

ESP32 Python 测试环境搭建
8、视频教程
Arduino UNO视频教程:点击查看
ESP32 Python视频教程:
9、测试结论
Arduino UNO测试结论:

器件连接好线之后,将上述程序上传到 Arduino UNO 开发板之后, 打开Mxily串口监视器,传感器扣放在灰度不同的纸张上,我们观察到串口打印出测量的模拟量数值不一样。
ESP32 Python测试结论:器件连接好线之后,将上述程序上传到 ESP32开发板之后, 打开Mxily串口监视器,传感器扣放在灰度不同的纸张上,我们观察到串口打印出测量的模拟量数值不一样。