A year ago we were asked to build this installation for the Oude Kerk in Amsterdam. This installation from Christian Boltanski had a sensor which, when triggered, will play an audio file. The light will always be on. The sensor was battery powered, the light was using mains voltage (220v).
We had to tackle 3 problems;
- Maintenance personnel needed to check if the sensor was still working and if the batteries were still charged.
- And get rid of mains voltage. This due to fact that the Oude Kerk was build out of wood, just like Notre-Dame — Paris.
- Easy way of adding sound files.
A normal usb-power bank to power both units. Build a custom led light. Arduino/ESP and a ultrasonic rangefinder to detect people walking by. DFplayer to play the sound.
My favorite weapon of choice are the overpriced Grove sensors. Within 2 minutes you have the hardware ready and you can start testing with code. Connectors are stable and you do not need to hassle with b-grade breadboards, cutting wires, wiggle resistors. It enables you to focus on the core functions.
- Light needed to be on all the time and was not interactive.
- When a user walked between 80 Cm ~ 130 Cm the sensored needed to trigger
- Then an audio file needed to play
- Meanwhile the sensor would not pick up a trigger
- When the file was finished playing the sensor was disabled for 30 Seconds
- After that the system was primed again for a new trigger.
Everything seems to work, next step is to make a custom PCB. The 2018 version was build within KICAD. It’s awesome. I only had through-hole components and a not so complicated layout. Matching the arduino pins with the right footprint was easy. There are enough footprints in the community to choose from. Up until this point it was not sure how we where going to power the led. So I added a double custom footprint with jumpers. That way we could choose what DC booster or Led driver we would need, depending on the choice. Uploading the gerber files to EasyPCB and wait.
A power bank is nice, but the unit needed to run for +8 hours. And a led consumes power, so we needed to know roughly how big the powerbank needed to be. A random power bank brand with a capacity of 8000mAh would run for 6 hours. Getting 15.000mAh power banks would do the job. By this time we replace the stock light with a 1W Warm-white led. Driven by a very common 350mAh LED driver, that also would support PWM.
I sourced a lot of part from Banggood, ebay, Aliexpress, Conrad. Some parts took 4 months, so I ended up ordering with extra parts because I needed it faster. Now I have a stack of 80 Ultrasonic units that I probably never going to use ;) After a good long night the board was complete.
What we needed to do differently
Sure, most of the times you can improve. Sometimes you think you made the right choice and in hindsight you didn't.
Do not use an Ultrasonic sensor
The ultrasonic sensor use sound to detect a difference in sound reflection. Meaning: it vibrates. Not a real problem, but the top cones of the sensors are glued in place. If the environment (Oude Kerk) is cold and a bit moisture they can come loose and render the unit broken. We have replaced 5 sensors in a total of 20 units, that is a big number.
We used a lot af screw terminals, handy but are too fiddly to handle. The jumpers were a nice idea, it made the board modular, thus also bigger.
The case was a stock one which we modified. Laser Cut speaker holes, custom acrylic inlay, custom spacers, custom pcb mount. Resulting in a longer build time. The speaker was hot Glued and holded nice. DC connectors where not so reliable, they are manually soldered and can not take daily handling. The wall thickness and the screw are not working nicely.
We used a static version, all values were hardcoded; Volume, detecting distance, delay. For this project it was okay and we never adjusted the timing of the software. But it would be nice for the users to adjust something. This unit had only one task and needed to work always. Leaving out options is also minimizing trouble.
From all the IO ports of the arduino we only used 4. But the fear of a design error made me tracing all inputs to unused IO options in the board. Just in case when we need an extra IO port, rewire something etc. Also leading to a larger board. I never used one of them.
Overall I spend 4 to 6 days actually working on it. PCB design took, for me, the most time. The waiting is of course free ;) With oversea shipping you never know how long it might take. Can be 2 weeks up to 12 weeks in the most extreme case. Sourcing the parts that fit; screw terminals, DC connectors/male/female, the right DC booster/LED driver. can be a tedious task. You need to be prepared to have a backup plan ready.
What went good
Overall the installation worked for 6 months 7 days a week +8 hours a day. We had only 5 sensors to replace and 2 DC connectors that needed resoldering.
What went even better
For the Tokyo exhibition we also produced the units. This time with all the learning from the previous build.