Bird
Raised Fist0
Drone Programmingprogramming~30 mins

Battery and power system in Drone Programming - Mini Project: Build & Apply

Choose your learning style10 modes available
Battery and Power System
📖 Scenario: You are programming a drone's battery and power system. The drone needs to monitor its battery levels and decide when to return to base for charging. This project will help you create a simple program to track battery levels and power consumption.
🎯 Goal: Build a program that stores battery levels for different drone components, sets a minimum safe battery level, calculates which components are below this level, and prints a warning message for those components.
📋 What You'll Learn
Create a dictionary with battery levels for drone components
Set a minimum safe battery level variable
Use a dictionary comprehension to find components below the safe level
Print the components that need charging
💡 Why This Matters
🌍 Real World
Drones must monitor battery levels to avoid sudden power loss during flight, ensuring safe operation and timely charging.
💼 Career
Understanding battery and power management is essential for drone software developers and engineers working on autonomous flying devices.
Progress0 / 4 steps
1
Create battery levels dictionary
Create a dictionary called battery_levels with these exact entries: 'motors': 75, 'camera': 40, 'gps': 55, 'lights': 20, 'sensors': 65
Drone Programming
Hint

Use curly braces {} to create a dictionary with keys and values separated by colons.

2
Set minimum safe battery level
Create a variable called min_safe_level and set it to 50
Drone Programming
Hint

Just assign the number 50 to the variable min_safe_level.

3
Find components below safe level
Use a dictionary comprehension to create a dictionary called low_battery that contains only the components from battery_levels with values less than min_safe_level
Drone Programming
Hint

Use {key: value for key, value in dict.items() if condition} format.

4
Print components needing charging
Write a print statement to display the text "Components needing charging:" followed by the low_battery dictionary
Drone Programming
Hint

Use print("Components needing charging:", low_battery) to show the result.

Practice

(1/5)
1. What is the main purpose of a battery in a drone?
easy
A. To send signals to the controller
B. To control the drone's speed
C. To store energy so the drone can fly
D. To cool down the drone's motors

Solution

  1. Step 1: Understand the battery's role

    A battery stores electrical energy that powers the drone's motors and electronics.
  2. Step 2: Compare options to battery function

    Only storing energy matches the battery's main purpose; other options describe different parts.
  3. Final Answer:

    To store energy so the drone can fly -> Option C
  4. Quick Check:

    Battery = Energy storage [OK]
Hint: Battery stores energy for flight power [OK]
Common Mistakes:
  • Confusing battery with motor controller
  • Thinking battery controls speed
  • Mixing battery with communication parts
2. Which of the following is the correct way to check if the battery level is below 20% in drone code?
easy
A. if battery_level == '20%':
B. if battery_level < 20:
C. if battery_level > 20:
D. if battery_level = 20:

Solution

  1. Step 1: Identify correct comparison operator

    To check if battery is below 20%, use less than operator: <.
  2. Step 2: Check syntax correctness

    if battery_level < 20: uses correct syntax and operator; others use assignment (=), wrong comparison (>), or wrong type ('20%').
  3. Final Answer:

    if battery_level < 20: -> Option B
  4. Quick Check:

    Use < for less than check [OK]
Hint: Use '<' to check if battery is below threshold [OK]
Common Mistakes:
  • Using '=' instead of '==' or '<'
  • Comparing to string '20%'
  • Using '>' instead of '<'
3. What will be the output of this code snippet?
battery_level = 15
if battery_level < 20:
    print('Warning: Low battery')
else:
    print('Battery level OK')
medium
A. Battery level OK
B. No output
C. SyntaxError
D. Warning: Low battery

Solution

  1. Step 1: Check battery_level value

    battery_level is 15, which is less than 20.
  2. Step 2: Evaluate the if condition

    Since 15 < 20 is True, the code prints 'Warning: Low battery'.
  3. Final Answer:

    Warning: Low battery -> Option D
  4. Quick Check:

    15 < 20 triggers warning [OK]
Hint: Compare battery_level to 20 to decide output [OK]
Common Mistakes:
  • Confusing output messages
  • Thinking 15 is not less than 20
  • Expecting syntax error
4. Identify the error in this drone battery check code:
if battery_level = 10:
    print('Battery low')
medium
A. Using '=' instead of '==' for comparison
B. Missing colon ':' after if statement
C. battery_level should be a string
D. print statement syntax is wrong

Solution

  1. Step 1: Check the if statement syntax

    The code uses '=' which is assignment, not comparison.
  2. Step 2: Correct comparison operator

    To compare, '==' must be used, so 'if battery_level == 10:' is correct.
  3. Final Answer:

    Using '=' instead of '==' for comparison -> Option A
  4. Quick Check:

    Use '==' to compare values [OK]
Hint: Use '==' to compare, not '=' [OK]
Common Mistakes:
  • Using '=' in if condition
  • Forgetting colon
  • Wrong print syntax
5. You want to write a function that returns 'Safe to fly' if battery level is 30% or more, and 'Charge battery' otherwise. Which code correctly implements this?
hard
A. def check_battery(level): if level >= 30: return 'Safe to fly' else: return 'Charge battery'
B. def check_battery(level): if level > 30: return 'Charge battery' else: return 'Safe to fly'
C. def check_battery(level): if level == 30: return 'Safe to fly' else: return 'Charge battery'
D. def check_battery(level): if level <= 30: return 'Safe to fly' else: return 'Charge battery'

Solution

  1. Step 1: Understand the condition for safe flight

    Safe to fly if battery level is 30% or more means level >= 30.
  2. Step 2: Check each option's logic

    def check_battery(level): if level >= 30: return 'Safe to fly' else: return 'Charge battery' correctly returns 'Safe to fly' when level >= 30, else 'Charge battery'. Others reverse or misapply conditions.
  3. Final Answer:

    def check_battery(level): if level >= 30: return 'Safe to fly' else: return 'Charge battery' -> Option A
  4. Quick Check:

    Use >= 30 for safe flight check [OK]
Hint: Use '>=' to include 30% as safe [OK]
Common Mistakes:
  • Using '>' instead of '>='
  • Reversing return messages
  • Checking only equality
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