Shade Shifter

Everyday Solutions - 2022

The Shade Shifter blocking the light from a flashlight
The Shade Shifter blocking the light from a flashlight
You when the shade shifter blocks the light properly
You when the shade shifter blocks the light properly.
An early tension gantry prototype
An early tension gantry prototype

About this Project

Problem: When driving west when the sun is setting, the intensity of the sun is a hazard to drivers. If the sun is low enough in the sky, it is impossible to block it with a sun visor without obscuring much of the driver’s view.

Solution: I designed and built an automatic sun-blocking robot! It detects bright lights using a webcam, and uses two winches to move a hanging blocker between the light and the driver.

How does it work? The Shade Shifter uses a Logitech webcam to detect the location of a bright light. It then calculates where the shade needs to be placed to block light from hitting the driver’s eyes. The shade is suspended in the frame with fishing line that is connected to two winches at the frame corners; the (x,y) position of the shade is controlled precisely by spooling the two winches in and out.

Specs

  • 0.8m square 2-axis gantry powered by two Lego EV3 servomotors
  • OpenCV/Python code uses webcam video to detect light

Relevant Skills

  • Socket Communication: Computer vision code on Linux laptop sent (x,y) coordinates to control code on Lego EV3.
  • Computer vision: Detected bright areas, calculated XY position
  • Inverse Kinematics: Calculated string length for a given XY position
  • Controls: Implemented proportional position feedback control in Python