-
아두이노 시리얼 통신: 데이터 출력Technology/Arduino 2023. 7. 7. 18:00
1. 병렬 통신과 직렬 통신
8비트 병렬 통신과 8비트 직렬 통신 서로 다른 두 기기 사이의 통신 방식은 크게 병렬(parallel) 통신과 직렬(serial) 통신으로 나눌 수 있다. 병렬 통신은 여러 가닥의 선을 통해 동시에 데이터를 주고 받는 반면, 직렬 통신은 송신선(TX)과 수신선(RX) 두 가닥을 통해 일렬로 데이터를 주고 받는다. 병렬 통신이 직렬 통신에 비해 빠르다는 장점이 있지만, 한 번에 주고 받는 데이터의 크기에 따라 통신선의 수가 늘어난다는 단점이 있다. 직렬 통신은 데이터가 연결되어 들어오기 때문에 통신 시 데이터의 크기를 잘 구분해야 하지만, 수신기와 송신기 사이의 통신 속도만 맞춰준다면 병렬 통신보다 저렴하게 이용할 수 있다. 아두이노 하드웨어가 PC와 통신하여 데이터를 주고 받을 때에는 직렬 통신을 이용한다.
2. Serial 클래스
앞서 언급한 바와 같이 시리얼 통신을 실제로 구현하기 위해서는 송신기로부터 들어오는 데이터의 크기를 잘 구분하는 알고리즘을 작성해야 한다. 하지만 아두이노 플랫폼은 클래스 형태로 시리얼 통신과 관련된 메소드를 지원하고 있어, 사용자가 시리얼 통신을 직접 구현할 필요가 없다. 아두이노 플랫폼에서 지원하는 메소드만 적절하게 활용한다면 손쉽게 PC와의 시리얼 통신을 구현할 수 있다. 아래 링크로 접속하면 아두이노 플랫폼에서 지원하는, 시리얼 통신과 관련된 다양한 메소드를 확인할 수 있다.
Serial - Arduino Reference
Description Used for communication between the Arduino board and a computer or other devices. All Arduino boards have at least one serial port (also known as a UART or USART), and some have several. Board USB CDC name Serial pins Serial1 pins Serial2 pins
www.arduino.cc
3. 시리얼 통신을 이용한 데이터 출력
3.1. 회로 구성
회로 구성 아두이노 하드웨어가 PC와 시리얼 통신을 하기 위해서는 별도의 회로를 구성할 필요 없이 USB 연결선을 이용해 아두이노 하드웨어를 PC에 연결하면 된다.
3.2. 프로그램 작성
void setup() { Serial.begin(9600); // 시리얼 통신 시작 (통신 속도: 9600 bps) } void loop() { Serial.print("Hello "); // 시리얼 모니터에 문자열을 출력 Serial.println("World!"); // 시리얼 모니터에 문자열을 출력한 뒤 줄 바꿈 delay(1000); // 1000 ms 대기 }
3.3. 시리얼 모니터
아두이노 소프트웨어 시리얼 모니터 아두이노 하드웨어로부터 PC가 시리얼 통신으로 받는 데이터를 보기 위해서는 시리얼 모니터를 사용해야 한다. 상단 툴바 아래에 있는 아이콘 중 오른쪽 끝에 있는 아이콘을 누르면 시리얼 모니터를 사용할 수 있다.
아두이노 소프트웨어 시리얼 모니터의 통신 속도 설정 시리얼 모니터를 사용하기에 앞서, 프로그램에서 설정한 시리얼 통신 속도와 시리얼 모니터의 통신 속도가 동일하게 설정되어 있는지 확인해야 한다. 코드에서는 9600 보드레이트로 시리얼 통신을 시작하였으므로 시리얼 모니터의 통신 속도 또한 9600 보드레이트로 설정해주자. 그러면 시리얼 모니터 창에 Hello World!라는 문자열이 1초 단위로 출력되는 것을 볼 수 있을 것이다.
[함께 읽으면 좋은 페이지]
아두이노 시리얼 통신: 데이터 입력
1. 시리얼 통신을 이용한 문자 입력 앞서 살펴보았듯이, 아두이노 하드웨어는 PC와의 시리얼 통신으로 아두이노 내부의 데이터값을 출력할 수 있다. 반대로 시리얼 모니터를 통해 데이터를 아두
vedacube.tistory.com
아두이노 I2C 통신 | LCD I2C 모듈
1. I2C 통신 두 장치가 일대일로 통신하는 시리얼 통신과는 다르게, I2C(Inter-Integrated Circuit) 통신은 한 컨트롤러(master)에 여러 개의 주변 장치(slave)를 연결하여 신호를 주고 받는다. I2C 통신은 데
vedacube.tistory.com
아두이노 SPI 통신 | 열전대 써모커플 증폭 모듈 MAX31856
1. SPI 통신 SPI(Serial Peripheral Interface) 통신은 I2C 통신과 마찬가지로, 한 컨트롤러(master)에 여러 개의 주변 장치(slave)를 연결하여 신호를 주고 받는다. SPI 통신은 데이터를 구분하는 동기 클럭 라
vedacube.tistory.com
반응형'Technology > Arduino' 카테고리의 다른 글
아두이노 디지털 신호 출력 | LED (0) 2023.07.14 아두이노 | 회로 기초 지식 (0) 2023.07.14 아두이노 소프트웨어 사용 방법 (0) 2023.06.30 아두이노 하드웨어 종류 (0) 2023.06.23 아두이노란? (1) 2023.06.16