본문 바로가기

만들기 / making

Day 10: EEG / EKG / Galvanic Sensor Day 10: EEG / EKG / Galvanic Sensor Arduino EEG http://plus1plus1plus.org/Resources/EEG_EKG/ Open EEG http://pceeg.sourceforge.net/UC_Design.html Open EEG http://openeeg.sourceforge.net/doc/ MIT Media Lab Affective Computing Lab Galvactivator http://www.media.mit.edu/galvactivator/ http://www.media.mit.edu/galvactivator/index2.html MIT Media Lab Affective Computing Lab Wireless GSR sensor http:/.. 더보기
Day 9: Lux Sensor Day 9: Lux Sensor BS120 조도 센서 Datasheet http://media.digikey.com/pdf/Data%20Sheets/Sharp%20PDFs/BS120.pdf 회로도 BS120 Pin 넘버 센서사용법 BS120 조도 센서는 가시광선 영역을 센싱한다. BS120은 포토 다이오드인데 말하자면 LED와 반대 기능을 하는것이다. LED는 전류가 공급되면 빛을 내보내는데 포토다이오드는 빛을 받으면 전류를 만들어 낸다. 포토 다이오드에도 여러가지 종류가 있는데 어떤 종류의 빛을 주로 받아서 전류로 바꿔주냐에 따라 달라진다. 포토다이오드 중에 가장 많이 쓰이는데 적외선의 빛을 전류로 바꿔주는 것인데 리모콘등에 활용된다. 또 다른 포토다이오드로는 가시광선 영역을 주로 센싱하는 포토다이오드.. 더보기
Day 8: Touch Sensor Day 8: Touch Sensor QT 113H datasheet http://qprox.com/assets/Downloadablefile/qt113_105-15457.pdf 센서 동작법 Cs 의 값이 클수록 민감도가 커진다. 이때 Cs의 최대값은 0.1uF이다 3, 4번핀의 조합으로 캘리브레이션 시간을 조절할 수 있고, 토클 모드로 전환가능하다. 3,4번 조합이 적용되기 위해서 전원을 재공급해줄것 *캘리브레이션 기능: 3, 4 번이 HIGH(5V)에 연결되면 위의 표에서 보면 10s 간 센서판에 손을 터치한 상태로 출력을 발생한다. 다시 말해 10초간 계속 손을 대고 있다가 10초가 지나는 순간 2번핀의 출력은 0V로 떨어지게 되는데 이때 센서는 닿아있는 손을 포함하여 자기 보정을 하게 되는것이다. .. 더보기
serial communication serial communication *serialEvent interrupt 에서는 최소한의 동작만 하도록. 통신은 서로 아다리가 맞아야. 논리적으로는 이상이 없어도 타이밍을 간과해서 전송에러가 날 수 있다. 컴퓨터가 빠를 때는 문제가 없으나 연산량이 많거나 MCU 끼리 통신에서는 문제가 될 수 있다. ex) processing 에서 vision 은 빨라봐야 15 fps *processing 연산 시간 측정 시간을 재고 싶은 연산의 시작과 끝에 각각 millis () 로 시스템의 시간을 구한 후 차이로 *시간 차이로 위치를 측정하는 기술을 'arduino' 에서 구현할 수 있는지 생각해보자. *통신속도 로켓을 쏠 때는 9600 보다도 더 낮은 속도로. 낮을 수록 전송의 신뢰도는 높아짐. 31,250 b.. 더보기
multi sensor arduino / processing multi sensor arduino / processing Needs to be added or corrected!! 숙제로 밑에 링크를 보고 코드를 변환해보세요 어떻게 하면 여러 센서 데이터를 받아 각 센서 값에 따라 영상을 변화할 수 있을까요? //Arduino code //ADC + Serial Communication int reading0,reading1,reading2,reading3,reading4,reading5; // the readings from the analog input void setup() { Serial.begin(9600); // initialize serial communication with computer } void loop() { reading0 = analog.. 더보기
arduino + processing code arduino + processing code //Arduino Code //Arduino code //ADC + Serial Communication int reading; // the readings from the analog input int inputPin = 0; void setup() { Serial.begin(9600); // initialize serial communication with computer } void loop() { reading = analogRead(inputPin); // read from the sensor Serial.println(reading); // send it to the computer (as ASCII digits) } //Processing Cod.. 더보기
Audio sensor module on PCB Audio sensor module on PCB 다수의 센서 데이터 송신 방법의 선택 1. 각 센서의 analog 신호를 하나의 MCU 로 전달해서 처리 2. 각 센서의 신호를 각 작은 MCU 로 받아서 각자 중앙의 큰 MCU 로 통신으로 날림 송신 경로가 길면 당연히 2 번이 안정적인 선택. 2번은 MCU 가 각자 달려 있으므로 데이터를 미리 처리해서 보낼 수도 있다. -> 분산처리 2번은 MCU 가 달려 있으므로 무선으로 보낼 수도 있다. 유선으로 되어 있는 시스템은 한계가 명확하다. 한계로 인해서 작품의 의도를 제대로 구현하지 못하면 장난감에 불과하다. 1 은 전송 경로가 길면 도선 저항 때문에 값이 불안해짐. 2 번의 구현 작은 MCU ATtime 큰 MCU ATmega RX485 -> 시리얼 통.. 더보기
Audio sensor module on Breadboard Audio sensor module on Breadboard *OP Amp 회로도에서 삼각형을 보면 OP Amp!! 주위 연결에 따라 수천가지 용도로 사용 잘 알면 전자 회로의 신이 될 수 있다. 전자 악기도 이걸로 만든다. 우리가 하는 일은 거의 대부분 디지털이지만, 아날로그만 가지고도 무궁무진한 것들을 할 수 있다. 내부 회로는 아래 그림처럼 복잡함. 회로도에서는 아래 정도로 근사 *1배 증폭. OP-AMP 를 이용한 amplifier 회로. 아래 그림에서 R1 = R2 이면 1배 증폭이 된다. 위상만 반대. 버퍼로 사용.. 연결이 길어서 저항에서 전류를 소모할 때 중간에서 전류를 충분하게 실어줌. *LM358: 저전력 OP Amp 유서깊은 회로 위와 같은 OP-Amp 가 두 개 들어있다. 0-5V .. 더보기
audio sensor processing code audio sensor processing code import ddf.minim.signals.*; import ddf.minim.*; import ddf.minim.analysis.*; import ddf.minim.effects.*; import processing.serial.*; Serial myPort; // Create object from Serial class String myString = null; int adc; char play_flag = 0; char stop_flag = 0; Minim minim; AudioPlayer in; void setup() { size(512, 200); //Start Sonia minim = new Minim(this); // load a file.. 더보기
audio sensor MCU code audio sensor MCU code #include #include #define FOSC 16000000 #define BAUD 9600 #define UBRR FOSC/16/BAUD-1 // Initialize USART0 void init_USART0(unsigned int baud) { UBRR0 = baud; // Set Baudrate UCSR0C = (3 더보기