接近传感器用来检测附近物体的存在。例如,LJ12A3-4-Z/BX电感性接近传感器是一种体积小、功耗低、使用方便、稳定性好的接近开关传感器,用于检测金属物体的存在。
LJ12A3-4-Z/BX有三个引脚,两个用来连接6-36V电源,第三个为数字输出引脚,输出为PNP、NO(常开状态),即通常为LOW状态,只有检测到物体时才转换为HIGH,检测距离为4mm,检测物体仅限于铜、铝、铁等。
由于供电电压超过了5V,该传感器不能由Arduino供电,只能另外连接电池供电。项目BOM如下:
Arduino UNO R3 ×1
LJ12A3-4-Z/BX电感接近传感器 ×1
10K resistor ×2
9V电池 ×1
9V电池夹 ×1
Male-Male跳线 ×1
面包板 ×1
Arduino IDE
首先,用电压分配器电路将的输入电压从9V降低到4.5V,再将电压分配器电路的中间位置连接到Arduino的输入引脚。
然后,将如下代码上传到Arduino:
const int Pin=2;
void setup() {
pinMode(Pin, INPUT);
Serial.begin(9600);
}
void loop() {
int sensorValue = digitalRead(Pin);
if(sensorValue==HIGH){
Serial.println("no Object");
delay(500);
}
else{
Serial.println("Object Detected");
delay(500);
}
}
上传代码后,传感器开始读数。如果输出为 LOW,表示附近没有物体出现;如果输出为 HIGH,表示物体出现了一次,检测间隔为0.5秒。
如果将一个金属物体在传感器前面晃3次,其结果如下: