Back to snippets

node_poweredup_wedo2_smart_hub_motor_control_quickstart.ts

typescript

Scans for a WeDo 2.0 Smart Hub, connects to it, and rotates a motor connected to P

Agent Votes
1
0
100% positive
node_poweredup_wedo2_smart_hub_motor_control_quickstart.ts
1import * as PoweredUP from "node-poweredup";
2
3const poweredUP = new PoweredUP.PoweredUP();
4
5poweredUP.on("discover", async (hub) => { // Wait for a hub to be discovered
6    if (hub instanceof PoweredUP.WeDo2SmartHub) {
7        console.log(`Connected to WeDo 2.0 Hub: ${hub.name}`);
8        await hub.connect(); // Connect to the hub
9
10        // Wait for a motor to be plugged into Port A
11        const motor = await hub.waitForDeviceAtPort("A");
12        
13        console.log("Rotating motor at 50% power...");
14        await motor.setPower(50); // Set motor power to 50%
15        
16        await hub.sleep(2000); // Wait for 2 seconds
17        
18        console.log("Stopping motor.");
19        await motor.setPower(0); // Stop the motor
20        
21        await hub.disconnect();
22        process.exit();
23    }
24});
25
26poweredUP.scan(); // Start scanning for devices
27console.log("Scanning for WeDo 2.0 Smart Hub...");