Posts with «sony» label

Universal Remote a Grove Infrared project


 
 

Description

This project will convert an ordinary Keyes infra-red (IR) remote
into a programmable universal remote.

 
A single button press on the Keyes remote will be converted into precise Sony IR signal combinations using an Arduino UNO and an assortment of Seeedstudio Grove modules.
You can assign signal combinations from more than one remote if desired.
An example combination could be to:
  • Turn on the TV and then switch channels.
  • Turn on the TV, sound system, and air-conditioner.
  • Turn up the volume x 3.
With only one button press of the Keyes remote, the entire cascade of Sony signals ensues. This project can be customised for other IR methodologies, however, you may have to modify the Arduino code to accommodate them.

 
 

Parts Required

  1. Arduino Uno (or compatible board)
  2. Grove Base Shield (v2)
  3. Grove Infrared Receiver
  4. Grove Infrared Emitter
  5. Grove Button
  6. Grove 16x2 LCD (White on Blue)
  7. Grove Universal 4 pin buckled cable: one supplied with each module.
  8. KEYES IR Remote Control
  9. SONY IR remote control
  10. USB cable - to power and program the Arduino
  11. Battery pack / Power bank

 
 

More information about the Grove modules can be found here:

**Please Note: The Grove Base shield has 14 pins on the Analog side, and 18 pins on the digital side. Check the number of pins on your Arduino UNO (or compatible board) to ensure the shield will sit nicely on top. NOT compatible with Arduino boards that have the Arduino Duemilanove pin header layout.

 
 

Arduino IDE

While there are many Arduino IDE alternatives out there, I would recommend that you use the official Arduino IDE for this project. I used the official Arduino IDE app (v1.8.5) for Windows 10.
Make sure to get the most up-to-date version for your operating system here.


 
 

Libraries required

The following libraries will be used in the Arduino code:

  1. Wire Library
  2. IRLib2 Library
  3. rgb_lcd Library

Wire Library

The Wire library is used for I2C communication for the Grove LCD screen and is built into the Arduino IDE - no additional download required for this library.
 

IRLib2 Library

The IRLib2 Library is actually a "set" of IR libraries, which can be downloaded from GitHub - here. In this project, I will be transmitting and receiving NEC and Sony IR remote signals.
The required libraries (within the set) will be:
  • IRLibRecv.h
  • IRLibDecodeBase.h
  • IRLibSendBase.h
  • IRLib_P01_NEC.h
  • IRLib_P02_Sony.h
  • IRLibCombo.h
Please see the IRLib2 GitHub Page for installation instructions.
 

rgb_lcd Library

The rgb_lcd.h library simplifies the operation of the LCD screen.
Download the rgb_lcd.h library from GitHub. Install the rgb_lcd.h library ZIP file into the Arduino IDE:
  1. Load the Arduino IDE
  2. Navigate to Sketch >Include library > Add .ZIP library...
  3. Select the downloaded zip file from GitHub, and press the "Open" button
  4. Check that it installed correctly by navigating to File > Examples > Grove-LCD RGB Backlight

 
 
 
 

Arduino Code

It is always best to upload the Arduino code to the board before you make any of the connections. This way you prevent the Arduino from sending current to a component accidentally. The code is available on my GitHub repository. Or you can have a look below. This code was written for an Arduino UNO, and may need to be modified if you are using a different board.

 
 
 
 

Connection instructions

If you are using the Grove Base Shield (v2). The connections are extremely simple. Use the following table as a guide. Please note that the code above assumes the following connections.
 

 

As per the table above, you would use a Grove universal 4-pin buckled cable and connect one side to D2 on the Grove base shield, and the other side would connect to the Grove Infrared Emitter.
D3 on the base shield would connect to the Grove Infrared Receiver, and so on.
You can connect the 16x2 LCD module to ANY of the four I2C connectors on the Grove base shield.

If you do not have a Grove Base shield, you have the option to use female-to-male jumper wires (together with a breadboard). But it is easier just to get the base shield and use the universal connectors.

 
 
 
 
 
 

Project Explained

When you apply power to the Arduino, the first thing that appears on the LCD screen is:
 


 
After pressing the Grove button (connected to D5), it displays the following message:
 

 
This is the cue to press and send a signal from the Keyes remote to the Infrared receiver (which is connected to D2). The Arduino will decode the Keyes remote signal, store the value in an array, and display the signal briefly on the LCD. The LCD should now show a message:
 

 
This message is a cue to press and send the FIRST signal from the Sony remote to the Infrared receiver. The Arduino will decode and store the Sony remote signal in a different array, and display it briefly on the LCD. You have the option to send a maximum of THREE Sony signal combinations to the Infrared receiver at this step in the process. The minimum number of Sony signals you can send is zero. The way to tell the Arduino that you do not want to send any further Sony signals to the receiver in this step, is by pressing the Grove Button (connected to D5).
 
The Arduino is programmed to receive a total of 5 Keyes signals, and each signal can be paired with a maximum of 3 Sony signal combinations. Once you have recorded all of the signal combinations, you will get a message:
 

 
The Arduino will now enter the final "Universal remote mode". In this mode, it will listen out for ANY of the 5 Keyes IR remote signals recorded previously, and will send the associated Sony signal combination in return. For example, if you press the number 1 on the Keyes remote, you could potentially have it so that the Arduino will transmit a Sony signal combination to turn on the TV and jump to a specific channnel.
 
The LCD will display each of the signals being transmitted. You will know you are in "Universal remote" mode because the LCD will display:
 

 
While you may be tempted to throw your Sony remote away at this stage (because you no longer have a use for it)... I would hold on to it just in case. The signals are not stored permanently. They disappear when the Arduino is powered off. But it doesn't have to be that way. You can easily modify the code to store it in eeprom memory or something.
 
That is not the only thing you can change.Technically, you could record the signal for any remote, however, you may need to include additional libraries or code to accommodate the alternate remote symbology. You can also modify the text messages on the LCD screen to make more sense to you. The LCD can only display 16 characters per row. So keep that it mind, when you come up with creative captions.
 
I would also like to mention the reason I chose not to use Seeedstudio's IR library, was because it took up too much memory. Their library probably accommodates for a wide range of symbologies. I chose the IRLib2 Library because I could select only the symbologies that I used (Sony and NEC). Thereby reducing the total amount of memory necessary to run the project. In fact, I have been finding that many of Seeedstudio's libraries to be very memory hungry. I originally wanted to create a gesture controlled remote. But the library combinations eliminated that possibility due to the cumulative memory requirements.
 
 
 
 

Conclusion

The IRLib2 library is the key to the success of this project. Without that library, this project would have been ten times harder. I was quite amazed by the effectiveness of this record / playback technique. It felt very weird to be operating my SONY TV with a cheap and nasty Keyes remote. It was quite surreal. While I chose to control my TV in this way, I could have just as easily recorded signals from one of my other remotes that use infrared signals. As more and more devices become controllable by remotes, the more I will consider turning this project into a permanent fixture in my house. A gesture controlled remote would have been nice, however, it looks like I will have to find some other use for that module now.

If you found this tutorial helpful, please consider supporting me by buying me a virtual coffee/beer.

$3.00 AUD only
 

Social Media

You can find me on various social networks:

Follow me on Twitter: ScottC @ArduinoBasics.
I can also be found on Instagram, Pinterest, and YouTube.
And if all else fails, I have a server on Discord.



             

A First Look at Sony’s Spresense

The Spresense development board is Sony’s debut into the Maker market for microcontrollers, and it’s an impressive one.

Read more on MAKE

The post A First Look at Sony’s Spresense appeared first on Make: DIY Projects and Ideas for Makers.

Another Arduino Compatible? This Time, It’s A Sony

When it comes to microcontroller development boards, we have a plethora of choices at our disposal. Each has its strengths and weaknesses, be they associated with its support and community, its interface capabilities, or its choice of processor family. Most boards you’ll find in our communities come from niche manufacturers, or at least from manufacturers who started as such. Just occasionally though along comes one whose manufacturer you will have heard of, ever whose manufacturer the Man in the Street will have heard of.

Which brings us neatly to today’s story, the quiet announcement from Sony, of a new microcontroller development board called the Spritzer. This is Arduino compatible in both physical footprint and IDE, is intended for IoT applications, and packs GPS, an audio codec, and an ARM Cortex M4 at 156 MHz. There is a Japanese page with a little more detail (Google Translate link), on which they talk about applications including audio beam forming with up to eight microphones, and a camera interface. 

The board is due to be available sometime early next year, and while it looks as though it will be an interesting device we’d sound a note of caution to Sony. It is not good enough to have an amazing piece of hardware; the software and community support must be more than just make-believe. If they can crack that then they might just have a winner on their hands, if they fail to make any effort then they will inevitably follow Intel into the graveyard of also-ran boards.

Thanks [Chris] for the tip.


Filed under: hardware
Hack a Day 13 Aug 15:00

Hackaday Links: July 5, 2015

It’s the fifth of July. What should that mean? Videos on YouTube of quadcopters flying into fireworks displays. Surprisingly, there are none. If you find one, put it up in the comments.

The original PlayStation was a Nintendo/Sony collaboration. This week, some random dude found a prototype in his attic. People were offering him tens of thousands of dollars on the reddit thread, while smarter people said he should lend it to MAME and homebrewer/reverse engineer groups. This was called out as a fake by [Vadu Amka], one of the Internet’s highly skilled console modders. This statement was sort of semi retracted. There’s a lot of bromide staining on that Nintendo PlayStation, though, and if it’s a fake, the faker deserves thousands of dollars. Now just dump the ROMs and reverse engineer the thing.

Remember BattleBots? It’s back. These are my impressions of the first two episodes: Flamethrowers are relatively common now, ‘parasitic bots’ – small, auxilliary bots fighting alongside the ‘main’ bot are now allowed. KOs only count for the ‘main’ bot. Give it a few more seasons and every bot will be a wedge. One of the hosts is an UFC fighter, which is weird, but not as weird as actually knowing some of the people competing.

Ceci n’est pas un Arduino, which means it’s from the SRL camp. No, wait. It’s a crowdfunding campaign for AS200 Industries in Providence, RI.

Wanna look incredibly sketchy? Weld (or braze, or solder) your keys to a screwdriver.

The UK’s National Museum of Computing  is looking for some people to help maintain 80 BBC Micros. The museum has a ‘classroom’ of BBC micro computers still in operation. Caps dry out, switching power supplies fail, and over the years these computers start to die. If you have the skills and want to volunteer, give it a shot.

USA-made Arduinos are now shipping. That’s the Massimo Arduino, by the way.

Win $1000 for pressing a buttonWe’re gauranteed to give away a thousand dollar gift card for the Hackaday store next Wednesday to someone who has participated in the latest round of community voting for the Hackaday Prize.


Filed under: Hackaday Columns, Hackaday links