Tools
Arduino
P5.Js
3D Printing
Fusion 360 / Nomad / 3D Modeling
Physical Fabrication
Video Production
Inspiration
The inspiration of this project comes from the traditional Chinese Kǒngmíng(天灯) lantern which is also known as sky lantern. At the beginning, the sky lantern was designed in the Three Kingdoms (220-280 AD) for sending messages and as time passes by, flying sky lanterns gradually becomes a way for people to make a wish and bless.
I really like the sky lantern festival especially when people gather and fly the sky lanterns together. That’s a super beautiful and wonderful scene. However, in recent years, sky lanterns have been defined as illegal in several countries because the lanterns include many potential risks like widespread forest fires. Therefore, Ellie make an online sky lanterns by p5.js which can make the digital lantern flew by mousePressed. However, Ellie thought it would be more realistic when people can make their wishes physically and fly the lantern. Also, I hoped more people can get chance to play with the sky lantern. Therefore, Ellie discussed the initial idea with me and Alexa and finally we decided to make a sky lantern wish box!
Coding
For our wish box, there are several actions including putting the wish cards to the box and trigger the flying lantern. After that, the user can use the simulated candle to let off fireworks.
IR Break Beam Sensors & Photocell
For the wish card, our initial thought is using weight sensor to trigger the flying action on p5.js. However, the problem is the card is light and the we need to measure the weight of each card and make sure the value is stable. Then, we know the IR Break Beam Sensor which can detect motion by breaking the beam sending between the receiver and the emitter.
We find this reference from Adafruit which is helpful for us to set up the sensor.
In the P5.JS sketch, we have the fireworks and when we are looking at it and think about the possible interaction of lighting the firework, we think that we can ask the user to use the candle to make the action of lighting. Then, we think photocell would be a good sensor for the lighting action.
To get the value range for the firework, I made a test for the photocell. I find the value of the photocell ranges from 400-600 when the photocell tested dark and range from 700-900 when it is under bright environment. So I set when the photocell value is smaller than 600, the green led glows.
WS2811 LED STRIP
We also connect the LED strip to set up the condition that when the wish is inserted, the led light will turn from white to orange to indicate the wish has been received. Also, when we are testing the led strip, we found out putting the delay of the LED STRIP after the delay of the Serial.print would figure out the contradiction between the delay.
Arduino to P5.js
Visual
We all think visual part is important for this project and the effect we wanted to create is the sky lantern flying from the sea to the beautiful night sky. We want the user to have a calming and pleasant experience. Therefore, Alexa drew the beautiful starry night scene and designed the sky lantern.
To bring better user experience, we also designed the wish card.
Prototype
At the beginning, we have many thoughts about our boxes and also think about the interaction ways. Then, we decided to make it a rectangular box which would make more sense as a wish box.
For our wish box, we make several versions of prototype to define the size and the interior structure of the box. For the structure, we consider more about how to better hide the wires and the breadboard and how to make the box more convenient to carry.
Finally we decided to make a translucent acrylic box so that the whole box would be lighting when the led strip lights.