GithubHelp home page GithubHelp logo

t0mg / wordclock Goto Github PK

View Code? Open in Web Editor NEW
65.0 10.0 11.0 9.78 MB

ESP32 based DIY word clock project

License: Apache License 2.0

JavaScript 4.74% C++ 47.22% C 41.78% HTML 4.54% CSS 1.71%
wordclock esp32 laser-cutting esp32-arduino

wordclock's People

Contributors

davedavenport avatar t0mg avatar tjfsteele avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wordclock's Issues

Only 3 Leds light up (5, 6 and 7 in the chain)

Hi,

I flashed the code to a Wemos D1 mini ESP32. I was able to connect to the Webserver and integrate it into my local WIFI Network. However, the only thing that changes is the LED color (if changed over the Webserver page). All other changes (show am/pm, changing the time manually or retrieving it over a time server) remain without any effect. Always the same 3 LEDs light up.

What could be the issue here?

Can't compile the code.

Great project, i like it a lot
I can't get it to compile though... I get the following when i try to compile the provided code.
I am probably missing something and not seeing it.

In file included from /Users/rilindnuka/Documents/personal/wordclock/software/wordclock/wordclock.ino:9:0: /Users/rilindnuka/Documents/personal/wordclock/software/wordclock/src/Iot.h:64:3: error: 'IotWebConfParameter' does not name a type IotWebConfParameter ntp_enabled_param_; ^ /Users/rilindnuka/Documents/personal/wordclock/software/wordclock/src/Iot.h:69:3: error: 'IotWebConfParameter' does not name a type IotWebConfParameter timezone_param_; ^ /Users/rilindnuka/Documents/personal/wordclock/software/wordclock/src/Iot.h:74:3: error: 'IotWebConfParameter' does not name a type IotWebConfParameter manual_date_param_; ^ /Users/rilindnuka/Documents/personal/wordclock/software/wordclock/src/Iot.h:79:3: error: 'IotWebConfParameter' does not name a type IotWebConfParameter manual_time_param_; ^ /Users/rilindnuka/Documents/personal/wordclock/software/wordclock/src/Iot.h:84:3: error: 'IotWebConfParameter' does not name a type IotWebConfParameter show_ampm_param_; ^ /Users/rilindnuka/Documents/personal/wordclock/software/wordclock/src/Iot.h:89:3: error: 'IotWebConfParameter' does not name a type IotWebConfParameter ldr_sensitivity_param_; ^ /Users/rilindnuka/Documents/personal/wordclock/software/wordclock/src/Iot.h:94:3: error: 'IotWebConfParameter' does not name a type IotWebConfParameter color_param_; ^ /Users/rilindnuka/Documents/personal/wordclock/software/wordclock/src/Iot.h:99:3: error: 'IotWebConfSeparator' does not name a type IotWebConfSeparator time_separator_; ^ /Users/rilindnuka/Documents/personal/wordclock/software/wordclock/src/Iot.h:100:3: error: 'IotWebConfSeparator' does not name a type IotWebConfSeparator display_separator_; ^ exit status 1 Error compiling for board ESP32 Dev Module.

Network box

Is it possible to hide the network box or to collapse it if the network is already set up? or at least place it at the bottom.

Display ip address at startup with led matrix

Hi,

I am in the process of making a clock. I took your version with the "paint" functionality and the mqtt options because I think it opens up interesting perspectives!

I was thinking about a function to display scrolling text using the LEDs as a matrix.
It would thus be possible to display the IP address of the clock at startup, for example. It would be really very practical to know if it is in AP mode or if it is connected to the local network and in the latter case, to have the IP address to connect to it without having to plug in a USB cable to know it with the serial monitor or having to look for it on the box.
The function could also be used to display a scrolling message sent via an mqtt request. We could imagine programming messages on Home Assistant for events (happy birthday, merry Christmas, etc.)

But I admit that I am not comfortable enough with programming to implement this development...

Crashes when compiled with recent version of IDE

When executed, code crashes in Iot::updateClockFromParams_()

Guru Meditation Error: Core  1 panic'ed (StoreProhibited). Exception was unhandled.

Fix is to add return value; to setSensorSensitivity() in Display.h. I have submitted a pull request.

  // Sets the sensor sentivity of the brightness controller.
  int setSensorSentivity(int value)
  {
    _brightnessController.setSensorSensitivity(value);
    return value;
  }

Crashes on ESP32C3

Timer.cpp line 32 tries to create timer 3 but the ESP32C3 only has two.

Suggest changing the line to

timer_ = timerBegin(1, 8000, 1); // div 80

Updating color sometimes fail ?

Sometimes (in my experience, only when a full brightness color is selected), a color change isn't taken into account until reboot, or, which is weird, if we first switch to a dimmer color or to full black, which seems to consistently "unblock" the color. Reproduced on the original wroom esp32 and esp32c3.

Seems related to the brightness controller, as I could not reproduce the issue when auto brigthness is set to 0 (disabled).

This code is for a clock that uses an Adafruit TLC5947 LED driver, a real-time clock (RTC), a TMRpcm audio library, and an SD card. It sets the current time on the clock using the RTC and displays the time on the LEDs using the TLC5947. It also plays audio files from the SD card at specified times and has alarm functionality. The code uses a number of global variables to keep track of the current time and other settings, and it has a number of functions including setup() and displayupdate(). It should be noted that the code is incomplete, it's missing a lot of the functions and some of the lines are not complete.

esp32 constantly restarts (SW_CPU_RESET)

Hello,
I can't get the code to work on an esp32-Wroomer-32. There is no error message when compiling, the transfer also works without problems. However, I always get the following message via the serial monitor:

ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:1100
ho 0 tail 12 room 4
load:0x40078000,len:12280
ho 0 tail 12 room 4
load:0x40080400,len:3076
entry 0x400805ec
[ 17][E][ESPmDNS.cpp:65] begin(): Failed starting MDNS
[ 18][E][ESPmDNS.cpp:148] addService(): Failed adding service http.tcp.

Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.

Core 1 register dump:
PC : 0x400d3d07 PS : 0x00060130 A0 : 0x800d3d02 A1 : 0x3ffb2760
A2 : 0x00000000 A3 : 0x0000000a A4 : 0x00000005 A5 : 0x3ffc2b30
A6 : 0x3ffb2740 A7 : 0x3ffb2750 A8 : 0x00000000 A9 : 0x3ffb2730
A10 : 0x00000000 A11 : 0x3ffb275c A12 : 0x0000000a A13 : 0x3ffc236c
A14 : 0x3ffc23b4 A15 : 0x00000072 SAR : 0x00000019 EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000000 LBEG : 0x40084b65 LEND : 0x40084b6d LCOUNT : 0x00000027

Backtrace:0x400d3d04:0x3ffb27600x400d3cff:0x3ffb2780 0x400d3e49:0x3ffb27c0 0x400d2980:0x3ffb2800 0x400e1cc7:0x3ffb2820

ELF file SHA256: 0000000000000000

Rebooting...

The problem occurs regardless of whether I use Platform.io or the Arduino IDE. I have also tried different versions of the libraries. I am currently using the following libraries under Platform.io:
prampec/[email protected]
adafruit/RTClib
makuna/[email protected]

To rule out a possible defect in the microcontroller, I have now used 3 different esp32. The same error pattern occurs with all three.

I would be pleased if you could give me a tip. I have already searched the net desperately for possible solutions, but have found nothing.

Control reaches end of non-void function warning

src/src/ClockFace.cpp: In member function 'uint16_t ClockFace::map(int16_t, int16_t)':
src/src/ClockFace.cpp:64:3: warning: control reaches end of non-void function [-Wreturn-type]
default:
^~~~~~~
src/src/ClockFace.cpp: In member function 'uint16_t ClockFace::mapMinute(ClockFace::Corners)':
src/src/ClockFace.cpp:91:3: warning: control reaches end of non-void function [-Wreturn-type]
default:
^~~~~~~

New hour animation

I think it would be cool to have an animation like boot animation when a new hour happens, like before saying it's twelve o'clock we have an animation. Obviously able to enable or disable it and maybe select from a range of animation? Would be awesome!

Home automation integration

This is a feature request .

Is there a possibility to add either a REST api or a Mqtt client to your project.
I would like to be able to change at least the color, the brightness from home assistant.
Case use would be to switch off the leds when no one is in the room or dim when the tv is on etc. Also the color could be changed for instance when someone is ringing or the temperature is under 0โ€ฆ
I checked the IotWebConf project and it seems that it can handle these features.

https://github.com/prampec/IotWebConf/blob/master/examples/IotWebConf06MqttApp/IotWebConf06MqttApp.ino

Is it something you would consider?

cannot connect

Hi Tom, I finished upload your code to ESP32,
my mobile cannot find AP name "wordclock"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.