Difference between revisions of "Team:NYU Shanghai/Design"

Line 405: Line 405:
 
   }
 
   }
 
   function expandStep2() {
 
   function expandStep2() {
     if (document.getElementById("step2").className === "collapsing") {
+
     if (document.getElementById("step2").className === "expanded") {
 
       document.getElementById("step2").style.color = "white";
 
       document.getElementById("step2").style.color = "white";
 
       document.getElementById("step2Text").style.display = "none";
 
       document.getElementById("step2Text").style.display = "none";
Line 413: Line 413:
 
       document.getElementById("step2").style.color = "#6db";
 
       document.getElementById("step2").style.color = "#6db";
 
       document.getElementById("step2").className = "expanded";
 
       document.getElementById("step2").className = "expanded";
      if (document.getElementsByClassName("collapsing").length > 0) {
 
        document.getElementsByClassName("collapsing")[0].className = "collapsed";
 
      };
 
 
     };
 
     };
 
   }
 
   }
 
   function expandStep3() {
 
   function expandStep3() {
     if (document.getElementById("step3").className === "collapsing") {
+
     if (document.getElementById("step3").className === "expanded") {
 
       document.getElementById("step3").style.color = "white";
 
       document.getElementById("step3").style.color = "white";
 
       document.getElementById("step3Text").style.display = "none";
 
       document.getElementById("step3Text").style.display = "none";
Line 427: Line 424:
 
       document.getElementById("step3").style.color = "#6db";
 
       document.getElementById("step3").style.color = "#6db";
 
       document.getElementById("step3").className = "expanded";
 
       document.getElementById("step3").className = "expanded";
      if (document.getElementsByClassName("collapsing").length > 0) {
 
        document.getElementsByClassName("collapsing")[0].className = "collapsed";
 
      };
 
 
     };
 
     };
 
   }
 
   }
 
   function expandStep4() {
 
   function expandStep4() {
     if (document.getElementById("step4").className === "collapsing") {
+
     if (document.getElementById("step4").className === "expanded") {
 
       document.getElementById("step4").style.color = "white";
 
       document.getElementById("step4").style.color = "white";
 
       document.getElementById("step4Text").style.display = "none";
 
       document.getElementById("step4Text").style.display = "none";
Line 441: Line 435:
 
       document.getElementById("step4").style.color = "#6db";
 
       document.getElementById("step4").style.color = "#6db";
 
       document.getElementById("step4").className = "expanded";
 
       document.getElementById("step4").className = "expanded";
      if (document.getElementsByClassName("collapsing").length > 0) {
 
        document.getElementsByClassName("collapsing")[0].className = "collapsed";
 
      };
 
 
     };
 
     };
 
   }
 
   }
 
   function expandStep5() {
 
   function expandStep5() {
     if (document.getElementById("step5").className === "collapsing") {
+
     if (document.getElementById("step5").className === "expanded") {
 
       document.getElementById("step5").style.color = "white";
 
       document.getElementById("step5").style.color = "white";
 
       document.getElementById("step5Text").style.display = "none";
 
       document.getElementById("step5Text").style.display = "none";
Line 455: Line 446:
 
       document.getElementById("step5").style.color = "#6db";
 
       document.getElementById("step5").style.color = "#6db";
 
       document.getElementById("step5").className = "expanded";
 
       document.getElementById("step5").className = "expanded";
      if (document.getElementsByClassName("collapsing").length > 0) {
 
        document.getElementsByClassName("collapsing")[0].className = "collapsed";
 
      };
 
 
     };
 
     };
 
   }
 
   }
  
 
   function expandTube1() {
 
   function expandTube1() {
     if (document.getElementById("tube1").className === "collapsing") {
+
     if (document.getElementById("tube1").className === "expanded") {
 
       document.getElementById("tube1").style.color = "white";
 
       document.getElementById("tube1").style.color = "white";
 
       document.getElementById("tube1Text").style.display = "none";
 
       document.getElementById("tube1Text").style.display = "none";
Line 470: Line 458:
 
       document.getElementById("tube1").style.color = "#6db";
 
       document.getElementById("tube1").style.color = "#6db";
 
       document.getElementById("tube1").className = "expanded";
 
       document.getElementById("tube1").className = "expanded";
      if (document.getElementsByClassName("collapsing").length > 0) {
 
        document.getElementsByClassName("collapsing")[0].className = "collapsed";
 
      };
 
 
     };
 
     };
 
   }
 
   }
 
   function expandTube2() {
 
   function expandTube2() {
     if (document.getElementById("tube2").className === "collapsing") {
+
     if (document.getElementById("tube2").className === "expanded") {
 
       document.getElementById("tube2").style.color = "white";
 
       document.getElementById("tube2").style.color = "white";
 
       document.getElementById("tube2Text").style.display = "none";
 
       document.getElementById("tube2Text").style.display = "none";
Line 484: Line 469:
 
       document.getElementById("tube2").style.color = "#6db";
 
       document.getElementById("tube2").style.color = "#6db";
 
       document.getElementById("tube2").className = "expanded";
 
       document.getElementById("tube2").className = "expanded";
      if (document.getElementsByClassName("collapsing").length > 0) {
 
        document.getElementsByClassName("collapsing")[0].className = "collapsed";
 
      };
 
 
     };
 
     };
 
   }
 
   }
 
   function expandTube3() {
 
   function expandTube3() {
     if (document.getElementById("tube3").className === "collapsing") {
+
     if (document.getElementById("tube3").className === "expanded") {
 
       document.getElementById("tube3").style.color = "white";
 
       document.getElementById("tube3").style.color = "white";
 
       document.getElementById("tube3Text").style.display = "none";
 
       document.getElementById("tube3Text").style.display = "none";
Line 498: Line 480:
 
       document.getElementById("tube3").style.color = "#6db";
 
       document.getElementById("tube3").style.color = "#6db";
 
       document.getElementById("tube3").className = "expanded";
 
       document.getElementById("tube3").className = "expanded";
      if (document.getElementsByClassName("collapsing").length > 0) {
 
        document.getElementsByClassName("collapsing")[0].className = "collapsed";
 
      };
 
 
     };
 
     };
 
   }
 
   }
 
   function expandTube4() {
 
   function expandTube4() {
     if (document.getElementById("tube4").className === "collapsing") {
+
     if (document.getElementById("tube4").className === "expanded") {
 
       document.getElementById("tube4").style.color = "white";
 
       document.getElementById("tube4").style.color = "white";
 
       document.getElementById("tube4Text").style.display = "none";
 
       document.getElementById("tube4Text").style.display = "none";
Line 512: Line 491:
 
       document.getElementById("tube4").style.color = "#6db";
 
       document.getElementById("tube4").style.color = "#6db";
 
       document.getElementById("tube4").className = "expanded";
 
       document.getElementById("tube4").className = "expanded";
      if (document.getElementsByClassName("collapsing").length > 0) {
 
        document.getElementsByClassName("collapsing")[0].className = "collapsed";
 
      };
 
 
     };
 
     };
 
   }
 
   }
 
   function expandTube5() {
 
   function expandTube5() {
     if (document.getElementById("tube5").className === "collapsing") {
+
     if (document.getElementById("tube5").className === "expanded") {
 
       document.getElementById("tube5").style.color = "white";
 
       document.getElementById("tube5").style.color = "white";
 
       document.getElementById("tube5Text").style.display = "none";
 
       document.getElementById("tube5Text").style.display = "none";
Line 526: Line 502:
 
       document.getElementById("tube5").style.color = "#6db";
 
       document.getElementById("tube5").style.color = "#6db";
 
       document.getElementById("tube5").className = "expanded";
 
       document.getElementById("tube5").className = "expanded";
      if (document.getElementsByClassName("collapsing").length > 0) {
 
        document.getElementsByClassName("collapsing")[0].className = "collapsed";
 
      };
 
 
     };
 
     };
 
   }
 
   }
  
 
   function expandButton1() {
 
   function expandButton1() {
     if (document.getElementById("button1").className === "collapsing") {
+
     if (document.getElementById("button1").className === "expanded") {
 
       document.getElementById("button1").style.color = "white";
 
       document.getElementById("button1").style.color = "white";
 
       document.getElementById("button1Text").style.display = "none";
 
       document.getElementById("button1Text").style.display = "none";
Line 541: Line 514:
 
       document.getElementById("button1").style.color = "#6db";
 
       document.getElementById("button1").style.color = "#6db";
 
       document.getElementById("button1").className = "expanded";
 
       document.getElementById("button1").className = "expanded";
      if (document.getElementsByClassName("collapsing").length > 0) {
 
        document.getElementsByClassName("collapsing")[0].className = "collapsed";
 
      };
 
 
     };
 
     };
 
   }
 
   }
 
   function expandButton2() {
 
   function expandButton2() {
     if (document.getElementById("button2").className === "collapsing") {
+
     if (document.getElementById("button2").className === "expanded") {
 
       document.getElementById("button2").style.color = "white";
 
       document.getElementById("button2").style.color = "white";
 
       document.getElementById("button2Text").style.display = "none";
 
       document.getElementById("button2Text").style.display = "none";
Line 555: Line 525:
 
       document.getElementById("button2").style.color = "#6db";
 
       document.getElementById("button2").style.color = "#6db";
 
       document.getElementById("button2").className = "expanded";
 
       document.getElementById("button2").className = "expanded";
      if (document.getElementsByClassName("collapsing").length > 0) {
 
        document.getElementsByClassName("collapsing")[0].className = "collapsed";
 
      };
 
 
     };
 
     };
 
   }
 
   }

Revision as of 12:30, 8 September 2015

Overview

We've created an interactive beat generating machine.


The tube rack generates the background beat. Tubes contain bioluminescent bacteria, and each color corresponds to a different bass sound. Sound is read left to right.

Bacterial colonies are translated into a step sequencer. Bacteria express fluorescent or chromoproteins. Different colors correspond to different instruments.

Button control allows the user to control each sound layer.

Analyzes tube positions

Step Sequencer
    How did we make the step sequencer?
Tube Rack
    How did we make the tube rack?
Button Control
    How did we make the button control?

Hardware

These are our diagrams we made to laser-cut the hardware we needed.


Camera Stand



Button Box



Tube Rack



Camera Case



Disk Rack