Inhoudsopgave:

Nog een klok: 4 stappen
Nog een klok: 4 stappen

Video: Nog een klok: 4 stappen

Video: Nog een klok: 4 stappen
Video: Leren klokkijken: de analoge klok (deel 1) 2024, Juli-
Anonim
Nog een andere klok
Nog een andere klok

Zoals te zien is aan mijn eerdere uploads, heb ik een aantal 7 Segment Display-borden verkregen van een oude weegapparatuur.

Mijn vorige poging gebruikte een Arduino met een Real Time Clock-module.

Deze Instructable maakt gebruik van een ESP8266 D1 Mini aangesloten op een NTP-server!

De code is gebaseerd op een voorbeeld uit de ESP8266WiFi-bibliotheek.

Ik ga niet in detail treden met betrekking tot de 7 Segment-displaybedrading, want er zijn tientallen voorbeelden op het net. De 2 kaarten die ik heb, gebruiken de MAX7219 decoder driver chip, deze hebben slechts 3 pinnen nodig om tot 8 x 7 Segment Displays te bedienen.

Ik wilde ook de datum laten zien, dus er waren nog 3 pinnen nodig!

Ik had nog 7 uitgangen nodig om de Dag weer te geven! Om het gebrek aan uitgangspinnen te omzeilen, heb ik gekozen voor een Neo Pixel-display, 1 pin, 7 uitgangen!

Stap 1: De hardware

de hardware
de hardware
de hardware
de hardware
de hardware
de hardware

Benodigde onderdelen

12 x 7 segment displays (in mijn geval had ik het geluk een paar oude weegmachineborden te hebben, wat ontzettend veel bedrading bespaarde.

1 x ESP8266 D1 Mini OF een ESP8266 met 7 of meer digitale uitgangen

2 x MAX7129 (Nogmaals, ik had het geluk om de displayborden van de weegmachine te hebben)

1 x Recht 8 NeoPixel-scherm

2 x niveauverschuivers

1 x 5v voeding

Stap 2: De DAG-weergave

De DAG-weergave
De DAG-weergave
De DAG-weergave
De DAG-weergave

Hiervoor gebruikte ik een deel van een oude creditcard als basis, een dikke kaart (in mijn geval 300 gsm fotopapier) en wat dubbelzijdig plakband.

Het zijn slechts 2 strips van de tape met sleuven gesneden met een ambachtelijk mes. De afstand is de afstand tussen de LED's op het NeoPixel-bord.

Dunne stroken van de kaart worden gebruikt om voor elke dag een kanaal te maken.

De dagnamen zijn gedrukt op transparante tape met een Dymo labelmaker.

Stap 3: Aansluiten en de software

Het ESP8266-productassortiment is uitstekend te danken aan:

a) Ze zijn spotgoedkoop

b) Ze hebben heel weinig externe componenten nodig

Ik had 5v nodig voor de displays en 3v voor de ESP, dus ik gebruikte een paar niveauschakelaars met een 5v-voeding.

De MAX7219 heeft slechts 3 pinnen nodig om tot 8 displays te bedienen, dit zijn pinnen 1 (Din), 12 (Load/CS) & 13 (Clock).

Deze zijn verbonden via een level shifter.

De code is als volgt:

// ingangen: DIN-pin, CLK-pin, LOAD-pin. aantal chipsLedControl mydisplay = LedControl(3, 2, 1, 1)

LedControl datedisp = LedControl (7, 6, 5, 1);

Het aantal chips is ingesteld op 1 omdat ik de 2 displays als afzonderlijke items behandel in plaats van de DOUT te gebruiken en ze in cascade te plaatsen.

De NeoPixel wordt aangesloten op digitale uitgang 4

#definieer pincode 4

#define NUMPIXELS 7 (negeren van 1 van de 8 LED's)

Er zijn een paar #includes die allemaal te vinden zijn op GitHub.

Router SSID & WACHTWOORD moeten worden ingevoerd en een NTP-server moet worden geselecteerd (ik heb gratis NTP-servers gegoogeld).

Stap 4: Bij opstarten

Bij het opstarten worden de NeoPixel-LED's doorgerimpeld, waarna de 7-segmentsdisplays afwisselend 'c' en '8' tonen totdat er verbinding is gemaakt met de router.

Als alle segmenten een constante c8 tonen, betekent dit dat er geen NTP-serververbinding tot stand is gebracht, een reset zou dit moeten oplossen.

Zodra een verbinding tot stand is gebracht, worden de tijd en datum weergegeven, de dag wordt aangegeven door een blauwe LED.

Aanbevolen: