Obsah:
Video: Wort-Uhr: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:18
Ahoj společně!
Toto bude můj první návod a pokud máte nějaké nápady, jak jej zlepšit nebo lépe pochopit, neváhejte mě kontaktovat!
Zpočátku tento druh „hodin“není můj nápad! Viděl jsem spoustu procházení internetu a lze je objednat za pár peněz v různých internetových obchodech. Ale nechtěl jsem si koupit jeden, chtěl jsem si vytvořit vlastní, abych se naučil a pochopil, jak funguje.
Jedno slovo pro "ne-německé" členy … Omlouváme se za skutečnost, že se jedná pouze o "německý mladina Uhr". Mohlo by to být snadno převedeno do angličtiny nebo jiného jazyka, ale protože jsem Němec, udělal jsem to ve svém jazyce. Pokud potřebujete podporu pro svůj jazyk, kontaktujte mě a já se vám pokusím pomoci.
Začněme tedy…
Krok 1: Schéma
Schéma je přímočaré a pokud je obrázek špatně čitelný, existuje také soubor PDF.
Začněme v levém dolním rohu. Existuje jednoduchý napájecí zdroj využívající LM7805 ke generování stabilního 5V výstupu pro PIC, posuvné registry (74HC164) a čip DS3231 v reálném čase. Z této části jsou také napájeny všechny LED diody. D22 na pravém konci je pouze pro indikaci napájení a může být snadno ponechán odděleně, pokud není chtít.
Pro hodiny s méně než 40 V můžete použít jakýkoli stejnosměrný zdroj, ale poté byste měli zvolit příslušnou hodnotu pro C7. Mělo by mít jmenovité napětí alespoň na dvojnásobek vstupního napětí a pamatujte, že v LM7805 vytváříte teplo, takže byste se měli pokusit udržet vstupní napětí na co nejnižší úrovni, protože všechno ostatní je jen plýtvání energií. Nejvhodnější je něco mezi 9V a 12V DC.
Nedělejte si starosti s polaritou napájecího zdroje … P-kanálový MOSFET (Q1) funguje jako ochrana proti falešné polaritě a hodiny nebudou fungovat a nebudou poškozeny. Můžete to zkontrolovat na „napájecí“LED D22, pokud je namontována.
Na pravé straně schématu jsou posuvné registry sériového paralelního výstupu. Rozhodl jsem se je použít, protože jsem nechtěl používat obrovský PIC se spoustou I/O portů. Chtěl jsem použít menší a měl jsem doma ještě nějaký 16F1829, takže volba už byla jasná. Data (IN_1, IN_2 a IN_3) poskytuje PIC (viz část kódu níže) a také REGISTER_CLK. Pro jednoduchost v mém kódu a rozvržení desky plošných spojů jsem použil dvě 74HC164 pro hodiny a poslední pro „logiku“.
V levém horním rohu je PIC a všechny potřebné součásti. Použil jsem vnitřní hodiny, takže není potřeba oszillator. Pouze tři odpory pro SCL, SDA a MCLR. Na to, že jsem použil 32kHz jako indikaci „přesných sekund“, není pro PIC potřeba celkem stabilní a přesná frekvence.
Uprostřed je DS3231 s minimem na vnějších částech. Ve skutečnosti jsem pro komunikaci přes I²C používal pouze vstupy SDA a SCL a výstup 32 kHZ jako externí hodinovou referenci pro Timer1 PIC16F1829. Pro tento výstup datový list uvádí, že je to potřeba externího pull-up rezistoru. Ostatní výstupy jsem v tomto projektu nepoužil a nechal je nepropojené.
Také uprostřed, diody LED … Jak si můžete přečíst ve schématu, použil jsem modré LED diody (ty s čirým pouzdrem) a hodnotu odporu 1 kOhm. Pokud máte v úmyslu provést tento projekt sami, měli byste zvolit hodnoty těchto rezistorů podle barvy a typu LED, které si vyberete. Mějte také na paměti, kde chcete hodiny nastavit. Ten můj stojí v mé ložnici, proto jsem nechtěl, aby diody LED svítily příliš jasně, a pro odpory jsem zvolil větší hodnotu. Před montáží na desku plošných spojů proveďte několik pokusů na prkénku s hodnotami LED a odporem.
Krok 2: Rozložení
Po dokončení schématu je čas nasměrovat desku plošných spojů. K tomu jsem použil KiCAD (také pro schéma). Není moc co říct, jen směrovat linky.
Na to, že jsem si pouzdro hodin vytiskl sám, bylo docela důležité, kde jsou umístěny diody LED na horní vrstvě. LED diody a odpory jsem dal pouze na vrchní vrstvu, protože jsem si objednal PCB částečně osazené (všechny SMD díly) a protože společnost, kterou jsem si pro to vybral, umísťuje díly pouze na jednu stranu a ne oboustranně.
Umístění můžete vidět na dvou trojrozměrných obrázcích, které jsem vytvořil z KiCADu.
Máte -li zájem … Je možné exportovat KiCAD PCB do Eagle a poté je docela snadné postavit pouzdro, protože máte referenci z PCB.
Krok 3: „Logika“„Wort-Uhr“
Největší částí tohoto projektu byl kód pro PIC…
Nejprve najít „logiku“mluveného času v němčině a přeložit ho do kódu.
Bohužel nebylo možné přímo nahrát soubor aplikace Excel, ale doufám, že export PDF je pro vás dostatečně čitelný. Pokud ne, kontaktujte mě a já vám zašlu původní soubor aplikace Excel. V PDF můžete vidět, jak jsem nastavil logiku svých hodin. Můžete vidět, jak jsem procházel různými časovými kroky a jak se píše. Výpočet uvnitř kódu (hlavně příkazy if-else) lze odvodit z informací na pravé straně tabulky. Jedna část je na minuty a jedna část na hodiny.
Jak vidíte, není to žádná magie a lze je snadno kódovat v C. „Nejnáročnějším“bodem v logice je, jak zvládnout hodinu, jak vidíte v souboru, že pouze na začátku hodiny se zobrazuje skutečná hodina. V němčině (možná to může být jen bavorská specifická věc) se „další hodina“používá poměrně brzy.
Pro kódování jsem jako zvolené IDE použil MPLABX.
Krok 4: Útržky kódu
Nebudu zde zveřejňovat svůj kód, ale pokud máte v úmyslu napsat svůj vlastní kód, dám vám pár tipů, na co jsem během vývoje „narazil“…
Nejprve vyplnění „registrace“:
Pokud přenášíte nová data do registrů příliš často a v příliš krátkých cyklech, udělal jsem zkušenost, že LED diody začaly blikat. Udělal jsem tedy několik „blokovacích vlajek“, že jen každou minutu se provede nový „výpočet“mluveného času a provede se aktualizace registru.
Kód pro vyplňování registrů je na obrázku výše. Jak vidíte, vyplňuji všechny 3 registry paralelně, takže potřebuji 3 piny PIC pro data a 1 pin pro CLK. 74HC164 přebírá nová data při přechodu na řádku CLK z 0 na 1.
Zbytek kódu jsou hlavně věci závislé na PIC, logika „mluveného času“a obsluha komunikace a tlačítka. Komunikaci zajišťuje hlavně Microchip MPLABX, protože jsem použil modul MSSP.
Dobrý nápad je přečíst si datový list DS3231, protože data jsou uložena uvnitř jako BCD, takže to možná budete muset ve svém kódu „transformovat“. Pokud jde o mě, jsem chlapík „učení se praxí“a KURZ samozřejmě nečetl datasheet … Stálo mě to spoustu nervů a hodin.
Jak jste si mohli všimnout, existují dva způsoby, jak „udržet čas na správné cestě“s touto implementací.
- Můžete přečíst skutečný čas z DS3231
- Můžete „počítat sekundy“v samotném PIC a čas od času synchronizovat čas s DS3231
Je to na vás a oba způsoby jsou praktické a přímé. První možnost a synchronizovaný čas jsem použil při nastavování času pomocí tlačítek (čas zápisu do DS3231) nebo každých 24 hodin (čas čtení z DS3231), protože jsem chtěl implementovat více logiky sám. V noci (23:00 až 5:00) jsem také vypnul hodiny, takže to bylo podle mého názoru o něco jednodušší.
Krok 5: Bydlení
V neposlední řadě je čas se krátce podívat na bydlení.
Jak jsem zmínil výše, pouzdro jsem vyrobil sám (pomocí Eagle) a vytiskl je pomocí své 3D tiskárny, takže jsem se musel dívat na pozice různých LED diod.
Přiložené soubory STL najdete, pokud je chcete použít.
Doufám, že vám tento návod pomůže při stavbě vlastního „Wort-Uhr“. Pokud stále existují „otevřené otázky“, neváhejte mě kontaktovat. Nejlepší způsob, jak komentovat níže, protože možná nejste sami, kdo má konkrétní otázku.
Doporučuje:
Počitadlo kroků - mikro: bit: 12 kroků (s obrázky)
Počitadlo kroků - Micro: Bit: Tento projekt bude počítadlem kroků. K měření našich kroků použijeme snímač akcelerometru, který je zabudovaný v Micro: Bit. Pokaždé, když se Micro: Bit zatřese, přidáme 2 k počtu a zobrazíme ho na obrazovce
Akustická levitace s Arduino Uno krok za krokem (8 kroků): 8 kroků
Akustická levitace s Arduino Uno krok za krokem (8 kroků): Ultrazvukové měniče zvuku L298N Dc samice napájecí zdroj s mužským DC pinem Arduino UNOBreadboard Jak to funguje: Nejprve nahrajete kód do Arduino Uno (je to mikrokontrolér vybavený digitálním a analogové porty pro převod kódu (C ++)
Bolt - Noční hodiny bezdrátového nabíjení DIY (6 kroků): 6 kroků (s obrázky)
Bolt - Noční hodiny bezdrátového nabíjení DIY (6 kroků): Indukční nabíjení (známé také jako bezdrátové nabíjení nebo bezdrátové nabíjení) je druh bezdrátového přenosu energie. Využívá elektromagnetickou indukci k poskytování elektřiny přenosným zařízením. Nejběžnější aplikací je bezdrátové nabíjení Qi
Jak rozebrat počítač pomocí jednoduchých kroků a obrázků: 13 kroků (s obrázky)
Jak rozebrat počítač pomocí jednoduchých kroků a obrázků: Toto je návod, jak rozebrat počítač. Většina základních komponent je modulární a lze je snadno odstranit. Je však důležité, abyste o tom byli organizovaní. To vám pomůže zabránit ztrátě součástí a také při opětovné montáži
Banka přepínaného zatěžovacího odporu s menší velikostí kroku: 5 kroků
Banka přepínaného zatěžovacího odporu s menší velikostí kroku: Banky zatěžovacích odporů jsou vyžadovány pro testování energetických produktů, pro charakterizaci solárních panelů, v testovacích laboratořích a v průmyslových odvětvích. Reostaty zajišťují nepřetržité kolísání odporu zátěže. Jak se však hodnota odporu snižuje, výkon