Tiffany's TV Remote operates a SuperSonic TV monitor and a Spectrum Cable box. Tiffany has control of these devices by using the Communicator on her laptop with a custom pop-up for the TV. For more information about Communicator, see the Tiffany tab on this website. There is a lot going on to make this happen, and we will try to explain:

 

When the TV pop-up opens on Tiffany's laptop, the TV Remote program opens at the same time, and the word processor program minimizes. Communicator scans the rows and then columns to tell the TV Remote program what to do. The On/Off, Vol +/- , and Channel +/- buttons work as they are labeled. The preset channel buttons send the actual channel number to the program. For example, the Food Network is channel 38, so Communicator sends out a 3 and an 8 .

The TV Remote program is Java based,  written in B4J (Basic for Java) by Anywhere Software. The B4J program then sends the information via WIFI to an ESP9266 programmed with an Arduino based software written in B4R (Basic for Arduino), also by Anywhere Software. The ESP8266 drives an IR LED, which then transmits the appropriate code to the TV and Cable box. In our example above, The IR LED will send the code for a 3 followed by the code for an 8. The TV Remote and TV pop-up will stay active until Tiffany clicks the Exit Button, at which time Communicator goes back to the initial pop-up, the TV Remote closes, and the word processor program maximizes, and receives focus.

The hardware involved is relatively simple, an ESP8266, a transistor driven IR LED, a Reset button, and a red and green LED (used for troubleshooting). The programming is a little more involved, and is attached below.

 

Attachments:
FileDescriptionFile size
Download this file (SSTV_IR_Send.b4j)SSTV_IR_Send.b4j 7 kB
Download this file (SSTV_IR_Send.b4r)SSTV_IR_Send.b4r 16 kB

OUTDOOR TEMPERATURE and SEASON DISPLAY

I have a Davis Weather Station attached to my garage. The distance from the house to the garage is at the range limit of the wireless connection, so I had to put the control station in the garage. The control is connected to a dedicated PC which relays the information over the web to my PC in the house.

This works OK, but I have to open the browser on the house PC to see the weather data. This is time consuming when all I want is the outside temperature.

Enter the e-paper display. It shows the temperature (in 5 degree intervals) and the season of the year.

The temperature and current day arrive in an API request from the Davis control station and the relative data is "parsed" from the request.

Here is how it is done:

The driver is a Waveshare Universal e-Paper Raw Panel Driver Board, ESP8266 WiFi Wireless # 14138

The display is a Waveshare 400x300, 4.2inch E-Ink raw display, three-color # 13379

The ESP8266 is using the Arduino IDE with the GxEPD library.

The display comes from a combination of black and red bitmaps. There are 4 black (one for each season) and 24 red (outside temperatures from -10 degrees f to 120degrees f in 5 degree intervals). The data received from the API request determines which bitmaps to display. The display updates every 15 minutes which is also the update frequency of the weather instrument.

THE REST OF THE STORY -

I decided to take this project one step further. I obtained another display, this one 7.5" with a resolution of 800 x 480 pixels. This display is only two color, black and white. Just like the Thermometer, the data comes from my Davis weather instrument via an API request in which the JSON string is parsed to obtain the relevant weather information.

The driver board is the same as used for the Thermometer, Waveshare # 14138, and the display is a Waveshare #13187.

 

The source code files are posted below.

 

 

Attachments:
FileDescriptionFile size
Download this file (BitmapLEK.h)Bitmap Arrays 3021 kB
Download this file (BitmapLEK2.h)BitmapLEK2.h 9 kB
Download this file (epaper_thermometer.ino)E-Paper Thermometer 15 kB
Download this file (GxEPD2_GFX_Weather_BW.ino)GxEPD2_GFX_Weather_BW.ino 23 kB

Long live the Arduino !!

A couple of projects that I completed:

This is a 4 x 20 LED display that scrolls the time/date, weather information, e-mail status, and more. It is run by an Arduino Uno.

 

This Arduino Uno based display is an Adafruit NeoMatrix with added clear plastic rods for visual effect. It scrolls the time/date, temperature and the phase of the moon (shown), along with some entertaining patterns.

When time allows I will provide more information about these projects, including source code and wiring.