具体讲解
KY-032避障传感器是为轮式机器人设计的可调节距离的红外接近传感器。也称为AD-032。
传感器的检测距离为2cm至40cm,可以通过旋转电位计旋钮进行调整。工作电压为3.3V-5V,因此适用于各种微控制器,例如Arduino,ESP32,Teensy,ESP8266,Raspberry Pi等。
它对环境光具有很强的适应性,并且可以准确感知周围环境的变化。
电路连接
该模块具有一对红外LED,一个发射器和一个接收器。发射的LED以一定频率发送红外光脉冲。当光线击中时,障碍物会反射回接收器LED。
KY-032有4个引脚:GND,+,S(输出)和EN。该跳线,使模块永久启用所以它总是检测障碍物。要控制传感器的状态,请删除跳线并使用EN引脚,“高”信号将启用传感器,而“低”信号将禁用传感器。
您可以通过旋转左旋钮来调整检测距离,将其旋转到中间以获得最大距离。右旋钮控制发射IR脉冲的频率,一直沿顺时针方向旋转以将发射器设置为与接收器一起工作所需的正确频率。
工作电压 3.3V – 5V直流
工作电流 ≥20mA
工作温度 -10°C – 50°C [14°F – 122°F]
检测距离 2厘米– 40厘米[0.79英寸– 15.75英寸]
IO接口 4线接口(-/ + / S / EN)
输出信号 TTL电平(如果有障碍物检测器,则为低电平;如果没有障碍物,则为高电平)
调整方式 多匝电阻调节
红外脉冲频率 符合HS0038DB数据表的38kHz
有效角度 35°
板子尺寸 1.6厘米x 4厘米[0.62英寸x 1.57英寸]
重量 9克
将模块的GND线(最左边的引脚)连接到Arduino上的GND,将+(第二个引脚)连接到5V。将信号(输出)连接到Arduino的引脚3。
代码实现
当传感器检测到障碍物时,它将在其输出引脚上发送LOW信号。未检测到障碍物或超出范围时,将发送HIGH信号。在以下示例中,当传感器检测到障碍物时,我们将打开Arduino引脚13上的LED。
int ledPin = 13; // LED pin on arduino
int detectorPin = 3; // obstacle avoidance sensor interface
int val; // variable to store result
//int enablePin = 2; // sensor enable interface (EN)
void setup()
{
pinMode(ledPin, OUTPUT); // Define LED as output interface
pinMode(detectorPin, INPUT); // Define obstacle avoidance sensor as input interface
// [uncomment and remove jumper on module to use enable pin (EN)]
//pinMode(enablePin, OUTPUT);
//digitalWrite(enablePin, HIGH); // Enable sensor
}
void loop()
{
val = digitalRead(detectorPin); // Read value from sensor
if(val == LOW) // When the sensor detects an obstacle, the LED on the Arduino lights up
{
digitalWrite(ledPin, HIGH);
}
else
{
digitalWrite(ledPin, LOW);
}
}