Introduction: Neverdream
Concept
Neverdream is an installation which reinterprets a traditional Chinese opera, The Peony Pavilion, using 3D electronic story object. The interaction allows exploration between dream and reality in the story. Neverdream attempts to make traditional Chinese opera relevant to contemporary audiences.
Story
Background: Song Dynasty
Characters: Du Liliang, the daughter of an important official
Liu Mengmei, a poor scholar
Du and Liu meet and fall in love with each other in their dreams. They reunite in the real world after experiencing separation, death, and revival.
Experience
The user plays the role of Liu in the story. The installation presents the scene, that Liu meets a girl under a plum tree in his dream.
Step 1: Materials
- Flexinol
- Thermochromic Pigment
- Transparent Base
- TIP 120
- Diode
- 100k-ohm resistors
- 100-ohm resistors
- 9V batteries
- Wires
- Crimp beads
- Paper
- Arduino
- Copper tape
- Soldering tools
- Heating pad
Step 2: Printing
Printing the painting on a little thicker paper
Step 3: Painting With Thermochromic Pigment
1. Mix thermochromic pigment with the transparent base. Try different ratios.
2. Spread the pigment on the drawing and test whether the color can disappear when heated.
3. Cut off the best one.
Step 4: Making Petals
1. Prepare several petals, flexinol, copper tape, and crimp beads
2. Sew to fix the flexinol on one side of petal
3. Use crimp beads at the end of flexinol and solder the beads on the tape to make a connection.
Detailed tutorial: Shape Memory Alloy Connection
4. Connect 4 petals in series connection
Step 5: Making Transistor Nodes
Using TIP 120, diode, 100k-ohm resistors, 100-ohm resistors 9V batteries, copper tape to make two circuits as the image. It will protect Arduino from high voltage.
Step 6: Circuit and Code
int heatPin=7; int flowerPin=8; unsigned long lastDebounceTime = 0; bool open; void setup() { // put your setup code here, to run once:pinMode(heatPin, OUTPUT);
pinMode(flowerPin, OUTPUT); pinMode(4, INPUT_PULLUP); Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: if(digitalRead(4)==0 && !open) { open=true; lastDebounceTime=millis(); Serial.println("here"); } if(open){ if(millis() - lastDebounceTime<30000) { analogWrite(flowerPin,0); analogWrite(heatPin,250); } else if(millis() - lastDebounceTime>30000 && millis() - lastDebounceTime<38000) { analogWrite(flowerPin,200); analogWrite(heatPin,0); } else if(millis() - lastDebounceTime>=38000) { analogWrite(flowerPin,0); analogWrite(heatPin,0); open=false; } }}
Step 7: Assemblage
1. Make two holes and stretch out the flower and girl figure behind the out layer
2. Build the circuit and put the heating pad right behind the girl figure