ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 아두이노 시리얼 통신: 데이터 입력
    Technology/Arduino 2023. 12. 8. 18:00

    1. 시리얼 통신을 이용한 문자 입력

       앞서 살펴보았듯이, 아두이노 하드웨어는 PC와의 시리얼 통신으로 아두이노 내부의 데이터값을 출력할 수 있다. 반대로 시리얼 모니터를 통해 데이터를 아두이노 하드웨어로 입력할 수 있다. 이때 시리얼 통신으로 입력 받은 데이터는 버퍼라는 저장 공간에 일시적으로 저장되며, 버퍼에 데이터가 저장되었는지 확인하거나 데이터를 복사해 변수에 저장할 수 있다.

     

    1.1. 회로 구성

     

    회로 구성

       아두이노 하드웨어가 PC와 시리얼 통신을 하기 위해서는 별도의 회로를 구성할 필요 없이 USB 연결선을 이용해 아두이노 하드웨어를 PC에 연결하면 된다.

     

    1.2. 프로그램 작성

    void setup()
    {
      Serial.begin(9600); // 시리얼 통신 시작 (통신 속도: 9600 bps)  
    }
    
    void loop()
    {
      if (Serial.available() > 0){ // 버퍼에 데이터가 저장되었는지 확인
        	// 문자형 변수 선언 후 버퍼에 저장된 데이터의 1바이트를 변수에 저장
            char data = Serial.read(); 
            Serial.print("data: "); // 시리얼 모니터에 문자열을 출력
      	Serial.println(data); // 변수에 저장된 데이터를 시리얼 모니터에 출력한 뒤 줄 바꿈
      }
    }

     

    1.3. 시리얼 모니터

     

    아두이노 소프트웨어 시리얼 모니터를 통한 문자 입력

       시리얼 모니터 창 상단에 있는 칸에 숫자나 문자를 입력하고 전송하면, 프로그램으로 작성한 바와 같이 아두이노 하드웨어가 시리얼 통신으로 입력 받은 문자를 출력하는 것을 볼 수 있을 것이다.

     

    2. 시리얼 통신을 이용한 문자열 입력

       앞선 예제에서는 문자를 아두이노 하드웨어에 전송하면 아두이노 하드웨어가 시리얼 모니터에 문자를 출력하는 것을 확인하였다. 하지만 문자열을 전송하면 아래 그림과 같이 한 문자씩 연속적으로 출력되는 것을 확인할 수 있다. 문자열을 구성하고 있는 문자 하나하나가 아닌, 입력 받은 문자열 자체를 다루고 싶다면 문자열을 저장할 변수의 자료형과 메소드만 변경해주면 된다.

     

    아두이노 소프트웨어 시리얼 모니터를 통한 문자열 입력(1)

     

    2.1. 프로그램 작성

    void setup()
    {
      Serial.begin(9600); // 시리얼 통신 시작 (통신 속도: 9600 bps)  
    }
    
    void loop()
    {
      if (Serial.available() > 0){ // 버퍼에 데이터가 저장되었는지 확인
        	// 문자열 변수 선언 후 버퍼에 저장된 문자열을 변수에 저장
            String data = Serial.readString(); 
            Serial.print("data: "); // 시리얼 모니터에 문자열을 출력
      	Serial.println(data); // 변수에 저장된 데이터를 시리얼 모니터에 출력한 뒤 줄 바꿈
      }
    }

     

    2.2. 시리얼 모니터

     

    아두이노 소프트웨어 시리얼 모니터를 통한 문자열 입력(2)

       시리얼 모니터 창 상단에 있는 칸에 문자열을 입력하면,  한 문자씩 연속적으로 출력되는 것이 아니라 문자열 자체가 출력되는 것을 볼 수 있을 것이다.

     

     

     

     

     

    [함께 읽으면 좋은 페이지]

     

     

    아두이노 시리얼 통신: 데이터 출력

    1. 병렬 통신과 직렬 통신 서로 다른 두 기기 사이의 통신 방식은 크게 병렬 통신(parallel communication)과 직렬 통신(serial communication)으로 나눌 수 있다. 병렬 통신은 여러 가닥의 선을 통해 동시에 데

    vedacube.tistory.com

     

     

     

     

     

    참고문헌

    - 최훈. (2022). 팅커캐드 & 아두이노. 길벗캠퍼스.

    반응형

    댓글

Designed by Tistory.