用ARDUINO NANO 做的小实验, 襟翼状态指示
用Arduino Nano单片机做的一次小实验。原理:用LUA写了个小程序,将FSX中的襟翼变量转换成角度值,然后发送到串口,用Nano从串口读取值,然后驱动舵机。经试验,舵机转动和FSX的襟翼指示器是完全同步的,下一步,可以用Nano来做一些FSX的机械仪表和指示器了。
RE: 用ARDUINO NANO 做的小实验, 襟翼状态指示
http://player.youku.com/player.php/sid/XNjIzMTI0MDEy/v.swf哈,这个有点意思。大学毕业设计的时候用的就是Arduino,2560的板子 本帖最后由 yuheyan 于 2013-10-18 21:35 编辑
公布源代码供大家测试:
lua程序拷贝到FSX的module目录中,在FSUIPC4.INI文件中增加一条语句:
1= Lua flaptest
ino文件用arduino的IDE烧录到arduino UNO或者是nano板子上都可以,mega2560没测试过。
flaptest.lua源程序如下:
speed = 9600
handshake = 0
dev = com.open("COM36", speed, handshake) // 根据arduino的实际端口改
while 1 do
FlapRight = ipc.readSD(0x0BE4)
RFA = FlapRight * 180 / 16383
com.write(dev, string.format("%03d",RFA).."\n")
ipc.sleep(10)
end
arduino烧录程序如下:
String readString;
#include <Servo.h>
Servo myservo;// create servo object to control a servo
void setup() {
Serial.begin(9600);
myservo.attach(7);//the pin for the servo control
}
void loop() {
while (Serial.available()) {
char c = Serial.read();//gets one byte from serial buffer
readString += c; //makes the string readString
delay(2);//slow looping to allow buffer to fill with next character
}
Serial.flush();
if (readString.length() >0) {
int n = readString.toInt();//convert readString into a number
n = 180 - n;
myservo.write(n);
}
readString=""; //empty for next input
}
压缩包见附件
都是串口的,包括我自己做的也是串口的,请问有没有人会做USB口的呢? 不错 支持一下 支持一下哈哈。 啊见到大神了,我毕设时能不能找你帮忙啊 这个是脚本吗?寡闻了 支持啊~不久的将来就可以出现整个驾驶舱了~ 本帖最后由 yuheyan 于 2013-10-20 01:10 编辑
其实arduino可以做的事情很多,利用FSUIPC的lua plugin,几乎可以完成所有的实体座舱,包括插件机都行。涉及到的控制器,包括开关,按钮,各种轴,编码器,熔断器,告警灯,数码管,机械表等等都是可以的。这个实验只不过是抛块砖和大家分享一下arduio+FSUIPC的应用。 同样的道理,利用lua export将DCS的数据导出,做lock on的实体舱更有意思些。 很强大,请问楼主 FSX的数据是怎么输出到串口的? O点坐标 发表于 2013-10-30 21:09 static/image/common/back.gif
很强大,请问楼主 FSX的数据是怎么输出到串口的?
com.write(dev, string.format("%03d",RFA).."\n") yuheyan 发表于 2013-10-31 13:12 static/image/common/back.gif
com.write(dev, string.format("%03d",RFA).."\n")
楼主我最近在做usb输出的硬件,有兴趣加入群里一块讨论吗?146546402 牛人就是牛人,软硬件通吃,佩服楼主的精神。 不知楼主是否在PMDG上使用过FSUIPC我之前做的一个程序 在FSX重置(reset)或重启后 PMDGNGX的参数就取不到了 牛人啊,佩服! donot 发表于 2014-1-13 13:43 static/image/common/back.gif
不知楼主是否在PMDG上使用过FSUIPC我之前做的一个程序 在FSX重置(reset)或重启后 PMDGNGX的参数就取不到 ...
不是很清楚你的问题,你用LINDA去找一下PMDG NGX的内部命令集,写LUA脚本调用,跟FSX是否重置没关系呀。
yuheyan 发表于 2014-1-14 18:03 static/image/common/back.gif
不是很清楚你的问题,你用LINDA去找一下PMDG NGX的内部命令集,写LUA脚本调用,跟FSX是否重置没关系呀。
...
我用的是FSUIPC提供的Offset做的,没有用它的lua脚本,我回头试试lua的方式,方便加个qq不? 393470738 前方就是油门联动 {:soso_e179:} 本帖最后由 yiyp77 于 2014-2-13 13:23 编辑
这个真不错,谢谢分享。
SimTools 可以把游戏信息读出,然后用arduino+串口+舵机可以做仪表;
Link2FS 可以制作MCU控制面板;
有视频吗,还有fsuipc要怎么设置啊 舵机接在哪个口上 以前就是学单片机的~~~早就全丢了 求FSUIPC中的设置,,,, 楼主知不知道动态座舱变量在哪里找:lol 有点意思~ 尾巴点点 发表于 2015-1-10 08:51
舵机接在哪个口上
舵机红色(正极)连接arduino的5v,黑色(负极)连接arduino的GND,黄色(PWM)连接到arduino的7号Pin口(数字量) 哈哈,有点意思
页:
[1]