Remote Control for Lava 'mMotion Swing' Mounting Bracket
by LarsWH in Circuits > Arduino
4461 Views, 4 Favorites, 0 Comments
Remote Control for Lava 'mMotion Swing' Mounting Bracket
![DSC_0023.JPG](/proxy/?url=https://content.instructables.com/FWF/ETRH/J7ARIGKC/FWFETRHJ7ARIGKC.jpg&filename=DSC_0023.JPG)
My television is mounted on an fancy 'mMotion Swing' mounting bracket made by Sweedish 'People of Lava'. The mMotion Swing is motorized and by using it's remote control, I can bring my television into any angle between 0 degrees and 90 degrees (probably even more).
I have however had problems with the remote control being unstable. I have been changing batteries, cleaning the battery terminals, cleaning the PCB, tearing my hair out,.... nothing helped.
A replacement remote control is not terribly expensive (https://buylava.com/collections/other/products/mm...) but would be too easy, right? So I made a replacement remote control.
Build Remote Control
![2017-09-10_20h27_16.png](/proxy/?url=https://content.instructables.com/FK2/MTOF/J7ARIG8X/FK2MTOFJ7ARIG8X.png&filename=2017-09-10_20h27_16.png)
![2017-09-10_20h37_36.png](/proxy/?url=https://content.instructables.com/FZT/MB35/J7ARIGH2/FZTMB35J7ARIGH2.png&filename=2017-09-10_20h37_36.png)
The images above shows a simple proof-of-concept construction. This is what you will need:
- Arduino (I used a Nano)
- IR tx LED
- 220Ohm resistor
- Push button
- 3 position switch
- 9V battery
- Battery connector
- Some wires
- An enclosure (e.g. a used jewel box like on the photo)
Software
![2017-09-14_20h52_27.png](/proxy/?url=https://content.instructables.com/F4L/QDTU/J7KQPA92/F4LQDTUJ7KQPA92.png&filename=2017-09-14_20h52_27.png)
The software is very simple, and can be found here: https://github.com/LarsWH/arduinoLavaRc
It does however require a modified library as well, which can be found here: https://github.com/LarsWH/Arduino-IRremote
The software can be build with a standard Arduino IDE, but has been developed using Microsoft VisualStudio with the 'VisualMicro' plugin.
People of Lava have been kind enough to published the IR commands as a PDF here: http://www.peopleoflava.com/info/mMotion/IR%20Code. But unfortunately the instructions only partly workded for me.
These commands are the ones that did work for me:
- Auto: RC5 code: 0x0C (as per the documentation)
- In: RC5 extended code: 0x1B 0x5E (unlike the documentation)
- Out: RC5 extended code: 0x1B 0x5F (unlike the documentation)
More information about the RC5 protocol here:
For the Record...
![DSC_0027.JPG](/proxy/?url=https://content.instructables.com/F10/N3OR/J7ARIH2V/F10N3ORJ7ARIH2V.jpg&filename=DSC_0027.JPG)
Looking at the project now, it all seems very simple, but in fact it took many many hours of reverse engineering:
- Building up a general-purpose IR monitor (arduino based) to record signals. In the end I did not really need this - just the oscilloscope
- Capturing IR signals on oscilloscope, to learn that the Lava documentation must be wrong.
- Getting the timing right. Especially a silence period of approx. 80ms between repeating signals seems important
- Trying to do all the above with a semi defect Lava remote control, that only sometimes would output a signal.
- Develop an extesion to the existing IR library in order to have support for 'RC5 extended'
Build Into Box
![DSC_0028.JPG](/proxy/?url=https://content.instructables.com/FE0/J9ZH/J7ARIHKR/FE0J9ZHJ7ARIHKR.jpg&filename=DSC_0028.JPG)
Since this a very simple construction, there is no need for a PCB. The few wires can be soldered directly onto the Arduino Nano.
Fitting everything into the jewel box is a bit tricky, but doable. The used jewel box is a temporary solution (has been for many months now....), but my daughter thinks of it as her contribution to the project, so it stays like this a little while longer.
Future Improvements
![DSC_0024.JPG](/proxy/?url=https://content.instructables.com/F8N/Y4UF/J7ARIGXN/F8NY4UFJ7ARIGXN.jpg&filename=DSC_0024.JPG)
When I get around to it, I would like to make these improvements:
- Range: Increase the IR LED output to get more range of usage. If the IR LED is driven more directly from the battery (controlled by a transistor), a higher current can be provided, and thus more light emitted.
- Power on: Decrease the power-on time of the Arduino, so commands are sent without any noticeable delay. The current power-on delay is around 3s.
- Buttons: Replace the current 1 switch + 1 button with 3 dedicated buttons
- Enclosure: Something nicer than a used jewel box