RGB HexMatrix | IOT Clock

6,272

96

95

Introduction: RGB HexMatrix | IOT Clock

About: I am a Computer Science Student. I love playing with electronics and codes. Making Brand new projects.

HexMatrix is the LED matrix having many triangular pixels. Six pixels combining makes a hexagon. There are many different animations that can be shown on the matrix form FastLED library, Also I have designed digits from 0 to 9 using 10 segments for each digit in the matrix and made a IOT clock.

Supplies

  • ESP8266 or Arduino(Uno/Nano)
  • WS2811 LED (96 LEDs)
  • 5V/2A Power Supply
  • 3D Printing

Step 1: 3D Printing:

Step 2: Circuit Connections:

  • Make all the connections as shown in circuit diagram.
  • GND~-Ve
  • Vin~5V~+Ve
  • DataIn ~ Pin 2
  • Also extend the power supply wires to last LED and connect, to prevent the voltage drop across the LEDs.

Step 3: Note:

  • If you use Arduino board then you can only display animations,you cannot display time.
  • If you use ESP8266 board then we can display time and other animations on the matrix.

Step 4: Assembly:

  • Put all the LEDs in snake wise order.
  • Assemble everything together.
  • Solder the connector to Microcontroller board , the connector is taken from the other end of the LEDs line.

Step 5: Coding:

  • Click here for codes
  • For this matrix I have made three codes HexMatrix.ino ,clock1.ino and clock2.ino.
  • HexMatrix code is the code for displaying animations on the matrix,it can run on any Microcontroller board.
  • Clock and clock2 code only runs on ESP8266 boards.

HexMatrix.ino:

  • Open the code given in Arduino IDE.
  • Install the FastLED Library in Arduino IDE.
  • Select the board type,port and upload the code.

Clock1 and Clock2 Codes:

  • Open the code in Arduino IDE.
  • In this code we can change this values as per our color requirement

//Digit color values in RGB
int r=255;

int g=255;

int b=255;

//Background color values in RGB

int br=0;

int bg=20;

int bb=10;

  • Enter the Wifi name and password

const char* ssid = "Wifi_Name";

const char* password = "Password";

  • Enter the time zone of your country(India 5:30=5.5 similarly enter your time zone)

//Your time zone
int timezone = -5.5 * 3600;

  • Select the board type as ESP8266,select the port and upload the code.
  • Apart from this we also have many other animations in the FastLED Examples.

3 People Made This Project!

Recommendations

  • Backyard Contest

    Backyard Contest
  • Maps Challenge

    Maps Challenge
  • Fandom Contest

    Fandom Contest

95 Comments

0
papatrice1
papatrice1

4 weeks ago

bonjours ca fonctionne Mais j'ai un problème
d'inversion d'affichage de l'heure en mirroir

0
dwc309
dwc309

Question 2 months ago on Step 4

In step 4, is the pic showing how to shtuff the leds into the grid the back view or the front view? Thanks.

0
k1200s
k1200s

Question 5 months ago

I will probably use a ESP01 board for this, which does not have D2 (GPIO4) pin. Only GPIO0 and GPIO2.
Do you think that it's enough to change the line
#define LED_PIN 2
to
#define LED_PIN 3 or 4 (which corresponds to GPIO0 and GPIO2)?

Thanks!
Eduardo

0
lrylove
lrylove

8 months ago

hi,
I wonder if the 5V/2A power supply is enough as I found the highest power of each LED is 0.3W?

0
Mukesh_Sankhla
Mukesh_Sankhla

Reply 8 months ago

Yes I have used the 5V/2A power supply for the safer side you can use 5V/3A or so

0
lrylove
lrylove

Reply 8 months ago

OK. Thank you.

0
Foo_Plinger
Foo_Plinger

8 months ago

Hello. I have made this project, and have modified the code because I used strips of 2812B LEDs, so my matrix/array is completely different. I have everything working, except one thing. When I unplug the USB from the ESP board, the code stops running, the clock freezes on whatever time and colors were being displayed when I removed the connection. I tried resetting the ESP, removing power, even left it off overnight, the code will not run unless it is connected to my PC. Without the USB connection, it comes up as 7:00, with no movement of the numbers or colors. Has anyone else seen this kind of thing, or have any suggestions?

0
luckydedaojing
luckydedaojing

10 months ago

It's a great project!
But I had some problems
LED time display reversal, LED lights I've seen the order is correct, I use the lights are WS2812, there are ways to solve it?

beauty_20200923093939.jpgbeauty_20200923102345.jpg
0
luckydedaojing
luckydedaojing

Reply 10 months ago

Thank you very much eager to help, I wish you a happy life! Your new code useful to me and work well!

0
Mukesh_Sankhla
Mukesh_Sankhla

Reply 10 months ago

Thank You.

0
ctbaker71
ctbaker71

10 months ago

Hello,
I modified the original code to add a zero for minutes 0 through 9 and I added a night mode where the LEDs will turn off and turn back on at hours you define. I have posted my version of the code at:
https://github.com/shatter71/HexClock
I also fixed the non-manifold errors with the original piece that holds the LEDs and then designed a new housing where you print the face and sides as one piece and then the back is printed separately. The back piece will accommodate a female barrel power socket. These files are posted on thingiverse at the link below. I also provided the Fusion360 files and set them up to utilize parametric design so you can easily define the opening for the LEDs and all of the openings will be resized. In my case, I made the opening 8.1mm.
https://www.thingiverse.com/thing:4590275
Thanks again for this great project!

0
donurbandon
donurbandon

11 months ago

Wow! Awesome project.

0
bzowk
bzowk

11 months ago

Hey - Great design! Just built, but having trouble verifying it. When attempting to verify HexMatrix, I get an error in Drops.h of...
could not convert '(const uint32_t*)(& OceanColors_p)' from 'const uint32_t* {aka const unsigned int*}' to 'CRGBPalette16'

Haven't changed anything in code, so not sure what's up. Note: commenting out the include for Drops.h doesn't help as get same error in different file too.

Thanks

0
Mukesh_Sankhla
Mukesh_Sankhla

Reply 11 months ago

Hi,
Download the complete folder HexMatrix, the folder should contain all the classes(.h files). It will work then without any error. If still any error text me again.

Thank you!

0
bzowk
bzowk

Reply 11 months ago

Thanks for the reply... I did that initially, but extracted and tried again - opening HexMatrix.ino from the folder then attempting to verify without changing anything at all and still got the error. Here's a screenshot...

BTW - The FastLED library I have installed is 3.3.3 by Daniel Garcia - perhaps the wrong one?

Thanks!

ss.jpg
0
Mukesh_Sankhla
Mukesh_Sankhla

Reply 11 months ago

You can try the FastLED library examples they are all similar animations. XY Matrix,Pride 2015 are the best animations which suits the Matrix.

0
bzowk
bzowk

Reply 11 months ago

Thanks - I finally figured it out last night once I found the original files from the Mask project. After a few changes, all good. Appreciate it.