Bird
Raised Fist0
Drone Programmingprogramming~10 mins

Battery and power system in Drone Programming - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Battery and power system
Start: Initialize battery level
↓
Check battery level > threshold?
No→Trigger low power alert
Yes↓
Power motors and systems
↓
Battery drains over time
↓
Update battery level
↩Back to Check battery level
This flow shows how a drone's battery level is checked continuously to power systems or trigger alerts when low.
Execution Sample
Drone Programming
battery = 100
threshold = 20
while battery > threshold:
    battery -= 15
    print(f"Battery level: {battery}%")
print("Low battery alert!")
This code simulates battery draining by 15% each loop until it reaches the threshold, then alerts low battery.
Execution Table
Iterationbattery before drainCondition (battery > 20)battery after drainOutput
1100True85Battery level: 85%
285True70Battery level: 70%
370True55Battery level: 55%
455True40Battery level: 40%
540True25Battery level: 25%
625True10Battery level: 10%
710FalseN/ALow battery alert!
💡 battery reaches 10, condition 10 > 20 is False, loop stops and alert triggers
Variable Tracker
VariableStartAfter 1After 2After 3After 4After 5After 6Final
battery10085705540251010
Key Moments - 2 Insights
Why does the loop stop when battery is 10 even though we subtract after the condition?
The condition checks battery before subtracting. At iteration 6, battery is 25 > 20 (True), so it subtracts 15 to 10. Next check is 10 > 20 (False), so loop stops without subtracting again. See execution_table rows 6 and 7.
Why is the low battery alert printed outside the loop?
Because the loop only runs while battery > threshold. When battery <= threshold, loop ends and the alert prints. This ensures alert only shows once battery is low, as shown in execution_table row 7.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the battery level after iteration 3?
A70
B55
C40
D25
💡 Hint
Check the 'battery after drain' column at iteration 3 in the execution_table.
At which iteration does the battery level first become less than or equal to the threshold?
A7
B5
C6
D4
💡 Hint
Look at the 'battery after drain' and 'Condition' columns in execution_table rows 5 and 6.
If the battery drained by 10 instead of 15 each time, what would be the battery after iteration 4?
A60
B50
C70
D55
💡 Hint
Calculate battery starting at 100, subtracting 10 four times, check variable_tracker logic.
Concept Snapshot
Battery and power system flow:
- Initialize battery level
- Check if battery > threshold
- If yes, power systems and drain battery
- Repeat check
- If no, trigger low battery alert

This loop simulates battery draining and alerts when low.
Full Transcript
This visual execution shows a drone's battery system checking battery level repeatedly. The battery starts at 100%. Each loop iteration checks if battery is above 20%. If yes, it drains 15% and prints the new level. When battery falls to 10%, the condition fails and the loop stops. Then a low battery alert prints. Variables and outputs are tracked step-by-step to show how battery changes and when the alert triggers.

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