使用UE4Duino插件实现ue4引擎与arduino串口通讯
默认大家都会使用ue4开发,毕竟会ue4的人才会想和单片机通讯。
一.到GitHub下载UE4Duino插件
1.下载地址
这里的版本是最新的版本,查看自己的ue4版本,下拉界面
找到Thread for this version,点进去就进入以下界面
根据自己ue4的版本进行下载插件。
二.添加至UE4工程文件中
1.在ue4工程文件新建一个名称为Plugins的文件夹(若工程文件中已有Plugins请忽略),将下载的插件解压放入Plugins中
其中microfluidics_ac为我的工程文件名称。
然后打开工程文件在关卡蓝图进行设置
这两个是必要设置的,其他自由发挥。串口号视你连接单片机时的串口号而定,可在设备管理器查看。(注意:ue4里串口只能打开一次,停止运行时候一定要关闭串口,串口关闭了才能再次打开)
三.贴个arduino的例程
const int out=9;
int a=4000; // 加速度
float t=1;
int w=3000;
int deltapwm;
int intpwm;
int pwm;
String inString = "";
void setup()
{
Serial.begin(9600);
pinMode(out,OUTPUT);
}
void loop()
{
if (Serial.available() > 0)
{
for(int k=0;k<=11;k+=1)
{
char inChar = Serial.read();
if (inChar!="a"||inChar!="w"||inChar!="t")
{
inString += (char)inChar;
}
if (inChar == 'a')
{
a=inString.toInt();
inString = "";
}
if (inChar == 't')
{
t=inString.toInt();
inString = "" ;
}
if (inChar == 'w')
{
w=inString.toInt()-100;
inString = "" ;
}
}
step1();
delay(4000);
step2();
delay(4000);
step3();
delay(50);
}
}
void step1()
{
intpwm=(w+1832)/32.1;
pwm=0;
for(pwm;pwm<=intpwm;pwm+=1)
{
analogWrite(out,pwm);
delay(100);
}
}
void step2()//获得减速加速度
{
intpwm=(w+1832)/32.1;
pwm=intpwm;
deltapwm=a*t/32.1;
for(pwm;pwm>=intpwm-deltapwm;pwm-=1)
{
analogWrite(out,pwm);
delay(t*1000/deltapwm);
}
}
void step3()//获得加速加速度
{
analogWrite(out,0);
}
这是一个利用ue4与单片机串口通讯实现电机加减速的程序。
**注意:**可能会出现在ue4里能实现和单片机通讯,打包之后不能通讯的问题,甚至界面崩溃。这时候打开ue4工程文件中的[Project].uproject(用记事本方式打开)
这时候你看到的界面应该是这样的,在"Description": ""后面加一个,(逗号)注意是英文模式下的,然后复制上这段code
“Plugins”: [
{
“Name”: “UE4Duino”,
“Enabled”: true
}
]
后点击保存关掉就可以重新在打包,如下图。
这里手动加上的code是为了让插件enable。
最后附上我的上位机串口输出图
实质上就是输出一堆字符串给单片机