- 준비물
- 아두이노 보드(내 보드는 Arduino Uno)
- 코드
void setup() {
// 시리얼 통신 보드레이트 설정
Serial.begin(9600);
}
void loop() {
// 입력 받은 값이 있는 경우는 0보다 큼
if(Serial.available() > 0) {
char inputVal = Serial.read(); // 사용자 입력(char 형을 받음)
int i_Val = 10;
float f_Val = 1.23456;
// 입력받은 char값 표시
Serial.print("inputVal : ");
Serial.println(inputVal);
switch(inputVal) {
// int형 표시
case 'i' :
Serial.print("\t intVal : ");
Serial.println(i_Val);
break;
// float형 표시
case 'f' :
Serial.print("\t floatVal : ");
Serial.print(f_Val);
Serial.print("\t\t");
Serial.print("floatVal .2 : ");
Serial.println(f_Val, 2); // 소수점 아래 2자리까지 표시
break;
}
Serial.println("");
}
}
- 출력 화면
- 알게된 점
- 보드마다 보드레이트가 다름(보드레이트는 통신하는 속도라고 함)
- Arduino Uno는 디버거가 없어 Serial 출력을 통해 디버깅(Arduino Zero는 디버거가 있음)
- print 또는 println에 두번째 인자는 출력할 소수점 자리 수
- 사용자 입력 시 char형만 받아옴(qwer 입력 시 q, w, e, r 따로 입력 됨)
- Serial 입력 시 아두이노 보드의 RX LED 켜짐(Receive)
- Serial 출력 시 아두이노 보드의 TX LED 켜짐(Transmit)