Newton's Laws Toolkit
Build an app that applies Newton's three laws of motion to calculate force, acceleration, momentum, impulse, and work-energy for various real-world scenarios.
🎯 Learning Goals
- ▹ Differentiate between Newton's 1st, 2nd, and 3rd laws
- ▹ Master the connection between Force, Mass, and Acceleration
- ▹ Understand Work, Energy, and Power relationships
- ▹ Implement complex mathematical functions for physical modeling
🌎 Why This Matters
Newton's laws are the fundamental rules for the entire universe. Whether it's a car braking on a road, a rocket taking off, or a bridge supporting weight, everything must obey these laws. Understanding them allows us to engineer anything that moves.
📖Understanding Newton's Three Laws
Theory MasterclassNewton's Laws are the foundation of classical mechanics — they explain WHY things move. First Law (Law of Inertia): An object at rest stays at rest, and an object in motion stays in motion (with the same speed and direction) unless acted upon by an unbalanced force. Example: A book on a table stays still. A ball rolling on a smooth surface keeps rolling. Second Law (F = ma): Force = Mass × Acceleration. This is the most important equation in mechanics. More force → more acceleration. More mass → less acceleration (harder to move). The direction of acceleration is the same as the direction of the net force. Third Law (Action-Reaction): For every action, there is an equal and opposite reaction. Example: You push the wall → the wall pushes you back. Rocket pushes gas down → gas pushes rocket up. Related Concepts: Momentum: p = m × v (mass × velocity) Impulse: J = F × t = Δp (change in momentum) Work: W = F × d × cos(θ) (force × distance × cos of angle) Kinetic Energy: KE = ½mv² Power: P = W/t (work done per unit time)
Mathematical Foundation
🎨Part A — Designer View (UI Design)
Open MIT App Inventor → Switch to Designer view. Follow each step below to build the interface.
Set up with calculator modes
Title: "Newton's Laws Toolkit" Add tabs: "Force (F=ma)", "Momentum", "Work & Energy", "Power"
Create F=ma panel
VerticalArrangement named ForcePanel: TextBox: "Mass (kg)" TextBox: "Acceleration (m/s²)" TextBox: "Force (N)" Label: "Enter any TWO, leave one empty" Button: "Calculate" ResultLabel
Create Momentum panel
VerticalArrangement named MomentumPanel: TextBox: "Mass (kg)" TextBox: "Velocity (m/s)" Button: "Calculate Momentum" Separator TextBox: "Force (N)" TextBox: "Time (s)" Button: "Calculate Impulse" ResultLabel
Create Work & Energy panel
VerticalArrangement named WorkPanel: TextBox: "Force (N)" TextBox: "Distance (m)" TextBox: "Angle (degrees)" — Hint: "0 for same direction" Button: "Calculate Work" Separator TextBox: "Mass (kg)" TextBox: "Velocity (m/s)" Button: "Calculate KE" ResultLabel
Create Power panel
VerticalArrangement named PowerPanel: TextBox: "Work (J)" TextBox: "Time (s)" Button: "Calculate Power" ResultLabel
🧩Part B — Blocks View (Logic & Calculation)
Switch to Blocks view. Now add the logic that makes your app actually work.
F = ma smart calculator
When CalculateButton.Click: Check which TextBox is empty: Case 1: Force empty → F = m × a Case 2: Mass empty → m = F / a (check a ≠ 0) Case 3: Acceleration empty → a = F / m (check m ≠ 0) Display result + units. Also show: "Weight of this mass = " + m × 9.8 + " N"
Calculate Momentum
When MomentumButton.Click: p = m × v Display: "Momentum = " + p + " kg·m/s" Add context: if p = 0 → "Object is at rest" Show: "To stop this in 1 second, you need " + p + " N of force"
Calculate Impulse
When ImpulseButton.Click: J = F × t Display: "Impulse = " + J + " N·s" Display: "This changes momentum by " + J + " kg·m/s"
Calculate Work Done
When WorkButton.Click: W = F × d × cos(angle) Display: "Work = " + W + " Joules" Special cases: if angle = 0° → "Force is in direction of motion (maximum work)" if angle = 90° → "Force is perpendicular ⇒ Work = 0!" if angle > 90° → "Negative work — force opposes motion"
Calculate Kinetic Energy
When KEButton.Click: KE = 0.5 × m × v × v Display: "Kinetic Energy = " + KE + " Joules" Add comparison: "To bring this to rest, " + KE + " J of work must be done against it."
Calculate Power
When PowerButton.Click: P = W / t (check t ≠ 0) Display: "Power = " + P + " Watts" if P > 1000 → Display also in kilowatts: P/1000 + " kW" if P > 746 → Display in horsepower: P/746 + " HP"
Add real-world examples
After each calculation, show a relatable example: "A cricket ball (0.15 kg) bowled at 140 km/h has momentum of " + 0.15×38.9 + " kg·m/s" "Lifting a 10 kg bag 1.5m → Work = " + 10×9.8×1.5 + " J" These help connect theory to daily life!
🧪Testing Your App
- ✓F=ma: m=5kg, a=3m/s² → F=15N
- ✓Momentum: m=2kg, v=5m/s → p=10 kg·m/s
- ✓Work: F=50N, d=10m, θ=0° → W=500J
- ✓Work at 90°: always 0 (perpendicular force does no work)
- ✓KE: m=1kg, v=10m/s → KE=50J
🚀Bonus Challenges
Extra credit — impress your instructor
- ★Add a 'Collision Calculator' — elastic and inelastic
- ★Add gravitational PE: PE = mgh and show total energy conservation
- ★Create a 'real-world scenario' mode with preset situations
- ★Add unit conversion within the app (kg↔pounds, m/s↔km/h)