주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

직렬 블록을 사용하여 Arduino 서버와 통신

이 예제에서는 Serial Configuration, Serial Receive, Serial Send 블록을 사용하여 Arduino®와 통신하는 방법을 보여줍니다. 이 예제에서는 Serial Send 블록을 사용하여 Arduino Uno에 읽기 명령을 전송합니다. Arduino는 아날로그 핀에서 읽은 신호를 Serial Receive 블록으로 다시 전송합니다.

설정

컴퓨터에 Arduino Uno를 연결하고 Arduino IDE를 사용하여 다음 프로그램을 불러옵니다. 포트 설정을 사용하도록 코드를 구성합니다.

//Delay (ms) between consecutive scans in streaming mode
int interScanDelay = 20;
int inputPin1 = A2;
int sensorValue1 = 0;
int inputPin2 = A3;
int sensorValue2 = 0;
int inByte = 0;

void setup() {
Serial.begin(9600);
}

void loop() {
    if (Serial.available() > 0) {
        inByte = Serial.read();
        switch (inByte) {
            case '2':
                //Read and send sensor values from Arduino board
                sensorValue1 = analogRead(inputPin1);
                Serial.write(sensorValue1);
                sensorValue2 = analogRead(inputPin2);
                Serial.write(sensorValue2);
                delay(interScanDelay);
            break;
            default:
            break;
          }
     }
}

이 예제에는 INO 파일도 포함되어 있습니다.

서버에서 온디맨드 읽기

이 모델은 Serial Send 블록을 사용하여 Arduino에 명령을 보내 데이터를 조금 반환합니다. Serial Receive 블록은 반환된 데이터를 읽습니다.

다음 명령을 사용하여 모델을 엽니다.

open_system('demoinstrsl_Serial_read_binary');

다음 명령을 사용하여 모델을 닫습니다.

close_system('demoinstrsl_Serial_read_binary');

결과

INO 프로그램은 Arduino의 아날로그 핀(A2 및 A3)에서 값을 읽도록 구성되어 있습니다. 모델에서 보이는 출력은 Arduino의 아날로그 핀에 부착된 센서 유형에 따라 달라집니다.

참고 항목

| |