預設大家都會使用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。
最後附上我的上位機串列埠輸出圖
實質上就是輸出一堆字串給微控制器