Blogs
E18-D80NK Adjustable Infrared Sensor Switch 3-80cm

E18-D80NK Adjustable Infrared Sensor Switch
3-80cm Proximity Detection with Digital Output for Arduino and Robotics Projects
Introduction
The E18-D80NK is an adjustable infrared proximity sensor with reliable detection range from 3cm to 80cm. This photoelectric switch features a potentiometer for sensitivity adjustment and provides both analog and digital output signals.
Key Features
Adjustable Range
3cm to 80cm detection distance
Built-in Potentiometer
Onboard sensitivity adjustment
Dual Output
Digital (TTL) and analog signals
Environmental Resistance
IP67 waterproof rating
Technical Specifications
Detection Range | 3cm – 80cm (adjustable) |
---|---|
Operating Voltage | 5V DC ±10% |
Current Consumption | 25mA max |
Output Type | Digital (TTL) + Analog |
Response Time | 2ms |
Protection Rating | IP67 (Dustproof/Waterproof) |
Ambient Temperature | -25°C to +55°C |
Cable Length | 45cm (standard) |
Pin Configuration
Wire Color | Function | Arduino Connection |
---|---|---|
Brown | VCC (+5V) | 5V |
Blue | GND | GND |
Black | Digital Output | Digital Pin |
White | Analog Output | Analog Pin (optional) |
Note: The white (analog) wire is optional and not present on all models
Wiring with Arduino
1 2 3 4 5 6 7 |
// Basic Digital Connection: // Brown → 5V // Blue → GND // Black → D2 (or any digital pin) // Optional Analog Connection: // White → A0 (for distance estimation) |
Adjusting Detection Range
- Locate the blue potentiometer on the sensor body
- Place an object at your desired detection distance
- Slowly rotate the potentiometer clockwise to increase sensitivity (longer range)
- Rotate counter-clockwise to decrease sensitivity (shorter range)
- The onboard LED will turn off when an object is detected
Basic Digital Detection
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
const int sensorPin = 2; // Digital input pin void setup() { Serial.begin(9600); pinMode(sensorPin, INPUT); } void loop() { int detection = digitalRead(sensorPin); if (detection == LOW) { Serial.println("Object detected!"); } else { Serial.println("No object detected"); } delay(100); } |
Analog Distance Estimation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
const int analogPin = A0; // Only if white wire present void setup() { Serial.begin(9600); } void loop() { int sensorValue = analogRead(analogPin); float voltage = sensorValue * (5.0 / 1023.0); // Approximate distance calculation (requires calibration) float distance = 80.0 * (1.0 - (voltage / 5.0)); Serial.print("Analog Value: "); Serial.print(sensorValue); Serial.print("\tEstimated Distance: "); Serial.print(distance); Serial.println("cm"); delay(200); } |
Note: Analog output varies between models. For precise measurements, calibrate with known distances.
Advanced Applications
Object Counting
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
int objectCount = 0; bool lastState = HIGH; void loop() { bool currentState = digitalRead(sensorPin); if (lastState == HIGH && currentState == LOW) { objectCount++; Serial.print("Objects passed: "); Serial.println(objectCount); } lastState = currentState; } |
Speed Measurement
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
long lastDetection = 0; float objectSpeed = 0; void loop() { if (digitalRead(sensorPin) == LOW) { long now = millis(); if (lastDetection > 0) { objectSpeed = 1000.0 / (now - lastDetection); // Hz Serial.print("Frequency: "); Serial.print(objectSpeed); Serial.println("Hz"); } lastDetection = now; } } |
Multi-Sensor Array
1 2 3 4 5 6 7 8 9 10 11 12 |
const int sensorPins[] = {2, 3, 4}; const int numSensors = 3; void checkSensors() { for (int i=0; i<numSensors; i++) { if (digitalRead(sensorPins[i]) == LOW) { Serial.print("Sensor "); Serial.print(i); Serial.println(" triggered"); } } } |
Troubleshooting
No Detection
- Verify power connections (5V required)
- Adjust potentiometer for proper sensitivity
- Check for obstructions on sensor lens
False Triggers
- Reduce sensitivity (turn potentiometer CCW)
- Move away from reflective surfaces
- Avoid direct sunlight interference
Inconsistent Readings
- Ensure stable power supply
- Check for loose wire connections
- Clean sensor lens with soft cloth