From f431421be9f4d5a7ee53437660fcdef15d30add5 Mon Sep 17 00:00:00 2001 From: Kotaro Terada Date: Tue, 6 Nov 2018 13:46:41 +0900 Subject: [PATCH] Update a project file --- ARDroneForP5_Sample.pde | 51 +++++++++++++++++++++++++++++++++++------ 1 file changed, 44 insertions(+), 7 deletions(-) diff --git a/ARDroneForP5_Sample.pde b/ARDroneForP5_Sample.pde index 5ced5d0..3252969 100644 --- a/ARDroneForP5_Sample.pde +++ b/ARDroneForP5_Sample.pde @@ -2,8 +2,10 @@ import com.shigeodayo.ardrone.processing.*; ARDroneForP5 ardrone; +char state='n'; + void setup() { - size(320, 240); + size(640, 360); ardrone=new ARDroneForP5("192.168.1.1"); // connect to the AR.Drone @@ -20,7 +22,7 @@ void draw() { background(204); // getting image from AR.Drone - // true: resizeing image automatically + // true: resizeing image automatically; // false: not resizing PImage img = ardrone.getVideoImage(false); if (img == null) @@ -37,6 +39,8 @@ void draw() { float altitude = ardrone.getAltitude(); float[] velocity = ardrone.getVelocity(); int battery = ardrone.getBatteryPercentage(); + + float vx = velocity[0], vy = velocity[1]; String attitude = "pitch:" + pitch + "\nroll:" + roll + "\nyaw:" + yaw + "\naltitude:" + altitude; text(attitude, 20, 85); @@ -46,20 +50,25 @@ void draw() { text(bat, 20, 170); } -//PCのキーに応じてAR.Droneを操作できる. +//PC AR.Drone // controlling AR.Drone through key input void keyPressed() { + if (key == CODED) { if (keyCode == UP) { + state='f'; ardrone.forward(); // go forward } else if (keyCode == DOWN) { + state='b'; ardrone.backward(); // go backward } else if (keyCode == LEFT) { + state='l'; ardrone.goLeft(); // go left } else if (keyCode == RIGHT) { + state='r'; ardrone.goRight(); // go right } else if (keyCode == SHIFT) { @@ -69,10 +78,36 @@ void keyPressed() { ardrone.landing(); // landing } - } + } else { if (key == 's') { - ardrone.stop(); // hovering + if(vx > 30){ + ardrone.parallel(,); + } + //switch(state){ + // case 'f': //if current move is forward + // ardrone.backward(); + // delay(1500); + // break; + + // case 'b': //if current move is backword + // ardrone.forward(); + // delay(1500); + // break; + + // case 'l': //if current move is right + // ardrone.goRight(); + // delay(1500); + // break; + + // case 'r': //if current move is left + // ardrone.goLeft(); + // delay(1500); + // break; + + // default:break; + // } + //ardrone.stop(); // hovering } else if (key == 'r') { ardrone.spinRight(); // spin right @@ -101,6 +136,8 @@ void keyPressed() { else if (key == '5') { ardrone.toggleCamera(); // set next camera setting } + else if (key == 'e'){ + ardrone.parallel(-5,5); + } } -} - +} \ No newline at end of file -- 2.22.0