|
|
(5 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | == About Me == | + | == Statement == |
− | Hello,
| |
| | | |
− | My name is Joeny Thipsidakhom. I'm a 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 motors.
| + | Joeny Thipsidakhom. Fourth Year: Visual Arts Computing Major. |
| | | |
− | http://247things.files.wordpress.com/2009/05/trafficcamera_thumb.jpg
| + | Interests: Film, Photography, 3D, Animation, Video games, and many more.... |
| | | |
− | [[Image:intuos4.jpg|200px]]
| + | == Midterm == |
− | [[Image:civic navigation.jpg|200px]]
| + | Virtual Walk |
| | | |
− | [[Image:civic engine.jpg|200px]]
| + | == Final == |
− | [[Image:psp.jpg|200px]]
| + | Virtual/Camera Keyboard |
− | | |
− | == 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 13
| |
− | const int knockSensor = 0; //Piezo Sensor Pin 0
| |
− | const int threshold = 100; //Sound threshold for Piezo Sensor
| |
− | const int buttonPin1 = 1; //Second Button Pin 1
| |
− | const int buttonPin2 = 2; //Second Button Pin 2
| |
− | const int ledPinyellow1 = 3; //Yellow LED Pin 3
| |
− | const 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 sensor
| |
− | int 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);
| |
− | //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
| |
− | }
| |
Joeny Thipsidakhom. Fourth Year: Visual Arts Computing Major.
Interests: Film, Photography, 3D, Animation, Video games, and many more....