Inhoudsopgave:

GEEN LENTE MEER VOORUIT: 5 stappen
GEEN LENTE MEER VOORUIT: 5 stappen

Video: GEEN LENTE MEER VOORUIT: 5 stappen

Video: GEEN LENTE MEER VOORUIT: 5 stappen
Video: Diederik Wolsak – Verlies is geen verlies wanneer het goed wordt gezien 2024, Juli-
Anonim
GEEN LENTE MEER VOORUIT
GEEN LENTE MEER VOORUIT
GEEN LENTE MEER VOORUIT
GEEN LENTE MEER VOORUIT

Alternatieve titel: IP Time Clock deel 3

Als je het leuk vindt, doe ik mee aan de Klok-wedstrijd.

Ben je het zat om vooruit te moeten springen?

Ben je het zat om terug te moeten vallen?

Nou, dat ben ik. Ik heb deze oude wekker die dit (voor een tijdje) heeft opgelost (zie afbeelding) Het zou automatisch worden aangepast voor zomertijd en (denk ik) het heeft een batterijback-up voor het geval je stroom verliest. Helaas hebben de VS enkele jaren geleden besloten om de dagen te veranderen voor het veranderen van de tijd. Dus nu moet deze klok vier keer per jaar handmatig worden verwisseld! Ik gebruik deze alleen als back-up.

Dus deze Lazy Old Geek (LOG) wilde de perfecte klok. Iedereen is anders en tijden veranderen (Ha!Ha!) en idealen veranderen. Hier is mijn ideale slaapkamerklok.

Altijd zichtbaar 's nachts. VOORZICHTIG: Geen knipperende seconden 's nachts, dat is te storend.

Automatische DST (zomertijd). Ik haat het om twee keer per jaar de klok te moeten veranderen.

Geeft de dag van de week weer. Omdat ik OUD ben en het me niet kan herinneren.

Dus ik hou van seconden in de ochtend. De advertentie zegt 30 seconden gorgelen, dus ik hou van een klok die seconden aangeeft.

Geen blauw licht. We weten allemaal dat blauw licht slecht voor je is. Niet altijd waar, zie dit:

www.instructables.com/id/Blue-Light-Proje…

Oké, dat is vrij eenvoudig. Veel klokken zijn 's nachts zichtbaar en veel zijn niet blauw. Sommige zijn 'atoomklokken' die zich aanpassen aan de zomertijd. Eigenlijk moet ik met sommige van mijn 'atoomklokken' spelen met DST-omschakelingen.

Nu is de secondensituatie specifieker. Ik heb mijn eigen ontworpen om dat in deze Instructable te doen (hoewel ik merkte dat ik het niet zo goed heb uitgelegd):

www.instructables.com/id/IP-Time-Clock-Par…

Deze klok ging ongeveer vier jaar mee, relatief onderhoudsvrij tot een paar maanden geleden toen hij ermee stopte.

Stap 1: Bevestiging, eerste stap

Bevestiging, eerste stap
Bevestiging, eerste stap
Bevestiging, eerste stap
Bevestiging, eerste stap
Bevestiging, eerste stap
Bevestiging, eerste stap

Blue screen of death, IP Clock (eigenlijk is het zwart).

Technobabbel:

Een korte beschrijving van IP Clock. Het maakt gebruik van een ESP-03 microcontroller, deze maakt verbinding met internet via wifi. Ik heb twee mannelijke headerstrips van 2 mm op de ESP-03 gesoldeerd, zodat deze in een aansluiting op de printplaat kan worden gestoken.

Het maakt gebruik van twee zeven-segment-3-cijferige displays zoals:

Ik weet niet meer of dit een gewone kathode of anode was.

Een Max7219 om de displays en de individuele LED's voor dagen van de week aan te sturen.

Kijk voor meer informatie op mijn IP Clock deel 2 Instructable.

Nou, het eerste wat ik probeerde was de ESP-03 (microcontroller) opnieuw te programmeren, dus ik keek naar mijn Instructable en probeerde het, maar ik kon het niet programmeren.

IRRELEVANTE GESCHIEDENIS: Oké, ik ben een OUDE man, dus mijn gedachten dwalen af. Een van de redenen waarom ik in Instructables.com terechtkwam, was dat het geweldige Instructables op Arduino had. Het was een van de belangrijkste redenen waarom ik in Arduinos stapte en leerde hoe ik ze moest gebruiken. Instructable schrijvers zijn op alle verschillende niveaus en vaardigheden, maar ik kan er vaak een aantal vinden die op een niveau zijn dat ik kan begrijpen. Dus bedankt Instructables voor het helpen van mij door de jaren heen.

Om de gunst terug te geven, schrijf ik Instructables waarvan ik hoop dat het anderen zal helpen.

Een tweede reden waarom ik Instructables schrijf, is om me te helpen herinneren hoe ik projecten deed. Tijdens het schrijven van Instructables probeer ik alle details te geven om te doen wat ik deed. Blijkbaar doe ik het niet altijd goed.

Oké, ik heb de IP-klok op een laag pitje gezet.

Mijn theorie is dat meer blauw licht me meer energie gaf (zie hierboven blueproject Instructable) en focus om dit probleem opnieuw te bekijken. Waar ik uiteindelijk achter kwam, was dat de methode die ik gebruikte om de ESP-03 te programmeren niet meer werkte. Ik schreef dit in een andere Instructable:

www.instructables.com/id/2020-ESP8266/

Probleem 1 opgelost, ik kan nu ESP-03's programmeren met Arduino-schetsen.

Stap 2: Volgend probleem oplossen

Volgend probleem oplossen
Volgend probleem oplossen
Volgend probleem oplossen
Volgend probleem oplossen
Volgend probleem oplossen
Volgend probleem oplossen

Nou, ik programmeerde een ESP-03 met mijn oude Arduino-schets, stopte het in mijn IP-klok, werkte nog steeds niet. Zoals ik de schets had geschreven, werd er niets weergegeven totdat een succesvolle verbinding met internet en de NTP-server (levert nauwkeurige tijd op internet) tot stand was gebracht, dus ik had een leeg scherm.

Met behulp van de Arduino seriële monitor kon ik zien dat deze geen verbinding maakte met de NTP-server.

OPMERKING: De ESP-03 gebruikt een ESP8266-microcontroller. Een van de leuke dingen van de ESP8266 is dat hij ingebouwde wifi heeft. In technische termen kan het verbinding maken met een wifi-hotspot of wifi-router die veel huizen, waaronder de mijne, hebben.

Omdat het hier behoorlijk technisch wordt, hebben nieuwe wifi-routers twee bandbreedtes, 2,4 GHz en 5,0 GHz. (Zie afbeelding voor mijn router) Ik zie ze graag als het verschil tussen AM- en FM-radio. (Herinner je je die nog?)

Een beperking van ESP8266 is dat ze alleen 2,4 GHz-bandbreedte gebruiken.

Meer technische dingen, wanneer je verbinding maakt met wifi, heb je een identificatie nodig die een SSID wordt genoemd. Het is als een individueel radiostation, K Earth 101. En om veiligheidsredenen heb je ook een wachtwoord nodig.

Welnu, veel wifi-dual-bandrouters (2,4 GHz en 5 GHz) gebruiken dezelfde SSID voor beide banden.

Hoe dan ook, om de een of andere reden kon ik een ESP-03 niet verbinden met mijn router. Ik meen me te herinneren dat andere mensen soortgelijke problemen hadden.

Kort gezegd: ik heb een andere router ingesteld met afzonderlijke SSID's voor de 2,4- en 5 GHz-band, bijvoorbeeld "mtslink24" en "mtslink50" en kon op internet praten. (Zie afbeelding)

WAARSCHUWING: Als u een dual-band router hebt met dezelfde SSID's op beide banden, werkt deze mogelijk niet met ESP8266's.

Stap 3: Laatste probleem oplossen

Laatste probleem oplossen
Laatste probleem oplossen

Wat ik zag was dat ik nog steeds geen verbinding kon maken met de NTP-server. Ik vond een andere Sketch om te zien of ik internet kon gebruiken en dat werkte, dus het volgende probleem leek verbinding te maken met de NTP-server.

Welnu, in mijn originele schets heb ik een IP-adres gebruikt om verbinding te maken met een NTP-server:

tf.nist.gov/tf-cgi/servers.cgi

Dus ik heb verschillende IP's van Boulder en FT. Collins geprobeerd, die vrij dichter bij waar ik ben. Geen van hen werkte. Heb wat gespeeld en kreeg eigenlijk een globale schets om te werken, maar het zou misschien maar één op de vijf keer vastlopen. Deed wat meer onderzoek en vond iets genaamd pool.ntp.org. Blijkbaar roteert dit door een aantal IP-adressen, zodat geen enkel adres overbelast is en ze allemaal actief zouden moeten zijn.

Nou, ik begrijp deze wifi-programmering niet zo goed, maar ik heb een voorbeeld kunnen vinden dat ik aan mijn schets kon aanpassen en heb het werkend gekregen. Jippie!

Stap 4: Arduino-schets

Arduino-schets
Arduino-schets

Bijgevoegd is mijn werkschets, Special.ino

Hier zijn enkele opmerkingen over:

Hier plaatst u uw eigen SSID en wachtwoord. (Dit moet 2,4 GHz zijn.)

char ssid = "UwSSID"; // netwerk SSID (naam)

char pass = "Uw SSID-wachtwoord"; // netwerkwachtwoord

Pool.ntp.org serverlijst gebruiken.

IPAddress timeServerIP; // time.nist.gov NTP-serveradres

const char* ntpServerName = "pool.ntp.org";

// haal een willekeurige server uit de pool WiFi.hostByName (ntpServerName, timeServerIP);

Twee DST-functies:

ongeldig findChangeDates(); // Vind wijzigingsdata voor lente/herfst

bool IsDST(); // Controleer of het DST is

findChangeDates(); neemt het huidige jaar en berekent welke dagen in maart en november de overgangsdata zijn

bool IsDST(); bepaalt of de huidige dag DST is of niet

void digitalClockDisplay()

Nou, helaas kan mijn oude brein dit niet meer achterhalen. Wat ik denk dat het doet, is de secondenweergave na 21.00 uur uitschakelen. en zet ze weer aan rond 5 uur 's ochtends. Ik vind het heel vervelend om op een klok te kijken als ik in bed lig en de seconden te zien aftikken. Maar als ik 's ochtends opsta, vind ik het leuk om de seconden te zien, zodat ik mijn gorgelen kan 'timen'.

Stap 5: Programmeren van de ESP-03 & Conclusies

Programmeren van de ESP-03 & Conclusies
Programmeren van de ESP-03 & Conclusies

Ik gebruik momenteel Arduino versie 1.8.12.

De gemakkelijkste manier voor mij om de ESP8266-dingen te installeren, is door Board Manager te gebruiken met deze methode:

github.com/esp8266/Arduino#installing-with…

Eenmaal geïnstalleerd, selecteer ik bij het selecteren van Board "Generic ESP8266-module".

WAARSCHUWING: Op mijn pc zijn er twee versies van de "Generieke ESP8266-module". Die onder de categorie “ESP8266 boards” werkt, die onder Sparkfun niet.

Nou, ik ben lui. Wat ik eigenlijk deed, was een ESP-03 nemen en deze in mijn aangepaste ESP-adapter programmeren van:

www.instructables.com/id/2020-ESP8266/

Wat ik had kunnen doen, is mijn IP Clock 2-printplaat volgens dit schema aanpassen door alleen een paar jumpers toe te voegen.

Daarnaast heb ik een CP2102 USB-adapter aangepast om RTS op de pin naast GND te hebben aangesloten.

Met deze aanpassingen is het alsof je een gewone Arduino-schets laadt zonder op een knop te hoeven drukken.

CONCLUSIES: Nou, ik hou van mijn IP-klok. Het voldoet aan al mijn criteria. Ondanks wat de afbeelding laat zien, zijn de LED's rood, niet wit, dus geen blauw.

Aanbevolen: