• Hey folks

    Just want to share something I did over the weekend with puck.js. It's pretty simple, but it makes me very happy that it worked so smoothly! It's a physical knob controlling a virtual slider in parametric design tool Grasshopper 3D.



    2 Attachments

    • 00100dPORTRAIT_00100_BURST20200518111700899_COVER.jpg
    • 00100dPORTRAIT_00100_BURST20200518111632228_COVER.jpg
  • Looks great! Its nice to play with physical buttons and knobs in the world of touchscreens and virtual UIs.

  • Has the look of a metal case... but I assume it is some kind of plastic / fiber glass reinforced at best to not impact RF.

  • It's actually what I had in my drawer of enclosures, and I think it's actually aluminum, but for my silly use case, it works well enough, it's not blocking the RF connection. But it's a hack, a proper product design would change to a square form factor to be more composable with multiple knobs, and I would replace the top side of the box with glass-like black material.

  • That's great! How does it work? BLE HID?

  • Nope, not HID.

    The desktop application side is listening for events that are incoming from a ROS topic over a websockets connection (with roslibpy).

    The bridge between puck.js and ROS is a very trivial webpage (source) that connects to the puck.js, and starts an interval to send over the knob's value (an analog pin read) (and also the capsense value, that I didn't use so far). That same page publishes the value to ROS topics via websockets as well.

    All and all, it's extremely simple, but it uses a bunch of very unrelated technologies. ;)

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview

Physical knob for virtual sliders in parametric design

Posted by Avatar for gnz @gnz