2018-06-26 23:12:11 +01:00

83 lines
2.0 KiB
JavaScript

const LPF2 = require("..").LPF2;
const lpf2 = new LPF2();
lpf2.scan(); // Start scanning for Vernie
console.log("Looking for Vernie (Please turn on the Hub now)...");
lpf2.on("discover", async (vernie) => { // Wait to discover Vernie
let running = false;
lpf2.stop(); // Stop scanning for Vernie (We've just found him!)
await vernie.connect(); // Connect to Vernie
console.log("Connected to Vernie!");
// Waiting for a hand wave
vernie.on("distance", async (port, distance) => {
if (running || distance > 100) {
return;
}
running = true;
await vernie.sleep(500);
// Shake head
await vernie.setMotorAngle("D", 40, 20);
await vernie.setMotorAngle("D", 80, -20);
await vernie.setMotorAngle("D", 40, 20);
await vernie.sleep(500);
// Turn right
await vernie.wait([
vernie.setMotorAngle("A", 50, 10),
vernie.setMotorAngle("B", 50, -10)
]);
// Shake head
await vernie.setMotorAngle("D", 40, 20);
await vernie.sleep(500);
// Turn left
await vernie.wait([
vernie.setMotorAngle("A", 100, -10),
vernie.setMotorAngle("B", 100, 10)
]);
// Shake head
await vernie.setMotorAngle("D", 80, -20);
await vernie.sleep(500);
// Turn right
await vernie.wait([
vernie.setMotorAngle("A", 50, 10),
vernie.setMotorAngle("B", 50, -10)
]);
// Shake head
await vernie.setMotorAngle("D", 80, 20);
await vernie.setMotorAngle("D", 40, -20);
await vernie.sleep(500);
// Move forward
await vernie.setMotorAngle("AB", 200, 10);
// FIRE!
await vernie.setMotorAngle("D", 80, 20);
await vernie.setMotorAngle("D", 80, -20);
// Move back
await vernie.setMotorAngle("AB", 200, -10);
running = false;
});
});