Kazalo:

PIC vmesnik rotacijskega klicalnika: 7 korakov
PIC vmesnik rotacijskega klicalnika: 7 korakov

Video: PIC vmesnik rotacijskega klicalnika: 7 korakov

Video: PIC vmesnik rotacijskega klicalnika: 7 korakov
Video: 機械設計技術 機械要素の勉強 ベルトプーリーの機能 タイミングベルトとVベルト Functions of belt pulley Timing belt and V-belt 2024, November
Anonim
PIC vmesnik rotacijskega klicalnika
PIC vmesnik rotacijskega klicalnika

Našel sem se z obilico rotacijskih telefonov. Pravzaprav so povsod, kamor pogledam. V upanju, da jih bom nekoč morda videl manj, sem jih začel ločevati in dele znova uporabljati za druge namene.

Iz nekega razloga sem dobil v svoje možgane, da bi bila dobra povezava rotacijskega upravljanja s čipom PIC dobra ideja. Trenutno si lahko omislim le nekaj nejasnih načinov uporabe in nobena ni posebej uporabna, vendar upam, da bom s tem v prihodnje naredil kaj kul.

1. korak: Pojdite po stvari

Pojdi po stvari
Pojdi po stvari

Potrebovali boste: 1 - rotacijski telefon 3 - 220 ohmski upori 2 - 0,1uF kondenzatorji 2 - 20K upor (lahko zamenjate karkoli med 10K in 47K) 2 - LED1 - razvojna plošča PIC (uporabil sem razvojno okolje Basic Micro) 1 - 20 MHZ resonator ali kristal1 - Orodje1 - 5V vir napajanja1 - Približna stopinja priključne žice1 - Izvijač1 - Odstranjevalec žice

Korak: Odstranite telefon

Odstranite telefon
Odstranite telefon
Odstranite telefon
Odstranite telefon
Odstranite telefon
Odstranite telefon

Odprite rotacijski telefon. V notranjosti boste opazili nekaj osnovnih delov; vrtljivi gumb, zvonjenje, dve vtičnici, kljukasto stikalo in osnovno vezje, ki je običajno zaprto v kovinsko stikalno omarico.

Od vrtljivega klicalnika do te spojne omarice bodo potekale štiri žice. Žice morajo biti pritrjene z malo več kot privitimi vijaki. Odvijte vijake in odklopite žice. Po tem odklopite vrtljivi klicalnik iz telefona samega.

3. korak: Ugotovite, kaj počnejo žice

Ugotovite, kaj počnejo žice
Ugotovite, kaj počnejo žice
Ugotovite, kaj počnejo žice
Ugotovite, kaj počnejo žice

Priključite dve LED, kot je prikazano na spodnjem diagramu.

Dve beli žici morata biti par, ki zapre stikalo, ki vas obvesti, ko je gumb obrnjen. Modra in zelena žica morata biti par, ki vam pove, katera številka je bila klicana. Ko vklopite številčnico, se mora vklopiti LED, povezana z belimi žicami, in ko spustite gumb, mora LED, povezana z modro in zeleno žico, utripati in izklopiti tolikokrat, kolikor klicano (glej video). Na primer, če pokličete 8, se LED, priključena na zeleno in modro žico, izklopi in vklopi 8 -krat. To se zgodi, ker je eden od načinov za klicanje telefonske številke hiter prekinitev povezave, kolikokrat za številko, ki jo poskušate poklicati. Torej, še enkrat, če želite poklicati 8, bi morali hitro 8 -krat prekiniti povezavo.

Korak: Povežite klicalnik s čipom PIC

Povežite klicalnik s čipom PIC
Povežite klicalnik s čipom PIC
Povežite klicalnik s čipom PIC
Povežite klicalnik s čipom PIC

Rotacijski klicnik priključite na čip PIC, kot je prikazano na sliki. Upoštevajte, da berem v stanju rotacijskega klicalnika z uporabo RC-časovnika. Z drugimi besedami, čip PIC šteje, kolikokrat se kondenzator izprazni (kar se spremeni, ko se mu doda upor).

Tam pride 20K upor. Če to dodate na vhod, lahko jasno ločite signal med zaprto in odprto povezavo vrtljivega stikala.

5. korak: Zberite kodo

Zberite kodo
Zberite kodo

Za programiranje čipa sem uporabil razvojno okolje MBasic, ki je na voljo pri podjetju Basic Micro. MBasic je preprosto različica Basic, zasnovana za uporabo s čipi PIC. Z lahkoto se pretvori v bolj univerzalen (uporaben) jezik. Koda v bistvu določa, kdaj je nekdo obrnil številčnico, nato pa zazna signal na robu (ugotavlja nizko-visoke prehode), dokler se številčnica ne umakne v začetno stanje. Po štetju, kolikokrat izmeri prehod signala, nato ustrezno utripa LED. Na primer, če pokličete 3, bo PIC preštel tri nizko-visoke prehode in nato 3-krat utripal LED. Kot ste morda sklepali, LED dioda ni potrebna za delovanje in je namenjena samo za vidne povratne informacije. Lahko zamenjate katero koli izhodno napravo, za katero menite, da je potrebna. ********************* Tukaj je nekaj kode: ********************* 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 count> 10 potem je bil checkcountin> 10 potem je bil checktock up, če je bil turncountin> 10, potem je bil checkcountclicc varljiv gre na podprogram, če ima goto main '================ countmeup: high B1rctime B1, 1, clacker'sets primerja valuegoto countmeuploop' =========== ===== countmeuploop: visoka B1 čas delovanja B1, 1, clicker'checks štetje vrednostilargefig = clacker + 100'nastavi vrednost za prag, ki bo večji 'od 0, vendar manjši od možnih pin-high vrednosti, če bigfig <kliker potemcountclicks = countclicks + 1endif'adds 1 vrednost vsakič, ko se zabeleži prehod od nizkega do visokega B2rctime B2, 1, startcountinif startcountin <10 thenif countclicks> 0 thengoto blinkelsegoto mainendifendif 'preveri, če se je številčnica odmaknila nazaj na i norialno stanje "če ima in je bila klicana številka, gre v rutino LED" v nasprotnem primeru, če ni bila klicana nobena številka, gre na mainclacker = kliker "ponastavi vrednost primerjave na trenutno vrednost pin. ! '================ utripalec: repvar = repvar + 1' šteje vsako ponovitev te rutine - visoki B3začas 1000, nizki B3 - premor 1000 ', utripa LED, če je repvar = števec klikov, potemrepvar = 0pojdi naprej ponovitev je enako, kolikokrat naj LED utripa, nato pa se vrne na glavno rutino, da nadaljuje utripanje

6. korak: Testiranje

Testiranje
Testiranje

Če bi vse naredili enako kot jaz, bi moralo delovati (glej video).

Če ne deluje, se prepričajte, da ste vse pravilno povezali in da je koda pravilno kopirana. Prav tako se prepričajte, da je vaš resonator (ali kristal) 20 MHZ. Če ste sami napisali kodo, se prepričajte, da v rutini ni prekinitev, ki preverjajo nizko-visoke prehode.

Korak 7: Pojdi onkraj

Presegajo
Presegajo

Ugotovite drugačno uporabo vrtljivega gumba razen utripanja LED.

Priporočena: