170410 6주차 실습 기록
오늘도 역시 제법 많은 실습을 했다.
첫 번째로 시리얼 프로토콜 만들기.
회로는 간단하기에 따로 사진을 첨부하지는 않는다. 가변저항 하나와 LED 하나를 연결한,
기존에 구성해 보았던 회로였기에 만들기가 어렵지 않았음.
포텐셜미터를 조절하면 그 값이 시리얼 모니터에 뜨도록 하는 코드를 작성하였다.
시리얼모니터에 값을 출력할 때에는 Serial.println을 주로 쓰곤 했는데, 처음으로 Serial.write를 사용해 보았다.
이는 받은 값을 int로 변환해 주지 않고 아스키 코드로 출력해 주는데, 그러면
아ㅏㅏ아아안ㄴㄴㄷ돼ㅔㅐ
이렇게 된다
아스키 코드표.
처음에는 'H'를 보내면 LED가 켜지고, 'L'을 보내면 꺼지는 식으로 코딩했었는데
입력값에 따라 밝기를 조정하는 코드를 추가하였다.
void setup() {
Serial.begin(9600);
pinMode(11, OUTPUT);
}
void loop() {
if (Serial.available() > 0) { // Buffer에 data가 0개 이상 들어있으면 = 연결된 상대 기기가 무언가 보냈으면
char input = Serial.read();
analogWrite(11, input);
// 원래는 HIGH와 LOW를 설정할 수 있는 digitalWrite를 썼었는데, analogWrite를 사용하면 input 문자의 아스키 코드값에 따라 밝기가 조정된다.
}
}
각각 A / v / ; / (공백) 을 보냈을 때.
그리고 오랜만의 프로세싱!
하나도 기억이 안나는군요 거짓말처럼 사라진 정기입의 기억
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A1);
Serial.write(sensorValue);
delay(10);
}
아두이노 코드는 이러하다.
놀라울 정도로 간단함. 시리얼모니터에 센서값(가변저항)을 표시한다.
프로세싱에서 아두이노의 시리얼값을 읽어오는 코드는 아래와 같다.
수업 때 한 코드를 살짝 변형하여 실행해 보았다. (x좌표가 아니라 크기가 변화하는 것으로)
보다시피 가변저항을 돌릴 때 원의 크기가 변화한다.
'인터랙티브 미디어 (2017)' 카테고리의 다른 글
170424 8주차 실습 기록 (0) | 2017.04.24 |
---|---|
170417 7주차 실습 기록 (0) | 2017.04.17 |
중간 개인프로젝트 Ideation : 대화가 필요한 피아노 (0) | 2017.04.06 |
“Making Interactive Art: Set the Stage, Then Shut Up and Listen” by Tom Igoe (0) | 2017.04.05 |
170403 5주차 실습 기록 (0) | 2017.04.03 |