Tardis klok met een RGB led.

A Tardis where the doors can open so you can store something in it. The Tardis also functions as a clock and has an RGB LED that is controlled externally for e.g. mail or chat client notifications.

Stap 1: Requirements

Stap 2: Software

The Tardis is controlled by a (small) microcontroller with Wi-Fi. A different microcontroller can also be used, such as an ESP32 or an Arduino with an Ethernet shield

The IDE in which I developed the Arduino firmware is PlatformIO, however, another IDE could also be used for it.

To connect the Tardis to your Wi-Fi and the API for RGB control, you need to adjust the following lines of code in main.cpp:

const char* ssid    = "SSID_HERE"; 
const char* password = "PASSWORD_HERE";

String tardisAPI = "API_URL_HERE";

Once you have flashed the firmware, the microcontroller performs a GET request every second on which a JSON response is expected with the key "led" and the value 0~5 where the values ​​result in the following behavior:

  1.    Green flashing
  2.    Burning green
  3.    Blinking blue
  4.    Burning blue
  5.    RGB off

Example response:

{
  "led" : 3
}

If the LED flashes red, it means the Tardis has no Wi-Fi connection. If the LED is solid red, it means that the JSON response is not valid.

Stap 3: Case

The case in this example is printed in PLA (Blue), but it could also be printed in other materials. The STL files for this are at the bottom of the page.

The components can be glued together, this was chosen because this prevents the whole from being printed on supports. The hardware can be attached using, for example, hot glue. As "glass" it was chosen to stick some plastic from an old packaging on the inside of the walls.

Stap 4: Electronics

The electronics can be connected as follows:

Micro controller:

  • D5 -> RGB LED Red
  • D6 ->RGB LED Green
  • D7 ->RGB LED Blue
  • SDA(D1) -> SCL of OLED
  • SCL(D2) -> SDA of OLED

Connection diagram can be found in the pictures below



© Prompt. All rights reserved. Crafted by Kevin Assen