포텐쇼미터 3개를 통해 아날로그 신호를 각 Red/Green/Blue 입력받아, 이를 map() 함수를 이용하여 변환 후 RGB LED로 출력한다. 아날로그 신호의 입력과 출력을 동시에 실습할 수 있다.
int LEDArray[] = {3, 5, 6};
int analogIns[] = {A0, A1, A2};
int analogVal[] = {0, 0, 0};
String nameArray[] = {"Input0", "Input1", "Input2"};
int numInputs = 3;
int count;
int pCount;
int myDelay = 5;
void setup() {
Serial.begin(9600);
}
void loop() {
for(count = 0; count < numInputs; count++) {
analogVal[count] = analogRead(analogIns[count]);
analogVal[count] = map(analogVal[count], 0, 1023, 0, 255);
analogWrite(LEDArray[count], analogVal[count]);
for(pCount = 0; pCount < numInputs; pCount++) {
Serial.print(nameArray[pCount]);
Serial.print("\t");
}
Serial.println();
for(pCount = 0; pCount < numInputs; pCount++) {
Serial.print(analogVal[pCount]);
Serial.print("\t");
}
Serial.println();
Serial.println();
}
delay(myDelay);
}