常用传感器讲解十四–障碍探测器(KY-032)
具体讲解
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(edPin, LOW);
}
}