Shape Shifting Origami Desk Light: a Framework

by chilledmilk in Circuits > Electronics

485 Views, 10 Favorites, 0 Comments

Shape Shifting Origami Desk Light: a Framework

IMG_5489.jpeg

Hey makers (not haymakers, let's be clear)! I was hoping to come in here saying "I have a really cool tessellation desk light you can make that lights up, compresses, and expands with your touch!" I have to say, I took on more than I bargained for. BUT I've learned so much along the way and, at the very least, the light does turn on when you touch the hand made sensor. I came across a lot of information on shape memory alloy wires and programming them into crafts like these but the information is a bit scattered I will say. It'd be a shame not to share all that I've learned so you can all make this work (or an adjacent project) the way I (you!) envisioned :)

Whatever your result, patterns are awesome. More specifically, in this case, origami tessellations are awesome. This combines tessellations and interactivity. So, let's dive in!

Supplies

  1. Arduino Uno
  2. Conductive thread
  3. Jumper wires
  4. Copper tape
  5. 9V battery + jack connector for Arduino Uno
  6. 3 1.5V batteries + holder with + and - leads
  7. IRLZ44N N-Channel MOSFET OR TIP120 NPN Transistor
  8. Flexinol - 0.006" diameter
  9. Crimps for Flexinol
  10. Resistor(s) (values will depend on your calculations, which we will go through!)
  11. 1N4007 Rectifier Diode
  12. Blue Jewel LEDs (used for the Arduino LilyPad :D)
  13. Vellum paper
  14. Wool felt
  15. Wire stripper
  16. Soldering iron + solder
  17. Digital Multimeter (to check your current, voltage, etc. if you need to!)
  18. Lily Pad Coin Cell Battery Holders (optional, for if you want your lights to switch on and off without the sensor!)
  19. Sashiko thread + needle (optional)
  20. Origami paper (optional)
  21. 3V coin cell batteries (optional)

These are the materials I used for this endeavor. I specifically used the IRLZ44N MOSFET, vellum paper for the tessellation pattern, and wool felt for the capacitive sensors. You choose whatever material for the tessellation and the capacitive sensor you find most inspiring.

Take special note of the crimps. I used quite possibly the worst choice for crimps hence I will not link them here. I've linked a better choice of crimps - they can be easily held (very underrated when you choose crimps the size of a bed bug), crimped, and connected instead of soldered. The sashiko thread and needle are really intended to mount the Arduino to the vellum paper, but feel free to get more creative than time has currently allowed me!

Pattern Making

squareweave.jpg
Screenshot 2024-11-06 at 11.58.06 PM.png
Screenshot 2024-11-07 at 12.09.33 AM.png
Screenshot 2024-11-07 at 12.15.07 AM.png
waterbomb.jpg
fiveandfour.png
IMG_5455 2.jpeg

In case you're new to origami tessellations: Origami tessellations are, I would say, more of an exercise in engineering. It's about taking one piece of paper or other material and collapsing it into a series of repeated patterns. They range from simple to very complex. They're not only beautiful but also used in structural engineering, soft robotics, and fashion.

These are 3 awesome resources with tessellation patterns, folding instructions, and more!

Origami Tessellations: Awe Inspiring Geometric Designs by Eric Gjerde

Origami Tessellations for Everyone by Ilan Garibi

Origami by Michal Kosmulski

I chose 3 easy designs from Eric Gjerde's book - waterbomb, square weave, and five-and-fours. Now, you can take a design and begin folding a grid that the pattern requires. Or you can digitalize the process by using Fusion or another CAD software! I used Fusion.

  1. Take a screenshot of the pattern you want.
  2. Create a sketch in Fusion and draw a square at the origin that's the size you want your tessellation pattern to be. I drew an 8"x8" square to fit a 8.5"x11" piece of vellum paper.
  3. Import your screenshot on the face of the square you just drew in Fusion.
  4. Draw a series of lines along the lines of your screenshot to essentially trace the pattern. Make sure all your lines coincide to make 1 body.
  5. Extrude the sketch by whatever distance!
  6. Make a drawing by going to File>New Drawing>From Design

There you'll prepare your drawing to show all of your sketches (unhide) and hide your document sheet settings to be left with a drawing with nothing but your pattern. Export the drawing as a PDF, save it to your computer, and voila! You have a file you can now send to your laser cutter. You can certainly get a hold of a larger laser cutter and larger paper to make an even larger pattern (large one more time for those in the back). I used what I had access to at the time - a small desktop laser cutter called a Glowforge. I've attached the 3 patterns I designed in Fusion and exported them as PDFs for your own use! :D

Your Pattern + Flexinol

IMG_5478.jpeg
IMG_5479.jpeg
IMG_5481 2.jpeg

With your PDF file of you pattern, you can now upload this to your laser cutter. You won't be cutting but scoring the pattern. I found scoring the pattern helps with folding! It also allows you to visualize where your pattern will be folding in. This also takes a bit of troubleshooting. Each laser cutter has its power capacity. Some cut/score at a lower power setting than others. Make sure you check how your laser cutter scores and cuts.

Before you start folding, take a thin needle and poke small holes where you think you might want to feed the Flexinol through. Use folded waterbomb pattern pictures front and back to guide your thinking. In hindsight, I should've fed the Flexinol along the parts of the waterbomb pattern that would fold inwardly like a star. That way, when the Flexinol actuates, those parts of the pattern would fold in and out just like the pattern intends to fold. Cut 6 ft of Flexinol to go through the pattern and leave some overhang where you began to feed the wire and where you stopped. Once you feed it through, use a crimp and crimp both sides of the Flexinol wire.

The Flexinol gets curly and tangled the more you feed it through so use tape to hold it in place. I used copper tape. Remove the tape once you've fed the entire wire through. Also, handle the Flexinol with care! As the Flexinol gets more tangled and makes what I call "death loops" it will actually rip in trying to straighten out those loops if done harshly.

Circuit + Wiring

Screenshot 2024-11-11 at 12.11.04 PM.png
IMG_5471.jpeg
IMG_5435 2.jpeg
IMG_5483.jpeg
IMG_5472.jpeg
IMG_5485.jpeg
Screenshot 2024-11-11 at 10.22.25 PM.png

This circuit is comprised of 3 different sections: 1) the capacitive sensor, 2) the Flexinol circuit, and 3) the blue LED.

In layman's terms, this circuit very simply detects conductivity at the capacitive sensor and thus actuates the Flexinol wire and turns on the blue LED as long as there's a conductive object touching the capacitive sensor.

Capacitive sensor:

Components: Jumper wires to Arduino pins 4 and 5, 1M ohm resistor, Jumper wire to your capacitive sensor.

Jumper wires between 2 pins on the Arduino instills communication between them. A resistor has to be large to make your capacitive sensor more sensitive. So a resistor in the Megaohm range would do it. I used wool I felted and a spiral of copper tape to make my capacitive sensor. DON'T FORGET: Just because copper tape is overlapped does NOT mean it's electrically connected. Be sure to add solder pads where 2 copper tapes meet. Take this knowledge with you as you transfer your circuit onto paper with copper tape. So, when you go around making your spiral of copper tape (and beyond), don't forget to solder anywhere you've joined tape pieces.

Blue LED:

Components: Blue jewel LED, Jumper wire to pin 6, Jumper wire from Ground

Just like you would wire a circuit for an LED on an Arduino, so too here! Except these LEDs already have a built in resistor so all you need is to attach the + side of the LED to pin 6 on the Arduino and connect the - side of the LED to ground. I sewed the LED with conductive thread onto a square on the waterbomb pattern that, after a preliminary fold, I determined would not be hidden in a fold. This will also depend on you and where you yourself would like to place the LED!

Flexinol circuit:

Components: N-Channel MOSFET, Diode, 5 ohm resistor, external ~5V battery, Jumper wire to Arduino pin 5 (Note: if you're not connecting to pin 5 for whatever reason, make sure you use a pin with a "~". This indicates the pin uses PWM.)

The circuit you see in the wiring diagram and in my subsequent copper tape configuration is a circuit that works!... for a 2-3 inch piece of Flexinol wire. For this project, I cut a ~6ft piece which is around 72 inches.

Having said that, let me just give you a quick breakdown:

  1. Arduino Uno - The Uno can't supply enough current directly to the Flexinol.
  2. MOSFET - Because the Uno can't supply enough current to the Flexinol, a transistor, in this case, a MOSFET will switch the power to the wire on and off (I attached the datasheet!).
  3. Diode - This protects against electromagnetic fields and although it's used for loads that convert electrical current to a magnetic field, I decided to use it here.
  4. External 5V supply - Forums have stated the Uno can't supply enough current to the Flexinol. However, based on further research, the Uno can apparently supply up to ~2A of current. Well, that should be enough since our Flexinol can withstand up to 0.410A, right? The gist of it is Flexinol wire (ours in particular) activates at 90 degrees Celsius. The Arduino is, again, incapable of providing that much current and voltage to the wire because it may overheat and ultimately damage the board. And while the board can supply up to ~2A, each Arduino pin can only supply 20-40mA which is considerably less than we need. I tested it without the external 5V supply and it didn't yield any functional test results. So, we will keep our external power supply.
  5. Flexinol + Resistors - This is where the real math comes in. Flexinol wire requires not only a specific amount of current to heat up/contract but it carries it's own resistance value as well. We need to determine what our remaining resistor value should be to keep our current at bay. Datasheet and picture of Flexinol specs also attached! :)

We can calculate our current limiting resistor!

  1. Diameter of wire: 0.006"
  2. Length of wire: 72"
  3. Resistance of wire: 55 ohms/m (this is one of the specifications for our 0.006" diameter Flexinol)
  4. 72" = 1.8288 m (quick conversion from inches to meters)
  5. Resistance of wire = 55 ohms/m * 1.8288 m = 100.584 ohms
  6. To limit current to 0.410A:
  7. Use Ohm's Law: V (voltage) = I (current) * R (resistance)
  8. We're using a ~4.5-5V power supply (3 AA batteries), so: R(total) = 4.5V/0.410A = 12.195 ohms
  9. The total resistance needed is 12.195 ohms but the wire's resistance is 100.584 ohms. We're trying to find our missing resistor but it seems like our total resistance exceeds the wire's resistance. If we were to subtract 12.195 ohms from 100.584 ohms we would get a negative number.
  10. This means 5V is insufficient to actuate our wire. Our wire is either too long or we need a larger external power supply.

And so 'twas the demise of the shape shifting portion of this instructable. However, knowing this now, and having naught but 68 minutes to submit my entry, I will come back and update you all but please have at it in the meantime!

Code

The "paper_circuit_allcomponents" code reads the capacitive sensor conductivity and determines whether it's being touched or not. If the former, the blue LED will turn on and the Flexinol (or shape memory alloy/SMA wire) will activate (or actuate). If the latter, the blue LED will turn off and the Flexinol will deactivate. This will also display on the serial monitor for your reference!

The "mosfet" code is the best code for troubleshooting the Flexinol circuit. This is one of the biggest challenges of the project. BUT this code will definitely allow you to determine how much current is running through your wire. The max amperage for our 0.006" diameter wire is 410mA or 0.410 A so it's imperative we keep the current limited to this amperage. This code uses Pulse Width Modulation (PWM) to gradually heat the Flexinol wire up, hold for 1 second, gradually cool the wire down, and wait 1 second before it repeats all over again. When this happens and you connect your DMM within the circuit, you can actually see the current go up and down. It'll even actuate your Flexinol wire! The ultimate point of doing this is so that you can see what the max current is flowing the circuit before it decreases. That way you're able to assess whether you're going over 0.410A or staying a little below it. For good measure, stay a little below it.

If you're new, remember when you're measuring current that 1) you have to break your circuit to measure current, and 2) make sure your DMM leads are on the COM (black lead) port and the 10A port (red lead), then turn your DMM dial to the highest current setting to prevent blowing a fuse in your DMM.

Donezo! (Sort Of)

IMG_5490.jpeg

Here's what did end up working! While the "shape-shifting" portion didn't work because my wire was too long and/or my external power supply voltage was too small, I know that now! That's the true cycle and pattern all of us kindred maker souls face when we're coming up with an idea, designing, and diving straight into the build. It's always iterative, repetitive, but beautiful. Take these tips with you and I will return! With that I say, tessellate here, out there, and beyond, gentle warriors.