Glowing Squeezable Ball

by Duruo in Circuits > Microcontrollers

35 Views, 1 Favorites, 0 Comments

Glowing Squeezable Ball

Project demo - glowing squeezable ball
Project demo - glowing squeezable ball Bluetooth color picker

A ball that lights up different areas when you squeeze different areas. Pick colors through Bluetooth connection.


See my code here:

https://github.com/starryDuruo/Glowing-Squeezable-Ball/blob/main/glowball.py

and my BlueSky account:

@duruo26.bsky.social

Supplies

You can get any ball to hold electronics. I made mine following this medium-sized round ball crochet pattern.

Circuit Playground Bluefruit, and its bolt-on kit.

6 force-sensitive resistors, working in pairs with 6 10k ohm resistors.

26 LED lights. I cut 26 from Adafruit NeoPixel Pebble / Seed LED Strand.

Other materials and tools: USB cable, scissors, plier, alligator clips, paper tape, bobo balloon(a latex bag), balloon pump, sealer, battery pack, polyester filling.

The Circuit

11421742413916_.pic.jpg
11431742413918_.pic.jpg
11441742413920_.pic.jpg
11451742413922_.pic.jpg
11461742413924_.pic.jpg
11471742413927_.pic.jpg
11481742413929_.pic.jpg

Attach the LED strand on pad TX. Follow Prof.G's tutorial on wiring.


Attach the 6 force-resistive sensors on pads A1 through A6.

Note that force-resistive sensors produce analog input, which pad TX cannot accept.

  1. Attach one end of each of the 10k ohm resistors to A1 through A6, the other end to ground. You can solder it on the board, but I want to reclaim the board later for other purposes so I just used a plier to clamp it tightly on the pads.
  2. Make sure the wires don't touch each other. Wrap paper tape around to help.
  3. Use alligator clips to test each one to make sure the connection works.
  4. Although it's a ball, think of it as a cube. Stick the 6 force sensors on the center of 6 faces of the cube, so that they space evenly. Use the strand for alignment. The ends point towards wherever you place the Circuit Playground Bluefruit, use paper tape to secure it.
  5. Wire one end of the force sensor to power, the other end to the section of the wire in between 10k ohm resistors and the A pads (not the ground). Force sensor acts as a voltage divider, if you know what that means (I don't).
  6. Do not solder directly on the force sensor because it could melt. I just wrap the wire around, you can check this page for other ways of connecting to it, but alligators are too big and heavy for this project.

Wrap the LED Strand

11491742413931_.pic.jpg
WechatIMG1154.jpg

Again, think of it as a cube. Place one LED light on the center of each of the 6 faces, 12, sides, and 8 corners. 26 in total, spaced evenly. The way I do it is to wrap it around first and then trace the layout, counting the sequence of LED lights corresponding to the positions of force sensors. Use paper tape to secure each LED light. Wrap the whole ball with cling wrap so the wires don't poke around in the next step. Choose a Bobo balloon that's about the same size as the ball.

Outer Shell

11501742413933_.pic.jpg
11511742413935_.pic.jpg
11521742413937_.pic.jpg
11531742413939_.pic.jpg
11551742413943_.pic.jpg
11561742413946_.pic.jpg

See this video for how to deal with the Bobo balloon.

Stretch, blow, release, cut open a balloon, and squeeze our ball into it.

Check that the circuit still works.

Seal the balloon, and stuff some polyester fillings. Repeatedly blow and release the balloon with air to make room for the polyester fillings.

Adjust parameters for force sensing in the code. The numerical range of input you will get when not squeezing and squeezing depends on the physical structure of the ball.

Unplug from the laptop and switch to a battery pack instead. Stuff some more polyester fillings.

Done!