Best tactic: count down clock

For general Flowcode discussion that does not belong in the other sections.
WingNut
Posts: 270
http://meble-kuchenne.info.pl
Joined: Tue Jul 13, 2021 1:53 pm
Has thanked: 41 times
Been thanked: 29 times

Re: Best tactic: count down clock

Post by WingNut »

I've been beaten to it. Another dragons den moment gone
Attachments
dynamite clock.png
dynamite clock.png (1.09 MiB) Viewed 4047 times

chipfryer27
Valued Contributor
Posts: 1688
Joined: Thu Dec 03, 2020 10:57 am
Has thanked: 374 times
Been thanked: 583 times

Re: Best tactic: count down clock

Post by chipfryer27 »

Hi

I bet the sticks don't do anything though :)

I can't find any pictures of my creation but it didn't last too long (even with beeper). Much like MJU20 does, it got repurposed. Not entirely though as it then became a random timer that beeped after anything from 10 to 90 seconds. Kept some kids amused for a while, a bit like "pass the parcel".

An idea could be to perhaps use the RTC component and a colour LCD display. Set the target time on bottom line (perhaps red) with the RTC counting above (perhaps green). As the times get closer to each other the green turns to yellow, through orange to red (perhaps flashing from yellow onwards).

I think I'll be building something with my displays....

Regards

medelec35
Matrix Staff
Posts: 2086
Joined: Wed Dec 02, 2020 11:07 pm
Has thanked: 644 times
Been thanked: 702 times

Re: Best tactic: count down clock

Post by medelec35 »

MJU20 wrote:
Thu Mar 23, 2023 5:05 pm
A bit like this:
Image
That reminds me of this RCT App Developer project I created some time ago.
Martin

MJU20
Posts: 353
Joined: Tue Dec 08, 2020 5:11 pm
Has thanked: 101 times
Been thanked: 70 times

Re: Best tactic: count down clock

Post by MJU20 »

In an attempt to get this working I asked an extra question about receiving data with an ESP32.

If someone knows anything about receiving HTML with the ESP32: please read this post..: https://flowcode.co.uk/forums/viewtopic.php?f=3&t=1852

Thanks!

chipfryer27
Valued Contributor
Posts: 1688
Joined: Thu Dec 03, 2020 10:57 am
Has thanked: 374 times
Been thanked: 583 times

Re: Best tactic: count down clock

Post by chipfryer27 »

Hi

Middle of last year I did some stuff with one of those, possibly a Wroom. I'll try and dig it out.

Regards

chipfryer27
Valued Contributor
Posts: 1688
Joined: Thu Dec 03, 2020 10:57 am
Has thanked: 374 times
Been thanked: 583 times

Re: Best tactic: count down clock

Post by chipfryer27 »

Hi

Not quite what you are after but how I updated Thingspeak with a 32 and GET.

Well I think it is :)

Regards
Attachments
GET_example.fcfx
(9.98 KiB) Downloaded 422 times

MJU20
Posts: 353
Joined: Tue Dec 08, 2020 5:11 pm
Has thanked: 101 times
Been thanked: 70 times

Re: Best tactic: count down clock

Post by MJU20 »

chipfryer27 wrote:
Fri Mar 24, 2023 8:43 pm
Hi

Not quite what you are after but how I updated Thingspeak with a 32 and GET.

Well I think it is :)

Regards
Great Chipfryer! Thank you!

I want to connect to a website like I would in a browser. The returned data will be filtered to find certain data.

Let's say I want to view the webpage on http://example.com/thispage/fullscreen. ... th=2&day=2
That is the URL I would typ in my webbrowser. I want to receive the response from the server.

Let's say the server returns this webpage:

Code: Select all

<!DOCTYPE html><!--
scripts and programs that download content transparent to the user are not allowed without permission
--><html lang=en><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><title>Full Screen Countdown to 2 feb 2026 in Antwerp</title><meta name=description content="This countdown counter counts down days, hours, minutes and seconds to new year or another date"><meta name=robots content="max-image-preview:large"><meta property="og:image" content="https://c.tadst.com/gfx/og/tadlogo-facebook.png"><meta property="og:type" content=website><style>
@font-face{font-family:iconfont;src:url("/common/fonts/iconfont.woff2?v8") format("woff2"),url("/common/fonts/iconfont.woff?v8") format("woff"),url("/common/fonts/iconfont.ttf?v8") format("truetype"),url("/common/fonts/iconfont.svg?v8#iconfont") format("svg");font-weight:400;font-style:normal}
</style>

<link rel=preload href="/common/fonts/iconfont.woff2?v8" as=font type="font/woff2" crossorigin>
<link rel=preconnect href="https://c.tadst.com" crossorigin>
<link rel=preload href="/common/global_21.css.br" as=style><link href="/site.webmanifest" rel=manifest><link rel=icon type="image/png" href="/favicon-48x48.png" sizes=48x48><link rel=icon type="image/png" href="/favicon-16x16.png" sizes=16x16><link sizes=32x32 href="/favicon-32x32.png" type="image/png" rel=icon><link type="text/css" rel=stylesheet href="/common/global_21.css.br"><script type="application/ld+json">
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Timers","item":"https://www.timeanddate.com/counters/"},{"@type":"ListItem","position":2,"name":"Full Screen Countdown to 2 feb 2026 in Antwerp"}]}
</script><script src="/common/fullscreen_11.js.br"></script><style>
/* old CSS */
.t100 {width:100%;height:100%;}
.tab {margin: 0 auto;}
body {overflow:hidden;}
#navz {float:right;}
#navz a {font-size:85%;text-decoration:none;color:#999;}
img {display:block;}
#wrap.fscr-ctd{height:100%; width:100%; position:relative !important;}
#wrap table{background:none;}
#c1{padding:0px;}
#c1 .wa{ border:none;}
#c1 .wa td{ background:none; text-shadow:1px 1px 1px #fff;}
/* */
#navz {margin-top:5px;}
#navz a{margin-right:5px;}
#navz a:hover { color:#556bb5;}
/* fullscreen countdown hr /counters/fullscreen.html?mode=a&year=2014 */
.fscr-ctd hr{display:none;}
/*fullscreen logo on mobile */
@media (max-width: 480px){
#logofs {
width: 50px;
height: auto;
margin-bottom: 10px;}
}
}
</style></head><body onload="Frst();" onresize="Frst()" onscroll="Fgt()" class=""><div id=navz><a href="#" onmouseover="window.status='Increase';return true;" onmouseout="window.status=''" onclick="return Fcz(1.25)" title="Increase font size">++</a><a href="#" onmouseover="window.status='Increase';return true;" onmouseout="window.status=''" onclick="return Fcz(1.05)" title="Increase font size (slightly)">+</a><a href="#" onmouseover="window.status='Decrease';return true;" onmouseout="window.status=''" onclick="return Fcz(0.95)" title="Decrease font size (slightly)">-</a><a href="#" onmouseover="window.status='Decrease';return true;" onmouseout="window.status=''" onclick="return Fcz(0.80)" title="Decrease font size">--</a><a href="#" onmouseover="window.status='Auto';return true;" onmouseout="window.status=''" onclick="Frst()" title="Automatic font size">auto</a><a href="#" onmouseover="window.status='Close';return true;" onmouseout="window.status=''" onclick="window.close()" title="Close window">Close</a></div><a href="/" target="_blank"><img src="//c.tadst.com/gfx/n/logo/logo-2021--horizontal-color-whitebg.svg" width=240 height=32 id=logofs alt="timeanddate.com" border="0"  /></a><div id=wrap class=fscr-ctd><table cellpadding=0 cellspacing=0 border=0 class="tab t100"><tr><td id=c1 align=center valign=middle>

<style>#el_w1,#el_dw1,#el_d1,#el_h1,#el_m1,#el_s1 {color:#176db3;}
#el_w1t,#el_dw1t,#el_d1t,#el_h1t,#el_m1t,#el_s1t {color:#ea0606;}
</style><div id=cnt_main>



<div class=cnt-main><hr><table class=wa><tbody id=rs3><tr><td class=ri><span id=el_d1>1044</span></td><td>&nbsp;<span id=el_d1t>days</span></td></tr><tr><td class=ri><span id=el_h1>23</span></td><td>&nbsp;<span id=el_h1t>hours</span></td></tr><tr><td class=ri><span id=el_m1>48</span></td><td>&nbsp;<span id=el_m1t>minutes</span></td></tr><tr><td class=ri><span id=el_s1>26</span></td><td>&nbsp;<span id=el_s1t>seconds</span></td></tr></tbody></table></div></div><script type="text/javascript">
et=1679871294;
function f0(d){return TAD.ld[d.getUTCDay()]+' '+d.getUTCDate()+' '+TAD.lm[d.getUTCMonth()]+' '+d.getUTCFullYear()+' '+p2(d.getUTCHours())+':'+p2(d.getUTCMinutes())+':'+p2(d.getUTCSeconds());}
function f1(d){return p2(d.getUTCHours())+':'+p2(d.getUTCMinutes())+':'+p2(d.getUTCSeconds());}
cks={"el":{"t":[{"o":3600,"a":"<a href=\"\/time\/zones\/cet\" title=\"Central European Time\">CET<\/a>"},{"t":1679792400,"o":7200,"a":"<a href=\"\/time\/zones\/cest\" title=\"Central European Summer Time\">CEST<\/a>","d":1}],"f":f1,"c":{"t":1769986800000}}};
TAD=window.TAD||{};TAD.lm=[];TAD.lm[2]='maart';TAD.ld=['zondag','maandag','dinsdag','woensdag','donderdag','vrijdag','zaterdag'];
</script></td></tr></table></div><script src="/common/wcommon_20.js.br"></script></body></html>
I want to read it and find certain values in this code.

In this case I want these values

Code: Select all

el_d1> ... el_h1 
and so on to become a parameter value in Flowcode that I can manipulate.

Right now I connect to the website with the Network Comms connect and this returns a true, so this works.
Now I need to tell the server which page I want to receive.

I do this with Network Comms send "GET /thispage/fullscreen.html?mode=a&iso=20260202T00&year=2026&month=2&day=2" and the length.
This also returns a true value.

The next step is to receive the response from the server and find the

Code: Select all

el_d1> ... el_h1 and so on
, and put them into a Flowcode variable.
I know this was an issue before for a "not so clever guy as me"...

I tried the Network Comms receive macro, and tried to receive 100 bytes and print it on the display.
But the string I want to receive it in is empty...

This will be my next challenge.. all help is welcome :)

medelec35
Matrix Staff
Posts: 2086
Joined: Wed Dec 02, 2020 11:07 pm
Has thanked: 644 times
Been thanked: 702 times

Re: Best tactic: count down clock

Post by medelec35 »

I have got a different take on this.
The attached project will work as standalone embedded, so not relying on an internet connection or it can be converted to an App Developer project so it looks like the back to the future time circuits as I did with the above link.
The way I have done it is to use an RTC and then calculate from the current date/month & year how many days months & years to the future date.
The project can be adapted to program the RTC with the current time via a keypad or by the click of a switch using curent PC time as shown with the App Developer project I linked to.
Countdown clock.png
Countdown clock.png (50.21 KiB) Viewed 4022 times
Attachments
Countdown clock v1.1 FC10.fcfx
(36.85 KiB) Downloaded 584 times
Countdown clock v1.1 FC9.fcfx
(35.62 KiB) Downloaded 531 times
Martin

MJU20
Posts: 353
Joined: Tue Dec 08, 2020 5:11 pm
Has thanked: 101 times
Been thanked: 70 times

Re: Best tactic: count down clock

Post by MJU20 »

I'm going to study this one Medelec. Thank you!

My first idea was to use a RTC too, but in my mind, there will be a combination between a RTC and an extern source that keeps track on the remaining time as a backup.

I could use an timeserver to sync the RTC, and on certain moments use the time/date website to sync the whole lot.

I stept into the search described above. This tactic I can use in other projects too.
So receive a webpage and filter it will be the first track I want to follow.

medelec35
Matrix Staff
Posts: 2086
Joined: Wed Dec 02, 2020 11:07 pm
Has thanked: 644 times
Been thanked: 702 times

Re: Best tactic: count down clock

Post by medelec35 »

At least now you have the calculations to move forward, assuming I have got them right of course.
You could check with this site.
Martin

Post Reply