Modular Music Box – Notes to Mike Cook 2
So sticking with the winder as a starting point I’ve collected together some of the components and internal fixings…
I supply..
The acrylic top plate with 12 orange 3mm LEDs and a rotary encoder glued in and wired up (all but the encoder button are soldered) – the one quirk being that I got the blue and purple strands of the ribbon cable out of order… so with the panel face up and micro usb breakout board etching at the bottom the LED configuration is:
12 o’clock – white – anode – MAX7221 22 SegDP/white – common cathode – MAX7221 2 Dig0
1 o’clock – grey – anode – MAX7221 14 SegA/white – common cathode – MAX7221 2 Dig0
2 o’clock – blue – anode – MAX7221 16 SegB/white – common cathode – MAX7221 2 Dig0
3 o’clock – purple – anode – MAX7221 20 SegC/white – common cathode – MAX7221 2 Dig0
4 o’clock – green – anode – MAX7221 23 SegD/white – common cathode – MAX7221 2 Dig0
5 o’clock – yellow – anode – MAX7221 21 SegE/white – common cathode – MAX7221 2 Dig0
6 o’clock – orange – anode – MAX7221 15 SegF/white – common cathode – MAX7221 2 Dig0
7 o’clock – red – anode – MAX7221 17 SegG/white – common cathode – MAX7221 2 Dig0
8 o’clock – white extension – anode – MAX7221 22 SegDP/grey – common cathode – MAX7221 11 Dig1
9 o’clock – grey extension – anode – MAX7221 14 SegA/grey – common cathode – MAX7221 11 Dig1
10 o’clock – blue extension – anode – MAX7221 16 SegB/grey – common cathode – MAX7221 11 Dig1
11 o’clock – purple extension – anode – MAX7221 20 SegC/grey – common cathode – MAX7221 11 Dig1
Last time I had these powered up all the LEDs worked… but I’ve included a bag of spares just in case… I managed to ‘break’ several in the process (I’ve also included these in case it was just me and you can ‘resurrect’ them…).
There’s also a bag with a MAX7221 IC, 10mF and 100nF capacitors and white, flat-top LED – LTW-815C4 – for the power indicator.
I don’t have a TLC5940 at home – but the top plate LEDs would have to be rewired to use it – though I’m not against this in principle if it were to work with I2C… please do advise.
For you to do…
I’m assuming you can provide all the required resistors…
Can you confirm if a TLC5940 can be used with I2C? I’d like to switch back to this if it can…
Ideally I’d like for you to wire this unit up – but in such a way that I can take the top and bottom panels apart later (I reckon I’ll have to separate the Arduino and protoshield?) since I still need to make some adjustments to the mounting of the micro USB breakout boards.
I’ve included my last attempted (but defunct) protoboard to wire up the MAX7221. At least it shows the pins I was trying to use and the positioning of the IC that made the 25mm internal height just about workable for me.
If you can think of ways to reduce the height of this protoshield even more – perhaps to loose the DIP socket and to solder the right angle headers on the ends of the LED directly onto the veroboard I’m sure that’ll help.
The white, flat-top LED – LTW-815C4 – for the power indicator needs to be wired in and should be on when the power bus is attached – there’s a hole in the Alupanel side plate for it.
As for the two micro USB sockets they’re intended for use in either the ‘daisy-chain’ or ‘star’ configuration of the various boxes… though I’m struggling to work out the best way to realise this and would like to discuss my plans with you in more depth.
But I don’t think the winder is the problematic component here so I reckon it’s safe to wire it up with as follows…
for the top (star configuration)
VCC – 5V – direct to board
D- – I2C SDA
D+ – I2C SCL
GND – GND – direct to board
and bottom (daisy chain configuration)
VCC – 5V – from board
D- – I2C SDA
D+ – I2C SCL
GND – GND – from board
In addition…
I’ve also bundled in an Altec Lansing iM237 InMotion speaker – intended as amplification and audio output for the sound module. It runs off 4 x AAA batteries – I measured the collective output of a newly recharged set as 3.80V 3.25A – but have no idea how much current the circuit actually draws.
Will this need to be powered separately by 3 AAA batteries – or can it be powered via the 5V power bus – with a step-down voltage regulator? I’ve included an Adafruit adjustable power supply kit (still to be made up) that could be used for this… and one of the Modular Music Box battery packs, charger and 2 x micro USB B cables for testing…
Can you please look at the iM237 I dismantled in order to mount it inside the sound module but in the process managed to damage by breaking the on-off button. Since it only ever needs to be on is there any chance you can circumnavigate this damaged component and hardwire it to on when power is connected? And can you add a securely attached 3.5mm stereo-jack instead of the mess of a job I made cutting the audio cable and using union connectors…
I don’t mind you dismantling the complete one for reference… so long as it goes back together again 😉
Optimisation? …
For later on once it’s all built and working… but I flag it up now…
I came across this useful hackaday.com article on saving battery life – Sleepy Arduino saves batteries and alternatively how to put the Arduino to sleep to save power… so could we conserve battery life by putting:
– Arduinos in sleep mode?
– MAX7221 in sleep mode?
[UPDATE] Mike responds…
I have built the winder circuit and done a bit of software. In the end I built a new board, schematic attached. I had to use all but 2 of the LEDs as some wouldn’t strip down.
I have also wired up the speaker with a small flying lead and permanently on “switch”. It works fine off 5V.