Close
0%
0%

DI_UN_SWP

a project

Similar projects worth following
a dynamic interactivity project about "Promoting United Nations Sustainable Development Goals / Creating With Digital Fabrication and Physical Computing".

it is done!

check out Mao in the making in 115 seconds!

follow our gantt chart:

https://bit.ly/2tJST4s

Sustainability is a very big word that carries plenty of weight. It is not easily understood by all. Hence the purpose of this partnership is to create interactive designs that can engage shoppers, with the goal of building their awareness on and to educate them about sustainability.

Adobe Portable Document Format - 3.03 MB - 06/28/2018 at 14:36

Preview
Download

DI_IdeaPitch03.pdf

pitch to client (11/6)

Adobe Portable Document Format - 11.45 MB - 06/22/2018 at 10:52

Preview
Download

DI_IdeaPitch02.pdf

unsatisfactory (7/9)

Adobe Portable Document Format - 3.28 MB - 06/09/2018 at 18:33

Preview
Download

DI_IdeaPitch01.pdf

first pitch (31/5)

Adobe Portable Document Format - 1.81 MB - 06/06/2018 at 08:01

Preview
Download

DI_IdeaBin01.pdf

ideas are (and should be) supported by certain amount of research (per 30/5)

Adobe Portable Document Format - 2.51 MB - 05/29/2018 at 17:49

Preview
Download

View all 6 files

  • 1 × 40" TV for pepper's ghost illusion
  • 3 × custom-sized acrylic for pepper's ghost illusion
  • 1 × custom wooden structure
  • 6 × car tint film for acrylic (front & back)
  • 1 × corrugated boards (for structure)

View all 12 components

  • The Code that WORKED

    steffie08/31/2018 at 07:07 0 comments

    we encountered problems Processing couldn't read information properly from Arduino, so our lecturer offered a helping hand to solve the problems. Hence it looked like this:



    Arduino

    Main/idle page:

    // Page 1
    #define p1WaterTap 3
    #define p1ShowerHot 6
    #define p1ShowerCold 5
    #define p1WallLightSwitch 7
    
    // Page 2
    #define p2SeatBelt 8
    #define p2Radio 9
    #define p2Engine 10
    
    // Page 3
    #define p3RemoteTV 11
    #define p3FridgeDoor 12
    #define p3WallLightSwitch A0
    
    // Page indicators
    #define triggerP1 A3
    #define triggerP2 A2
    #define triggerP3 A1
    boolean engagedPage1;
    boolean engagedPage2;
    boolean engagedPage3;
    boolean bookEngaged;
    
    #define serialSendDelay 1
    
    
    
    // SETUP
    void setup() {
    
      // Page 1
      pinMode(p1WaterTap, INPUT);
      pinMode(p1ShowerHot, INPUT);
      pinMode(p1ShowerCold, INPUT);
      pinMode(p1WallLightSwitch, INPUT);
      digitalWrite(p1WaterTap, HIGH);
      digitalWrite(p1ShowerHot, HIGH);
      digitalWrite(p1ShowerCold, HIGH);
      digitalWrite(p1WallLightSwitch, HIGH);
    
      // Page 2
      pinMode(p2SeatBelt, INPUT);
      pinMode(p2Radio, INPUT);
      pinMode(p2Engine, INPUT);
      digitalWrite(p2SeatBelt, HIGH);
      digitalWrite(p2Radio, HIGH);
      digitalWrite(p2Engine, HIGH);
    
      // Page 3
      pinMode(p3RemoteTV, INPUT);
      pinMode(p3FridgeDoor, INPUT);
      pinMode(p3WallLightSwitch, INPUT);
      digitalWrite(p3RemoteTV, HIGH);
      digitalWrite(p3FridgeDoor, LOW);
      digitalWrite(p3WallLightSwitch, HIGH);
    
      // Page indicators
      pinMode (triggerP1, INPUT);
      pinMode (triggerP2, INPUT);
      pinMode (triggerP3, INPUT);
      digitalWrite(triggerP1, HIGH);
      digitalWrite(triggerP2, HIGH);
      digitalWrite(triggerP3, HIGH);
      engagedPage1 = false;
      engagedPage2 = false;
      engagedPage3 = false;
      bookEngaged = false;
    
      // Serial communication
      Serial.begin(9600);
      Serial.println ("...");
    
    } // END SETUP
    
    
    
    // LOOP
    void loop() {
    
    
      // Page 1
      if (engagedPage1 == false) {
        if (digitalRead(triggerP1) == HIGH) {
          bookEngaged = true;
          engagedPage1 = true;
          Serial.print("x");
        }
      }
    
      // Page 2
      if (engagedPage2 == false) {
        if (digitalRead(triggerP2) == HIGH) {
          bookEngaged = true;
          engagedPage2 = true;
          Serial.print("y");
        }
      }
    
      // Page 3
      if (engagedPage3 == false) {
        if (digitalRead(triggerP3) == HIGH) {
          bookEngaged = true;
          engagedPage3 = true;
          Serial.print("z");
        }
      }
    
    
      // If the book is engaged
      if (bookEngaged == true) {
    
        // Page 1
        if ( engagedPage1 == true ) {
          InteractionsPage1();
        }
        if ( digitalRead(triggerP1) == LOW ) {
          engagedPage1 = false;
        }
    
        // Page 2
        if ( engagedPage2 == true ) {
          InteractionsPage2();
        }
        if ( digitalRead(triggerP2) == LOW ) {
          engagedPage2 = false;
        }
    
        // Page 3
        if ( engagedPage3 == true ) {
          InteractionsPage3();
        }
        if ( digitalRead(triggerP3) == LOW ) {
          engagedPage3 = false;
        }
    
        // Reset book pages are not engaged
        if ( digitalRead(triggerP1) == LOW && digitalRead(triggerP2) == LOW ) {
          if ( digitalRead(triggerP3) == LOW ) {
            bookEngaged = false;
            engagedPage1 = false;
            engagedPage2 = false;
            engagedPage3 = false;
            Serial.print("<");
          }
        }
    
      }
    
    
      // Flush serial just in case
      Serial.flush();
    
    } // END LOOP
    
    

    1st page:

    void InteractionsPage1() {
    
      if ( Serial.read() == 62 ) {
        
        // Water tap
        if ( digitalRead(p1WaterTap) == LOW ) {
          Serial.print('a');
          delay(serialSendDelay);
        }
        else if ( digitalRead(p1WaterTap) == HIGH ) {
          Serial.print('b');
          delay(serialSendDelay);
    
        }
    
        // Shower
        if ( digitalRead(p1ShowerHot) == LOW ) {
          Serial.print('c');
          delay(serialSendDelay);
        }
        else if ( digitalRead(p1ShowerCold) == LOW ) {
          Serial.print('d');
          delay(serialSendDelay);
        }
    
        // Wall light switch
        if ( digitalRead(p1WallLightSwitch) == LOW ) {
          Serial.print('e');
          delay(serialSendDelay);
        }
        
      }
    
    } // END InteractionsPage1
    

    2nd page:

    void InteractionsPage2() {
    
      if ( Serial.read() == 62 ) {
    
        // Seat belt
        if (digitalRead(p2SeatBelt) == LOW) {
          Serial.print('f');
          delay(serialSendDelay);
        }
    
        // Radio
        if (digitalRead(p2Radio) == LOW) {
          Serial.print('g');
          delay(serialSendDelay);
        }
    
        // Engine
        if (digitalRead(p2Engine) == LOW) {
          Serial.print('h');
          delay(serialSendDelay);
        }
    
      }
    
    ...
    Read more »

  • Final Update

    steffie08/31/2018 at 07:06 0 comments

    After the User Test on (2/8), there were several components needed upgrade:

    • structure – nonexistent and/or not convincing nor appealing
    • book mechanisms is not working

    Week 12:

    8/8:

    • meeting with lecturer to discuss and plan the book mechanism
    • lecturer helped with assembling the metal structures that required power tools

    mechanism update: 3D printed dial with micro switch, some stoppers may be applied

    9/8:

    • 3D printing and trial-and-error-ing the measurement to fit to the book
    • animation work still going on
    • copywriting work on the book

    Week 13:

    13/8:

    • laser cut the remaining book structure, the bones, to make the hollow space to fit the sensors
    • continue working on the interact-ables (3D printing work)
    • animation work still going on
    • copywriting work on final messages

    14/8:

    • printed the finalised pages
    • sticking it to the woodpieces
    • measuring & make cuts on corrugated boards for the structure

    we need a few panels to cover up the front & back, sides & top

    15/8:

    • hand cutting and laser cutting corrugated boards to desired measurements
    • cutting holes into the plywood to attach sensors and interact-ables
    • animation needs some fine tune and refining

    16/8:

    • getting a PC for display and run Processing (spoiler: it didn't work, we didn't have converter for VGA to HDMI; backup plan required)
    • fine tuning of animation
    • sticking the wooden frame, now they've got hollow spaces (spoiler: we made a mistake, we didn't put in the nut for the screws later, DOH!)

    this day we're overnight-ing at college for another projects needed to be submitted in 4 days and required many hours to complete, there wasn't much progress after this.

    Week 14:

    21/8:

    we're just done with our other projects, today is a rest day, preparing for an overnight tomorrow

    • fix the nonexistent slot for the nut that we forgot to put on beforehand
    • redid the acrylic by putting car tint film to prevent reflection instead of the blue filter paper because it's inconsistent and bubbly
    mistake oh mistake

    22/8 (public holiday)  - 23/8 :

    wow no holiday, bye holiday

    • full day working on the book and measuring the structure
    • attaching sensors to where they belong and their corresponding interact-ables
    • fine tuning animation
    • structure work
    • copywriting work
    • coding work
    • wiring work (spoiler: too messy our lecturer needed to hands on)

    final look in case something bad happens, this is working perfectly, btw

    23/8 (final client review):

    • lecturer fixed the wiring
    • final touch wiring & stickers placing
    • screw everything together
    • animation is complete
    • structure is 80% complete, need some fine tuning

    client review result: 

    • a few bug (major bug) in the code
    • animation needs some final fine tuning here and there

    OVERNIGHT pt.2

    23/8 - 24/8:

    • too tired there are a lot of nap breaks
    • tried fixing the code but to no avail
    • animation is complete
    • structure is complete
    • in the morning our lecturer came up with solutions for the code (much thanks awlolo)
    • problems solved
    • wait until 10pm to bring over installation to Sunway Pyramid for the setup

    OVERNIGHT pt.3

    24/8-25/8:

    • worked whole night (with slacks and McD break hehe thanks) to setup and try the user journey over and over again to make sure it works, but too bad nothing is perfect.
    Mao with Mao

    25/8 (Exhibition day):

    • needs to reset(code word: banana) after a few times because it gets laggy
    • exhibition went well, OK
    • fix the instructions on the animation for the next day, it was rather unclear at first

    before edit (no instructions): 

    after edit (with instructions):

    exhibition gallery:

    26/8 (final day):

    • on the last day after some code rigging and animation change, it...
    Read more »

  • USER TEST

    Sabrina Ong08/14/2018 at 04:22 0 comments

    2/8


    problem: wiring is too messy and complicated.

  • theCode #1

    steffie08/12/2018 at 17:39 0 comments

    First attempt to put in the coding structure

    second spread is already working pretty well.

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    haven't tried on the actual tangible sensors yet, but will do and post an update!

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    on arduino:

    Project Log Entry
    for DI_UN_SWP
    
    
    //on arduino:
    
    
    #define firstbutton 5
    #define secondbutton 4
    #define thirdbutton 3
    
    
    void setup() {
      pinMode(firstbutton,INPUT);
      pinMode(secondbutton,INPUT);
      pinMode(thirdbutton,INPUT);
      digitalWrite(firstbutton, HIGH);
      digitalWrite(secondbutton, HIGH);
      digitalWrite(thirdbutton, HIGH);
      Serial.begin(9600);
    }
    
    void loop() {
    
      if (digitalRead(firstbutton) == LOW) {
        Serial.println('1');
      } 
      if (digitalRead(secondbutton) == LOW) {
        Serial.println('2');
      } 
      if (digitalRead(thirdbutton) == LOW) {
        Serial.println('3');
      } else {
    //    Serial.println("...");
      }
      delay(500);
    
    } 
    

    on processing:

    import processing.serial.*;
    import processing.video.*;
    Serial myCommChannel;
    
    
    //------------------Spread 1 Movie Bin------------------------------------------------------------
    
    Movie wakeup01;
    Movie walktobathroom02;
    Movie waittoturnontap03;
    Movie turnontap04;
    Movie brushingteeth05;
    Movie turnofftap06;
    Movie outcome1A07;
    Movie outcome1B08;
    Movie continuewater09;
    Movie finishbrushteeth10;
    Movie walktoshower11;
    Movie waittohotandcold12;
    Movie outcomehot13;
    Movie outcomecold14;
    Movie shower15;
    Movie finishshower16;
    Movie waittopressswitch17;
    Movie pressswitch18;
    Movie outcome3A19;
    Movie outcome3B20;
    Movie goout21;
    
    //-------------------Spread 2 Movie Bin-----------------------------------------------------------
    
    Movie firstScene;
    Movie secondScene;
    Movie secondTwoScene;
    Movie thirdScene;
    Movie thirdTwoScene;
    Movie fourthScene;
    Movie fourthTwoScene;
    Movie fourthThreeScene;
    Movie fifthScene;
    Movie sixthScene;
    Movie sixthTwoScene;
    Movie sixthThreeScene;
    Movie seventhScene;
    Movie infoOne;
    Movie infoTwo;
    
    //--------------------Spread 3 Movie Bin----------------------------------------------------------
    
    Movie reachhome_301;
    Movie sitdown_302;
    Movie waittopressremote_303;
    Movie pressremote_304;
    Movie watchtv_305;
    Movie walktofridge_306;
    Movie waittoopenfridge_307;
    Movie openfridge_308;
    Movie getfood_309;
    Movie outcomefridge_310;
    Movie waittoclosefridge_311;
    Movie closefridge_312;
    Movie walkbacktocouch_313;
    Movie yawn_314;
    Movie outcome1A_315;
    Movie outcome1B_316;
    Movie walktobedroom_317;
    Movie waittopressswitch_318;
    Movie outcome2A_319;
    Movie outcome2B_320;
    Movie gosleep_321;
    
    
    
    //--------------------Spread 1 Boolean----------------------------------------------------------
    
    boolean wakeup101 = true;
    boolean walk102 = false;
    boolean waittap103 = false;
    boolean turntapon104 = false;
    boolean brushteeth105 = false;
    boolean turntapoff106 = false;
    boolean turntapoff106bad = false;
    boolean outcomebadwater107 = false;
    boolean outcomegoodwater108 = false;
    boolean continuewater109 = false;
    boolean finishbrush110 = false;
    boolean walktoshower111 = false;
    boolean waitheater112 = false;
    boolean outcomehot113 = false;
    boolean outcomecold114 = false;
    boolean shower115 = false;
    boolean finishshower116 = false;
    boolean waitswitch1117 = false;
    boolean pressswitch1118 = false;
    boolean pressswitch1118bad = false;
    boolean outcomebadlight119 = false;
    boolean outcomegoodlight120 = false;
    boolean goout121 = false;
    
    //-------------------Spread 2 Boolean----------------------------------------------------------
    
    boolean firstPlaying = false;
    boolean secondPlaying = false;
    boolean secondTwoPlaying = false;
    boolean thirdPlaying...
    Read more »

  • PROGRESS

    Sabrina Ong08/09/2018 at 01:17 0 comments

    WEEK 9

    WEEK 10

    26/7

      • Acrylic arrives.
      • Work on pepper-ghost.
      • Work on physical book.
      • Get the code to work.
      • Work on animations.
      • Sounds.

    27/7

      • LED arrives.
      • Finish narration + storyline.
      • Second attempt on test print book graphics.
      • Add in instructions + sound effects in animations.

    WEEK 11

    30/7

      • Group discussion on Discord.
      • -
      • -
      • -
      • -

  • BLUEPRINT

    Sabrina Ong08/08/2018 at 19:46 0 comments

    WEEK 8

    9/7

      • Sketch out.
      • Start on structure technical drawing.
      • Second attempt on prototyping pepper-ghost.
      • Test out graphics on hologram.
      • Finish 02 animation.

    10/7

      • Discuss on Discord.
      • 50% finished on 02 animation.

    11/7

      • Finish technical drawing.
      • Send blueprint + inform Zaimi (Sunway Workshop).
      • 02 animation has yet to be finished.
    structure blueprint

    12/7

      • Measure size of  41-inch TV.
      • Meet up + discuss with Zaimi (Sunway Workshop) about structure.
      • Make changes + fix structure design (add: door, lock, height).
      • Plan on exterior design (graphic, colour, material, sticker? spray paint?).

    13/7

      • 02 animation finished (roughly).
      • Work on 01 animation.

    14/7

      • Check on graphics, animations & structure designs.

    16/7

    • Update on structure orthographic blueprint.
    structure orthographic blueprint

  • PLANNING + PROTOTYPING

    Sabrina Ong08/08/2018 at 18:43 0 comments

    WEEK 7

    JOBS ASSIGN:

      • Illustrator : Kok Wei (Art Director)
      • Animator : Justin
      • Structure : Rendy
      • Book : Sabrina (Logistics)
      • Coding : Steffie (Overall)

    29/6

      • Continue to work on graphics.
      • Research on interactable buttons & sensors.
      • Research on structure building.

    2/7

      • Discuss finalized interactions.

    3/7

      • Discuss on Discord: Graphics, structure, interactable items.

    4/7

      • Meet up with Johnathan (lecturer).
      • Discuss about animation structure.

    5/7

      • Update graphics & animations.
      • First attempt on prototyping pepper-ghost.
      • Adjust animation's dimension to fit in pepper-ghost.
      • Plan on structure design.
    pepper-ghost prototype
    first attempt structure design

    6/7

      • Apply for TV.
      • Search for structure materials.

    SHOPPING LIST:

    • LED Strip (1m)
    • Acrylic
    • Foam Board
    • Paper Board
    • Plywood
    • Wire
    • Screw

  • MEGA PROJECT UPDATE

    steffie08/05/2018 at 12:16 0 comments

    It's been long weeks!

    Final Pitch presented to client on 28/6 (attached as DI_FinalPitch) concluded:

    • further refining needed for the supporting structures
    • attract-ability of tangible interactions
    • idea seems interesting and plausible



    Throughout the hiatus of these logs, there have been many major changes and updates to the project, including:

    • prototype of pepper ghost
    • materials used for the flipbook
    • mechanism 

  • ePitch #1 – Summary

    steffie06/22/2018 at 11:01 0 comments

    first pitch to client;

    no significant weight on the scale, both ideas have the heavy pros and cons.

    what's next:

    • having internal session to identify the problems (it remained unsolved) we faced throughout the process up to this point
    • seek advice from lecturers
      • had some help in brainstorming

    ----------------------------------------------------------------------------------------------------------------------------------------

  • IdeaBin – Update #5

    steffie06/09/2018 at 18:55 0 comments

    optional discussion summary:

    • 5 hours of nothingness
    • no significant conclusion obtained; and when all hope is lost,
    • discovered a rather intriguing and workable idea, although it's just been given birth to, we're optimistic about it, but don't know what lecturers have to say about it
    • idea to refine is doing fine, only minor adjustments of the pitch is needed because lacking of clarity on the previous pitch, most of the adjustment were initially there, but not well-presented

    what's next:

    • make a pitch deck for (11/6)
    • refine and enhance the newborn baby idea
    • ask for advices regarding the new idea from lecturers
    • inform the other group members about the newborn

    ----------------------------------------------------------------------------------------------------------------------------------------

View all 17 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates