Introduction: Led Matrix Clock and Whatsapp,snapchat Notifier.
EDIT: The whatsapp notification part works!
My name is Remco. I'am a electronics student from Holland. This is my first instructable I'am writing.
In this instructable project I will talk about a hobby of mine. I like to code and invent things.
First I will talk about what made me make this project. I worked at a company which sold cash registers. Me and a colleague were talking about led-strips and particularity about a led called WS2812. (I will come to this later). We were talking about all the fun things you could do with led-strips. I looked to the right and I saw this cashregister. Then it hit me. I thought about using the front of the cash register with the resistive touch panel. I thought maybe I could create a matrix of led-strips behind this panel and make a game behind it. So the company allowed me to take a broken cashregister and take the front and the resistive touch panel off it. I went to design this thing...
Last software update:
Last instructable update: 01-09-2017
Step 1: The Matrix
The matrix I came up with is constructed from a 60 led per meter ledstrip. This led strip holds ws2812 type leds.
The ws2812 leds are RGB and are easy to program with an library.
To find out more about these leds please check this link: https://cdn-shop.adafruit.com/datasheets/WS2812.pd...
I ordered two pieces of white acrylic of the same size. One too stick the ledstrip on. (the ledstrip I bought had an sticky back). And one to lay on top of the led strip to make the colors visible and relax the eye from the intensity of the leds.
I measured all the dimensions of the led strip and calculated that I could fit 13 rows of 18 leds on my acrylic panel. The dimensions were pre determined because of the cashregisters size.
The led strip is layed out like a zigzag pattern. I soldered wires one on one to the rows as you can see i the picture.
The ledstrip uses about 2 amps +, at +5 volts (be aware that 5V is the limit don't supply any higher voltages or you might break the ledstrip) when the leds are on full brightness so be sure that your power supply can deliver enough current.
I'am controlling the ledstrip with an esp8266 module. The led strip uses only one data pin and +5V and GND
For the code I used three librarys from adafruit: Adafruit neomatrix, Adafruit neopixel and Adafruit GFX . I tested the strip using a standard program witch came with the library's it worked after I set my specific height and width of the matrix.
Step 2: The Touchscreen
The touchscreen which came with the front end of the cashregister is an five wire resistive touchscreen. After some searching on the internet I found an controller (AR1100) http://ww1.microchip.com/downloads/en/DeviceDoc/41...
Which had a microcontroller on it and could give me the coordinates trough USB or serial connection. I used the serial connection to get the coordinates too the esp8266. This gave me a problem. Witch I could not figure out. Later I found out stupidly enough that the controller I was using uses RS232 12V logic levels and the arduino uses TTL 5V logic levels. So I used a max232 chip to convert the logic levels and it worked.
I worked on and off on this project for about a year now. Everytime I got something working and I continued to work on it until I was stuck on something. After a couple of weeks or even months I restarted work and figured out problems.
Some basic code for the touchscreen: touch_controller.ino
Step 3: Clock
When I was working on this project I got an esp8266 module. This WiFi module is easy to control with arduino. I thought about how I could implement this into my project. I thought about making a clock.
So i did.
The clock I made gets the time from the internet. The clock will sync its time with the internet every 24 hours or less if you prefer.
Step 4: Make Use of the Touchscreen
To make use of the touchscreen I found a sketch that made you able to play a game called tetris on the matrix. By making use of the touchscreen one can play the game by touching left and right side of the touchscreen.
Also a snake type game would be possible to make. I also found a sketch for this.
(But i have not implemented the touch part yet)
I also made an menu with scrolling text. I plan to implement this menu so that the user will be able too pick its game or to let the whatsapp/snapchat notifications fly past.
Step 5: Whatsapp Notifictions
The idea I had one year ago was to make this matrix so that it could present my whatsapp messages.
I'am not into making apps for android. I searched for an app witch captures notifications and sends them via TCP/IP too my esp8266. I did not find any. So I wrote my own/
I made a sketch for the esp8266 witch listens for incoming TCP messages.
Via PUTTY http://www.putty.org/ witch is a program that allows its user too send raw data too an IP. I'am able too send strings too the esp8266.
I made an app wich captures notifications from whatsapp and snapchat and sends them via ip to the esp8266. Together with the clock it is now a combination.
The time will be displayed normally. But if a notification comes in it will then display the notification on the matrix. Also if someone sends an whatsapp message, the contact and the message will be displayed.
Iam still working on the software. If people are interested in it i will upload the code for it. let me know
Step 6: My Plans for This Thing
1. Make an android app witch captures whatsapp notifications and sends the message to the esp8266 - DONE
2. Clean all the code -DONE
3. Make one giant program that syncs time with internet and puts it on the matrix. And pushes my whatsapp notifications to the matrix. -DONE
4. 3D print some parts too fit the screen inside the frame -DONE
5. Create a pcb witch will fit inside the frame neatly. -DONE BUT I COULD HAVE DONE BETTER :(
6. Hang it on the wall-DONE
7. Write more and more software and functions for it.