GE C-Life IR and IR+, Concept

GE C-Life IR and IR+, Concept

What if all you had to do to connect your old “dumb” devices to your new “smart” ones, and control them all, was to change a light bulb?

  • 334 views
  • 0 comments
  • 1 respect

Components and supplies

Ard nano
Arduino Nano R3
×1
61pby065esl  sx679  tnr8syww5d
HC-05 Bluetooth Module
×1
09590 01
LED (generic)
×4
940nm Infrared LED Generic
×1
Vishay TSOP4838 IR receiver
×1
LED load resistors (various 50-330 ohms)
×5
5v Power Supply generic
×1
Proto-Board from Global Specialties
×1

Apps and online services

About this project

GE Lights for Life Challenge

Hello, this is my submission for the GE Lights for Life Challenge. This challenge was put forth by GE with following primary objectives.

  • Develop a lighting fixture that can help people in their everyday lives.
  • Must be LED based and use or be inspired by the C by GE LED bulb family

As I learned more about the C by GE bulbs, one of its features that appealed to me most was the fact that I could use the bulbs in a traditional fixture, yet gain advantages of Bluetooth and LEDs. I felt this was a key feature I wanted to maintain in my proposal. So I added an additional objective:

  • The solution to the primary challenge objectives must require no additional infrastructure other than the bulbs themselves

There is one small caveat to this final objective

Caveat: As with the current C by GE family, a smartdevice (phone, computer, tablet) is required to interface with the bulb. In today’s world I think it’s fair to consider such devices to be part of most people’s existing infrastructure. A Pew Research article states that approximately 64% of adults in America have a smartphone. Even if the market was smaller I think one could argue that the only way to be cost effective and provide a rich user interface capable of allowing one to make use of more complex features is to hand that cost off to another device. Luckily the smartphone is perfect and readily available to most.

Some Background On the Origin of The Concept

As I considered how I could expand upon the utility of a network of Bluetooth enabled LED bulbs many of the ideas were really just upgrades to the control app, providing more fine grained ability to manage color, custom timed output changes, and macro combinations of these adjustments. Though these implementations certainly have worthy engineering challenges, they were not new ideas regarding the lighting itself and by all indications there was already quite a bit of effort on going in these directions.

Next I began to look at the potentials Bluetooth could offer beyond the role of being a wireless, direct-to-bulb control interface. Can a network of connected Bluetooth bulbs act as a pass through connecting any Bluetooth device to any other and ultimately to the internet? Perhaps. As I learned about the Bluetooth protocol and the concept of Profiles it started to appear that was not as simple as it sounded, maybe even impossible, with the current Bluetooth protocols hub and spoke behavior. Maybe the advertising data and beacon features could be manipulated to provide some semblance of an open device pass-through network, but even if it was, this was beyond my expertise.

Therefore, instead of trying to build upon the app or Bluetooth I went back to thinking about the lights themselves. All of the efforts I’d seen regarding advancements in LED lighting, quite naturally, focused on visible light. However, from my background in medical device development I know that wavelengths just outside of the visible spectrum also have many uses.

Near Infrared (NIR) in particular offers the ability to penetrate up to several millimeters of human tissue. This property has been exploited to create devices that can more easily see veins as well as help surgeons in endoscopic procedures detect critical anatomy that is otherwise very hard to discern when using visible light alone.

IR light can also be coupled with fluorescing dyes such as Indocyanine Green (ICG) to illuminate blood flow and identify bile ducts during a laparoscopic cholecystectomy.

These medical applications are quite involved and expensive to implement. They also generally require a very specific, and particular, environment be established to make these invisible wavelengths visible. However, that train of thought provided the impetus to consider, could any of these non-visible wavelengths be put to use in an everyday environment for an everyday use?

And then it hit me, of course, I used one already every time I turn on my TV or anything else that uses a standard infrared remote control.

Infrared Bulbs - Connecting the past, present, and future

As such, the idea for an infrared emitting and receiving LED light fixture was born.

The buzz of the times is the inevitably, interconnected world of the Internet of Things. As the cost and size of electronics continues to decrease it seems as if nearly everything will eventually be connected. However, for consumers to tap into the advantages of a connected world they must invest in new infrastructures and purchase devices, designed and built specifically to work within the new ecosystem. When it comes to many electronic devices such as TVs, stereo receivers, overhead projectors, etc. this can be a very expensive proposition. Often it’s simply not worth it or even possible to spend thousands of dollars to replace perfectly functional devices for the sake of modern connectivity.

However, with a very small adjustment to the design of the standard C-Life Bluetooth LED light bulb this can all be changed.

C-Life IR and IR+ Additions to the C by GE LED bulb Family

An LED light bulb is the ideal lighting model for an infrared emitting fixture, as that’s exactly what an IR remote control is, but without the visible light. In fact, the very first LEDs created were for emitting infrared. Since all we're adding is just another LED it’s anticipated that very little modifications to the current C-Life design would be necessary in order to include them.

This brings us to the proposed concept of what I’m calling the C-Life IR and IR+ model additions to the C by GE family.

  • C-Life IR is a bulb with an RGBW color spectrum and an added infrared LED.
  • C-Life IR+ is the same as the IR except that it also adds an IR receiver.

Because the IR receiver component is relatively expensive ($.50) compared to an IR LED ($.05) this may be large enough to impact margins and selling price points. Also, the added functionality an IR receiver provides may not be immediately useful for the primary application as an IR device interface and it will not be necessary that all bulbs in the network have one. There are however a few untested applications beyond device control that would require an IR receiver network.

It should be noted that even though this proposal adds color LEDs and broader spectrum control of the visible range than currently exists in the C-Life or C-Sleep bulbs this is not a primary feature of the proposed design. I just think it’s cool so I added it in, but it’s certainly not new or necessary.

The following video presents a brief demo of the proof of concept prototype.

Demo Video of Proof of Concept Prototype

Functional Advantages of IR Bulbs

A network of Bluetooth enabled bulbs with the ability to send and receive IR signals presents quite a few new opportunities.

Universal Remote Control - the Bluetooth connected application can pull remote profiles from an online library and provide the user the ability to send the appropriate IR pattern to the bulb for any device they have. If the remote control is unknown or does not have a profile in the library, a bulb with an IR receiver can be used to teach the system the raw patterns which can then be used by any other IR bulb in the network. It might even be worthwhile to offer customers incentives to add unknown remotes to a shared library.
Use IR Remote to Control Bulbs - With an IR receiver the bulbs can be setup to respond to input from any available remote control. This will allow users to turn on and off lights without having to use the Bluetooth app or wall switch. One of the inconveniences of Bluetooth bulbs is that if you use the light switch to turn off the light it no longer has power and cannot be accessed until the switch is turned back on. In my personal experience having to use an app to turn the bulb off when I leave a room is rather inconvenient. It takes too long to load and connect. Allowing a user to use a handy remote could help minimize or eliminate this inconvenience.
Motion Detection - because the bulb can emit its own IR pattern discernible from other remote commands it can tell if that signal is reflected back. Normal remote commands would be sent at high power so they can reflect around a given room/space, but for motion detection the bulb would emit a very low powered signal that could only be reflected by an object in close proximity. If there are multiple bulbs in the same room they may also be able to use emission and detection strengths of the other bulbs unique signatures to perform even more complex active motion tracking.
Night Vision Security - Night vision cameras work by sensing infrared light. These camera sensors can detect IR and convert it to a visible image. Some of these systems also use IR only bulbs to radiate a space making it easier for the camera to see. With a C-Life IR bulb the same bulb can be used for general lighting as well as to illuminate areas that are under night vision surveillance.
Data Transmission - a remote control signal is really just bits of data sent using a specific code that can be decoded by an IR receiver. The same process can be used to transmit any kind of data. IR data transmission has limit data rates however, there may be innovative ways in which Bluetooth and IR data transmission could compliment each other.

Use Cases

The use of an app to manage bulb functions coupled with Bluetooth and IR provides an avenue for users to create custom timed and combined functions. Here are a couple

  • Entertainment Center Quick Setup - Now that the lights can talk to common media devices, turning on the living room light could be set to automatically turn on the TV and DVR. With an IR receiver it works the other way around as well, turning on/off the TV with the remote could set a timer to automatically turn off the lights after you leave the room.
  • Public and Government Buildings - Many buildings and spaces such as libraries, schools, and museums have TV, displays, and other electronic devices spread out over large areas. If those devices are not already on some kind of central control network, installation of IR bulbs could provide one. Turning of a bulb in one room could send the same command down a Bluetooth chain of bulbs and ultimately to every IR device turning everything off with one switch.
  • Bars, Restaurants, and Hotels - Many of these establishments have TVs in high places and awkward locations with respect to the bar or reception. With IR Bluetooth bulbs in place they would more easily be able to control all of them without resorting to installing expensive new central control networks.

Initial Proof of Concept and the Line-of-Sight Problem

Because light travels in a straight line it generally requires that a transmitter and receiver have line-of-sight. This presents the first practical challenge to the initial IR bulb concept. Visible light fixtures are not necessarily going to be oriented or positioned such that a bulb will have direct line-of-sight with the intended IR receiver.

Many technical discussions of infrared make it seem as if IR is very limited by line-of-sight and perhaps it is relative to other technologies used in a similar manner. However, I think in real life usage many people have observed that they can often point the remote toward the ceiling or walls with no problems in performance.

With sufficient power, line-of-sight becomes less and less of an issue. The X-Box Kinect is an IR system. It's still capable of turning my TV off with an IR blast even though the emitted IR is coming from the same direction as the TV receiver with zero chance of direct line-of-sight.

In addition the longer wavelengths of IR can penetrate through materials that would normally absorb visible light so what might not appear to be line-of-sight visually may still be for IR.

As a gut check to practicality I performed a very quick experiment in my living room. I installed a GE C-Life bulb in each of the lamps to simulate the LED light output that would be expected in the concept bulb presented herein. Then holding the remote inside the lamp shade next to the bulb, pointed vertically I attempted to send commands. I had no problems in any of the fixtures activating and controlling my devices. This test is, of course, not particularly rigorous but it backs up user experience and demonstrates that the line-of-sight problem will be manageable by bulb design even in non-dedicated arrangements.

Infrared Light Review

The following is a short primer for those less familiar with the electromagnetic spectrum. Depending on the energy level of a given radiation source (sun, light bulb, black body heat, laser, LED, etc.) the emitted light will propagate at different wavelengths. The total range of possible wavelengths make up what is called the full electromagnetic spectrum (pictured below).

As you look at the full electromagnetic spectrum you will see many familiar terms, microwaves, ultraviolet, X-rays, etc. Though we are focused on IR in this presentation the 2.4GHz signal used for the Bluetooth communication also just another wavelength along the spectrum.

Because the human eye is capable of sensing light that propagates at wavelengths between around 400nm and 730nm, this region is known as the visible spectrum. This is the region lighting fixtures are designed to primarily emit. However, many light sources such as the sun and incandescent lights emit energy at a much wider bandwidth including wavelengths above (ultraviolet-UV) and below (infrared-IR) the visible spectrum.

One of the advantages of LEDs is that they emit light in a very narrow bandwidth. This gives LED lighting fixtures the ability to have much finer control over what is emitted and thus the capacity to emit a wide range of isolated colors.

For this project we are interested in the region that is just below the visible spectrum ranging from 730nm to wavelengths as long as 1mm. In fact this region is so large it has been broken down into sub regions of Near and far infrared. The 940nm wavelength we are interested is part of the Near Infrared Region (NIR).

How Infrared is Used in Remote Controls

From our discussion of the electromagnetic spectrum we learned that the infrared region is actually quite large. Among all those available wavelengths 940nm is chosen because it falls in a dip in the spectrum of light emitted by the sun. This dip is due to absorption of that wavelength by water vapor in the atmosphere. This in turn means that less power is needed to distinguish other natural and artificial light sources from the desired IR remote signal.

To further distinguish the intended IR from other sources, the signal is also modulated at a known carrier frequency. Common carrier frequencies are 30kHz, 33kHz, 36kHz, 38kHz, 40kHz, and 56kHz. Different manufacturers and purposes will use different frequencies but luckily many IR receiver semiconductor components are compatible with several or all of these frequencies.

In order for an IR system to distinguish individual commands the emitted carrier frequency is turned on and off in varying timed bursts called “Pulse Code Modulation” (PCM). These bursts are used to represent “bits” of data using 3 common coding methods, Bi-Phase coding, Pulse Distance Coding, and Pulse Length Coding. Manufacturers then use different combinations of these encodings to create unique patterns distinguishable by the intended IR receiver as the desired command, or button pressed, on the remote.

This little blurb is probably insufficient to really fully understand how it all fits together. Luckily there are many existing resources around the web that do a good job of filling in the details. The following links are some of these sources for those interested in more details.

The following links discuss sending and recieving IR specificaly with Arduino but are also still good sources for understanding the general concepts involved.

IR Bulb Architecture

Below is a high level description of the general elements that would make up an IR LED bulb. Though I’m not privy to the details of the C-Life bulb design, it appears that all of the core elements necessary are already in place. The added IR LED can be controlled by the same controller as any other LED, and the IR receiver can provide a ready to interpret high/low output to the same controller.

  • Color LED array – This really means a visible spectrum LED array regardless of whether it is implemented to emit white or isolated color light. A modulation frequency setting and power level supplied to each bulb commanded by the control board will result in this array emitting the requested “color” and brightness. The exact algorithms used to set color are outside the scope of this disclosure.
  • IR LED (or array) – Driven by the control board, this component emits an IR signal at the dictated frequency, power level, and pattern. In the initial embodiment this would be designed for the specific purpose of communicating with IR remote control devices. This would make a 940nm emitting LED, or LEDs, the best choice, capable of working with the most standard devices. As cost trade-offs are better understood and the IR ecosystem further explored other wavelengths may further extend functionality.
  • IR Receiver Diode – This component has several options available from a design standpoint. Depending on the final primary applications, and breadth of devices covered, different types would be more or less optimal. Vishay is one manufacturer that makes a number of IR receivers specifically designed for IR remote control systems.
  • Bluetooth Transceiver – 2.4GHz wireless communication radio. The version of Bluetooth and profiles created or included would be dependent on the final breadth of application. The embodiment in this disclosure is using the Bluetooth 2.0 Serial Port Profile (SPP). The upcoming Bluetooth Mesh protocol would likely be very useful for this application if it provides for the capacity of Bluetooth servers to share information amongst each other without the need for a master-slave connection with a single client. However, since it’s not public yet it's impossible to develop toward at the moment. It should also be noted that Bluetooth is used in this embodiment because it's the wireless protocol currently used by the C by GE family. Other existing wireless networks such as ZigBee may also be a viable communication mechanism that already provide mesh capabilities.
  • Control Board – This includes the circuitry needed to manage communication, translate command inputs into outputs, manage power, as well as on-board non-volatile memory. The details of the particular electronic design for mass production are beyond the scope of this disclosure. The amount of on board memory is one aspect that might need to be upgraded over the existing C-Life bulbs depending on how much extra is required for housing necessary IR decoding libraries. However, it will not be necessary for a bulb to hold libraries for every manufacturer. It will only require the libraries for the remotes a particular user needs and these can be changed as needed through the app in a manner transparent to the user.

Functional Prototype

To get something working quickly I used an Arduino Nano board as the control, and an HC05 type Bluetooth serial host transceiver as the wireless communication portal. These are over designed components with respect to what would actually be necessary in a specifically designed control board. Though for demonstration purposes they still show that inexpensive, off the shelf parts, are all that’s needed to achieve the desired functionality.

In order to simulate a smartphone/smartdevice interface I used a Windows 10 PC and windows 10 Bluetooth Serial Terminal app. Though there are certainly aspects of the GUI that are important for making a user friendly experience the focus of this effort is to demonstrate the basic functions of the concept. Below is a complete table of the parts used in the prototype and costs. It’s expected that the HC05 Bluetooth host, Arduino Nano, and power supply roles would be optimized into a custom board that would be much less expensive than the over designed parts used here.

A 5V power supply connected to the Arduino 5+ pin and ground was used as the fixture power supply.

Wiring pin outs for LEDs (wire short lead on LEDs to ground, long lead to load resistor, then other lead of load resistor to Arduino pin. The value of the load resistor isn't too important for demonstration, I used resistors from 50-330ohms)

  • GRND - Red LED - load resistor - pin 13
  • GRND - Green LED - load resistor - pin 8
  • GRND - Blue LED - load resistor - pin 9
  • GRND - White LED - load resistor - pin 4
  • GRND - IR LED - load resistor - pin 3

Wiring the TSOP 8483 IR receiver

  • GRND (Middle pin of component) to any ground reference
  • Out (left pin from front) to Arduino pin 11
  • Vcc (right pin from front) to Arduino +5 pin

Wiring the HC-05 Bluetooth board

Txd pin on HC-05 to Arduino Rdx pin

  • Rdx pin on HC-05 to Arduino Tdx pin
  • Vcc pin on HC-05 to Arduino +3.3v pin or +5vpin, I used 3.3 though the image shows 3.6v
  • GND pin on HC-05 to any Arduino GND

Code

Arduino Sketch to operate demoArduino
/*
Arduino Sketch to turn on and off individual RGBW LEDs
as well as send and recieve IR singals. This example is for a Panasonic DVD Player.
Created by Michael Baycura
July 10th, 2016

The Arduino IR library used was created by Ken Shirriff.
http://www.righto.com/2009/08/multi-protocol-infrared-remote-library.html

the Bluetooth serial code learned from Hammad Tariq's sketch
http://www.instructables.com/id/Remotely-Control-LED-using-HC-05-Bluetooth-Arduino/
*/

#include <IRremote.h>

IRsend irsend;

int RECV_PIN = 11;
int val = 0;
IRrecv irrecv(RECV_PIN);
decode_results results;

char junk;
String inputString="";


void setup()
{
 Serial.begin(9600);
 pinMode(13, OUTPUT);
 pinMode(8, OUTPUT);
 pinMode(9, OUTPUT);
 pinMode(3, OUTPUT);  // IR LED needs to be on pin 3
 pinMode(4, OUTPUT);
 irrecv.enableIRIn(); // enable IR receiver
}

void loop()
{
  if(Serial.available()){
  while(Serial.available())
    {
      char inChar = (char)Serial.read(); //read the input
      inputString += inChar;             //make a string of the characters coming on serial
    }
    Serial.println(inputString);
    while (Serial.available() > 0)  
    { junk = Serial.read() ; }      // clear the serial buffer

     if(inputString == "rn")      //Turn on RED led
        {        
          digitalWrite(13, HIGH);
          inputString = "";  
        }
     if(inputString == "rf")    //Turn off RED led
        {   
          digitalWrite(13, LOW);
          inputString = "";      
        }
     if(inputString == "gn")    //Turn on Green LED
        {   
          digitalWrite(8, HIGH);
          inputString = "";  
        }
     if(inputString == "gf")    //Turn off Green LED
        {  
          digitalWrite(8, LOW);
          inputString = "";      
        }
     if(inputString == "bn")    //Turn on Blue LED
        {       
          digitalWrite(9, HIGH);
          inputString = "";  
        }
     if(inputString == "bf")    //Turn off Blue LED
        {   
          digitalWrite(9, LOW);
          inputString = "";      
        }
     if(inputString == "wn")    //Turn on White LED
        {    
          digitalWrite(4, HIGH);
          inputString = "";  
        }
     if(inputString == "wf")    //Turn off White LED
        {  
          digitalWrite(4, LOW);
          inputString = "";      
        }
     if(inputString == "an")    //turn on All LEDs
        {     
          digitalWrite(4, HIGH);
          digitalWrite(8, HIGH);
          digitalWrite(9, HIGH);
          digitalWrite(13, HIGH);
          inputString = "";  
        }
     if(inputString == "af")    //turn off All LEDs
        {   
          digitalWrite(4, LOW);
          digitalWrite(8, LOW);
          digitalWrite(9, LOW);
          digitalWrite(13, LOW);
          inputString = "";      
        }
     if(inputString == "ir")    //Send Power ON-Off command for Panasonic DVD player
        {       
          for (int i = 0; i < 3; i++) {
              irsend.sendPanasonic(0x4004, 0xd00bcb1);  //0xd00bcb1 is the power on-off command
            delay(40);
          }
          irrecv.enableIRIn();
          inputString = "";  
        }
     if(inputString == "on")    //Macro to turn on all lights and DVD player
        {       //turn everything on macro
          digitalWrite(13,HIGH);
          digitalWrite(8,HIGH);
          digitalWrite(9, HIGH);
          digitalWrite(4, HIGH);
          delay(2000);
          for (int i = 0; i < 3; i++) {
              irsend.sendPanasonic(0x4004, 0xd00bcb1);
            delay(40);
          }
//          Serial.println("On macro");
          irrecv.enableIRIn();
          inputString = ""; 
    { junk = Serial.read() ; }  
        }
      if(inputString.length()>2)
      {
        inputString = "";
      }
    }
// This section will execute if the IR receiver senses the Panasonic Power on-off signal
// from the hand held remote control. White light will blink twice, wait 5sec then all LEDs will turn off
     if (irrecv.decode(&results))
      {
        val = results.value;
        Serial.println(val);
        Serial.println("outside");
        if (val== -17231)
        {
          digitalWrite(4, LOW);
          delay(100);
          digitalWrite(4, HIGH);
          delay(100);
          digitalWrite(4, LOW); 
          delay(100);
          digitalWrite(4, HIGH);
          delay(100);          
          digitalWrite(4, LOW); 
          delay(100);
          digitalWrite(4, HIGH);
          delay(5000);  
          digitalWrite(13,LOW);
          digitalWrite(8,LOW);
          digitalWrite(9, LOW);
          digitalWrite(4, LOW);
        }
        irrecv.resume(); // Receive the next value
      }  
}

Comments

Add projectSign up / Login