유니티

유니티에서 아두이노(Arduino)에서 신호보내기

유니티세상 2025. 7. 9. 17:50

유니티에서 키보드 0번을 누르면 아두이노 불이 꺼짐 , 1번 누르면 불켜지게함

아두이노 스크립트

void setup()

{

  Serial.begin(9600);        // Unity와 같은 보드레이트로 시리얼 시작

  pinMode(LED_BUILTIN, OUTPUT); // 기본 내장 LED 핀을 출력으로 설정

}

 

void loop()

{

  // 유니티에서 데이터가 들어오면

  if (Serial.available() > 0) {

    char command = Serial.read(); // 한 글자씩 읽기 (예: '1', '0')

 

    if (command == '1') {

      digitalWrite(LED_BUILTIN, HIGH); // LED ON

    }

    else if (command == '0') {

      digitalWrite(LED_BUILTIN, LOW); // LED OFF

    }

  }

 

 

  //Serial.println("Arduino To Unity"); -> 유니티에서 readline일 경우 주석처리하면 에러남 

  //delay(1000); // 1초마다 메시지 전송

}



유니티 스크립트

  private void SendOnSignal()

  {

      if (serialPort.IsOpen)

      {

 

          if (Input.GetKeyDown(KeyCode.Alpha1))

          {

              serialPort.Write("1"); // LED ON

              Debug.Log("보냄: 1 + LED ON");

          }

          if (Input.GetKeyDown(KeyCode.Alpha0))

          {

              serialPort.Write("0"); // LED OFF

              Debug.Log("보냄: 0 + LED OFF");

          }

      }

  }