||

Połączenie Arduino z Unity

W Unity włącz wersję .NET

Unity z arduino
Unity z arduino
using UnityEngine;
using System.IO.Ports;

public class ComData : MonoBehaviour
{
    SerialPort portNo = new SerialPort("COM3", 9600);
    void Start()
    {
        portNo.Open();
        portNo.ReadTimeout = 5000;
    }

    public int Read()
    {
        if (portNo.IsOpen)
        {
            return portNo.ReadByte();
        }
        return 0;
    }

    public void Write(int data)
    {
        if (portNo.IsOpen)
        {
            portNo.Write(data.ToString());
        }
    }
}

Wysyłanie danych z Arduino do Unity

// Arduino
void setup() {
  Serial.begin(9600);
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH); 
  Serial.write(1);
  Serial.flush();
  delay(1000); 
  digitalWrite(LED_BUILTIN, LOW);
  Serial.write(2);
  Serial.flush();
  delay(1000);
}

Wysyłanie danych z Unity do Arduino

//Arduino
void setup() {
  Serial.begin(9600);
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
   if(Serial.available()){
    String serialData = Serial.readString();
    int a = serialData.toInt();
    if(a==1){
      digitalWrite(LED_BUILTIN, HIGH);
      delay(1000);
      digitalWrite(LED_BUILTIN, LOW);
      Serial.flush();
    }
   }
}

Podobne wpisy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *