Inhoudsopgave:

De niet zo onzin-klok - Ajarnpa
De niet zo onzin-klok - Ajarnpa

Video: De niet zo onzin-klok - Ajarnpa

Video: De niet zo onzin-klok - Ajarnpa
Video: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, Juni-
Anonim
De niet zo onzin klok
De niet zo onzin klok
De niet zo onzin klok
De niet zo onzin klok
De niet zo onzin klok
De niet zo onzin klok

Door davidjwattsdavidjwatts.comVolg meer van de auteur:

PiBot: Pi berekenen met een Arduino Uno
PiBot: Pi berekenen met een Arduino Uno
PiBot: Pi berekenen met een Arduino Uno
PiBot: Pi berekenen met een Arduino Uno

Ten eerste, waarom zou je het de Crap Clock noemen? Nou, het verlaagt de verwachtingen in de hoop ze te overtreffen:-) Ik grap natuurlijk, de klok vertegenwoordigt veel van mijn mislukkingen en successen in gelijke mate. De fysieke representatie van de underdog in de elektronica.

Ten tweede is dit niet echt een manier om het 'ding' meer een reflectie te maken op ontwerpkeuzes en alle materialen die je nodig hebt om je eigen te bouwen.

De Crap Clock is een klok die loopt van een ATMEGA328 die 82 LED's aandrijft via een 74HC595 die de rijen aanstuurt en een TLC5940 die de stroom over de kolommen laat zakken. Omdat de DS3231 de tijd bijhoudt en kan blijven lopen met de batterij-ingangsklemmen. De klok heeft verschillende 'modi' om de tijd, datum, jaar, temperatuur te bekijken en vervolgens modi om de tijd en datum in te stellen met de twee knoppen. De LED's kunnen worden gedimd met de TLC5940 en de secondenweergave (roze LED's hierboven) kan worden gebruikt om een contextuele letter weer te geven naast de modus waarin de klok zich bevindt.

Er zijn een aantal functies die ik niet heb gebruikt of uit de PCB heb gehaald, zoals het opladen van Li-ion-batterijen, ik deed dat in deze versie om de kosten van de onderdelen te verlagen en omdat de DS3231 eigenlijk maar een kleine hoeveelheid stroom nipt. Er zijn nog wel pinnen voor de ingebouwde DS3231 alarm INT/SQW pin en een zoemerpin van de ATMEGA. Pin 10 is uitgebroken voor algemeen gebruik en er is ook een analoge pin beschikbaar voor een functie zoals een LDR om de helderheid te wijzigen op basis van het omgevingslicht.

Ik heb een afspeellijst samengesteld met alle video's waarvan ik me kan herinneren dat ik over de Crap Clock heb gesproken of deze heb ontworpen.

Stap 1: Stap 1: de PCB en het schema

Stap 1: de PCB en het schema
Stap 1: de PCB en het schema
Stap 1: de PCB en het schema
Stap 1: de PCB en het schema

De lay-out en het schema van de PCB zijn ontworpen in Eagle, het heeft veel tijd gekost;-) maar het was ook erg leuk en heeft me echt veel geleerd over ontwerpen. Maak je geen zorgen, er zijn nog steeds genoeg fouten bij elk ander project dat ik heb gemaakt, inclusief alle fouten in dit project.

Ik wilde dat de klok een matrixweergave zou hebben en dat alles op één bord zou bestaan, dus begon ik een rond bord te maken om een analoge klok te emuleren. Ja…. dat bleef niet plakken, het was een vreselijke vorm om rond te leiden en vergde miljoenen (misschien honderden) LED's. Vervolgens besloot ik een matrix-stijldisplay te maken met behulp van de LED's, oorspronkelijk allemaal aangedreven met schuifregisters (de eerbiedwaardige 74HC595), maar ik besloot uiteindelijk dat de bekende TLC5940 LED-driver geweldig zou zijn om de stroom van die LED's te laten zinken en de geweldige functie van PWM-dimmen.

Hier is de materiaallijst:

1 x 16 MHz kristal SM49

82 x 0603 LED's (vrijwel elke gewenste kleur)

1 x Mini USB Type B (niet nodig, het is alleen voor stroom die toch naar de pinnen is uitgebroken)

7 x 100nf 0805 condensatoren

9 x 10k 0805 weerstanden

2 x 10uf 0805 condensatoren (Niet echt nodig om eerlijk te zijn en 0805 zijn duur)

5 x 1k 0805 weerstanden

1 x 2k 0805 weerstanden

5x 2n3906 SOT23

2 x 22pf 1206 weerstanden

16 x 470 ohm 0805 weerstanden

1 x 74HC595D SO16

1 x ATMEGA328P-AU

1 x DS3231 SO16W

2 x SMD-tactiele schakelaar DTSM-3

1 x TLC5940PWP

Stap 2: Stap 2: de Crap-code

Stap 2: de crap-code
Stap 2: de crap-code

De code was een beetje een nachtmerrie, het bleek dat het coderen van een klok met een homebrew matrix-display niet zo eenvoudig is, zelfs niet als je een paar bibliotheken gebruikt.

Het is natuurlijk geen geweldige code, het is waardeloze code. Maar het werkt en is gemakkelijk aan te passen, ik heb geen idee hoe ik een bibliotheek moet maken, dus dit is allemaal een beetje een treinwrak. Haha, maar eerlijk gezegd werk ik eraan om mijn code beter te maken en te leren hoe ik mijn eigen bibliotheken kan maken.

Het is geschreven in de Arduino IDE en gebruikt een aantal bibliotheken (Shifter.h, MD_DS3231.h en Tlc5940.h) gemaakt door mensen die veel slimmer zijn dan ik. Je moet dit uploaden met een programmeur, ik gebruikte een Arduino als ISP en aangesloten op de reset, 11, 12, 13 pinnen op het bord.

De knoppen:

Er zijn twee knoppen, ze hebben meerdere functies, afhankelijk van de modus waarin de klok zich bevindt. U kunt ze gebruiken om de weergavemodus vooruit en achteruit te wijzigen, via de tijd, datum, jaar, temperatuur en vervolgens naar het instellen van de tijd.

Stap 3: Stap 3: de onzinzaak

"loading="lazy" kan ik zeggen, het is een beetje onzin, maar ik ben er een beetje verliefd op. De nieuwe versie van het PCB-ontwerp heeft niet die aantrekkelijke bodge-draden;-) De afgewerkte die ik heb, is gebaseerd op mijn prototypeborden.

Voel je vrij om het uit elkaar te halen, te remixen en alle onderdelen te gebruiken die je nuttig vindt. Ik ben heel veel geholpen door mensen uit de YouTube-community gedurende de hele duur van dit project, dus uiteindelijk is het van iedereen.

Aanbevolen: