Art + New Media
2022
Aditya Radhakrishna
Avg. Lifespan: 70 yrs
Top Speed: 16 km/h
Weight: 70 kg
Height: 183 cm

Aditya is usually found in cities. His head appears small in comparison with the size of his body, which is generally covered in a hoodie and sweatpants. He has long lanky limbs which are useful for picking fruit off trees, and reaching the top shelves in the kitchen. His diet consists mainly of yogurt, fruit, cooked meat, and chocolate. He has shaggy black hair that protects his eyes from the sun. Aditya is not able to pull his head into his shell.
Physical Computing
22.11.22 2 Sensors 1 Cable
I used a pot and a bend sensor to make weird eyes in processing. Arduino Code:
            
          #include 
#include 

int pot;
int bend;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);

}

void loop() {
  // put your main code here, to run repeatedly:
  pot = analogRead(A3);
  bend = analogRead(A2);
  Serial.print(pot);
  Serial.print(',');
  Serial.println(bend);
  delay(20);
}

            
          
Processing Code:
            
import processing.serial.*;

Serial myPort;  // Create object from Serial class
String str;      // Data received from the serial port
float pot;
float bend;
float c = 10;
float s=10;
void setup()
{
  size(800, 600);
  // Open whatever port is the one you're using.
  // Change the 0 in  Serial.list()[0] to the correct device
  String[] ports = Serial.list();
  printArray(ports);
  String portName = ports[ports.length-1];
  myPort = new Serial(this, portName, 115200);
}

void draw()
{
  
  if ( myPort.available() > 0) {  // If data is available,
    str = myPort.readStringUntil('\n');         // read it and store it in str
    if(str != null){
      String[] splitData = split(str, ",");
      if(splitData.length >= 2)
      {    
        pot = float(splitData[0]);
        bend = float(splitData[1]);
        c = map(pot,500,1023,10,20);
        s = map(bend,200,450,0,4);
      }
    }
    background(255);   
  fill(255);
  int count = (int)c;
  int handle = 4;
  int handleX = 10;
  int eyeWidth = (width/count);
  int eyeHeight = (height/count);
  float openness = -s;
  handle = handle + (int)openness;
  for(int i = 0; i < count+1; i++)
  {
    for(int j = 0; j < count; j++)
    {
      int sizeX = eyeWidth;
      int sizeY = eyeHeight;
      int offset = -((j%2)*eyeWidth/2);
      
      fill(255);
      
      curve(sizeX*i+offset-handleX,       sizeY*(j-handle)+(eyeHeight/2), 
            sizeX*i+offset,               sizeY*j+(eyeHeight/2), 
            sizeX*(i+1)+offset,           sizeY*j+(eyeHeight/2), 
            sizeX*(i+1)+offset+handleX,   sizeY*(j-handle)+(eyeHeight/2));
            
      curve(sizeX*i+offset-handleX,       sizeY*(j+handle)+(eyeHeight/2), 
            sizeX*i+offset,               sizeY*j+(eyeHeight/2), 
            sizeX*(i+1)+offset,           sizeY*j+(eyeHeight/2), 
            sizeX*(i+1)+offset+handleX,   sizeY*(j+handle)+(eyeHeight/2));
            
      fill(0);
      
      circle(sizeX*i+offset+(sizeX/2), sizeY*j+(eyeHeight/2), count);
    }
     
  } 
  } 
}
            
          
14.11.22 Idea pitch
Deformable Wireframe Shadow puppet Snake charmer
08.11.22 Alt+Ctrl
Hug Machine

I chose hug machine, which is a game where you are prompted to hug a mannequin. The game prompts you to hug in a certain way and based on whether you do the 'right' hug it marks you as right or wrong. The mannequin itself is the controller and can tell where you are hugging it based on what I'd assume is some kind of pressure sensor or button.

I chose this controller because I think the concept of using something vaguely human shaped as a controller fascinating. And the focus seems to be on human touch which is something I'd like to explore.

For my sensor/game, I wanted to use the magnet sensors and a puck shaped magnet. And you flick the magnet towards the sensor which is embedded into a tiny goal. Based on the speed and position it controls the swing for a game called cursed to golf. The position of the swing is based on the position of the magnet and the power is based on the speed.
03.11.22 LED Double Trouble
The task at hand was to create a circuit where you repeatedly pressed a button to turn in two leds in a cyclical sequence; both leds off, one led on, both leds on.

The leds needed to be connected to digital pins in OUTPUT mode so that they could be turned HIGH or LOW from the arduino. And had to pass through a resistor to reduce the current.

The button needed to be connected to the arduino digital in INPUT mode and needed to be connected to a 10k ohm pulldown/pullup resistor.

            
          int led1 = 6;
          int led2 = 7;
          int button = 3;

          int bVal = 0;
          int counter = 0;
          bool pressed = false;
          bool wasPressed = false;

          void setup() {
            // put your setup code here, to run once:
            pinMode(led1, OUTPUT);
            pinMode(led2, OUTPUT);
            pinMode(button, INPUT);

            Serial.begin(9600);
          }

          void loop() {
            // put your main code here, to run repeatedly:
            bVal = digitalRead(button);
            Serial.println(bVal);
            if(bVal > 0)
            {
              pressed = true;
            }
            else
            {
              pressed = false;
            }
            if(wasPressed == true && pressed != wasPressed)
            {
              counter++;
              if(counter > 2)
                counter = 0;
              switch(counter)
              {
                case 0:
                digitalWrite(led1, LOW);
                digitalWrite(led2, LOW);
                break;
                case 1:
                digitalWrite(led1, HIGH);
                break;
                case 2:
                digitalWrite(led2, HIGH);
                break;
              }
            }
            wasPressed = pressed;
            delay(10);
          }
            
          
A dog