Team 10

Friction & Inclined Plane App

Build an app that calculates the normal force, frictional force, and acceleration of an object sliding down an inclined plane with a specific coefficient of friction.

🎯 Learning Goals

  • Resolve Weight into Parallel and Perpendicular components
  • Understand Normal Force and Coefficient of Friction (μ)
  • Calculate resulting Acceleration using F_net = ma
  • Build trigonometry-based physical simulations

🌎 Why This Matters

Friction is what keeps our cars on the road and our shoes from slipping. Engineers use these calculations to design safe highway ramps, efficient conveyor belts in factories, and even high-performance winter tires.

📖Understanding Inclined Planes & Friction

Theory Masterclass
"

When an object is on a slope (inclined plane), gravity pulls it down, but the surface pushes back. We break the force of gravity (mg) into two components: 1. Perpendicular component: F_perp = m × g × cos(θ) This component pushes the object INTO the slope. The surface pushes back with an equal 'Normal Force' (N = F_perp). 2. Parallel component: F_par = m × g × sin(θ) This component pulls the object DOWN the slope. Friction (F_f): A force that opposes motion. It depends on the Normal Force (N) and the material property called the Coefficient of Friction (μ). F_f = μ × N Net Force and Acceleration: The force moving the object down is (F_par - F_f). According to F = ma, the acceleration (a) is: a = (F_par - F_f) / m = g × sin(θ) - μ × g × cos(θ) If F_f > F_par, the object will not slide (acceleration = 0).

Mathematical Foundation

fxParallel Weight: F_par = m × g × sin(θ)
fxPerpendicular Weight / Normal Force: N = m × g × cos(θ)
fxFrictional Force: F_f = μ × N
fxAcceleration: a = (F_par - F_f) / m
fxIf μ > tan(θ), the object doesn't move!

🎨Part A — Designer View (UI Design)

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

1

Input Fields

Title: "Inclined Plane Solver" - TextBox: "Mass (kg)" - TextBox: "Angle θ (degrees)" - TextBox: "Coefficient of Friction μ" - Button: "Calculate Forces"

2

Result Output

Labels for results: - NormalForceLabel: "Normal Force (N): —" - FrictionLabel: "Friction (N): —" - ParallelForceLabel: "Force Down Slope (N): —" - AccelerationLabel: "Acceleration (m/s²): —"

3

Visualization

Add a Canvas where you draw a simple triangle (the plane) and a square (the object) based on the input angle.

🧩Part B — Blocks View (Logic & Calculation)

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

1

Trigonometry Logic

Initialize m, g (9.8), theta, and mu from textboxes. Calculate: 1. Normal Force = m × 9.8 × cos(theta) 2. Friction = mu × Normal Force 3. Parallel Force = m × 9.8 × sin(theta)

2

Acceleration Logic

Net Force = Parallel Force - Friction. If Net Force < 0, then Acceleration = 0 (static friction wins). Else, Acceleration = Net Force / m.

3

Update Results

Update all labels. Round the numbers to 2 decimal places using: (round(value × 100) / 100).

🧪Testing Your App

  • Mass=10, Angle=30, μ=0 → Acceleration should be 4.9 m/s² (g/2).
  • Mass=10, Angle=30, μ=0.577 (approx tan 30) → Friction should balance parallel weight, acceleration = 0.
  • Set Angle=0: Only Normal Force should exist (98 N for 10kg).

🚀Bonus Challenges

Extra credit — impress your instructor

  • Animate the block sliding down the plane on the Canvas.
  • Add a 'Material Selection' dropdown (Wood on Steel, Ice on Ice) that automatically sets μ.
  • Calculate the time taken to reach the bottom if the length of the plane is provided.