I'm working on a project where I want to send an email notification when a specific LED on my Dampp Chaser system (humidity control for a grand piano) turns yellow. This yellow light indicates that the system needs more water, but I'm worried no one will notice it in time. I'm new to Arduino and electronics in general, and I’ve used ChatGPT to come up with the following solution, but I’m hoping to get feedback from this community to see if it will work or if there's a better approach.
Here’s a link to the User Manual of the Dampp Chaser, so you can get the idea of what it is:
Problem:
The Dampp Chaser system has an LED that lights up yellow when it needs more water. I want to detect when the LED is lit and automatically send an email notification, so the system doesn’t run dry. The LED is connected via an RJ11 cable, which powers the light, and I'd like to avoid installing any visible sensors (like an external light sensor) on the piano itself.
Proposed solution:
Use an Arduino (ESP8266 or ESP32) to monitor the power going to the yellow LED through the RJ11 cable.
Connect the RJ11 cable to an RJ11 breakout board or a similar adapter to access the individual wires.
Measure the voltage or signal going to the LED using one of the Arduino's input pins.
When the signal is detected (indicating the LED is on), the Arduino would send an email via Wi-Fi, using an SMTP library or an IFTTT webhook, to notify that the system needs water.
Questions:
Does this seem like a reasonable approach for someone who is a beginner? Will monitoring the voltage from the RJ11 cable work, or is there a better way to detect when the LED is lit?
Are there any alternative solutions that might be more straightforward or better suited for my level of experience?
How can I ensure that the LED continues to function properly while also tapping into the signal to send a notification?
Any advice or suggestions would be greatly appreciated!
The wiring in the cable isn't described in the PDF so it's not clear if any of the wires will be ground. Without a common ground between the Arduino and the monitoring device, you can't measure the voltage. But there is another way: use an opto-isolator. This is basically another led which, with it's own series resistor, can be wired in parallel with the yellow led. It won't need much current, so hopefully it won't affect the brightness of the yellow led. The other side of the opto-isolator can be connected between an Arduino input pin and the Arduino ground. With an opto-isolator, there is no need for a common ground between the Arduino and the monitoring device.
Opto-isolators are also known variously as photo-couplers, photo-isolators, opto-couplers... A common type is PC812, but other forum members may be able to recommend a better alternative for this circuit. The series resistor is something you'd will need to experiment with. Start with 1K and try lower values if that does not work.
The existing code of the humidistat, or what do you mean? No idea how to hack that, or what kind of hardware it is, and I assume it has no wifi. Or am I misunderstanding you?
I had considered going the LDR route, but I was hesitant due to concerns about the aesthetics. Since this is a concert grand piano, having a visible sensor or box mounted in front of it might be a bit distracting. That said, if I can manage to make the sensor small and unobtrusive, it might still be an option worth considering.
However, my initial hope was to tap into the RJ11 cable that powers the LED and create a clean, hidden installation that would be invisible to anyone using the piano. This approach seems like it could result in a more elegant and seamless solution. Do you think tapping into the RJ cable to monitor the signal directly would be feasible for this type of application? Or would the LDR still be the better choice?
Thank you for the suggestion about using an opto-isolator!
That seems like a good way to achieve what I’m aiming for. I’m definitely interested in trying the opto-isolator route to keep the installation invisible and prevent interference with the LED circuit.
Just to confirm, with this setup, I would wire the opto-isolator in parallel with the yellow LED, right? The LED side of the opto-isolator would be connected to the same points as the yellow LED, and the other side (the transistor side) would connect between an Arduino input pin and ground. Once the LED lights up, the opto-isolator will trigger a signal to the Arduino.
Thanks again for your help! I’ll give this a try and see how it works.
If you are sure about the electrical situation at the RJ11 jack the opto-coupler solution will quite likely be a good solution. The advantage of using a LDR would be that it allows to detect the signal without any electrical access to the original system.
For the LDR solution I thought of this:
A LDR is a very small piece that can be placed in a black (3d printed) housing that fits just in front of the panel and it could be connected to the ESP32 with a decent cable length. (About two years ago I did something like that to detect the telephony led on my DSL modem/router.)
In worst case the led panel could possibly be moved to a place where it is not or less visible to the musician and audience.
However, if you like the RJ11 solution, just go for it!