Bird
Raised Fist0
Drone Programmingprogramming~10 mins

Barometer for altitude in Drone Programming - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to read the current pressure from the barometer sensor.

Drone Programming
pressure = barometer.[1]()
Drag options to blanks, or click blank then click option'
Aread_pressure
Bcalibrate
Cstart
Dget_altitude
Attempts:
3 left
💡 Hint
Common Mistakes
Using get_altitude() instead of read_pressure()
Calling start() which initializes but does not read data
2fill in blank
medium

Complete the code to convert pressure to altitude using the barometer's method.

Drone Programming
altitude = barometer.[1](pressure)
Drag options to blanks, or click blank then click option'
Acalculate_altitude
Bread_altitude
Cmeasure_altitude
Dget_altitude
Attempts:
3 left
💡 Hint
Common Mistakes
Using calculate_altitude() which might not exist
Using read_altitude() which is not standard
3fill in blank
hard

Fix the error in the code to initialize the barometer sensor correctly.

Drone Programming
barometer = BarometerSensor([1])
Drag options to blanks, or click blank then click option'
Aport1
Bsensor_port
Ci2c_bus
Dgpio_pin
Attempts:
3 left
💡 Hint
Common Mistakes
Using gpio_pin which is for digital pins
Using port1 or sensor_port which are not standard identifiers
4fill in blank
hard

Fill both blanks to create a set of altitudes for each sensor reading above 100 meters.

Drone Programming
altitudes = {reading[1]2 for reading in readings if reading [2] 100}
Drag options to blanks, or click blank then click option'
A**
B>
C<
D+
Attempts:
3 left
💡 Hint
Common Mistakes
Using '+' instead of '**' for squaring
Using '<' instead of '>' in the condition
5fill in blank
hard

Fill all three blanks to create a dictionary mapping sensor IDs to altitudes above 50 meters.

Drone Programming
altitude_map = [1]: [2] for id, [3] in sensor_data.items() if [2] > 50}
Drag options to blanks, or click blank then click option'
Aid
Baltitude
Ddata
Attempts:
3 left
💡 Hint
Common Mistakes
Using data as the loop variable instead of altitude
Mixing up keys and values in the dictionary comprehension

Practice

(1/5)
1. What does a barometer measure to help a drone find its altitude?
easy
A. Battery level
B. Temperature
C. Wind speed
D. Air pressure

Solution

  1. Step 1: Understand barometer function

    A barometer measures air pressure, which changes with altitude.
  2. Step 2: Connect air pressure to altitude

    Lower air pressure means higher altitude, so drones use this to estimate height.
  3. Final Answer:

    Air pressure -> Option D
  4. Quick Check:

    Barometer = Air pressure [OK]
Hint: Barometer always measures air pressure, not temperature or speed [OK]
Common Mistakes:
  • Confusing barometer with thermometer
  • Thinking it measures wind speed
  • Assuming it measures GPS signals
2. Which of the following is the correct way to read a barometer sensor value in drone code?
easy
A. altitude = barometer.readAltitude()
B. pressure = barometer.getTemperature()
C. pressure = barometer.readPressure()
D. altitude = barometer.getSpeed()

Solution

  1. Step 1: Identify correct method for pressure reading

    The method readPressure() is used to get air pressure from the barometer.
  2. Step 2: Check other options for correctness

    getTemperature() reads temperature, readAltitude() may not exist, and getSpeed() is unrelated.
  3. Final Answer:

    pressure = barometer.readPressure() -> Option C
  4. Quick Check:

    Read pressure with readPressure() [OK]
Hint: Pressure reading uses readPressure(), not temperature or speed [OK]
Common Mistakes:
  • Using temperature method instead of pressure
  • Assuming altitude is directly read
  • Calling non-existent getSpeed() method
3. Given this code snippet, what will be printed?
pressure = 101325
altitude = 44330 * (1 - (pressure / 101325) ** 0.1903)
print(round(altitude))
medium
A. 0
B. 44330
C. 101325
D. 1903

Solution

  1. Step 1: Understand the formula and input

    The pressure is 101325 Pa, which is sea level standard pressure.
  2. Step 2: Calculate altitude

    Substitute pressure: (pressure / 101325) = 1, so (1) ** 0.1903 = 1, then 1 - 1 = 0, so altitude = 44330 * 0 = 0.
  3. Final Answer:

    0 -> Option A
  4. Quick Check:

    Sea level pressure gives altitude 0 [OK]
Hint: At sea level pressure, altitude formula returns zero [OK]
Common Mistakes:
  • Misapplying exponent
  • Ignoring that pressure equals standard pressure
  • Confusing units
4. Find the error in this altitude calculation code:
pressure = barometer.readPressure()
altitude = 44330 * (1 - (pressure / 101325) ** 1.903)
print(altitude)
medium
A. Exponent should be 0.1903, not 1.903
B. Pressure should be divided by 100000, not 101325
C. Missing parentheses around pressure division
D. Altitude formula should multiply by pressure, not subtract

Solution

  1. Step 1: Check the exponent value in formula

    The correct exponent in the barometric formula is approximately 0.1903, not 1.903.
  2. Step 2: Understand impact of wrong exponent

    Using 1.903 will give incorrect altitude values, making the calculation invalid.
  3. Final Answer:

    Exponent should be 0.1903, not 1.903 -> Option A
  4. Quick Check:

    Exponent = 0.1903 for altitude formula [OK]
Hint: Check exponent carefully; 0.1903 is standard for altitude [OK]
Common Mistakes:
  • Typing 1.903 instead of 0.1903
  • Changing pressure divisor incorrectly
  • Misplacing parentheses
5. You want to estimate altitude using a barometer when GPS is unavailable. Which approach correctly converts pressure to altitude in your drone program?
def pressure_to_altitude(pressure):
    sea_level_pressure = 101325
    altitude = 44330 * (1 - (pressure / sea_level_pressure) ** 0.1903)
    return round(altitude)

current_pressure = barometer.readPressure()
print(pressure_to_altitude(current_pressure))
hard
A. The sea level pressure should be updated dynamically inside the function
B. This code correctly converts pressure to altitude using the standard formula
C. The formula should use addition instead of subtraction inside parentheses
D. The function should return pressure, not altitude

Solution

  1. Step 1: Analyze the formula used in the function

    The formula matches the standard barometric formula to convert pressure to altitude.
  2. Step 2: Check the function usage and return value

    The function reads current pressure, applies formula, rounds result, and returns altitude correctly.
  3. Final Answer:

    This code correctly converts pressure to altitude using the standard formula -> Option B
  4. Quick Check:

    Standard formula used correctly [OK]
Hint: Use standard formula with subtraction and exponent 0.1903 [OK]
Common Mistakes:
  • Changing formula signs incorrectly
  • Not rounding altitude
  • Returning wrong value