Bird
Raised Fist0
Arduinoprogramming~5 mins

IR sensor for obstacle detection in Arduino - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does an IR sensor detect in obstacle detection?
An IR sensor detects infrared light reflected from nearby objects to sense obstacles.
Click to reveal answer
beginner
How do you connect an IR sensor to an Arduino for obstacle detection?
Connect the IR sensor's VCC to 5V, GND to ground, and the output pin to an Arduino digital input pin.
Click to reveal answer
beginner
What Arduino function reads the IR sensor output?
Use digitalRead(pin) to read the sensor's output pin, which tells if an obstacle is detected.
Click to reveal answer
beginner
Why do we use an if statement with the IR sensor reading?
To check if the sensor output indicates an obstacle and then take action like stopping a motor.
Click to reveal answer
beginner
What is a simple Arduino code snippet to detect an obstacle using an IR sensor?
int sensorPin = 7; void setup() { pinMode(sensorPin, INPUT); Serial.begin(9600); } void loop() { int val = digitalRead(sensorPin); if (val == LOW) { Serial.println("Obstacle detected!"); } else { Serial.println("No obstacle."); } delay(500); }
Click to reveal answer
What does the IR sensor output when it detects an obstacle?
AHIGH signal
BAnalog voltage
CNo signal
DLOW signal
Which Arduino function reads a digital pin connected to an IR sensor?
AdigitalRead()
BpinMode()
CanalogRead()
DSerial.read()
What is the purpose of the delay() function in the IR sensor code?
ATo reset the sensor
BTo speed up sensor reading
CTo pause between readings for stability
DTo change sensor sensitivity
Which pin mode should be set for the IR sensor output pin on Arduino?
AINPUT
BANALOG
CINPUT_PULLUP
DOUTPUT
What happens if you connect the IR sensor output to an analog pin and use digitalRead()?
AIt reads LOW always
BIt may not read correctly
CIt works fine
DIt damages the Arduino
Explain how an IR sensor detects obstacles and how you use it with Arduino.
Think about how light bounces back and how Arduino reads that signal.
You got /5 concepts.
    Describe a simple Arduino program structure to detect obstacles using an IR sensor.
    Focus on the main parts of an Arduino sketch for sensor reading.
    You got /5 concepts.

      Practice

      (1/5)
      1. What does an IR sensor detect in an obstacle detection system?
      easy
      A. Visible light intensity
      B. Magnetic fields around objects
      C. Sound waves bouncing off objects
      D. Reflected infrared light from nearby objects

      Solution

      1. Step 1: Understand IR sensor function

        IR sensors emit infrared light and detect the light reflected back from objects.
      2. Step 2: Identify what is detected

        The sensor measures reflected infrared light, not visible light, sound, or magnetic fields.
      3. Final Answer:

        Reflected infrared light from nearby objects -> Option D
      4. Quick Check:

        IR sensor = reflected infrared light [OK]
      Hint: IR sensors detect reflected infrared light, not visible or sound [OK]
      Common Mistakes:
      • Confusing IR sensor with light or sound sensors
      • Thinking it detects visible light
      • Assuming it detects magnetic fields
      2. Which Arduino code snippet correctly reads an analog IR sensor value from pin A0?
      easy
      A. int sensorValue = analogRead(A0);
      B. int sensorValue = digitalRead(A0);
      C. int sensorValue = analogWrite(A0);
      D. int sensorValue = digitalWrite(A0);

      Solution

      1. Step 1: Identify correct function for analog reading

        analogRead(pin) reads analog sensor values from specified pin.
      2. Step 2: Check pin and function usage

        Pin A0 is analog input; analogRead(A0) is correct syntax.
      3. Final Answer:

        int sensorValue = analogRead(A0); -> Option A
      4. Quick Check:

        Use analogRead for analog sensors [OK]
      Hint: Use analogRead() for analog sensor pins like A0 [OK]
      Common Mistakes:
      • Using digitalRead() for analog sensors
      • Using analogWrite() which is for output
      • Using digitalWrite() which is for digital output
      3. What will be printed if the IR sensor value is 350 and the threshold is 300 in this code?
      int sensorValue = 350;
      int threshold = 300;
      if(sensorValue > threshold) {
        Serial.println("No obstacle");
      } else {
        Serial.println("Obstacle detected");
      }
      medium
      A. Error
      B. No obstacle
      C. 350
      D. Obstacle detected

      Solution

      1. Step 1: Compare sensorValue with threshold

        350 is greater than 300, so condition sensorValue > threshold is true.
      2. Step 2: Determine printed output

        Since condition is true, code prints "No obstacle".
      3. Final Answer:

        No obstacle -> Option B
      4. Quick Check:

        350 > 300 = true, prints "No obstacle" [OK]
      Hint: Check if sensor value is above threshold for output [OK]
      Common Mistakes:
      • Confusing greater than with less than
      • Expecting sensor value to print
      • Thinking else block runs when condition is true
      4. Identify the error in this Arduino code for obstacle detection:
      int sensorPin = A0;
      int threshold = 400;
      void setup() {
        Serial.begin(9600);
      }
      void loop() {
        int sensorValue = digitalRead(sensorPin);
        if(sensorValue < threshold) {
          Serial.println("Obstacle detected");
        }
        delay(100);
      }
      medium
      A. Using digitalRead instead of analogRead for analog sensor
      B. Missing Serial.begin in setup()
      C. Incorrect delay value
      D. Threshold comparison operator is wrong

      Solution

      1. Step 1: Check sensor reading function

        IR sensor outputs analog values, so analogRead() must be used, not digitalRead().
      2. Step 2: Verify other code parts

        Serial.begin is present, delay is reasonable, comparison operator is correct.
      3. Final Answer:

        Using digitalRead instead of analogRead for analog sensor -> Option A
      4. Quick Check:

        Analog sensor needs analogRead() [OK]
      Hint: Use analogRead() for analog sensors, not digitalRead() [OK]
      Common Mistakes:
      • Using digitalRead for analog sensor pins
      • Forgetting Serial.begin() (not the case here)
      • Misusing delay() values
      5. You want to detect obstacles only when the IR sensor value is between 200 and 400. Which code snippet correctly implements this?
      hard
      A. if(sensorValue < 200 && sensorValue > 400) { Serial.println("Obstacle detected"); }
      B. if(sensorValue >= 200 || sensorValue <= 400) { Serial.println("Obstacle detected"); }
      C. if(sensorValue > 200 && sensorValue < 400) { Serial.println("Obstacle detected"); }
      D. if(sensorValue == 200 && sensorValue == 400) { Serial.println("Obstacle detected"); }

      Solution

      1. Step 1: Understand range condition

        To detect values between 200 and 400, sensorValue must be greater than 200 AND less than 400.
      2. Step 2: Analyze each option

        if(sensorValue < 200 && sensorValue > 400) { Serial.println("Obstacle detected"); }: impossible condition (< 200 && > 400); if(sensorValue >= 200 || sensorValue <= 400) { Serial.println("Obstacle detected"); } uses || which allows all values; if(sensorValue > 200 && sensorValue < 400) { Serial.println("Obstacle detected"); }: > 200 && < 400 correct; if(sensorValue == 200 && sensorValue == 400) { Serial.println("Obstacle detected"); } checks equality to both values simultaneously, impossible.
      3. Final Answer:

        if(sensorValue > 200 && sensorValue < 400) { Serial.println("Obstacle detected"); } -> Option C
      4. Quick Check:

        Use AND (&&) for range checks [OK]
      Hint: Use && to check sensor value within a range [OK]
      Common Mistakes:
      • Using || instead of && for range
      • Checking impossible conditions
      • Using equality instead of range
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard