If you have a drawer full of sensors, chances are you have a few green modules labeled MH Sensor Series "Flying Fish" . These are arguably the most common infrared (IR) proximity sensors on the market. They are cheap, reliable for line-following robots and tachometers, and they run on 5V.
Here are the verified specifications. Ignore any PDF that claims different voltages or pinouts without looking at the back of the board.
If your sensor isn't working like the "broken" datasheet said, here is the troubleshooting guide: Mh Sensor Series Flying Fish Ir Sensor Datasheet Fixed
void loop() { int sensorState = digitalRead(sensorPin);
Your potentiometer is mis-set. Turn the blue box trimmer counter-clockwise. The Flying Fish has a digital output, not analog. The pot adjusts the threshold . If the threshold is too low, it will always read "1" (nothing detected). If you have a drawer full of sensors,
The datasheet says "20cm"? Lie. This is a proximity sensor, not a distance sensor. Max reliable range is ~2.5cm (1 inch). If you need long range, buy an ultrasonic or Time-of-Flight (VL53L0X) sensor.
if (sensorState == LOW) { // Object is close digitalWrite(ledPin, HIGH); Serial.println("Object Detected!"); } else { digitalWrite(ledPin, LOW); Serial.println("Clear"); } delay(100); } Here are the verified specifications
Today, we are going to fix that. Here is the actual working datasheet for the MH Flying Fish IR Sensor—no confusion included.
Decoding the MH Flying Fish IR Sensor: Why Your Datasheet is Broken (And How to Fix It)