Bird
Raised Fist0
Raspberry Piprogramming~5 mins

DistanceSensor (ultrasonic) in Raspberry Pi - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is an ultrasonic DistanceSensor used for in Raspberry Pi projects?
An ultrasonic DistanceSensor measures the distance to an object by sending sound waves and calculating the time it takes for the echo to return.
Click to reveal answer
beginner
Which two pins are essential for connecting an ultrasonic DistanceSensor to a Raspberry Pi?
The Trigger pin (to send the sound pulse) and the Echo pin (to receive the reflected pulse) are essential for connection.
Click to reveal answer
intermediate
How do you calculate distance from the time measured by the ultrasonic sensor?
Distance (cm) = (Time (seconds) × Speed of sound (34300 cm/s)) ÷ 2. The division by 2 accounts for the sound traveling to the object and back.
Click to reveal answer
beginner
Why do we need to set the Trigger pin HIGH for 10 microseconds in the ultrasonic sensor code?
Setting the Trigger pin HIGH for 10 microseconds sends a short ultrasonic pulse to start the distance measurement.
Click to reveal answer
beginner
What Python library is commonly used to control GPIO pins on a Raspberry Pi for ultrasonic sensors?
The RPi.GPIO library is commonly used to control GPIO pins for sensors like the ultrasonic DistanceSensor.
Click to reveal answer
What does the Echo pin on an ultrasonic DistanceSensor do?
AReceives the reflected sound wave
BSends the initial sound pulse
CPowers the sensor
DMeasures temperature
Why do we divide the time by 2 when calculating distance with an ultrasonic sensor?
ATo adjust for sensor delay
BTo convert seconds to microseconds
CBecause the sound travels to the object and back
DTo calibrate the sensor
Which speed value is used for sound in air when calculating distance?
A300000000 m/s
B34300 cm/s
C1500 m/s
D1000 cm/s
How long should the Trigger pin be set HIGH to send a pulse?
A100 milliseconds
B1 second
C5 seconds
D10 microseconds
Which Python library helps control Raspberry Pi GPIO pins?
ARPi.GPIO
BNumPy
CPandas
DMatplotlib
Explain how an ultrasonic DistanceSensor measures distance using Raspberry Pi.
Think about sending and receiving sound waves and timing.
You got /5 concepts.
    Describe the steps to connect and program an ultrasonic DistanceSensor with Raspberry Pi.
    Focus on hardware connection and code flow.
    You got /5 concepts.

      Practice

      (1/5)
      1. What does the DistanceSensor measure using ultrasonic waves?
      easy
      A. The speed of sound in water
      B. The temperature of the air
      C. The distance to an object without touching it
      D. The brightness of a light source

      Solution

      1. Step 1: Understand the sensor's purpose

        The DistanceSensor uses sound waves to detect how far an object is without physical contact.
      2. Step 2: Identify the correct measurement type

        It measures distance, not temperature, speed, or brightness.
      3. Final Answer:

        The distance to an object without touching it -> Option C
      4. Quick Check:

        DistanceSensor measures distance = C [OK]
      Hint: Remember: ultrasonic means measuring distance by sound [OK]
      Common Mistakes:
      • Confusing distance with temperature
      • Thinking it measures speed or light
      • Assuming physical contact is needed
      2. Which of the following is the correct way to create a DistanceSensor object in Python on Raspberry Pi?
      easy
      A. sensor = DistanceSensor(trigger=17, echo=4)
      B. sensor = DistanceSensor(echo=17, trigger=4)
      C. sensor = DistanceSensor(4, 17)
      D. sensor = DistanceSensor(echo=4, trigger=17)

      Solution

      1. Step 1: Recall parameter names for DistanceSensor

        The DistanceSensor constructor expects named parameters: echo and trigger pins.
      2. Step 2: Match correct pin assignments

        sensor = DistanceSensor(echo=17, trigger=4) correctly assigns echo=17 and trigger=4 as named arguments.
      3. Final Answer:

        sensor = DistanceSensor(echo=17, trigger=4) -> Option B
      4. Quick Check:

        Use named pins echo=17, trigger=4 = A [OK]
      Hint: Use named arguments echo and trigger in correct order [OK]
      Common Mistakes:
      • Swapping echo and trigger pins
      • Passing pins without names
      • Using wrong pin numbers
      3. What will the following code print if the sensor measures 0.25 meters?
      from gpiozero import DistanceSensor
      sensor = DistanceSensor(echo=17, trigger=4)
      distance_cm = sensor.distance * 100
      print(round(distance_cm))
      medium
      A. 25
      B. 0.25
      C. 250
      D. 2.5

      Solution

      1. Step 1: Understand sensor.distance value

        The sensor.distance returns distance in meters as a float, here 0.25 meters.
      2. Step 2: Convert meters to centimeters and round

        Multiplying 0.25 by 100 gives 25 centimeters, then rounding keeps it 25.
      3. Final Answer:

        25 -> Option A
      4. Quick Check:

        0.25 m * 100 = 25 cm [OK]
      Hint: Multiply meters by 100 to get centimeters [OK]
      Common Mistakes:
      • Printing meters instead of centimeters
      • Multiplying by 1000 instead of 100
      • Not rounding the result
      4. Identify the error in this code snippet using DistanceSensor:
      from gpiozero import DistanceSensor
      sensor = DistanceSensor(echo=4, trigger=17)
      print(sensor.distance * 100)
      medium
      A. Echo and trigger pins are swapped
      B. Missing import statement
      C. sensor.distance returns centimeters directly
      D. Print statement syntax error

      Solution

      1. Step 1: Check pin assignments

        The echo pin should be connected to the sensor's echo pin, trigger to trigger pin. Usually, echo=17 and trigger=4 is standard, so swapping is likely wrong.
      2. Step 2: Verify other code parts

        Import is correct, sensor.distance returns meters (not centimeters), and print syntax is valid.
      3. Final Answer:

        Echo and trigger pins are swapped -> Option A
      4. Quick Check:

        Pin swap error = D [OK]
      Hint: Echo pin usually higher number than trigger [OK]
      Common Mistakes:
      • Confusing echo and trigger pins
      • Assuming distance returns centimeters
      • Forgetting to import gpiozero
      5. You want to measure distance in centimeters and print only integer values every second. Which code snippet correctly does this using DistanceSensor?
      hard
      A. from gpiozero import DistanceSensor import time sensor = DistanceSensor(echo=17, trigger=4) while True: print(sensor.distance) time.sleep(1)
      B. from gpiozero import DistanceSensor sensor = DistanceSensor(echo=17, trigger=4) print(round(sensor.distance))
      C. from gpiozero import DistanceSensor import time sensor = DistanceSensor(echo=4, trigger=17) while True: print(sensor.distance * 100) time.sleep(1)
      D. from gpiozero import DistanceSensor import time sensor = DistanceSensor(echo=17, trigger=4) while True: print(int(sensor.distance * 100)) time.sleep(1)

      Solution

      1. Step 1: Check pin assignments and imports

        from gpiozero import DistanceSensor import time sensor = DistanceSensor(echo=17, trigger=4) while True: print(int(sensor.distance * 100)) time.sleep(1) correctly imports time, sets echo=17 and trigger=4, which is standard.
      2. Step 2: Verify distance calculation and printing

        It multiplies sensor.distance (meters) by 100 to get centimeters, converts to int for integer output, and prints every second with time.sleep(1).
      3. Step 3: Compare with other options

        from gpiozero import DistanceSensor sensor = DistanceSensor(echo=17, trigger=4) print(round(sensor.distance)) prints once and rounds meters, not centimeters. from gpiozero import DistanceSensor import time sensor = DistanceSensor(echo=4, trigger=17) while True: print(sensor.distance * 100) time.sleep(1) swaps pins and prints float centimeters. from gpiozero import DistanceSensor import time sensor = DistanceSensor(echo=17, trigger=4) while True: print(sensor.distance) time.sleep(1) prints meters, not centimeters.
      4. Final Answer:

        from gpiozero import DistanceSensor import time sensor = DistanceSensor(echo=17, trigger=4) while True: print(int(sensor.distance * 100)) time.sleep(1) -> Option D
      5. Quick Check:

        Correct pins, int centimeters, 1-second delay = A [OK]
      Hint: Multiply by 100, convert to int, use sleep(1) for timing [OK]
      Common Mistakes:
      • Swapping echo and trigger pins
      • Not converting meters to centimeters
      • Printing only once instead of every second
      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