Archive for the ‘Reference’ Category

Arduino와 Flash연동

2010/06/14

안녕하세요.

이번 졸전에 아듀이노와 플래시를 연동하는 작품들이

특히 많은 것 같습니다.

사실 아듀이노와 플래시 연동에서의 어려움은 아듀이노에서

코딩을 하고, 플래시에서 또 아듀이노에서 넘어온 값을

확인하며 일일이 코딩하는 어려움이 크다고 할 수 있습니다.

이전에 전기효과에서 최윤호 학생이 강의한 Serproxy를 이용한

시리얼 통신을 주로 우리 학과 학생들이 쓰는 걸로 알고 있습니다.

제가 이번에 소개하는 방법도  Serproxy를 이용하는 것이지만, 아듀이노에서

코딩은 필요없고, only 플래시에서 코딩하면서 제어하는 것입니다.

제대로 쓴다면 아마 다양한 그래픽 작업물을 플래시에서 할 수 있으리라 기대됩니다.

— 준비물 —-

1. 아듀이노

2. Firmata 2.0 버전

3. 플래시

4. http://code.google.com/p/as3glue/ asGlue라고 하는 것인데

MIT 랩에서 플래시에서 아듀이노를 제어하게끔 가능하게 만든

클래스인 것 같습니다. 여튼 다운받아봅니다.

 5. Serproxy( 위에 클래스 받으면 application 폴더에 있습니다. )

— Process — (  Led 깜빡이기 )

1. 아듀이노의 회로도를 빵판과 함께 구성합니다. ( 13번핀에 Led 살짝 얹습니다. )

2. 아듀이노를 실행시켜서 file -> exampls -> firmata -> standardfirmata 를 실행시켜서

구워줍니다. 이제 아듀이노는 필요없으니 꺼도 됩니다..!

3. Serproxy를 실행시켜서 띄워놓습니다.

4. 플래시를 실행시켜서 코딩을 합니다.

package
{
 import flash.display.Sprite;
 import flash.events.Event;
 import flash.utils.flash_proxy;
 
 import net.eriksjodin.arduino.Arduino;
 import net.eriksjodin.arduino.events.ArduinoEvent;
 import net.eriksjodin.arduino.events.ArduinoSysExEvent;
 
 public class ArduinoTest extends Sprite
 {
  private var arduino : Arduino = new Arduino(“127.0.0.1”, 5331 ); // 5331번은 본인의 port 넘버입니다.
  private var button : int = 1; // 요건 버튼 변수 지정
  private var ledPin:Number = 13; // 핀 번호 지정
  private var frames:Number=0;
  
  public function ArduinoTest()
  {
   super();
   arduino.addEventListener( ArduinoEvent.FIRMWARE_VERSION, onConfirm ); // 아듀이노에 이벤트를 걸어줍니다.
   arduino.requestFirmwareVersion();
  }
  
  private function onConfirm ( e: ArduinoEvent ) : void
  {
   //arduino.setPinMode( button, Arduino.INPUT );
   arduino.writeDigitalPin( ledPin, Arduino.LOW ); // 13번핀에 Low를..
   this.addEventListener( Event.ENTER_FRAME, onEnter ); // 매 프레임마다 이벤트를 걸어줍니다
   trace( “Arduino initialized”);
  }
  private function onEnter ( e: Event ) : void
  {
   frames++; // 매프레임마다 변수 frames 를 1씩 증가합니다.
   if(frames%2==0) { // 만약에 frames 을 2로 나눠서 0이라면..
    arduino.writeDigitalPin(ledPin, Arduino.LOW); // 13번 Led 핀을 끄고
   } else {
    arduino.writeDigitalPin(ledPin, Arduino.HIGH); // 그렇지 않다면 켜라.. 이런식으로 깜빡거리게 됩니다.
   }
  }
 }
}

이건 제가 플래시 빌더에서 한거라..;; 패키지를 쓴 것은 다를수도 있습니다.

저도 blink만 성공한터라…다른 내용은 나중에 성공하는대로 업그레이드 시키겠습니다.

다들 다양한 시도를 해 볼만한 획기적인 방법이라고 생각됩니다~

2010년 졸작 화이팅~!

D8 에서 잡스와 발머의 대담.

2010/06/06

정확히는 둘은 다른 시간에 나와서 질문에 대답한 것입니다.

월스트리트 저널의 테크저널리스트 이자 칼럼니스트인 월터 모스버그가

시작한  All Things Digital의 8번째 컨퍼런스가 있었습니다.

준비 없이 월터와 그 동료 캐라의 질문을 받고 답변하는 자리 입니다.

이 자리에 Apple 의 스티브 잡스와 MS  의 스티브 발머 가 초대 되었습니다.

D8 에서의 잡스와 발머의 이야기를 번역한 블로그가 있어서 소개합니다.

아래의 링크는 D8  에서의 잡스와 발머의 인터뷰를 번역한 링크입니다.

http://kkendd.egloos.com/2615917

스티브 잡스

http://kkendd.egloos.com/2617985

스티브 발머

릴리패드응용법

2010/05/15

나도 바느질로 릴리패드를 연결했다 뜯었다 하는게 귀찮았는데 좋은 방법이 있습니다.  이건 릴리패드쉴드라고 할 수 있는데요, 똑딱이 단추들을 응용한것 입니다.  만드는 방법은 아래 링크에…

http://www.fashioningtech.com/profiles/blogs/frogr-etextile-lilypad-shield


Tilt SA1 기울기 센서_A399233임찬혁

2010/05/11

작년 말쯤에 기울기센서 SA1을 과제로 테스트했었습니다.

이번 졸작에도 이 기울기 센서를 이용하여 LED를 다양한 색으로 나타내고 싶다는 아이디어가 있어서

이곳에 이 Tilt SA1 센서에 대한 조사 자료를 올립니다.

우선 이 센서의 장점은 A/D가 쉽게 구현되어 이 센서를 이용하여 받은 값으로

쉽게  LED조도 혹은 변수를 주어 LED의 색을 변화 시켜 줄 수 있습니다.

저는 이 센서를 이용하여 RGB-LED의 색의 변화를 주고 싶었습니다.

회로도는 이렇게 되고 led는 연결하고 싶은만큼 더 연결하면 됩니다.

저는 코드는 이런식으로 짜보았습니다.

int ledPin1 = 3;
int ledPin2 = 5;
int ledPin3 = 6;
void setup() {
Serial.begin(9600);
}

void loop()  {

int tilt=analogRead(0);
Serial.println(analogRead(0));

for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
if(tilt>700,tilt<770){
analogWrite(ledPin1, fadeValue);
delay(40); }else{ analogWrite(ledPin1,0);}

}

for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
if(tilt>760){
analogWrite(ledPin2, fadeValue);
delay(40); }else{ analogWrite(ledPin2,0);}

}

for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
if(tilt>780){
analogWrite(ledPin3, fadeValue);
delay(40);}else{ analogWrite(ledPin3,0);}

}

for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
if(tilt>800){
analogWrite(ledPin1, fadeValue);
delay(40); }else{ analogWrite(ledPin1,0);}
}
}

우선은 색바꾸는데에 대한 연구만 해보았지만

다음은 음악을 받아 리듬에 맞추어 LED가 켜지는 조사를 해보겠습니다.

CDS Sensor_황왕준

2010/05/09

CDS Sensor
흔히들 알고 있고, 저렴한 가격과 활용도때문에 많이 사용하는 빛감지 센서 Cds 입니다.
Cds 센서는 광에 쏘여지면 저항값이 감소하는 광도전효과(Photo conductive effect)를 이용한 반도체 포토센서 입니다. 포토셀(PhotoCell)이라고도 많이 불리며, 빛의 밝기에 반응합니다.

간단히 만들어본 작업물은 빛의 밝기에 따라, 같이 연결된 LED의 빛을 on/off 시키는 작업물입니다. 아래의 동영상과 같이 CdsSensor 를 사용할 때는 저항을 같이 사용해 주어야 조절이 가능한 수치를 얻을 수 있습니다. 저항이 없을 경우 수치가 매우 크며 조절하기가 까다로울 수 있습니다.

위의 동영상에서 보면 알 수 있듯이, 밝을 수록 큰 수치의 값이, 어두울 수로 작은 수치의 값이 들어옵니다.
위 동영상에 사용된 코드는 아래와 같습니다.

..(생략)

digitalWrite(12, LOW);
if(analogRead(0) < 30){
digitalWrite(12, HIGH);
} else
{
digitalWrite(12, LOW);
}
}
코드에서 보면 30 이하의 밝기에서 LED가 On 이 되게 설정 되어있습니다. 주변 환경에 따라 수치를 조절할 수 있습니다.

아래의 동영상은 YouTube 에 올라있는 Cds 의 Analog 신호를 Digital 신호로 바꿔주는 것에 대한 설명에 관한 것입니다.

아듀니오 cheat sheet

2010/04/28

고맙게도 누군가 아듀니오cheat sheet (컨닝 페이퍼)를 작성하여 올려놓아줬네요.  참고로 올립니다.

http://www.adafruit.com/blog/2010/04/23/arduino-cheatsheet-pdf/

The Next Generation of Augmented Reality: Update

2010/04/25

뉴욕 Oddcast사에서 증강현실과 플래시를 사용한 패이스트랙킹아플리케이션을 발표하였다.얼굴은 물론 얼굴표정과 모습까지 모두 감지할 수 있는 마커가 필요없는 증강현실 아플리케이션이다.  비데오를 보려면 아래 링크로.

—augmented reality that detects not just the face, but features and expressions as well.

Oddcast - next generation of augmented reality

http://blog.oddcast.com/2010/04/the-next-generation-of-augmented-reality-update.html

기획서의 예제

2010/04/21

과거 졸업작품들의 기획서입니다.  꽤 정리가 잘 된 기획서이니 참고하시길 바랍니다.

2008년도 졸업전시 기획서 예제:

beetles – 신동인, 이지영  기획서 >>>>

– 정보라, 정수정,정수민 기획서 >>>

Breath of Light – 현소연 >>>


2008년도 졸업전시 기획서 예제:

Drawing Stars – 고윤미, 황윤정 >>>

FLOW – 고희윤, 안소영 >>>


ToneMatrix

2010/04/20

아주 심플하지만 소리가 잘 표현됨과 동시에 사용하기 친근한 온라인 스크린 NIME (New Interface for Musical Expression)

http://lab.andre-michelle.com/tonematrix/

Simple sinewave synthesizer triggered by an ordinary 16step sequencer. Each triggered step causes a force on the underlaying wave-map, which makes it more cute.

Based on the AudioTool engine

iphone sound app – Flourish

2010/04/17