Downtown Interactive Tree Installation with Piezo Pickup



  • A few weeks ago I spoke with Tanya from KCBIA about doing some sort of interactive tree project for this year. She mentioned that she had seen an impressive tree, in another city, that would react to music. I thought that was a good project to start with. I did not know anything about the said tree and the details of how it was visualized, but I thought I could do something cool that would fit that general description. Here is the tree that they assigned me:

    tree_before.jpg

    Design

    At first I wanted to do something that was technically challenging; I was looking into ways to do spectrum visualization, but that seemed to make things overly complicated. To me the goal of the project was to acknowledge playing music with some mesmerizing animations. So I ended up designing something much simpler that would react based on the sound amplitude. Here are the list of main components in this project:

    • 40 meters (8 x 5m) of the individually addressable LED strips: ws2812b
    • Arduino uno
    • Piezo pickup
    • Some 22ga wires as well as some recycled power cord wires
    • A computer power supply
    • One potentiometer and one LED indicator
    • Eight 1000 to 2000 microfarad dielectric capacitor that I salvaged from our recycling circuit board box

    I started with a picture of the tree and had a little brainstorming session with @hdsheena about where the lights could go. This is what we came up with:

    Downtown CBC BMO Tree.png

    Assembling

    I had to estimate the amount of wire I needed to make for each string. I cut off the plug at the end of each string and used the wires I had to make a quick connect extension for them. The strips had an extra wire for power and ground and I used that to attach a capacitor to each strip.

    cap.jpg

    On the other side I used the common power supply connectors (4pin molex). Wiring was pretty straight forward; all 8 strings where wired in parallel, sharing power and signal. I soldered everything to make sure connections do not break during installation.

    22674691544_93de94b825_z.jpg
    22935172799_88b491a4f3_z.jpg

    Coding

    I followed this tutorial to get started and used the Adafruit neopixel library. I started with writing a simple code that would animate a variable light segment from begining to the end of the strip. Then I added the analog input code to constantly read the value from the piezo pickup. I also added a bit of random sprinkling and colour changing when input value is high. I think the best feature of the animation is the change in the speed. While idle the light segments move slowly, but as it receives analog input, it starts to speed up. The full source code that is running on the tree right now is on github.

    Well that was all the easy part, the really difficult part of the project was installing the control box and the lights on the tree. Luckily I had help!

    Installation

    I met up with Brian Purves and his team from the city arboriculture department Thursday morning to do the install. Up until then, I had no idea how this project could possibly be installed. To me the tree looked very difficult to climb. Those guys are amazing! they are really really good at what they do. They were extremely careful not to break or damage the strips. They also made sure all of them face down and there where no twists in them.

    23330449855_d59935aa96_b.jpg
    22703293413_46e0f6bfd1_k.jpg

    All lights and wiring were attached to branches using zapstraps. They even added some electrical tape to protect them from elements. They understood the project really well and had really great suggestions about where the lights would work more effectively. I am really thankful of all their hard work.

    23302513036_5033c64194_k.jpg
    23304326466_67b4502b4f_k.jpg
    23034677860_56e82bb9c2_z.jpg

    Here is a snapshot of the tree in its idle state. The little light sections keep moving up slowly:
    23252521921_367723f10b_b.jpg

    If you play any instruments, please feel free to take it downtown (on the corner of 2nd street and Victoria) and plug into the tree. I have never done something like this before; I would love to hear your feedback and suggestions here. Thanks!

    23039176860_2bfc40d4b8_b.jpg



  • Time for some thread necromancy:

    On my way back to the space last night, the tree was lit up and looking good. So I shot some video:

    Some sections of neopixels look like they are not working any more, but overall it is standing up to the weather surprisingly well.


  • Member

    @pierre “this video is private”



  • @Chainmaildave Oops. That should fix it.



  • Thanks @pierre ! I have to go and check on it now and see how it works when you plug it in. Thanks for this! :smile:


Log in to reply