Obsah:
- Krok 1: Přehled hardwarových prvků
- Krok 2: Přehled softwaru
- Krok 3: Seznam dílů
- Krok 9: Návrh a psaní kódu
- Krok 10: Nainstalujte program
- Krok 11: Sestavte časovač
- Krok 12: Testování integrace
- Krok 13: Závěrečné myšlenky
Video: Multi-Timer W/ Externí ovládání: 13 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
Tento projekt Instructable je sestavením multifunkčního časovače
Tento časovač může fungovat jako:
- Univerzální alarm s volitelnými časy od 1 sekundy do +90 hodin. Odpočítávání se zvukovým alarmem a/nebo ovládáním externího zařízení do dokončení, poté odpočítávání indikace času od alarmu.
- Časovač spánku se 7 volitelnými časy, odpočítáváním a alarmem po dokončení.
- Meditační časovač se 4 volitelnými časy, s odpočítáváním a krátkým cvrkotem po dokončení, odpočítávání s dalším cvrkotem 5 minut poté.
Tento projekt může být postaven, jak je zde popsáno, nebo upraven tak, aby vyhovoval. Předtím jsem postavil časovač s touto funkcí a použil jsem ho ve svém prvním Instructable k ovládání pole expozice UV záření.
Myslel jsem, že mohu jen zveřejnit původní program a návrhy desek. Z nějakého důvodu jsem však kód nemohl najít. Také jsem chtěl provést vylepšení hardwaru, aby byly řídicí obvody flexibilnější a omezilo se vybíjení baterie. Výsledný redesign hlavního obvodu a přepis kódu poskytuje příležitost diskutovat o přístupu k programování a návrhu hardwaru.
Kdykoli vytvářím desku s obvody, často zjistím, že jsou nedostatky v konstrukci nebo umístění součástí. Desky, které stavím, jsou také jednou ze dvou offs. Navíc se rád účastním všech aspektů projektu od začátku do konce. To jsou některé z důvodů, proč vyrábím vlastní desky plošných spojů, než abych odeslal soubory Gerbera do zámoří k výrobě. Možná jsem jen starý a uvízl ve svých cestách. Tento projekt odráží tuto předpojatost. Protože vyrábím vlastní desky s obvody, moje návrhy a mé soubory Gerber nesplňují výrobní standardy, tyto soubory jsem nezahrnul. Ti, kteří nechtějí leptat a dokončovat desky, si mohou připravit vlastní návrhy a zveřejnit Gerberovy soubory v sekci komentáře. Před zveřejněním nechte své desky vyrobit a vyzkoušet.
Krok 1: Přehled hardwarových prvků
Zařízení je napájeno 4 bateriemi AAA a je ovládáno Arduino Pro Mini 5V.
Malý bzučák/reproduktor poskytuje zvukový alarm.
Miniaturní relé 5 V poskytuje ovládací napětí externím zařízením. Flexibilita je zajištěna ve zdroji tohoto výstupu řídicího napětí.
Otočný snímač s tlačítkem umožňuje výběr z nabídky.
Uživatelské rozhraní doplňuje OLED displej a momentální spínač start/stop.
Další elektronický hardware se skládá z vypínače SPDT a miniaturního telefonního konektoru pro připojení k externím zařízením.
Kromě toho jsou k dispozici soubory, které vám pomohou v tomto projektu:
Soubory STL pro případ 3D vytištěného projektu.
Obrázky masky mědi a pájky pro leptání a konečnou úpravu řídicí desky a rotačního kodéru.
Schematické a nástěnkové obrázky jako reference pro ty, kteří chtějí upravit můj design.
Možná si budete chtít přečíst můj Instructable o vytváření oboustranných obvodových desek jako příklad postupu výroby obvodových desek.
Krok 2: Přehled softwaru
Spolu se zdrojovými soubory Arduino mohou pomoci i další informace …
Používají se hardwarové řídicí knihovny, jsou-li k dispozici (de-bounce tlačítka, ovládání OLED, čtení rotačního kodéru).
Program implementuje jednoduchý konečný stavový stroj (FSM) pro řízení provádění kódu jako příkaz přepínače ve funkci smyčky.
Třída Menu je definována tak, aby umožňovala výběr zobrazených možností na OLED a výběr pomocí rotačního kodéru.
Vstup je implementován přímým dotazováním (bez přerušení), protože není časově kritický a činí kód jasnějším.
Tiskové příkazy do Serial se používají k pomoci při sledování provádění kódu a ladění
Různé typy prvků struktury programu, včetně:
- Několik záložek kódu k izolování některých funkcí a proměnných ovládání hardwaru.
- Přepnutím příkazů nastavíte hodnotu stavu (FSM) a řídicí proměnné.
- Definice struktury
- Výčty umožňující přiřazení stavových hodnot jako text.
- #define předprocesorové definice hardwarových pinů a standardních hodnot.
Krok 3: Seznam dílů
Nebyl jsem si jistý, kam tento krok zařadit, protože jej lze provést téměř v každém bodě. Použil jsem krabici s 3D tiskem. Možná nemáte přístup k 3D tiskárně nebo upřednostňujete jiný typ skříně, jako je hliníková krabice, laserem řezaný plast, ručně vyřezávané dřevo nebo jiný typ, který používáte pro své elektronické projekty. Zahrnul jsem soubory STL pro horní, dolní, otočný knoflík kodéru a rámeček OLED. Použijte tyto soubory a kráječ podle vašeho výběru k vytvoření souborů gcode pro vaši tiskárnu.
Vytisknu všechny části pomocí vlákna PLA, jedné barvy pro horní a dolní část skříně, další kontrastní pro knoflík a lunetu (která je nalepena nahoře.) Nebudu specifikovat všechna svá nastavení kráječe, ale použiji Tri -Šestihranná výplň nejméně 35%, aby bylo možné číst závitové rohové šrouby a nastavení „žádná podpora“pro vyřezávané písmo. Krabici jsem vytiskl pomocí „normální“výšky vrstvy mých tiskáren.
Krok 9: Návrh a psaní kódu
Tento krok je volitelný, ale je navržen pro lepší pochopení.
Převážnou část úsilí, pokud jde o hodiny, je psaní kódu. Tento krok můžete přeskočit, pokud používáte připojený program jako -is. Navrhuje se však, abyste si našli čas a zkontrolovali kód, abyste jej lépe porozuměli nebo upravili, aby vyhovoval vašim potřebám.
Následující komentáře mohou být užitečné pro pochopení tohoto procesu.
- Komentáře - Komentujte rozsáhle za pochodu - často píšu komentáře, než napíšu kód.
- Divide & conquer - používejte funkce, třídy a moduly (záložky.) Ke kontrole syntaxe používejte časté kompilace (Ověřit). Ladění - použijte tiskové příkazy k ověření tokových a testovacích hodnot a hardwarových rozhraní. Nebojte se problémy řešit za pochodu, nikdo nepíše kód bez chyb!
- Konstanty - #define instrukce předkompilovače přiřadí názvy číslům pinů. Definice konstantních proměnných s komentáři snižují nebo eliminují „magická“čísla. Použití konstant umístěných na začátku programu nebo funkce umožňuje změnu parametrů bez přepisování kódu
- Předdefinované knihovny - Použití předdefinovaných knihoven snižuje programovou zátěž a ladicí čas.
- Design Blocks - Vytvořeno pomocí funkcí, Izolace kódu na samostatných záložkách (přidružené programy &.hfiles), výčty, třídy a struktury. Na každého zaměřte svou pozornost, abyste pochopili, jak fungují ve vztahu ke zbytku kódu.
- State Machine (s) - Toto je programovací vzor, který funguje skvěle u Arduinosu nebo jakýchkoli programů, které se používají k ovládání výstupů nebo reagování na vstupy. Existuje několik příchutí stavových strojů. Tento kód používá stavový stroj založený na příkazu switch ve funkci smyčky. Tento formulář je snadno pochopitelný a laditelný.
- Zobrazení a nabídky - Výstup OLED je strohý, ale poskytuje dostatečnou zpětnou vazbu pro příležitostné uživatele a podporuje výběr možností. Dobře se integruje se stavovým strojem (téměř všechny státy mají přidruženou obrazovku OLED). Třída Menu byla užitečná při izolování kódu pro zobrazení a výběr možností nabídky
Přečtěte si prosím program několikrát. Pomáhá převzít jednu funkci nebo sekci najednou. Často nerozumím kódu, který jsem napsal, pokud jsem ho nečetl alespoň dvakrát!
Krok 10: Nainstalujte program
Zkopírujte připojený soubor do počítače a poté jej rozbalte do adresáře Sketches
Připojte Arduino k počítači a normálním způsobem si stáhněte programový kód. Otevřete sériový monitor Arduino IDE, abyste ověřili, že program běží, a pomohlo při ladění.
Krok 11: Sestavte časovač
Jakmile jsou horní a spodní části skříně vytištěny a vyčištěny, lze součásti připevnit pomocí malých samořezných plastových šroubů. Nejprve je držák baterie zacvaknutý do zadní části. Zbývající části jsou připevněny k horní části skříně v následujícím pořadí:
- OLED a kabel
- Spínač/zapojení start/stop
- Rotační kodér a kabel
- Reproduktor / bzučák a zapojení
- Externí ovládací konektor a kabeláž
- Posuvný vypínač a zapojení (dvakrát zkontrolujte orientaci, aby bylo zapnuto ve vámi požadovaném směru
Pokud pájíte kabely přímo k desce s obvody, proveďte to poté, co jsou všechny součásti připojeny k vaší skříni, aby se omezilo přetržení vodiče. Než přišroubujete desku k zadní straně, musíte počkat, až budou kabely připojeny k hlavní desce.
Pokud používáte konektory pinů a konektory Dupont, nejprve připevněte základní desku k zadní straně pomocí šroubů a poté zapojte součásti. Při připojování baterie k základní desce buďte opatrní a dodržujte správnou polaritu. V tuto chvíli byste také měli nastavit propojky ovládání nebo relé.
Spodní část skříně se připojuje k horní části pomocí 4-40 šroubů s kulatou hlavou, po jednom v každém rohu. Čtyři otvory v horní části by měly být poklepány závitníkem 4/40 nebo pokud použijete vložky se závitem 4-40, budete muset otvory vyvrtat, abyste je přijali. Je také nutné vyvrtat 4 otvory pro upevnění základní desky na spodní straně. Přilepte tuto desku k držáku snap-in baterie a označte umístění otvorů. Vyvrtejte podle potřeby montážní šrouby.
Krok 12: Testování integrace
Konečné (integrační) testování se provádí vyzkoušením všech možností nabídky a ověřením, zda fungují s hardwarem, jak byl navržen. Pro kód, který jsem poskytl, by to mělo stačit. Pokud jste napsali svůj vlastní kód nebo upravený důl, vaše testování bude muset být rozsáhlejší. Nevěřím, že je nutné procvičovat všechny volby časování, ale musíte vyzkoušet všechny standardní možnosti alarmu a ověřit, zda alarmy v režimu Nap a Meditace fungují tak, jak byly navrženy.
Krok 13: Závěrečné myšlenky
Blahopřeji k vašemu úspěšnému, doufám, projektu. Jsem si jistý, že jste na cestě narazili na problémy, které jste potřebovali vyřešit. Jsem si také jistý, že některé mé pokyny mohly být úplnější nebo jasnější. Sdělte mi prosím v sekci komentáře, jaké byly vaše výsledky, a poskytněte návrhy, jak lze tyto pokyny zlepšit.
Děkujeme za váš čas prohlížení a/nebo budování tohoto projektu.
Doporučuje:
Bezkontaktní indikace hladiny vody a ovládání koroze a ovládání motoru .: 5 kroků
Kontaktujte méně a bez koroze Indikátor hladiny vody a ovládání motoru.: HI, V tomto návodu se podíváme na to, jak pomocí tří různých barevných diod v Bezkontaktní způsob s pomocí ultrazvukového senzoru a desky Arduino uno.P
IRduino: Dálkové ovládání Arduino - napodobte ztracené dálkové ovládání: 6 kroků
IRduino: Dálkové ovládání Arduino - napodobte ztracené dálkové ovládání: Pokud jste někdy ztratili dálkový ovladač pro váš televizor nebo DVD přehrávač, víte, jak frustrující je chodit k němu, hledat a používat tlačítka na samotném zařízení. Někdy tato tlačítka ani nenabízejí stejné funkce jako dálkové ovládání. Přijmout
Ovládání jasu Ovládání LED na základě PWM pomocí tlačítek, Raspberry Pi a Scratch: 8 kroků (s obrázky)
Ovládání jasu Ovládání LED na základě PWM pomocí tlačítek, Raspberry Pi a Scratch: Zkoušel jsem najít způsob, jak vysvětlit, jak PWM funguje u mých studentů, a tak jsem si dal za úkol zkusit ovládat jas LED pomocí 2 tlačítek - jedno tlačítko zvyšuje jas LED a druhé jej stmívá. Programovat
Hacking Strobe Blacklight pro ustálené a externí ovládání: 5 kroků (s obrázky)
Hacking a Strobe Blacklight for Steady-On and External Control: Každý rok velké boxy obchody prodávají strobo blacklights vyrobené s UV LED. Na straně je knoflík, který ovládá rychlost stroboskopu. Jsou zábavné a levné, ale chybí jim nepřetržitý režim. A co víc, bylo by hezké ovládat světlo ext
Externí ovládání Winamp: 4 kroky
Externí ovládání Winamp: V dnešní době má winamp plnou podporu klávesových zkratek. Ale nějaký čas, když winamp tuto funkci neměl, přemýšlel jsem nějakým způsobem o vytvoření snadného způsobu, jak změnit hudbu pouhým stisknutím jednoho tlačítka, což by věci zrychlilo a