Obsah:

Rozhraní PIC pro rotační číselník: 7 kroků
Rozhraní PIC pro rotační číselník: 7 kroků

Video: Rozhraní PIC pro rotační číselník: 7 kroků

Video: Rozhraní PIC pro rotační číselník: 7 kroků
Video: Allett Stirling v Liberty 43 -The Comparison 2024, Červenec
Anonim
Rozhraní PIC pro rotační číselník
Rozhraní PIC pro rotační číselník

Zjistil jsem, že mám spoustu rotačních telefonů. Vlastně jsou všude, kam se podívám. V naději, že jich jednoho dne uvidím méně, jsem je začal rozebírat a znovu používat díly k jiným účelům.

Z nějakého důvodu jsem dostal do svého mozku, že propojení rotačního ovladače s čipem PIC by bylo dobré. V tuto chvíli mě napadá jen pár vágních použití a žádné nejsou nijak zvlášť užitečné, ale doufám, že s tím v budoucnu udělám něco skvělého.

Krok 1: Jděte pro věci

Jděte pro věci
Jděte pro věci

Budete potřebovat: 1 - rotační telefon 3 - 220 ohmové odpory 2 - 0,1 uF kondenzátory 2 - 20K odpor (může nahradit cokoli mezi 10K a 47K) 2 - LED diody1 - vývojová deska PIC (použil jsem vývojové prostředí Basic Micro) 1 - 20 rezonátor MHZ nebo krystal1 - prkénko1 - zdroj napájení 5V1 - asi stopa připojovacího drátu1 - šroubovák1 - odizolovač drátu

Krok 2: Disekujte telefon

Disekujte telefon
Disekujte telefon
Disekujte telefon
Disekujte telefon
Disekujte telefon
Disekujte telefon

Otevřete svůj rotační telefon. Uvnitř si všimnete několika základních částí; otočný volič, vyzváněcí tón, dva zvedáky, hákový spínač a základní obvody, které jsou obvykle uzavřeny v kovové krabičce podobné věci.

Z rotačního voliče budou k této věci podobné spojovací krabici procházet čtyři dráty. Dráty by měly být drženy na místě o něco více než utažené šrouby. Povolte šrouby a odpojte vodiče. Poté odpojte otočný volič od samotného telefonu.

Krok 3: Zjistěte, co dělají dráty

Zjistěte, co dělají dráty
Zjistěte, co dělají dráty
Zjistěte, co dělají dráty
Zjistěte, co dělají dráty

Zapojte dvě LED diody podle obrázku níže.

Dva bílé dráty by měly tvořit pár, který zavře spínač, který vás upozorní, když se otočí volič. Modrý a zelený vodič by měl být pár, který vám umožní zjistit, jaké číslo bylo vytočeno. Když tedy otočíte voličem, LED dioda připojená k bílým vodičům by se měla rozsvítit a když pustíte číselník, LED dioda připojená k modrému a zelenému vodiči by měla blikat a zhasínat tolikrát, kolik je číslo vytočeno (viz video). Pokud například vytočíte číslo 8, kontrolka LED připojená k zelenému a modrému vodiči se 8krát vypne a zapne. K tomu dochází, protože jedním ze způsobů, jak vytočit telefonní číslo, je rychlé přerušení spojení s číslem, které se pokoušíte vytočit. Takže znovu, abyste vytočili číslo 8, musíte rychle přerušit připojení 8krát.

Krok 4: Připojte číselník k čipu PIC

Připojte číselník k čipu PIC
Připojte číselník k čipu PIC
Připojte číselník k čipu PIC
Připojte číselník k čipu PIC

Připojte otočný volič k čipu PIC, jak je vidět na obrázku. Všimněte si, že snímám ve stavu otočného ovladače pomocí časování RC. Jinými slovy, čip PIC počítá, kolikrát trvá vybití kondenzátoru (což se změní, když se přidá odpor).

To je místo, kde přichází 20K odpor. Jeho přidání na vstup umožňuje zřetelné rozlišení signálu ze uzavřeného a otevřeného připojení otočného spínače.

Krok 5: Sestavte kód

Sestavte kód
Sestavte kód

K programování čipu jsem použil vývojové prostředí MBasic dostupné od Basic Micro. MBasic, jednoduše řečeno, je variací jazyka Basic navrženého pro použití s čipy PIC. Lze jej snadno převést na univerzálnější (užitečnější) jazyk. Kód je v podstatě určující, když někdo otočil číselníkem a poté provede detekci hran na signálu (určení přechodů s nízkými a vysokými), dokud se číselník nevrátí do počátečního stavu. Poté, co sečte, kolikrát měří přechod signálu, pak příslušným způsobem bliká LED. Pokud například vytočíte číslo 3, PIC spočítá tři nízké a vysoké přechody a poté třikrát zabliká LED. Jak jste možná vyvodili, LED dioda nepotřebuje, aby fungovala, a je tu jen proto, aby vám poskytla viditelnou zpětnou vazbu. Můžete nahradit jakékoli výstupní zařízení, které považujete za nutné. ********************* Tady je nějaký kód: ******************** CPU = 16F877MHZ = 20CONFIG 16254clicker var wordstartcountin var wordcountclicks var wordrepvar var wordclacker var wordlargefig var wordmain: countclicks = 0repvar = 0'sets/resets valueshigh B2rctime B2, 1, startcountincountclicks = 0if startcountin> 10 then goto countmeup 'zkontroluje, zda bylo vytočeno přejde na podprogram, pokud má hlavní ===== countmeuploop: high B1rctime B1, 1, clicker'checks counting valuelargefig = clacker + 100's sets a value for the threshold that will be greater 'than 0 but lesser than possible pin-high valuesif largefig <clicker thencountclicks = countclicks + 1endif'přidá 1 hodnotu pokaždé, když je zaznamenán přechod z nízké na vysokouhigh B2rctime B2, 1, startcountinif startcountin <10 thenif countclicks> 0 thengoto blinkelsegoto mainendifendif'checks to see if the dial has recoiled back to its i nitiální stav'pokud má a bylo vytočeno číslo, přejde do rutiny LED'jinak, pokud nebylo vytočeno žádné číslo, přejde na mainclacker = clicker'resetuje porovnávací hodnotu na aktuální hodnotu pinu. !!! počet opakování se rovná počtu, kolikrát by měla LED bliknout, pak se vrátí do hlavního rutinního blikání

Krok 6: Testování

Testování
Testování

Pokud jste udělali všechno stejně jako já, mělo by to fungovat (viz video).

Pokud to nefunguje, ujistěte se, že jste vše zapojili správně a že kód je zkopírován správně. Ujistěte se také, že váš rezonátor (nebo krystal) má 20 MHZ. Pokud jste napsali vlastní kód, ujistěte se, že v rutině, která kontroluje nízké a vysoké přechody, nejsou žádné pauzy.

Krok 7: Jděte dál

Přesahovat
Přesahovat

Vymyslete nějaký jiný způsob použití otočného ovladače než blikání LED.

Doporučuje: