2013. 12. 10.

Final Project

Final Project 
- Arduino
 and Android device communication

Program
- Arduino 

- Mit Appinventor

Device
- Arduino 

- Smart Phone, Android
- HC-06 Bluetooth module
- LEDS


Final Project Result















2013. 12. 3.

Final Project_Experiment Failed

Final Project Experiment
- Arduino (Control Arduino)

- Processing (Application)

Experiment 1

- Used Arduino & Processing
- The Bluetooth module (HC-06) didn't connect to any of two programs

Experiment 2
- Arduino & MIT app inventor program
- MIT app inventor program and Arduino didn't not connected. 
- When it connected, the application didn't work.

Experiment 3
- Arduino & ArduDroid Application
- ArduDroid Application worked fine but the LED didn't work

Conclusion
- Need to fix the code
- figure out how to connect between application and Arduino code. The Bluetooth connection had no problems of connecting. 
- Need to have 2k


2013. 11. 19.

Project 2_Coding

Coding Program
- Arduino (Control Arduino)

- Processing (Application)

Experiment

- LED Blinking using Smartphone
- Sub-Motor running

Processing

import android.content.Intent;
import android.os.Bundle;
import ketai.net.bluetooth.*; 
import ketai.ui.*;
import ketai.net.*; 
import controlP5.*;

KetaiBluetooth bt;
boolean isConfiguring = true;
KetaiList klist;
ArrayList devicesDiscovered = new ArrayList(); 
ControlP5 cp5;
int margin = 150;
boolean ledState = false; 



import android.content.Intent;
import android.os.Bundle; 
import ketai.net.bluetooth.*;
import ketai.ui.*;
import ketai.net.*; 
import controlP5.*; 


KetaiBluetooth bt;
boolean isConfiguring = true;
KetaiList klist;
ArrayList devicesDiscovered = new ArrayList(); 
ControlP5 cp5;
int margin = 150;
boolean ledState = false;


ARDUINO
#include <SoftwareSerial.h> 
SoftwareSerial BTSrial(2, 3); // RX, TX
int led = 13;
char chByte = 0; 
int servoPin = 9;
Servo servo;
int angle = 0;
String strInput = ""; 
String strON = "ON"; 
String strOFF = "OFF";
void setup() {
    pinMode(led, OUTPUT); 
    BTSrial.begin(9600);
    servo.attach(servoPin);}
void loop() {
  while (BTSrial.available() > 0) {  
    chByte = BTSrial.read();
    if(chByte =='\r'){
        if(strInput.equals(strON)) {
          digitalWrite(led, HIGH);
        }
        if(strInput.equals(strOFF)){
          digitalWrite(led, LOW);
        }
        strInput="";
    }
    else{
      strInput += chByte;}{
      for (angle = 0; angle < 180; angle++) {
      servo.write(angle);
      delay(15);}
      for (angle = 180; angle > 0; angle--) {
      servo.write(angle);
      delay(15);
   } 
  }
}

void onCreate(Bundle savedInstanceState) 
{ super.onCreate(savedInstanceState);
bt = new KetaiBluetooth(this); 


}


void onActivityResult(int requestCode, int resultCode, Intent data) 


{ bt.onActivityResult(requestCode, resultCode, data);
}

void setup() {
size(displayWidth, displayHeight); orientation(PORTRAIT);
bt.start();
isConfiguring = true;
PFont font = createFont("Arial", 40); ControlFont cf = new ControlFont(font);

int buttonSize = min(width, height) - 2 * margin;
cp5 = new ControlP5(this);
Button btnLED = new Button(cp5, "buttonLED"); 

btnLED.setPosition(margin, (height - buttonSize) / 2);
btnLED.setSize(buttonSize, buttonSize); 
btnLED.setCaptionLabel("Turn ON the LED");
btnLED.getCaptionLabel().setControlFont(cf);
btnLED.getCaptionLabel().toUpperCase(false);
btnLED.getCaptionLabel().alignX(CENTER);
}

void draw() 
{
if (isConfiguring) { 
klist = new KetaiList(this, bt.getPairedDeviceNames());
isConfiguring = false; 
}
public void controlEvent(ControlEvent theEvent) 
{
String controllerName = theEvent.controller().name();
if(controllerName == "buttonLED")
{Button btn = (Button)theEvent.controller(); 
if(ledState){ledState = false;
btn.setCaptionLabel("Turn ON the LED");
byte[] data = {'O', 'F', 'F', '\r'}; 
bt.broadcast(data);}
else{
ledState = true; 
btn.setCaptionLabel("Turn OFF the LED");
byte[] data = {'O', 'N', '\r'}; 
bt.broadcast(data);
void onKetaiListSelection(KetaiList klist) 
{String selection = klist.getSelection(); 
bt.connectToDeviceByName(selection); 
klist = null;
}

2013. 11. 12.

Project 2_ Application Concept Drawing

Application Concept
- Using MIT App Inventor for Android

Experience 
- application using MIT app inventor program

Reference 
http://appinventor.mit.edu/explore/content/hellopurr.html

Problem
- Had problem with Blocks Editor in MIT App Inventor program
- Connection between Arduino and Android



2013. 11. 5.

Project 2_ Concept Drawing

Concept Drawing
- Shirt connected to smart phone application.
- Control the shirt using the smart phone application. 
- Click the on or off button on the application, holes on the shirt will popping out.
Experiment 01
Arduino controlled by Android program

Discover

- found examples Arduino Android
- Needed bluetooth modem (wireless)

Example
Arduino- Control DC Motor via Bluetooth


2013. 10. 29.

Project 2_Concept

Concept
- Relationship between human verbal language and ASCII code (Computer Language) 
- To modify and understanding language and a new approach to digital design formats.

Experiment 01

LED Mask using Arduino 

Discover

- Analog to Digital language using Arduino
- Sound pitch (High/Low) converts to LED light
- Connection between humanity and digital word
- Fashion area

Development

- Using Arduino technology like as project 1
- LED light < Fan / Solenoids
- Sound < Controlling by Application
- Specific: Fashion > T-shirts

Research/Reference
http://www.indiegogo.com/projects/annikken-andee-an-easy-link-between-arduino-and-android
http://www.instructables.com/id/How-control-arduino-board-using-an-android-phone-a/
http://www.appszoom.com/android_applications/education/arduino-bluetooth-controller_hucwo.html
http://stackoverflow.com/questions/19457629/gamepad-control-for-processing-android-to-control-arduino-robot
MIT's APP
http://forum.arduino.cc/index.php?topic=148853.0
http://blog.arduino.cc/2013/07/18/how-to-control-arduino-board-using-an-android-phone/





2013. 10. 15.

Project 1_Final


Final Project
- Analog vs Digital
- Relationship between Human Verbal language & ASCII code (Computer Language) 
- Inspired from the Tin-Cup Telephone

Title
LED Mask

Program
Aduiro

Material
Arduino Uno
330 Resistor
Jumper wire

Breakout Board for Electret Microphone (or Condenser microphone, Capacitor, Transistor)




Final Experiment

LED
1. Put on LED Mask
2. Speak into the Microphone
3. LED Mask is blinking based on voice pitch





Comp 1 from Hillary Kim on Vimeo.

2013. 10. 1.

Project 1_ concept II


PROJECT ONE
Digitalizing Hand Signal
 
BACKGROUND
The gestures are a form of nonverbal communication in which visible bodily actions are used to communicate important message. It includes movement of the hands, face, or other parts of the body.
OBJECTIVE
To modify and understanding symbolic hand signals and a new approach to digital design formats.
CONCEPT
The hand signal is nonverbal communication. Using the hand signal, we send important messages to other without any words. By looking at it, we can receive messages even so far away from the messenger. This hand signal brings questions into relationship between verbal communication and nonverbal communication.
If, Hand signal is converting to digital sound, how that could be modifying in digital media design?
 
METHOD
STEP ONE
Using the Kinect, determine the hand signal
STEP TWO
X,Y points à Frequency (Amplitude/Time)  
  • Using the method of frequency. 
  • Looking at the Hand signal pattern like as a frequency graph.




























STEP THREE
VVVV
Import:  frequency graph (Hand signal pattern)
Output: convert to digital audio.

   

2013. 9. 24.

Project 1_ concept
























Analog & Digital

Tin can telephone
“A tin can telephone is a type of acoustic (non-electrical) speech-transmitting device made up of two tin cans, paper cups or similarly shaped items attached to either end of a taut string or wire. It is a form of mechanical telephony, where sound is converted into and then conveyed by vibrations along a liquid or solid medium, and then reconverted back to sound.” (wikipedia)
Concept:

Transmitting analog sound signal to digital signal language.

Analog sound through tin can > translate to > digital signal language