The virtual experience

Made by prithishni sekar and Anshuman Kumar

Our project is aimed at giving the user's a better virtual experience,while interacting in long-distance relationships.

Created: February 10th, 2016

0
We have built the initial prototype for communication between two people,and also aimed at giving them an experience of being at each others place,through a virtual system.
0

THE GOAL

Our project was conceptualized based on the long term requirement of wanting to "actually be" with the other person,even though they are speaking with each other through various video chat methods.The developed system,would consist of a camera,that could pan throughout the location of the two people involved in the chat,offering a panoramic view.

0

THE PROCESS

Our proto is a simplified version of this complete solution.We have tried to achieve the mechanism of viewing the entire span of the room,based on a control input.

Two photons have been used to communicate as two different systems. In each of the system,a potentiometer and servo system have been used. The rotation of the servo (from 0 to 360 degree) resembles the camera's rotation in the final system.

The angle of servo's rotation can be controlled using the output from potentiometer.

The circuit is represented as:

0
Fig 1: Circuit for Room "A"
Imgf1.thumb
0
Fig 2: Circuit for Room "B"
Imgf2.thumb
0

The working is that,based on the input from Room A's Potentiometer(POT "A"),the Servo in Room B is actuated,according to the required co-ordinate system,so that both the speakers can have a good view of their surrounding.The same holds good for the inverse condition too(i,e;)the Room B's pot(POT "B")actuates the Room A's servo parallel to the previous operation.

0

The potentiometer could be replaced by another system(like MEMS),that gives the co-ordinate positioning to the servo in the other end.

0

COMPONENTS USED


Servo Motor - 2 no.s

Potentiometer - 10K- 2 no.s

LED's

Resistors

Bread Boards and Wiring

1
Coding
//PROGRAM#1


int presis=A0;

int led=D0;

int led2=D2;

int led3=D7;

int val=0;

int servoPin=A5;

Servo myServo;

int servoPos=0;

int newPos=0;

String packet="abcd";

void setup()

{

  pinMode(led, OUTPUT);

  pinMode(led2, OUTPUT);

  pinMode(led3, OUTPUT);

  Particle.variable("pot",&presis,INT);

  Particle.variable("light",&val,INT);

  Particle.variable("servopos1",&newPos,INT);

  Particle.variable("servopos2",&servoPos,INT);

  myServo.attach(A5);

  myServo.write(0);

  Particle.subscribe("blinkgreen", myHandlergreen);
}

void loop()

{

  val=analogRead(presis);

  val=map(val,0,4095,0,255);

  newPos=map(val,0,255,0,180);

  servoPos=constrain(newPos, 0, 180);

  //myServo.write(servoPos);


  analogWrite(led, val);

  newPos=0;

  packet= String(servoPos);

  Particle.publish("blinkred",packet,1);

  digitalWrite(led2, HIGH);

  delay(1000);

  digitalWrite(led2, LOW);

  delay(500);

}
void myHandlergreen(const char *blinkgreen, const char *data)

{

  digitalWrite(led3, HIGH);

  String datas=data;

  //digitalWrite(led2, HIGH);


  int pos=datas.toInt();

  myServo.write(pos);

  //digitalWrite(led2, LOW);


  digitalWrite(led3, LOW);

}



//PROGRAM#2


int presis=A0;

int led=D0;

int led2=D2;

int led3=D7;

int val=0;

int servoPin=A5;

Servo myServo;

int servoPos=0;

int newPos=0;

String packet="abcd";

void setup()

{

  pinMode(led, OUTPUT);

  pinMode(led2, OUTPUT);

  pinMode(led3, OUTPUT);

  Particle.variable("pot",&presis,INT);

  Particle.variable("light",&val,INT);

  Particle.variable("servopos1",&newPos,INT);

  Particle.variable("servopos2",&servoPos,INT);

  myServo.attach(A5);

  myServo.write(0);

  Particle.subscribe("blinkred", myHandlerred);

}

void loop()

{

  val=analogRead(presis);

  val=map(val,0,4095,0,255);

  newPos=map(val,0,255,0,180);

  servoPos=constrain(newPos, 0, 180);

  //myServo.write(servoPos);


  analogWrite(led, val);

  newPos=0;

  packet= String(servoPos);

  Particle.publish("blinkgreen",packet,1);

  digitalWrite(led2, HIGH);

  delay(1000);

  digitalWrite(led2, LOW);

  delay(500);

}

void myHandlerred(const char *blinkred, const char *data)

{

  digitalWrite(led3, HIGH);
  String datas=data;

  //digitalWrite(led2, HIGH);


  int pos=datas.toInt();

  myServo.write(pos);

  //digitalWrite(led2, LOW);


  digitalWrite(led3, LOW);

}
Click to Expand
0

OUTCOME

It was observed that the duplex communication was possible through events function in particle.Also,the pairing of devices was implemented,in an application for establishing intimacy between the partners,particularly in long-distance communication.

0

REFLECTION

We had realized that technology could also be used to connect people on an emotional level.The task of setting up a communication between the two devices and ensure their alternate functioning was a bit tedious.The future work could be, improving the devices used,in place of a potentiometer, to a vision system with image processing technologies.


x
Share this Project

Courses

49-713 Designing for the Internet of Things

· 4 members

This course charts the emergence of the now "connected world" to explore the possibilities for future products and connected spaces.


About

Our project is aimed at giving the user's a better virtual experience,while interacting in long-distance relationships.