Arduino에서 컴퓨터로 데이터를 전송할 때 변수 유형별로 출력해본다. char, int, float로 선언된 변수를 PC로 전송해 각각 1씩, float는 0.1씩 증가시킨다.
※ 명령어
- Serial.write(char 변수) : char변수에 해당하는 ASCII 코드값의 문자를 출력한다. 문자는 아스키코드와 대응되는 숫자가 전송되는데, 'A'를 전송하면 실제로는 '0x41'이란 코드가 전송된다.
- Serial.print(변수, BIN) : 변수를 2진수(Binary)로 표시한다.
- Serial.print(변수, DEC) : 변수를 10진수(Deciaml)로 표시한다.
- Serial.print(변수, HEX) : 변수를 16진수(Hexadecimal)로 표시한다.
/*
* 예제
* 변수 유형별 Arduino에서 컴퓨터로 전송하기
*/
char charValue = 65;
int intValue = 65;
float floatValue = 65.0;
String stringValue[] = {"Binary : ", "Decimal : ", "Hexadecimal : ", "ASCII : "};
void setup() {
// 9600bps로 시리얼 통신 설정
Serial.begin(9600);
}
void loop() {
// 'char Value'를 출력하고 문자열과 숫자를 변수 유형별로 출력한다.
Serial.println("*** charValue ***");
Serial.print(stringValue[0]);
Serial.println(charValue,BIN); // 2진수 형태로 출력
Serial.print(stringValue[1]);
Serial.println(charValue,DEC); // 8진수 형태로 출력
Serial.print(stringValue[2]);
Serial.println(charValue,HEX); // 16진수 형태로 출력
Serial.print(stringValue[3]);
Serial.write(charValue); // charValue에 해당하는 ASCII 코드값 출력
Serial.println();
Serial.println();
// 'int Value'를 출력하고 문자열과 숫자를 변수 유형별로 출력한다.
Serial.println("*** intValue ***");
Serial.print(stringValue[0]);
Serial.println(intValue,BIN);
Serial.print(stringValue[1]);
Serial.println(intValue,DEC);
Serial.print(stringValue[2]);
Serial.println(intValue,HEX);
Serial.print(stringValue[3]);
Serial.write(intValue);
Serial.println();
Serial.println();
// 'float Value'를 출력하고 문자열과 숫자를 변수 유형별로 출력한다.
Serial.println("*** float Value ***");
Serial.print("floatValue : ");
Serial.println(floatValue);
Serial.println();
Serial.println();
charValue++; // charValue 1 증가
intValue++; // intValue 1 증가
floatValue += 0.1; // floatValue 1 증가
delay(1000); // 1초 동안 지연시킨다.
}
'아두이노' 카테고리의 다른 글
[아두이노] LED 점멸 (0) | 2020.10.13 |
---|---|
[아두이노] I2C를 이용한 LCD 출력 ② (0) | 2020.10.10 |
[아두이노] I2C를 이용한 LCD 출력 ① (0) | 2020.10.10 |
[아두이노] 아두이노에서 시리얼 통신을 이용하여 데이터 수신하기 (0) | 2020.10.10 |
[아두이노] 아두이노에서 컴퓨터로 데이터 전송하기 (0) | 2020.10.10 |