Things used in this project

Hardware components:
Msp exp430fr6989 msp exp430fr6989 side
TI LaunchPad MSP-EXP430FR6989 MSP430 FRAM LaunchPad
×1
Msp exp430f5529lp 5529 lp angle%5b1%5d
TI LaunchPad MSP-EXP430F5529LP MSP430 LaunchPad
×1
SeeedStudio Grove IR Emitter
×1
SeeedStudio Grove IR Receiver
×1
Software apps and online services:
Energiabadgelogo2
TI LaunchPad Energia

Code

IRSendSerialC/C++
Uploaded to the 5529 to read Serial input and emit it over IR.
#include <IRSendRev.h>
#define pb1 PUSH1 
#define BIT_LEN         0
#define BIT_START_H     1
#define BIT_START_L     2
#define BIT_DATA_H      3
#define BIT_DATA_L      4
#define BIT_DATA_LEN    5
#define BIT_DATA        6
 
const int ir_freq = 38;                 // 38k
IRSendRev IR;
unsigned char dtaSend[40];
String buffer;
 
void setup()
{
    IR.setSend(40);
    Serial.begin(115200);
}
 
void loop()
{
  if (Serial.available()){
    buffer = "";
    while(Serial.available()>0){
      buffer += char(Serial.read());
    }
    dtaSend[BIT_DATA_LEN] = buffer.length();
    int i;
    for(i = 0; i<buffer.length();i++){
      dtaSend[BIT_DATA+i] = buffer[i];
    }
    IR.Send(dtaSend, 38);
  }
    delay(100);
}
IRRecvSerialC/C++
Code uploaded to the 6989 to receive ASCII codes over IR and print them on the built in LCD display.
#include <LCD_Launchpad.h>

#include <IRSendRev.h>
 
#define BIT_LEN         0
#define BIT_START_H     1
#define BIT_START_L     2
#define BIT_DATA_H      3
#define BIT_DATA_L      4
#define BIT_DATA_LEN    5
#define BIT_DATA        6

const int pinRecv = 5;              // ir receiver connect to D2
IRSendRev IR; 
boolean state = 0;
LCD_LAUNCHPAD LCD;
char buffer[40]; 
int dta[40];

void setup()
{
    Serial.begin(115200);
    IR.Init(pinRecv);
    LCD.init();
}

 
void loop()
{
  if(IR.IsDta())                  // get IR data
  {
    IR.Recv(dta);               // receive data to dta
    int i;
    for (i = 0;i<dta[BIT_DATA_LEN];i++){
      buffer[i] =  char(dta[BIT_DATA+i]);
    }
    buffer[i] = '\0';
    LCD.displayScrollText(buffer,400);
  }
}
IRGroveC/C++
Library used to enable IR communication
No preview (download only).

Credits

81a21a12aab58cdfe8d1306c85500e45
Chris Roberts

I am an applications engineer with Texas Instruments working with the Launchpad by trade, and a maker by passion!

Replications

Did you replicate this project? Share it!

Love this project? Think it could be improved? Tell us what you think!

Give feedback

Comments

Similar projects you might like

OmegaJar
Intermediate
  • 209
  • 4

Full instructions

An Internet Connected Smart Jar powered by Amazon DRS!!

Calliope Heart Rate Sensor
Intermediate
  • 149
  • 4

Full instructions

Use a Calliope Mini and a Grove Heart Rate Sensor to visualize the heartbeats via the LED screen and calculate the BPM (beats per minute).

LED Sound Meter using Wio-Link and Node-Red
Intermediate
  • 64
  • 3

Protip

SeeedStudio Grove sound sensor and LED strip attached to Wio-Link being driven by a Node-Red flow

Amazon Smart Medicine Dash Box
Intermediate
  • 370
  • 4

Full instructions

The smart medicine dash box allows user to visualize the contents of the medicine in real time (via mobile apps) and notifies when low.

Automated Shower Boiler
Intermediate
  • 126
  • 2

Full instructions

Do you live in a country where you use solar energy to warm up the water? Well, how about we automate the process of the shower boiler.

Smart Vendy
Intermediate
  • 83
  • 1

Full instructions

Tracking vendor sales so that effectively manage what inventory needs to buy to fill machines before it gets out of stock.

ProjectsCommunitiesContestsLiveJobsBetaFree StoreBlogAdd projectSign up / Login
Respect project