Team 3

Ohm's Law & Circuit Calculator

Build an app that calculates voltage, current, and resistance using Ohm's Law. Also handles series and parallel resistance combinations and power dissipation.

🎯 Learning Goals

  • Understand relationship between V, I, and R
  • Master the difference between Series and Parallel circuits
  • Calculate Power dissipation and energy usage
  • Implement 'smart' calculators that solve for missing variables

🌎 Why This Matters

Electricity powers our world. Whether it's the charger for your phone or the wiring in your house, engineers use Ohm's Law to ensure components don't melt and circuits run efficiently. This app is a tool for every electrician and electronics engineer.

📖Understanding Ohm's Law & Circuits

Theory Masterclass
"

Ohm's Law is the most fundamental equation in electricity: V = I × R Where: V = Voltage (in Volts) — the "push" that drives current I = Current (in Amperes) — the flow of electric charge R = Resistance (in Ohms, Ω) — how much the material opposes current flow From V = IR, we can derive: I = V / R (find current given voltage and resistance) R = V / I (find resistance given voltage and current) Power: P = V × I = I²R = V²/R (in Watts) Series Resistance (resistors in a line): R_total = R₁ + R₂ + R₃ + ... Current is SAME through all, voltage DIVIDES. Parallel Resistance (resistors side by side): 1/R_total = 1/R₁ + 1/R₂ + 1/R₃ + ... Voltage is SAME across all, current DIVIDES. For 2 resistors in parallel: R_total = (R₁ × R₂) / (R₁ + R₂)

Mathematical Foundation

fxV = I × R (Ohm's Law)
fxP = V × I = I²R = V²/R
fxSeries: R_total = R₁ + R₂ + R₃
fxParallel: 1/R_total = 1/R₁ + 1/R₂ + 1/R₃
fxTwo parallel: R = (R₁×R₂)/(R₁+R₂)

🎨Part A — Designer View (UI Design)

Open MIT App Inventor → Switch to Designer view. Follow each step below to build the interface.

1

Set up with tabs

Title: "Circuit Calculator" Add 3 tab buttons: "Ohm's Law", "Series/Parallel", "Power"

2

Create Ohm's Law panel

VerticalArrangement named OhmPanel: Add 3 input rows, each with a Label and TextBox: - "Voltage (V):" TextBox VoltageInput - "Current (A):" TextBox CurrentInput - "Resistance (Ω):" TextBox ResistanceInput Add instruction: "Enter any TWO values, leave ONE empty to calculate it." Button: "Calculate"

3

Create Series/Parallel panel

VerticalArrangement named CircuitPanel (Visible = false): - TextBox: "Enter resistor values separated by commas" Hint: "10, 20, 30" - Buttons: "Series Total", "Parallel Total" - ResultLabel

4

Create Power panel

VerticalArrangement named PowerPanel (Visible = false): - TextBox for Voltage, TextBox for Current - Buttons: "Calculate Power", "From V & R", "From I & R" - ResultLabel

5

Add result display

A card-style area with: ResultLabel (main answer) FormulaLabel (shows which formula was used) ExplanationLabel (explains what the result means)

🧩Part B — Blocks View (Logic & Calculation)

Switch to Blocks view. Now add the logic that makes your app actually work.

1

Ohm's Law — Smart Calculator

When CalculateButton.Click: Check which TextBox is EMPTY (that's what we calculate): Case 1: Voltage is empty → V = I × R Get I and R, calculate V = I × R Case 2: Current is empty → I = V / R Get V and R, calculate I = V / R Check R ≠ 0! Case 3: Resistance is empty → R = V / I Get V and I, calculate R = V / I Check I ≠ 0! Display the result in the empty TextBox AND in ResultLabel. Show the formula used in FormulaLabel.

2

Parse resistor list

Create procedure "parseResistors": 1. Split the TextBox text at "," 2. Convert each item to a number 3. Return the list 4. Validate: each value must be > 0

3

Calculate Series resistance

When SeriesButton.Click: 1. Parse the resistor list 2. total = 0 3. Loop through list: total = total + resistor 4. Display: "Series Total = " + total + " Ω" 5. Also show: "Current through each = V/R_total"

4

Calculate Parallel resistance

When ParallelButton.Click: 1. Parse the resistor list 2. reciprocalSum = 0 3. Loop through list: reciprocalSum = reciprocalSum + (1/resistor) 4. total = 1 / reciprocalSum 5. Display: "Parallel Total = " + round(total×100)/100 + " Ω" The parallel total is always LESS than the smallest individual resistor!

5

Calculate Power

When PowerButton.Click: P = V × I Display: "Power = " + P + " Watts" When PowerFromVR.Click: P = V² / R When PowerFromIR.Click: P = I² × R

6

Add practical context

After calculating, show practical explanations: If P > 1000 → "That's " + P/1000 + " kilowatts!" If R is very high → "This is an insulator-level resistance" If I > 10 → "Warning: This is a very high current!" These help students understand the scale of their answers.

🧪Testing Your App

  • V=12, I=2 → R=6Ω, P=24W
  • V=220, R=100 → I=2.2A, P=484W (typical home appliance)
  • Series: 10Ω + 20Ω + 30Ω = 60Ω
  • Parallel: 10Ω || 10Ω = 5Ω (half of each)
  • Parallel: 6Ω || 3Ω = 2Ω

🚀Bonus Challenges

Extra credit — impress your instructor

  • Draw a simple circuit diagram on Canvas (battery, resistor symbols)
  • Add a 'Color Code Calculator' — read resistor color bands
  • Add Kirchhoff's Voltage Law (KVL) for a simple loop
  • Calculate cost of electricity: kWh × rate