这是我第一次使用Unity和Arduino。我试图通过Unity使用Visual Studios和C#为连接到Arduino Uno板的1.5V电机供电。我已经尝试了很多教程并搜索了多个论坛,但我无法让我的工作。
这是我对Arduino Arduino Code
的代码int incomingByte[2];
int motorPin = 10;
boolean LED = false;
void setup() {
pinMode(motorPin,OUTPUT);
digitalWrite(motorPin, LOW);
Serial.begin(9600);
}
void loop() {
if(Serial.available()>0)
{
while(Serial.peek() == 'L')
{
Serial.read();
incomingByte[0] = Serial.parseInt();
if(incomingByte[0] == 1)
{
LED = true;
} else {
LED = false;
}
}
while(Serial.available()>0)
{
Serial.read();
}
}
ledCheck();
}
void ledCheck()
{
if (LED)
{
digitalWrite(motorPin, HIGH);
} else {
digitalWrite(motorPin, LOW);
}
return;
}
这是我在Unity脚本Unity Script
中的代码using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO.Ports;
public class MotorPower : MonoBehaviour {
SerialPort sp = new SerialPort("COM3", 9600);
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
public void ledOn()
{
sp.Open();
sp.WriteLine("L1");
sp.Close();
}
public void ledOff()
{
sp.Open();
sp.WriteLine("L0");
sp.Close();
}
}
我将unity脚本添加到unity项目中的空GameObject,并创建了两个按钮,go和stop,并将ledOn和ledOff方法连接到它们。
Arduino代码在使用串行监视器时运行电机但使用统一时电机不运行,只有电路板上的RX灯闪烁。
非常感谢任何帮助。