IP-Time Clock del 1 (2 / 3 steg)

Steg 2: Sommartid



Så detta steg är ganska tekniskt och förs.cykeletapper om inte du är intresserad av:

Okej, så det finns en Arduino bibliotek skrivet att hantera förändringar sommartid:

https://github.com/JChristensen/timezone

Men skulle inte det sammanställa när du använder ESP8266 biblioteket. (Något att göra med EEPROM.) Så skrev jag min egen kod.

Här är de nuvarande amerikanska reglerna för sommartid:

https://en.wikipedia.org/wiki/Daylight_saving_time_in_the_United_States

"För närvarande sommartid börjar den andra söndagen i mars och slutar den första söndagen i November, med de tid förändringarna på 2:00 lokal tid. Med en mnemonic ord spela hänvisar till årstiderna, ur "spring fram och falla tillbaka" – det vill säga under våren (tekniskt vårvintern) flyttas klockorna fram från 2:00 till klockan 3:00 och under hösten flytta tillbaka från 2:00 till 1:00. "

Tja, om du gjort några programmering, detta blir ganska komplicerat. Här är vad jag gjorde.

Arduino tid biblioteket, som många datorer använder något som kallas Unix Time:

https://en.wikipedia.org/wiki/Unix_time

UNIX time (även känd som POSIX eller epok) är ett system för att beskriva ögonblickar i tid, definierad som antalet sekunder som förflutit sedan 00:00:00 Koordinerad universell tid (UTC), torsdag den 1 januari 1970

Nu använder NTP och GPS UTC. UTC är inte en tidszon men det bygger på tiden i England så du måste konvertera den till lokal tid och justera för Daylight Savings time.

Så skapade jag två variabler kallas SpringChange och FallChange i Unix time format.

Sedan använda NTP, jag hittade det aktuella året.

Från år beräknade jag sedan två unix tider för de två variablerna. Detta är knepigt eftersom den andra söndagen i mars och den första söndagen i November inte är samma dag från år till år. Men en sak tid biblioteket kan berätta ges en Unix time, kan den bestämma veckodagen. Så använder månaden, dagen och vardag, jag kunde lista ut de ändra dagarna för året.

Så när programmet blir en ny UTC-tid, om det är större än eller lika med (> =) SpringChange och mindre än (<) FallChange än det är sommartid (DST). Annars är det inte DST. Nu för att få aktuell lokal tid, jag justera för (i mitt fall) Mountain Time och dagsljus besparingar tid.

Se Steg
Relaterade Ämnen

IP-Time Clock del 2

Så lata gamla Geek (LOG) gjorde en elektronisk klocka:Fördelarna är att det är ganska billigt, det blir tiden av Internet, det justerar för sommartid och inte kräver ett batteri att komma ihåg rätt tid.Jag ville göra några förbättringar:Ville ha stör...

Motion känsliga LCD Real-Time Clock/larm/Timer (uppdaterad Program)

jag behövde en klocka för mitt hemmakontor (där jag tillbringar helgen morgnar bygga robotar och sådant) och jag ville att det skulle passa in i inredningen i min elektronik arbetsbänk. Jag bestämde mig att bygga en med alla "modet" utsatt. Spec...

Real Time Clock - DS1302

detta är en mycket enkel handledning om hur du använder DS1302 realtidsklockan med en Arduino, eller Versilino, ombord. Jag kommer att gå igenom ledningar, koden och exempel. Alla som kan hittas på www.Virtuabotix.com. det här är mitt ifrst försök at...

Arduino Aquaponics: Real-Time-klocka del I

AA grundläggande behovet av att alla kontroller system är möjligheten att spåra tid. Vi är medvetna, har Arduino tre metoder kan anställa:1. seriell. Upprepade gånger får tid över seriell anslutning.2. extern hårdvara. Realtids klockor, som ChronoDot...

Arduino Real Time Clock (DS1307)

Denna tid jag kommer att visa dig hur man gör en modul för att låta den Arduino reda på tiden. Även om det finns många tutorials för modulen realtidsklocka ville jag göra min version av denna modul helt fokuserat på steg för steg lödning. Instructabl...

Att få upp Time Clock

När min son var liten hade han en vana att stiga upp vid vissa okristliga timme.Han skulle springa in i sovrummet som skriker "är det dags att få upp pappa?" Vid denna tid var skadan skedd. Eftersom det finns bara så många episoder av Barney (bi...

IKEA Ribba Word Clock

Min första ordet klocka var "igång" ungefär 5 år sedan. Den var baserad på de traditionella enskilda LED-klockorna med mer lödfogar och ledningar än jag hade tid, eller tålamod för. Det togs upp och bits gjort då och då för att lägga undan samla...

Javelin's Word Clock

Min arbetsplats, spjutkastning, letar alltid efter sätt att göra våra produkter och tjänster personlig. Nyligen, ett tillfälle yppade sig där jag ombads att konstruera en klocka ord för en klient. Jag hittade ett antal bra guider som glatt ordet kloc...

LED Arduino Clock

Efter byggnad mitt senaste projekt, ville jag bygga något med en Arduino. Bläddra Instructables månader såg jag en LED Arduino klocka som jag ville bygga. Efter några nykonstruktioner för min del satt jag på min erövring att bygga denna klocka.Först...

TimeDuino - 7 Segment Arduino Clock (inga SKIFT register behövs!)

Hej alla instructable publiken! Detta är mitt första projekt. Ja, jag vet att dessa ord brukar få stereotypen "Detta kommer inte att vara ett bra projekt" attityd, men jag har väntat länge för ett projekt som är värt att eventuellt bryta den för...

Arduino Timer avbryter

Timer avbrott kan du utföra en aktivitet på mycket specifikt tidsintervall oavsett vad som händer i din kod. I detta instructable jag ska förklara hur man ställer in och kör ett avbrott i tydlig Timer på Jämför Match eller CTC läge. Hoppa direkt till...

Arduino Mario Clock

Det är en musikalisk desktop väckarklocka med ett tema av välkända spel som MARIO. Faktiskt jag vakna upp med Mario tema istället för min mobiltelefon. Lysdioder (färg rör) blinkar gör det vackrare.Funktioner:-Visa tid, datum, temperatur-Mario bild o...

Alarm Clock Pac_Man MP3

EngelskaDetta är min första instructables :-) ledsen för min engelska... Jag är fransk!Jag har bygga för min dotter en alarmklocka MP3 med roliga Pac_Man (nu hon vakna alla ensam)FranskaC'est mån 1er instructables :-)J'ai construit Häll ma fille un r...

Arduino Tutorials (del 4-21 Tutorial Pack)

Detta är Arduino Tutorial Pack del 4.Den 1: a delen finns här:Del 2 finns här:Den 3: e delen finns här:Till skillnad från andra tutorials här brukar jag ge någon bakgrund i teorin hur det fungerar. Den är inriktad på resultatet hur uppnå det - att gö...

8 kanal programmerbar Timer

IntroduktionJag har använt mikrochips PIC sortiment av mikrokontroller för mina projekt sedan 1993 och har gjort alla mina programmering i assembler språk, med hjälp av Microchip MPLab IDE. Mina projekt varierade från enkla trafikljus och blinkande l...

Space Invaders Desktop Clock

Många av oss har spelat klassiskt arkadspelet Space Invaders. Här är ett sätt att implementera den i ditt dagliga liv!Denna fiffiga klocka är packad med groovy animationer och ljudeffekter. Det är perfekt för skrivbordet, och göra arbete/studier myck...

Arduino Nano: DS1307 realtid Clock(RTC) med Visuino

DS1307 Realtidsklocka finns allmänt tillgänglig låg kostnad I2C RTC moduler. De kommer med en klocka och ett litet batteri, och när ansluten till Arduino, kan hålla reda på realtid även när Arduino styrelsen inte drivs.I detta Instructable kommer jag...

Arduino Nano och Visuino: 7 Segment Display klocka med MAX7219 och DS1307 realtid Clock(RTC)

DS1307 Realtidsklocka finns allmänt tillgänglig låg kostnad I2C RTC moduler. De kommer med en klocka och ett litet batteri, och när ansluten till Arduino, kan hålla reda på realtid även när Arduino styrelsen inte drivs. Jag har redan gjort Instructab...

Automatiserad optisk Fiber julgran + (bluetooth, timer, ljusare)

I detta instructable jag ska visa dig hur man uppgraderar en enkel julgran stå att inkludera en på/av-timer, bluetooth och göra det ljusare.Steg 1: Stycklista1. fiber optic julgran2. Bright LED-lampa:http://www.Amazon.com/gp/product/B00TT6H3WE?PSC=1....