So, a little while ago I received a present.
A old, mid 2000’s Stereo System!
This one features a CD player (that does not work), USB port for playing MP3’s, and a LCD with broken backlight.
And even a remote control!
Now, I already have a adequate stereo system, specifically a Philips FW C28 Mini HiFi from 2000, to which I have added a DIY Moode MP3 system.
So as a regular everyday audio system, this present would not suffice.
However, the fact it came with a IR remote control was a interesting prospect, having worked with Arduino IR receiver modules before, I was confident I could control it using code.
I first contemplated having it play elevator music, as made by the wonderful and talented Kevin MacLeod, when I pressed a conveniently placed button.
As a way of putting people on hold when I had to fetch something.
However, this plan was foiled by
1. Not really having visitors over often enough for that to make sense.
2. Not having any free walls to mount this thing.
This was a major obstacle, since this thing is essentially a giant, wall mounted MP3 Player, and I’m all out of walls.
Since all the free wall space was already used for holding up tools, space paraphernalia, shelving units, whiteboards, or just plain windows.
That is, with the exception of the toilet.
So, after a few days of consideration and digging up some old parts from my attic, I started building.
The general idea is, that when sitting on the ceramic throne, a selection of relaxing elevator music would play, which would stop upon leaving.
Nothing more, nothing less.
I started by using a DRAKON editor to plan out the code structure.
DRAKON is a programming visualization / flow chart system made for the Russian Buran shuttle program, which is why I wanted to try it out.
After having done that, I got to work in Fusion 360 designing a mount for the two sensors.
Namely the HC-SR4 ultrasonic distance sensor and HC-SR501 PIR motion sensor.
The logic behind using both a distance and a motion sensor is to reduce latency between entering and music actually playing.
Because it takes the player roughly 6 seconds to go from off to ready, I want it to turn on as soon as possible.
This way, it should begin turning on when the door is opened, meaning its ready to rumble when the user sits down.
This was then printed on my Ender 3 V2 3D printer, and had the sensors glued in.
I then found myself a Arduino Uno and a IR receiver, and digitized the codes sent by the remote.
Having done that, I replaced the IR receiver with a IR LED, wired up the sensors, and mounted it all on my wall.
That’s when the debugging could begin:
Problems quickly showed themselves when the distance sensor only gave values below 7 cm’s
Unrelated to where it was looking or what code I tried.
Turns out, the 2 speaker / sensor modules are angled ever so slightly towards each other, making the two ultrasound bounce off each other and back to the sensors.
This was “Solved” by adding a blinder in between the two sensors, which I had quickly improvised from some cardboard and hot glue.
With the distance sensor in working order, it was just a question of fixing the bugs and finalizing the code.
Some testing later, and it worked!
For those wondering about the sign:
“But the plans were on display…”Douglass Adams, The Hitchhiker’s Guide to the Galaxy
“On display? I eventually had to go down to the cellar to find them.”
“That’s the display department.”
“With a flashlight.”
“Ah, well, the lights had probably gone.”
“So had the stairs.”
“But look, you found the notice, didn’t you?”
“Yes,” said Arthur, “yes I did. It was on display in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying ‘Beware of the leopard’ “
Speaking of signs, I also printed one:
With all this “Mounted” and powered, the system is in daily use now.
There is the additional caveat, that due to the lack of any wall outlets on the toilet (cause who would ever want to plug in some kind of electronic music player on the toilet), a workaround was performed where a extension cord goes from the kitchen trough the door.
This is a problem, because now the door can not be shut.
I plan to fix this by drilling or otherwise wiring some mains into there, but for now it just can’t be locked…
Now you may be asking, why have I done this.
Well, I don’t have a good well thought out reason to need this, cause nobody needs this.
However, I wanted to do a project with a distance sensor, and was really quite bored.
So I did this, to keep myself busy.
And, as a bonus, it is really quite silly.
I would have done something rocketry related, but all my current rocket ventures are too long term for that, or required materials not on hand.
More rocketry stuff is coming Soon™, but circumstances have caused some delays in that department.
As a side note, 5 people have already said to me they want one too, so work has started on making a small batch of practical versions, employing only a distance sensor and a small MP3 board as substitute for the giant wall mounted system I used.
No ETA is provided, but if I can secure the funding I will make these, and sell them trough my website.
And lastly, I want to apologize to anyone who subscribed to my newfangled mailing list, expecting updates for rocketry content.
The thing is, this website was made as, and remains a blog for any and all projects I find interesting enough to share, which, seeing as I mostly do rocketry, is something even I sometimes overlook.
Rocketry content will follow when funding and time allows it to, but for now I made this.