Inhoudsopgave:

Analoge digitale klok: 4 stappen (met afbeeldingen)
Analoge digitale klok: 4 stappen (met afbeeldingen)

Video: Analoge digitale klok: 4 stappen (met afbeeldingen)

Video: Analoge digitale klok: 4 stappen (met afbeeldingen)
Video: Leren klokkijken: de digitale klok (deel 1) 2024, Juli-
Anonim
Image
Image
De klok bouwen
De klok bouwen

De reden voor het maken van deze klok was omdat mijn originele IKEA klok het niet meer deed en ik de behuizing van deze klok erg mooi vond. Ik vond het zonde om de klok weg te gooien en besloot hem opnieuw te gebruiken voor een analoge/digitale klok.

Ik had een standaard klok kunnen maken, maar ik besloot iets anders te maken. Net als elke andere klok toont het de tijd, maar niet op een standaard manier. Met behulp van 60 tweekleurige rood/groene LED's geeft de klok de tijd aan. De rode LED's worden gebruikt om de uren weer te geven en de groene LED's geven de minuten weer. De seconden worden aangegeven door een lopende gele (rood + groene) LED en door een knipperende gele LED in het midden van de klok.

Het vereist enige oefening om de klok te leren lezen. Omdat de LED's worden gebruikt om zowel de uren als de minuten weer te geven, heeft het een speciale manier nodig om de tijd weer te geven. De tijd wordt weergegeven als een balk met LED's waarbij de langste balk de uren of de minuten aangeeft. Als de langste balk wordt weergegeven door de uren, dan geeft de kortere balk de minuten in het groen weer en het resterende deel de uren in het rood. Om de klok beter leesbaar te maken als de streepjes kort zijn, heb ik een uuraanduiding toegevoegd met behulp van de rode LED. Als de minuten groter worden dan de uren, verwisselen de balken, dat wil zeggen dat alle voorgaande groene minuten rood worden om de uren weer te geven en het resterende deel de minuten, dus in feite wordt bijna al het groen rood en andersom.

Het is enigszins moeilijk uit te leggen hoe het werkt, dus bekijk de video. Door de multiplexing van de LED's lijkt het alsof de LED's in de video knipperen. Dit wordt alleen vastgelegd door de camera, niet door het menselijk oog.

Zoals altijd bouwde ik dit project rond mijn favoriete microcontroller de PIC, met behulp van de JAL-programmeertaal, maar je kunt ook een Arduino gebruiken.

Stap 1: De ontwerpen

In totaal heb ik drie verschillende versies van de klok gemaakt voordat ik tevreden was. Deze versies zijn als volgt ontworpen:

  1. Met behulp van een standaard 20 MHz kristal voor de PIC. Bij dit ontwerp liep de klok 1 seconde niet synchroon na een dag draaien. Dit was te veel. Daarnaast ging de tijd verloren als je de klok uitzette omdat er geen back-up batterij in het ontwerp zat.
  2. Met behulp van een DS1302-klokmodule. Het leuke van deze module is dat hij een back-up batterij heeft waardoor de tijd niet verloren gaat als je de klok uitzet. Toen ik de klok met deze module testte, liep de klok 7 seconden niet synchroon! na een dag. Ik denk dat dit wordt veroorzaakt door ofwel het verkeerde kristal of een slecht PCB-ontwerp.
  3. Met behulp van een DS3231 klokmodule. Deze module heeft ook een back-up batterij en is nauwkeuriger dan de DS1302. De klok werkte prima met deze module, dus ik heb deze gebruikt voor het definitieve ontwerp. Daardoor had de PIC geen kristal meer nodig.

Het volledige ontwerp is uitgewerkt in drie schematische diagrammen:

  1. Klokcontroller met behulp van de PIC
  2. Led bestuurder met behulp van schuifregisters
  3. 60 tweekleurige LED's

Stap 2: Vereiste componenten

Voor dit project heb je de volgende onderdelen nodig:

  • Een stukje breadboard
  • PIC-microcontroller 16F1823
  • 3 schuifregister 74HC595
  • 1 Darlington-transistorarray ULN2803A
  • IC-voetjes: 1 * 14-pins, 3 * 16-pins, 1 * 18-pins
  • Klokmodule DS3231
  • 2 drukknopschakelaars
  • Weerstanden: 2 * 33k, 8 * 100 Ohm, 8 * 47 Ohm
  • 1 elektrolytische condensator 100 uF/16V
  • 4 condensatoren 100 nF
  • LED's: 60 2 mm tweekleurig (rood/groen), 1 5 mm geel
  • Jackplug 3 mm
  • 5 Volt adapter, bijvoorbeeld degene die wordt gebruikt voor het opladen van een Smartphone. Zorg ervoor dat het een echte 5 Volt voeding is.
  • Optioneel: headers voor het aansluiten van de externe onderdelen op het breadboard
  • Kynar draad & draadstripper
  • Een behuizing voor je klok.

Zie de schematische diagrammen voor het aansluiten van de componenten. Het vergt nogal wat soldeerwerk, vooral voor het aansluiten van de 60 leds. Schematische diagrammen zijn opgenomen in het zip-bestand.

Stap 3: De klok bouwen

De klok bouwen
De klok bouwen
De klok bouwen
De klok bouwen

Bekijk de foto's hoe ik de klok bouw. Ik ben begonnen met het verwijderen van de binnenkant van de originele klok waarna ik 60 gaten van 2 mm heb geboord voor de bi-color LED's in de frontplaat. Daarna schilderde ik de voorplaat zwart en voegde een stuk plastic toe om het gat te bedekken waar de originele wijzers van de klok zaten. Nu bevindt zich op die positie een gele LED.

Daarna heb ik alle 60 LED's gemonteerd, wat hete lijm gebruikt om ze op hun locatie te houden en ze met Kynar-draad met elkaar verbonden. Last but not least heb ik het breadboard met alle componenten in elkaar gezet.

Op de achterkant heb ik de twee drukknoppen en de stroomaansluiting gemonteerd. Vergeet de extra plaat die ik op de achterkant heb geplakt, zoals op de foto. Ik voegde dat toe omdat in mijn eerste ontwerp de drukknoppen daar zaten, maar ik moest ze verplaatsen omdat ik de DS3231-module moest toevoegen en ik alleen een plek kon vinden waar die knoppen zaten toen ik mijn eerste ontwerp maakte.

Stap 4: De software

Zoals eerder vermeld, is de software geschreven voor een PIC16F1823 met behulp van de JAL-programmeertaal. De PIC draait op een interne klok van 32 MHz. Zoals eerder vermeld, wordt de kloktiming gedaan door de DS3231-klokmodule.

De software voert de volgende hoofdtaken uit:

  • Initialiseren van de DS3231-module met behulp van een I2C-interface. De module genereert een signaal van 1 seconde dat is aangesloten op de interrupt-pin van de PIC. De PIC gebruikt deze 1 seconde interrupt om de tijd uit de DS3231 module te lezen.
  • Aansturen van de 60 bi-color LED's via de schuifregisters. In het schema is te zien dat de LED's zijn aangesloten in een 16 bij 8 matrix. Dit vermindert het aantal draden dat nodig is om alle LED's aan te sluiten. Dit matrixontwerp vereist dat de PIC de LED's moet multiplexen om ze individueel te kunnen verlichten. Het multiplexen van de LED's gebeurt op een interruptbasis waarbij de verversingsfrequentie 70 Hz is, dus onzichtbaar voor het menselijk oog.
  • Bediening van de drukknoppen. Deze worden gebruikt om de tijd in te stellen, een voor het instellen van de uren en een voor het instellen van de minuten. Beide knoppen moeten worden ingedrukt om de tijdinstellingsmodus te activeren. Wanneer de tijdinstellingsmodus is geselecteerd, zal de gele led continu branden. Na 5 seconden zonder de drukknoppen te hebben gebruikt, keert de klok terug naar de normale tijdwerking en begint de gele LED te knipperen.

Zie de tweede video over het instellen van de tijd.

Het JAL-bronbestand en het Intel Hex-bestand voor het programmeren van de PIC zijn bijgevoegd in het zip-bestand. Als u geïnteresseerd bent in het gebruik van de PIC-microcontroller met JAL - een Pascal-achtige programmeertaal - bezoek dan de JAL-website.

Veel plezier met het bouwen van je eigen project en kijk uit naar je reacties.

Aanbevolen: