Inhoudsopgave:
Video: De niet zo onzin-klok - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Door davidjwattsdavidjwatts.comVolg meer van de auteur:
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
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
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:
Python gebruiken om niet-Engelse toetsenbordindelingen te leren: 8 stappen
Python gebruiken om niet-Engelse toetsenbordindelingen te leren: Hallo, ik ben Julien! Ik ben een student computerwetenschappen en vandaag ga ik je laten zien hoe je Python kunt gebruiken om jezelf de toetsenbordindeling van een niet-Engelse taal aan te leren. Veel talen leren tegenwoordig online, en één ding kunnen mensen begrijpen
Het ThreadBoard (niet-3D-geprinte versie): E-Textile Rapid Prototyping Board: 4 stappen (met afbeeldingen)
De ThreadBoard (niet-3D-gedrukte versie): E-Textile Rapid Prototyping Board: de Instructable voor de 3D-geprinte versie van de ThreadBoard V2 is hier te vinden. Versie 1 van de ThreadBoard is hier te vinden. Door de hindernissen van kosten, reizen, pandemieën en andere barrières, heb je misschien geen toegang tot een 3D-printer, maar wil je
Dopamine Doos - een project vergelijkbaar met Mike Boyd - niet van Mike Boyd zijn: 9 stappen
Dopamine Doos | een project vergelijkbaar met Mike Boyd - niet van Mike Boyd: ik wil er een! Ik heb er een nodig! Ik ben een uitsteller! Nou, ik wil een dopaminedoos… Zonder te hoeven programmeren. Geen geluiden, alleen pure wil
Een e-mailmelding ontvangen wanneer een kanaal op ThingSpeak een tijdje niet is bijgewerkt: 16 stappen
Ontvang een e-mailmelding als een kanaal op ThingSpeak een tijdje niet is bijgewerkt: Achtergrondverhaal Ik heb zes geautomatiseerde kassen verspreid over Dublin, Ierland. Door een op maat gemaakte app voor mobiele telefoons te gebruiken, kan ik op afstand de geautomatiseerde functies in elke kas volgen en ermee communiceren. Ik kan de win handmatig openen / sluiten
Een Lenovo IdeaPad-laptop repareren die niet oplaadt: 3 stappen
Een Lenovo IdeaPad-laptop repareren die niet oplaadt: soms zijn opladers waardeloos. Soms is het echter niet de oplader. Maar nu is het tijd om te leren hoe u een laptop kunt opereren om deze te repareren!!! U HEBT NODIG: Een kruiskopschroevendraaier met een punt van 5 mm breed Een stroomaansluiting - zoek in Amazon naar (uw model)