Uncategorized – 62-362 Fall 2022 https://courses.ideate.cmu.edu/62-362/f2022 Electronic Logics && Creative Practice Tue, 06 Dec 2022 13:50:00 +0000 en-US hourly 1 https://wordpress.org/?v=6.0.8 Preparation for Final Event: Flux https://courses.ideate.cmu.edu/62-362/f2022/preparation-for-final-event-flux/ Tue, 06 Dec 2022 13:46:59 +0000 https://courses.ideate.cmu.edu/62-362/f2022/?p=12471
  • Project Title: Flux (iterate on project 2)
  • Installation sketch:
    • Use of Space
      • What type of space do you need?
        • The space that I need is about 45 feet x 60 feet. My easel is 40 feet wide, and the sensors have a working range, so having that amount of space will allow the viewers to interact with the painting better.
      • For example, do you need electricity?
        • I need electricity, mostly power supply, in order for my pump to work
      • Do you need a table / surface? Do you need wall space?
        • Yes I need a wall space, and it would be the best to have a table for the easel to lean on. I will carry two sand bags from Media Lab to prevent the easel from sliding towards the ground.
      • A list of additional equipment / tools you’ll need from IDeATe and/or beyond.
        • Tube connectors (They’re running out.) Type 1: From large tube to small tube connector; Type 2: Small tube three-leg connector;
    ]]>
    Flow Project: Ideation for Show https://courses.ideate.cmu.edu/62-362/f2022/flow-project-ideation-for-show/ Fri, 02 Dec 2022 13:59:43 +0000 https://courses.ideate.cmu.edu/62-362/f2022/?p=12463

    This concept would require no extra coding or programming. Simply an expansion of the project into a more installation-oriented piece.

    ]]>
    Rausch P3 https://courses.ideate.cmu.edu/62-362/f2022/rausch-p3/ Wed, 30 Nov 2022 18:43:36 +0000 https://courses.ideate.cmu.edu/62-362/f2022/?p=12457 We are all Horrible People

    I will need about a 5×5 square foot of floor space for the desk/space for a person to sit in front of it. I will also need electricity for the computer to plug into.

    I will need a monitor/keyboard/mouse from A10 as well as an HDMI cord and I already have the desk and chair.

    ]]>
    Ideation – project 2 https://courses.ideate.cmu.edu/62-362/f2022/ideation-project-2/ Wed, 26 Oct 2022 13:06:05 +0000 https://courses.ideate.cmu.edu/62-362/f2022/?p=12331

    ]]>
    FLOW Rausch Ideation https://courses.ideate.cmu.edu/62-362/f2022/flow-rausch-ideation/ Wed, 26 Oct 2022 12:39:48 +0000 https://courses.ideate.cmu.edu/62-362/f2022/?p=12301 IDEA 1


    This experience is meant to be used by multiple people at once, with more people causing more birds to flap their wings. The birds would be suspended above the users, all stationary at first. There would also be marked spots on the floor for users to stand on, and the more of these spots are covered, the more birds will flap their wings. The input to this system would be a pressure plate that users would stand on. The output would be the movement of mechanical birds through a motor rotating. This feels a bit one dimensional but I think it has potential to be a cool experience.

     

    IDEA 2


    Users would control the brightness of a light source and as the light grew brighter, an actuated flower would bloom. With less light, the flower would fold up again. The input would be light brightness and the output would be the opening/closing of the flower. I’m not sure how I would make the flower yet or get it to open and close, but I think it would be interesting.

     

    IDEA 3

     
    Users would kick, punch, throw and abuse a durable plastic cube, and in response the cube would change color and make different noises. I feel like this could be a more profound idea if I expanded on it more, or changed the form of the cube. It would also be interesting to make multiple shapes, each with a different color/response.

    ]]>
    Project 1-RefLogic-Documentation-Sunniva https://courses.ideate.cmu.edu/62-362/f2022/project-1-reflogic-documentation/ Fri, 14 Oct 2022 20:56:56 +0000 https://courses.ideate.cmu.edu/62-362/f2022/?p=12261

     

    Sunniva-project1-documentation

     

    TextBox textBox1;
    StringList trialSpeedTime;
    int backSpaceCounter;
    
    import rita.*;
    
    import processing.serial.*;
    
    Serial myPort;  // Create object from Serial class
    int val;        // Data received from the serial port
    
    String [] colors = {"5,0,10","7,0,20","5,0,25", //purple-blue
                "2,1,25","0,10,20","0,20,10", //blue-green
              "5,20,5","15,15,0","30,15,1"}; //green-yellow
    
    void setup(){
        size(1512,982);//1512, 982
        background(189,169,209);
        textBox1 = new TextBox(526,258,739,506); //500,245,700,478
        trialSpeedTime = new StringList();
        backSpaceCounter = millis();
        String portName = Serial.list()[1];
        println(Serial.list());
        myPort = new Serial(this, portName, 9600);
        PImage img;
        img = loadImage("background.png");
        image(img, 0, 0, width, height); //*0.95
    }
    
    void draw(){
        textBox1.draw();
    }
    
    class TextBox{
        TextBox(int x, int y, int boxWidth, int boxHeight){
            this.x = x;
            this.y = y;
            this.boxWidth = boxWidth;
            this.boxHeight = boxHeight;
        }
    
    
        void draw(){
            drawBox();
            drawText();
            checkkeyReleased();
            checkKeyPressed();
            recordEvent();
          }
    
          void drawBox(){
            stroke(205);
            fill(244,243,236);
            rect(x, y, boxWidth, boxHeight);
        }
    
        void drawText(){
            textAlign(LEFT, TOP);
            textSize(16);
            fill(0);
            PFont font;
            font = createFont("Arial", 25);
            textFont(font);
            text(textValue + getCursor(), x + 5, y+10, boxWidth-15,boxHeight-10);
        }
       
       void checkKeyPressed(){
         if (keyPressed && c != key && str(c).toUpperCase()!=str(key).toUpperCase()){
                keyCounter = millis();
                c = key;
                if (key == BACKSPACE){
                textValue = textValue.substring(0,textValue.length()-1);
                backSpace += 1;
                println(backSpace);
                if (backSpace > 3){ //CHECK IF DELETE IS PRESSED TOO MANY TIMES
                println("many delete!");
                manyDelete = true;}
                else {
                manyDelete = false;
                }
              }
                else if ((c >= ' ' && keyCode != 16)){
                   textValue+=(str(key));
                   keyTime = keyCounter - previousKeyCounter;
                   checkKeySpeed();
                   previousKeyCounter = keyCounter;
                   keyCounter = 0;}
         }
        }
        
    
        void recordEvent(){ 
          backSpaceCounter1 = millis();
          if ((backSpaceCounter1 - prev_backSpaceCounter)>5000){
                prev_backSpaceCounter = backSpaceCounter1;
                print(backSpace,backSpaceCounter1, prev_backSpaceCounter);
                
                //check typed contents
                String[] checkText = split(textValue,' ');
                for (int i = 0; i <(checkText.length); i++) {
                  if (checkText[i].length() > 0 && RiTa.isPunct(checkText[i])== false){
                  println(checkText[i],RiTa.hasWord(checkText[i]),RiTa.hasWord(checkText[i].substring(0,checkText[i].length()-1)));
                   if ((RiTa.hasWord(checkText[i]) == false) 
                     && RiTa.hasWord(checkText[i].substring(0,checkText[i].length()-1)) == false){
                      misSpell+=1;
                     }              
                  }
                }
                println(misSpell,checkText.length);
               // check misspell
                    if (checkText.length != 0 && misSpell > checkText.length/2){
                      println("Too Many MISSPELLING");
                      manyError = true;}
                    else {
                      manyError = false;
                    }
                //initialize
                misSpell = 0;
                backSpace = 0;
                backSpaceCounter1 = 0;
                //change Lighting
                checkLight();
                   }
                  }
    
    
        void checkkeyReleased(){
             if(!keyPressed){
             c = 0;
           }
        }
    
        void checkKeySpeed(){
             trialSpeedTime.append(str(keyTime));
             println((keyTime),trialSpeedTime);
             int size = trialSpeedTime.size(); //check speed each 10 character(seconds/char)
             if (size>9){
               trialSpeedTime.remove(0);
               keyTotalTime = 0;
               for (int i = 0; i < 9; i++){
                 float item = float(trialSpeedTime.get(i)); 
                 keyTotalTime += item;
               }
               keySpeed = keyTotalTime / 10;
               println("Speed =" + keySpeed + "s/character");
               if (keySpeed > 300){ //CHECK IF SPEED IS FAST
                 fastSpeed = false;
               println("TOO SLOW");}
               else
                 fastSpeed = true;
             }
             }
        
        
        void checkLight(){
          //NOT A AND (B OR C) --> Y 
          if ((fastSpeed == false) && (manyError == true | manyDelete == true) && (confuseLevel<9)){
            confuseLevel += 1;
            //light
            println("CONFUSE LEVEL is" + confuseLevel);}
          else if(confuseLevel>0){
             confuseLevel -= 1;}
          myPort.write(colors[confuseLevel]);
          println(colors[confuseLevel]);
        }
    
    
        String getCursor() {
          return hovering() && (frameCount>>4 & 1) == 0 ? "|" : "";
        }
    
        boolean hovering(){
            return mouseX >= x && mouseX <= x + boxWidth && mouseY >= y && mouseY <= y + boxHeight;
        }
        
        //private String[] lines = loadStrings("IncludedWords.txt");
        private int x, y, boxWidth, boxHeight;
        private float keyCounter, previousKeyCounter, keyTime,keySpeed, keyTotalTime, backSpace,backSpaceCounter1,prev_backSpaceCounter;
        private float misSpell;
        private int confuseLevel = 0;
        private String textValue = "";
        private char c;
        private boolean fastSpeed = true, manyDelete = false, manyError = false;
    }
    
    

     

    ]]>
    Sep.21-Sunniva https://courses.ideate.cmu.edu/62-362/f2022/sep-21-sunniva/ Wed, 21 Sep 2022 13:01:42 +0000 https://courses.ideate.cmu.edu/62-362/f2022/?p=12219

    ]]>
    Project 1 Documentation (1) (gprado) https://courses.ideate.cmu.edu/62-362/f2022/project-1-documentation-1-gprado-2/ Wed, 14 Sep 2022 02:26:29 +0000 https://courses.ideate.cmu.edu/62-362/f2022/?p=12199 Maquette

    This maquette includes a simple, two outcome representation of the steam tunnel game. The user has options to go left or right and decide whether to open the doors at those locations. If the user goes right and opens that door, they win.

    The maquette setup is supposed to resemble a missile control panel within a confined environment.

     

    Word Equation:

    if (player goes right AND opens door) –> Win (Y)

    Logic Diagram

    Truth Table

    Player Goes Right Opens Door Win (Y)
    0 0 0
    0 1 0
    1 0 0
    1 1 1

    ——————————————————————————————————————-

    Operation CMUST

    This is an interactive game where a player guides a “robot” through post-apocalypse CMU steam tunnels. The user interacts with a physical control panel (inspired by ones used for missiles), which will display text-based information on what the robot is seeing in its path. There will also be other displays to add to the aesthetic, such as a panel showing the state of charge of the robot as well as maybe an LED map of the steam tunnels. The panel will also include action buttons the user can press on; these buttons allow the user to direct the robot forward, backward, left, right as well say yes or no to opening doors. There will also be a headset the user can wear that will play eerie background noise. The entire control panel assembly as well as a chair the user can sit on will be draped by black curtains to provide the darkest environment possible. The goal for the player is to direct the robot to Hammerschlag Hall, where there is a top secret supply of gold.

    Word Equation:

    if(robot proceeds through Porter) OR (robot passes through west Wean door) OR (robot enters Scaiffe AND passes thru Scaiffe door) –> robot reaches gold (Y)

    Logic Diagram:

    Truth Table:

    Robot Proceeds Through Porter Robot Passes Through West Wean Door Robot Enters Scaiffe Passes Through Scaiffe Door Robot Reaches Gold (Y)
    0 0 0 0 0
    0 0 0 1 0
    0 0 1 0 0
    0 0 1 1 1
    0 1 0 1 1
    0 1 0 0 1
    0 1 1 1 1
    0 1 1 0 1
    1 0 0 1 1
    1 0 0 0 1
    1 0 1 1 1
    1 0 1 0 1
    1 1 0 1 1
    1 1 0 0 1
    1 1 1 1 1
    1 1 1 0 1

    Drawings:

    Expected List of Materials:

    • LCD displays
    • Buttons
    • Plywood
    • Arduino
    • Logic chips
    • Black curtains
    • Power supply

     

     

    ]]>
    Sunniva’s Project Idea https://courses.ideate.cmu.edu/62-362/f2022/sunnivas-project-idea/ Mon, 12 Sep 2022 12:40:19 +0000 https://courses.ideate.cmu.edu/62-362/f2022/?p=12190

    ]]>
    test post https://courses.ideate.cmu.edu/62-362/f2022/test-post/ Wed, 23 Sep 2020 18:52:50 +0000 https://courses.ideate.cmu.edu/62-362/f2022/?p=9583 Sorry, but you do not have permission to view this content. ]]> Sorry, but you do not have permission to view this content. ]]>