100 Days of Spaceships (Completed!)

Partially as part of a class and partially for my own development/amusement, at the beginning of 2019 I embarked on a ‘100 Days of Making’ challenge. The journey is to make something new along a theme every day,.

I chose spaceships. One day I created a new 3d model of a spaceship in Blender 2.8, the next I animated it.

A Video Compilation of All 100 Days:

Final Presentation with some musings about the process.

24 Hour Responsive Reading Lamp (Behaviour)

This post is a follow-up to the fabrication post about the same project. Still a work in progress.

Overview

Lamp: Mkr1000 + Hue + Neopixels

The lamp is a combination of a Mkr1000, Neopixels, and Philips Hue. The Mkr1000 acts as a server, listening for http requests from the user-interfacing web-client, requesting time data from the WiFi router, and sending http requests to the Hue Bridge.

User Interface

Very bare bones at the moment, the web interface allows for users to select various functions for the light (for example, Candle Mode or Timing Mode).

The interface is made in p5.js. Once a button is clicked an http requests is formed and sent. I was having trouble/errors with the response, so the sketch ignores any responses.

Code Overview

Arduino

Web

Problems encountered

Epoch value and timer

The only timelapse documentation I have at the moment of the lamp is quite glitchy; for a while I could not determine what the problem was.

It turns out for some reason the ‘get epoch’ function from the WiFiRTC example was intermittently returning zero. I modified the code to continue requesting epoch forever:

Get Epoch
if (numberOfTries >= maxTries) {
    Serial.print("NTP unreachable!! Trying again");
    while (epoch == 0) {
      epoch = WiFi.getTime();
      numberOfTries++;
      Serial.println("Trying to get epoch");
      delay(1000);

    }
  }

24 Hour Responsive Light (Fabrication)

Similar to original Long Distance Reading Lamp, this bedside light is intended in its final form to connect people over distances. For this first iteration, however, my goal is to create a solid 24hr response cycle – a ‘default’ state, so that the lamp can work well as a standalone bedside light.

After experimenting with a few form factors (I really wanted to make a nice cylinder, inspired by Casper’s Glow Light), given the time constraints of this assignment (and the wallet-constraints of being a student), I settled on a cheap ($9), off the shelf diffuser. This allows me to focus more time on the interaction and progression, and less on fabrication and (potentially expensive) materials.

Hacking the light fixture to accommodate my extra circuitry wasn’t too complex, though I took care to make sure that the AC circuit was safe.

An underwriter’s knot helps provide strain relief.
Carefully soldered into the base of the socket, with as little wire exposed as possible.

Modular 555 power cycler

Overview

As part of the final for Energy, Rashida and I are dealing with 555 timer circuits and intermittently power cycling a rover. For this class I’d like to create a modular 555 timer circuit that is A) adjustable in its cycle, and B) modular in its use.

Here are the schematic and calculations for the 555 timer circuit. Rashida uses a different configuration of the 555 timer, and is planning on allowing the resistors and capacitor to be adjustable.

I plan to sacrifice some of the adjustability in favour of a mostly SMD (and thus smaller) board. To allow for a bit of flexibility I will use a potentiometer as R2, and include two selectable capacitors.

Technicals

R2: As seen here, R2 affects the time off in relation to R1 (time on). Unfortunately with the basic setup the time off can never be more that 50% of the duty cycle. Rashida’s solution is to us an ‘improved’ 555 timer circuit, my solution is to use a logic inverter in front of the relay.

BOM

  • 47 uF capacitor
  • 470 uF capacitor
  • Transistor (or logic inverter)
  • 500K resistor
  • 500K potentiometer
  • Toggle switch
  • Relay

Philips Hue for Games: Beyond the Screen

Video games are framed by the computer screen. The world of the game exists within that rectangle, and the ‘real’ world exists around it. What if we use connected lighting systems to extend the environment of the game beyond the screen?

For this project I have created a simple game of pong in which how well you are doing in the game is reflected by the world around you. Using a Philips Hue Bloom (or any “hue”, “sat”, and/or “bri” capable light), your progress in the game affects the brightness and colour of the room you are playing in.

Very simply, the longer you play, the more pleasantly cool and desaturated the light around you becomes. Whenever you ‘lose’ the light progresses some increment back towards a glaring, saturated red.

Continue reading “Philips Hue for Games: Beyond the Screen”