马上注册,玩转Robomaster!
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 LittleQiang 于 2015-3-10 21:18 编辑
厂家发货你的速度能够快一点吗!!!
前几天发了一篇用Processing玩游戏的帖子,不过游戏还是没有写好,能力有限。
然后又想起自己用软件调试遥控器参数的软件,感觉挺好玩的,趁着元器件在路上,花了两个小时程序谢了出来!!
菜鸟一枚,没有学过Jave编程,只是看着processing的参考例程码出来的!!
不喜勿喷!!!
- //Date:2015/3/10
- //Editor:LittleQiang in NCHU
- //Version :1.0
- //运行环境:Processing2.2.1
- import processing.serial.*;
- Serial myPort; //The serial port
- String myString ; //Input string form serial port
- int SerialFlag=0;
- float min =364; //遥控器最小值
- float max =1684; //遥控器最大值
- float [] Buffer =new float[6];
- float [] ch = new float [4];
- float [] s =new float [2];
- void setup()
- {
- size(1200,480);
- frameRate(1000);
- background(0);
- smooth();
-
- println(Serial.list());
- myPort=new Serial(this,Serial.list()[0],115200); //打开串口,设置波特率为115200
- myPort.bufferUntil('\n'); //从串口读数据直到遇到\n
- }
- void draw()
- {
- background(0);
- if(SerialFlag==1) //不断轮寻看是否发生串口中断
- Text();
- }
- void Text()
- {
- fill(#3833DB);//bule
- textSize(32);
- text("Robomasters",width/2-100,32);
-
- textSize(16);
- text("\nCH0 :"+ch[0]+"\n\nCH1 :"+ch[1]+"\n\nCH2 :"+ch[2]+"\n\nCH3 :"+ch[3]+"\n\nS1 :"+s[0]+"\n\nS2 :"+s[1],0,100); //显示各个通道的数据
-
- for(int i=0,x=17;i<6;i++)
- {
- stroke(255);
- fill(#F70724);
- rect(110,112+i*3*x,200,16);
- }
-
- for(int i=0,x=17;i<6;i++)
- {
- stroke(255);
- fill(#461CBC);
- if(i<4)
- rect(110,112+i*3*x,map(ch[i],min,max,0,200),16); //显示四个通道
- if(i>=4)
- rect(110,112+i*3*x,200.0/3*s[i-4],16); //两个开关
-
- }
- stroke(255);
- fill(0);
- rect(400,85,720,340);
-
- stroke(255);
- fill(#3B1AAA);
- rect(470,155,200,200);
-
- stroke(255);
- fill(#3B1AAA);
- rect(850,155,200,200);
-
- stroke(#3B1AAA);
- fill(#836D73);
- ellipse(map(ch[2],min,max,480,660),map(ch[3],max,min,165,345),20,20); //拨杆
- ellipse(map(ch[0],min,max,860,1040),map(ch[1],max,min,165,345),20,20); //拨杆
-
- }
- void serialEvent(Serial p)//via serial port get the inputStringData//串口中断
- {
-
- myString=p.readString();
-
- if(myString !=null)
- {
- myString=trim(myString);//jump to the '\0',trim off any whitespace
- String [] inputStringData=split(myString,',');//Convert the speed separated by a comma into individual values
-
- for(int i=0;i<6;i++)
- {
- Buffer[i]=float(inputStringData[i]);
- print("\t",Buffer[i]);
- }
-
- //updata ch
- for(int i=0;i<4;i++)
- {
- ch[i]=Buffer[i]; //更新通道数据
- }
-
- //
- for(int i=0;i<2;i++)
- {
- s[i]=Buffer[i+4]; //更新开关数据
- }
-
-
- println();
- SerialFlag=1; //mark the serial flag
- }
- }
复制代码
本来想发视频的但是视频只能用QuickTime播放
|