Bird
Raised Fist0
Arduinoprogramming~5 mins

Ultrasonic distance sensor (HC-SR04) in Arduino - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of the HC-SR04 ultrasonic distance sensor?
The HC-SR04 sensor measures the distance to an object by sending ultrasonic sound waves and calculating the time it takes for the echo to return.
Click to reveal answer
beginner
Which two pins on the HC-SR04 sensor are used to trigger and receive the ultrasonic pulse?
The 'Trig' pin sends the ultrasonic pulse, and the 'Echo' pin receives the reflected pulse to measure distance.
Click to reveal answer
intermediate
How do you calculate distance from the duration of the echo pulse in Arduino code?
Distance (cm) = (duration of echo pulse in microseconds) / 58. This formula converts the time into centimeters.
Click to reveal answer
beginner
What Arduino function is used to measure the duration of the echo pulse?
The function 'pulseIn()' measures the time in microseconds that the echo pin stays HIGH, representing the echo duration.
Click to reveal answer
intermediate
Why do we need to set the Trig pin LOW before sending a HIGH pulse?
Setting the Trig pin LOW first ensures a clean HIGH pulse of 10 microseconds, which triggers the sensor correctly without noise.
Click to reveal answer
What is the typical duration of the HIGH pulse sent to the Trig pin to start a measurement?
A10 microseconds
B1 millisecond
C100 microseconds
D1 second
Which Arduino function reads the time the Echo pin stays HIGH?
ApulseIn()
BdigitalRead()
CanalogRead()
Ddelay()
If the echo duration is 1160 microseconds, what is the approximate distance in centimeters?
A100 cm
B58 cm
C10 cm
D20 cm
What does the Echo pin output when no object is detected within range?
AConstant HIGH
BRandom HIGH and LOW
CConstant LOW
DPulses at 1 kHz
Why is it important to wait some milliseconds between measurements?
ATo avoid sensor overheating
BTo allow the echo pulse to finish and avoid interference
CTo save battery power
DTo reset the Arduino
Explain how the HC-SR04 sensor measures distance step-by-step.
Think about sending a sound wave and timing its return.
You got /5 concepts.
    Describe how you would connect and program the HC-SR04 sensor with an Arduino to measure distance.
    Focus on wiring and the main code steps.
    You got /5 concepts.

      Practice

      (1/5)
      1. What is the main purpose of the trigger pin on the HC-SR04 ultrasonic sensor?
      easy
      A. To send a short ultrasonic pulse to start distance measurement
      B. To receive the echo signal from the object
      C. To power the sensor
      D. To reset the sensor

      Solution

      1. Step 1: Understand the role of the trigger pin

        The trigger pin is used to send a short pulse that starts the ultrasonic burst.
      2. Step 2: Differentiate from echo pin

        The echo pin listens for the returning pulse, not the trigger pin.
      3. Final Answer:

        To send a short ultrasonic pulse to start distance measurement -> Option A
      4. Quick Check:

        Trigger pin sends pulse = A [OK]
      Hint: Trigger pin sends pulse, echo pin listens [OK]
      Common Mistakes:
      • Confusing trigger with echo pin
      • Thinking trigger powers the sensor
      • Assuming trigger resets the sensor
      2. Which Arduino function is used to measure the duration of the echo pulse from the HC-SR04 sensor?
      easy
      A. digitalWrite()
      B. pulseIn()
      C. analogRead()
      D. delay()

      Solution

      1. Step 1: Identify function to measure pulse duration

        The pulseIn() function measures the length of a pulse on a pin.
      2. Step 2: Exclude other functions

        digitalWrite() sets pin output, analogRead() reads analog values, delay() pauses execution.
      3. Final Answer:

        pulseIn() -> Option B
      4. Quick Check:

        pulseIn measures pulse length = B [OK]
      Hint: Use pulseIn() to measure echo pulse duration [OK]
      Common Mistakes:
      • Using digitalWrite() to read pulse
      • Confusing analogRead() with pulse measurement
      • Using delay() instead of measuring pulse
      3. What will be the output distance (in cm) if the measured echo time is 1160 microseconds? Use the formula: distance = (echoTime / 2) / 29.1.
      medium
      A. 80 cm
      B. 40 cm
      C. 10 cm
      D. 20 cm

      Solution

      1. Step 1: Calculate half of echo time

        Half of 1160 microseconds is 580 microseconds.
      2. Step 2: Divide by 29.1 to get distance

        580 / 29.1 ≈ 19.93 cm, approximately 20 cm.
      3. Final Answer:

        20 cm -> Option D
      4. Quick Check:

        (1160/2)/29.1 ≈ 20 cm [OK]
      Hint: Divide echo time by 2 and then by 29.1 [OK]
      Common Mistakes:
      • Forgetting to divide echo time by 2
      • Using wrong divisor instead of 29.1
      • Mixing units of time and distance
      4. Identify the error in this Arduino code snippet for HC-SR04 distance measurement:
      digitalWrite(triggerPin, HIGH);
      delayMicroseconds(10);
      digitalWrite(triggerPin, LOW);
      echoTime = pulseIn(echoPin, LOW);
      medium
      A. echoTime should be declared as int, not long
      B. delayMicroseconds should be delay()
      C. pulseIn should measure HIGH pulse, not LOW
      D. triggerPin should be set LOW before HIGH

      Solution

      1. Step 1: Check pulseIn usage

        The echo pulse is HIGH when the echo is received, so pulseIn should measure HIGH pulse.
      2. Step 2: Verify other code parts

        delayMicroseconds(10) is correct for 10 microseconds pulse; triggerPin sequence is correct; echoTime type depends on usage but not an error here.
      3. Final Answer:

        pulseIn should measure HIGH pulse, not LOW -> Option C
      4. Quick Check:

        pulseIn measures HIGH pulse = D [OK]
      Hint: pulseIn(echoPin, HIGH) to measure echo pulse [OK]
      Common Mistakes:
      • Measuring LOW pulse instead of HIGH
      • Using delay() instead of delayMicroseconds()
      • Setting triggerPin LOW before HIGH incorrectly
      5. You want to measure distance continuously and print it every second using HC-SR04. Which code snippet correctly triggers the sensor and calculates distance in cm?
      hard
      A. digitalWrite(triggerPin, LOW); delayMicroseconds(2); digitalWrite(triggerPin, HIGH); delayMicroseconds(10); digitalWrite(triggerPin, LOW); echoTime = pulseIn(echoPin, HIGH); distance = (echoTime / 2) / 29.1;
      B. digitalWrite(triggerPin, HIGH); delayMicroseconds(10); digitalWrite(triggerPin, LOW); echoTime = pulseIn(echoPin, LOW); distance = echoTime * 29.1 / 2;
      C. digitalWrite(triggerPin, LOW); delay(10); digitalWrite(triggerPin, HIGH); echoTime = pulseIn(echoPin, HIGH); distance = (echoTime / 2) / 29.1;
      D. digitalWrite(triggerPin, HIGH); delayMicroseconds(2); digitalWrite(triggerPin, LOW); echoTime = pulseIn(echoPin, HIGH); distance = (echoTime * 2) / 29.1;

      Solution

      1. Step 1: Check trigger pulse sequence

        The correct sequence is to set trigger LOW for 2 microseconds, then HIGH for 10 microseconds, then LOW again.
      2. Step 2: Verify echo measurement and distance formula

        pulseIn measures HIGH pulse duration; distance = (echoTime / 2) / 29.1 converts time to cm correctly.
      3. Final Answer:

        Code snippet C correctly triggers and calculates distance -> Option A
      4. Quick Check:

        Trigger LOW-2us-HIGH-10us-LOW, pulseIn HIGH, distance formula = C [OK]
      Hint: Trigger LOW-2us, HIGH-10us, then LOW; measure HIGH pulse [OK]
      Common Mistakes:
      • Skipping initial LOW trigger pulse
      • Measuring LOW pulse instead of HIGH
      • Incorrect distance formula with wrong multiplication/division
      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