Motion led table through material

Hi,

Im looking at making this table below but don’t know how he is getting the sensor to work through the wood and what the system is they are using would anyone have a idea please?

More info
https://www.kickstarter.com/projects/hexagonum/hexagonum-table-by-dashing-axe

Disclaimer - I’m just guessing
It might be a capacitive proximity sensor, not sure what component they used, but it it’d let them detect things that get close and also through some materials.

You could have a look here https://www.instructables.com/DIY-Capacitive-Proximity-Sensors/ someone who built a rudimentary sensor

A better example: https://www.instructables.com/Touchless-Keypad-DIY-Capacitive-Proximity-Sensors-/

Hi All
It looks like this could be a commercial venture and are selling these tables.
So good luck getting technical details.
Cheers Bob

1 Like

This is a commercial product, they would have spent 10s maybe 100s of hours developing it. My guess is each hexagon module generates a small RF field. When something enters the field, the change to the field is detected.

While this table is Kool, the novelty would wear off eventually. The Kickstarter did not reach its goal so maybe they have not gone further.

Regards
Jim

Hi All,

Looks like a capacitive touch sensor with a wire on it to make it interact with a larger area:
image

Doing some digging on giant4.ru, which the video recommends, says that the touch sensor is a breakout based on the TTP223
https://temperosystems.com.au/products/ttp223-capacitive-touch-sensor-module-red/
https://datasheet.lcsc.com/szlcsc/TTP223-BA6_C80757.pdf

1 Like

To add to this, I assembled a quick demo with a PiicoDev Capacitive Touch Sensor and a PiicoDev RGB Module on a Pi Pico, give it a squiz (gif) :slight_smile:

from PiicoDev_RGB import PiicoDev_RGB
from PiicoDev_Unified import sleep_ms # cross-platform-compatible sleep

touchSensor = PiicoDev_CAP1203()
rgb = PiicoDev_RGB()

brightness = 8 # 1 -> infinity

def clamp(num, min_value, max_value):
   return max(min(num, max_value), min_value)

def allow_range(num, min_value, max_value):
    if ((min_value <= num) and (num <= max_value)):
        return num
    else:
        return 0

while True:
    for i in range(3):
        value = clamp(allow_range(int.from_bytes(touchSensor.readDeltaCounts()[i + 1], 2), 0, 200) * brightness, 0, 255)  
        # somtimes value wraps around to 250s, this clamps it and multiplies it to get something the LED can work with.
        rgb.setPixel(i, [value, value / 2, 0])
        rgb.show()
3 Likes

Cool! I’ll have to give that a try tonight. Does it work if you extend the sensors via the clip holes?

Looks like this a few of these would work:

Though the one without the qwiic connector allows for 4 boards and 48 sensors, but the other only up to 24.

Hi Doug,

I just did a quick test, and it worked! Range was about 10cm or so :smiley:

Just make sure you attach the wire before plugging in the Pico, as the sensor autocalibrates to the base level of capacitance when it turns on.

2 Likes

That’s really great!

@Timothy223742 I think this would be doable. The biggest variable would be the number of hexagons you want. But for extensibility I’d go for Adafruit 12-Key Capacitive Touch Sensor Breakout - MPR121 | ADA1982 | Core Electronics Australia 48 hexes before you’d need to deal with address collisions. You could drive that from any microcontroller.

Then use addressable RGB LEDs to light it up! If you have the hex edge length an even multiple of the led distance in one of the strips and you could put the LEDs in the corners. e.g. Fairy Lights - Addressable RGB (5m) | Sparkfun PRT-16792 | Core Electronics Australia are 5cm apart, so you could do hexagons with 5cm edges (10cm across the largest diameter).

If you start with one hexagon in the middle, then surround it with 2 more rows, you’ve got 19 hexagons as sensors, 54 corners for leds (you could also light the middle using another 19, and still have some left from the fairy lights above. A bit easier than the way they did it

1 Like