티스토리 뷰
int ledPin = 13;
int solPin = 6;
int laPin = 7;
int doPin = 8;
int rePin = 9;
int miPin = 10;
int solButton = 1;
int laButton = 2;
int doButton = 3;
int reButton = 4;
int miButton = 5;
boolean solState, laState, doState, reState, miState;
boolean solPrevState, laPrevState, doPrevState, rePrevState, miPrevState;
int currentState;
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
pinMode(solPin, INPUT);
pinMode(laPin, INPUT);
pinMode(doPin, INPUT);
pinMode(rePin, INPUT);
pinMode(miPin, INPUT);
boolean solPrevState, laPrevState, doPrevState, rePrevState, miPrevState = false;
currentState = 0;
}
void loop() {
solState = buttonPressed(solPin);
laState = buttonPressed(laPin);
doState = buttonPressed(doPin);
reState = buttonPressed(rePin);
miState = buttonPressed(miPin);
if(solState != solPrevState){
currentState = solButton;
}
if(laState != laPrevState){
currentState = laButton;
}
if(doState != doPrevState){
currentState = doButton;
}
if(reState != rePrevState){
currentState = reButton;
}
if(miState != miPrevState){
currentState = miButton;
}
if(solState == false && laState == false && doState == false && reState == false && miState == false){
currentState = 0;
}
//눌린 버튼 판정
int mic = analogRead(A0);
//마이크 입력 판정
analogWrite(ledPin, mic);
//mic 값에 따라 led의 밝기를 실시간으로 조절
Serial.print(currentState);
Serial.print(" ");
Serial.println(mic);
//maxmsp로 출력
solPrevState = solState;
laPrevState = laState;
doPrevState = doState;
rePrevState = reState;
miPrevState = miState;
//state 기록
delay(10);
}
boolean buttonPressed(int pinName){
if(digitalRead(pinName) == HIGH){
return true;
}
return false;
}
'디벨로핑' 카테고리의 다른 글
| 병나발 최종 코드 (0) | 2017.04.29 |
|---|---|
| 병나발 MAX msp 코드 (0) | 2017.04.13 |
| 병나발 구현 관련 코드 링크 (0) | 2017.04.11 |
| 병나발 구현 note (0) | 2017.04.04 |
| 병나발 아이디어 (0) | 2017.04.03 |