Arduino 입력 대기

  1. Serial.avaiable()함수를 사용하여 입력을 기다리도록 Arduino 설정
  2. digitalRead()함수를 사용하여 Arduino가 입력을 기다리도록 설정

이 튜토리얼에서는 입력을 기다리도록 Arduino를 설정하는 두 가지 방법에 대해 설명합니다. 한 가지 방법은 직렬 포트 또는 아날로그 핀용이고 다른 하나는 디지털 핀용입니다.

Serial.avaiable()함수를 사용하여 입력을 기다리도록 Arduino 설정

직렬 포트에서 입력을 읽으려면 Serial.available() 함수를 사용하여 입력을 기다릴 수 있습니다. 이 함수는 직렬 포트에있는 바이트 수를 가져옵니다. 입력이 없으면 0을 반환합니다.

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

void loop() {
    while(Serial.available() == 0) {
    }
    int mydata = Serial.read();
}

위의 코드에서 직렬 포트에 입력이 없으면 Arduino가 루프에 갇혀 그대로 유지됩니다. 입력이 직렬 포트에 도착하면 루프가 중단되고 직렬은 Serial.read()를 사용하여 데이터를 읽고mydata변수에 저장합니다.

digitalRead()함수를 사용하여 Arduino가 입력을 기다리도록 설정

디지털 핀에서 입력을 읽으려면 digitalRead() 함수를 사용하여 입력을 기다릴 수 있습니다. 이 기능은LOW또는HIGH인 디지털 핀의 디지털 값을 읽습니다.

int valPin = 0;
int inputPin = 7;

void setup() {
    pinMode(inputPin, INPUT);
}

void loop() {
    while(digitalRead(inputPin) != LOW);{      
  }
    valPin = digitalRead(inputPin);
}

위의 코드에서 디지털 핀에 입력이 없으면 Arduino가 루프에 갇혀 그대로 유지됩니다. 입력이 디지털 핀에 도달하면 루프가 중단되고 직렬은digitalRead()를 사용하여 데이터를 읽고 변수valPin에 저장합니다.