Hello,== Statement ==
My name is Joeny Thipsidakhom. I'm a fourth year Fourth Year: Visual Arts major with an emphasis on computing. I'm taking this class not only for a major requirement but also because I'm interested technology and the whole idea of interactivity between the user and whatever electronic item/interface is used. I've been interested in newly developed technology and where its going since I got my first computer, however my interest in electronics came about during my high school years. I have some previous experience with electronics. During my high school freshman year I joined my school's robotics team and was apart of the electronics section/team. We were in charge of wiring the electronics components together for the robot. I was apart of this club/team throughout high school and proceeded to help the local high school's robotics team during my freshman year of college. Sounds fancy (maybe?) but I just followed the electronics schematic that the organization, FIRST Robotics, provided the teams and adjusted it to whatever the mechanical team wanted in terms of number and type of motorsComputing Major.
httpInterests://247thingsFilm, Photography, 3D, Animation, Video games, and many more.files.wordpress.com/2009/05/trafficcamera_thumb.jpg
[[Image:intuos4.jpg|200px]] == Midterm ==Virtual Walk
[[Image:civic navigation.jpg|200px]] [[Image:civic engine.jpg|200px]] [[Image:psp.jpg|200px]] == Midterm Proposal == For the Midterm switch project I want to create a more complicated form of light switch maybe using motors, some type of pulley system, and variable control over speed of the motors. One motor would close the switch allowing the light to turn on, while the other motor would open the switch pulling on it breaking the circuit and in turn turning the light off. The motors and switch would be separated by a simple pulley system allowing the motors to pull on strings opening and closing the switch and completing the circuit. [[Image:on.jpg|200px]] [[Image:off.jpg|200px]] [[Image:concept.jpg|200px]] == FINAL Proposal == For the final project I am going to create an object that interacts with the user when it is triggered. The interaction will be simple, however when the user does a certain thing to the object, a black box, it will react and give a response to the user. I want to create something that actively engages the user in some manner, get the user involved, and speaks to the user, even if it’s not in a language most people would understand or know. In order to interact with the box a particular motion/interaction has to be done, and the box will only respond to that interaction. To initiate this interaction I'm going to use a piezo sensor. For now what the sensor is going to do is detect if the user taps or knocks on the box and the black box will respond in Morse code and say something to the user. Once I get that code and circuit established I'll work on adding to its to make it more complex. [[Image:InitialCircuit.jpg|200px]]Starting/Initial Stage Circuit Drawing == FINAL Images ==[[Image:Front.jpg|350px]][[Image:Iso.jpg|339px]][[Image:Side.jpg|350px]] [[Image:Blackbox.jpg|350px]][[Image:Controller.jpg|450px]] == FINAL Code ==/* Joeny Thipsidakhom VIS 147A Final Project BlackBox */ const int ledPinred = 13; //Red LED Pin 13const int knockSensor = 0; //Piezo Sensor Pin 0const int threshold = 100; //Sound threshold for Piezo Sensorconst int buttonPin1 = 1; //Second Button Pin 1const int buttonPin2 = 2; //Second Button Pin 2const int ledPinyellow1 = 3; //Yellow LED Pin 3const int motor = 4; //Motor Pin 4 int buttonState1 = 0;int buttonState2 = 0; // Variable to read button int sensorReading = 0; // Variable to store the value read from the sensorint ledState = LOW; // Variable used to store the last LED status void setup() { pinMode(ledPinred, OUTPUT); //Sets Red LED as Output pinMode(ledPinyellow1, OUTPUT); //Sets Yellow LED as Output pinMode(motor, OUTPUT); //Sets Motor as output pinMode(buttonPin1, INPUT); //Sets Button 1 as Input pinMode(buttonPin2, INPUT); //Sets Button 2 as Input Serial.begin(9600); //Use the serial port } void loop() { sensorReading = analogRead(knockSensor); // Read the sensor and set it in the variable sensorReading buttonState1 = digitalRead(buttonPin1); // Read the button's state buttonState2 = digitalRead(buttonPin2); if (sensorReading >= threshold) { //If the sensor reading is greater than the threshold/hit,tapped,etc. do bellow //H digitalWrite(ledPinred, HIGH); //Turn Red LED ON delay(250); //Wait 250ms digitalWrite(ledPinred, LOW); //Turn Red LED OFF delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(750); //E digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(750); //Y digitalWrite(ledPinred, HIGH); delay(750); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(750); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(750); digitalWrite(ledPinred, LOW); delay(750); } if (buttonState1 == LOW){ //When button 1 is pressed do bellow //H User digitalWrite(ledPinyellow1, HIGH); delay(250); digitalWrite(ledPinyellow1, LOW); delay(250); digitalWrite(ledPinyellow1, HIGH); delay(250); digitalWrite(ledPinyellow1, LOW); delay(250); digitalWrite(ledPinyellow1, HIGH); delay(250); digitalWrite(ledPinyellow1, LOW); delay(250); digitalWrite(ledPinyellow1, HIGH); delay(250); digitalWrite(ledPinyellow1, LOW); delay(750); //I User digitalWrite(ledPinyellow1, HIGH); delay(250); digitalWrite(ledPinyellow1, LOW); delay(250); digitalWrite(ledPinyellow1, HIGH); delay(250); digitalWrite(ledPinyellow1, LOW); delay(750); //H Blackbox digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(750); //I Blackbox digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(750);} if (buttonState2 == HIGH){ //Loops unless button is pressed down and held delay(1000); //Delays for 1 second digitalWrite(motor, HIGH); //Run Motor //H digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); digitalWrite(motor, LOW); //Stop Motor delay(750); //E digitalWrite(motor, HIGH); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); digitalWrite(motor, LOW); delay(750); //L digitalWrite(motor, HIGH); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(750); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); digitalWrite(motor, LOW); delay(750); //L digitalWrite(motor, HIGH); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(750); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); digitalWrite(motor, LOW); delay(750); //O digitalWrite(motor, HIGH); digitalWrite(ledPinred, HIGH); delay(750); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(750); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(750); digitalWrite(ledPinred, LOW); digitalWrite(motor, LOW); delay(750); //A digitalWrite(motor, HIGH); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(750); digitalWrite(ledPinred, LOW); digitalWrite(motor, LOW); delay(750); //R digitalWrite(motor, HIGH); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(750); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); digitalWrite(motor, LOW); delay(750); //E digitalWrite(motor, HIGH); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); digitalWrite(motor, LOW); delay(750); //Y digitalWrite(motor, HIGH); digitalWrite(ledPinred, HIGH); delay(750); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(750); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(750); digitalWrite(ledPinred, LOW); digitalWrite(motor, LOW); delay(750); /Virtual/O digitalWrite(motor, HIGH); digitalWrite(ledPinred, HIGH); delay(750); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(750); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(750); digitalWrite(ledPinred, LOW); digitalWrite(motor, LOW); delay(750); //U digitalWrite(motor, HIGH); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(750); digitalWrite(ledPinred, LOW); digitalWrite(motor, LOW); delay(750); //T digitalWrite(motor, HIGH); digitalWrite(ledPinred, HIGH); delay(750); digitalWrite(ledPinred, LOW); digitalWrite(motor, LOW); delay(750); //H digitalWrite(motor, HIGH); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); digitalWrite(motor, LOW); delay(750); //E digitalWrite(motor, HIGH); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); digitalWrite(motor, LOW); delay(750); //R digitalWrite(motor, HIGH); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(750); digitalWrite(ledPinred, LOW); delay(250); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); digitalWrite(motor, LOW); delay(750); //E digitalWrite(motor, HIGH); digitalWrite(ledPinred, HIGH); delay(250); digitalWrite(ledPinred, LOW); digitalWrite(motor, LOW); delay(750); } delay(100); //Delay for 100ms before restarting loop}Camera Keyboard