Sadržaj:
- Korak 1: Idite nabaviti stvari
- Korak 2: Razdvojite telefon
- Korak 3: Odredite što žice rade
- Korak 4: Priključite brojčanik na PIC čip
- Korak 5: Sastavite kôd
- Korak 6: Testiranje
- Korak 7: Idite dalje
Video: PIC sučelje rotacijskog birača brojača: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Našao sam se s obiljem rotacijskih telefona. Zapravo, svuda su gdje god pogledam. U nadi da ću ih jednog dana vidjeti manje, počeo sam ih rastavljati i dijelove ponovno koristiti u druge svrhe.
Iz nekog razloga ušlo mi je u pamet da bi povezivanje rotacijske kontrole s PIC čipom bila dobra ideja. Trenutno se mogu sjetiti samo nekoliko neodređenih upotreba za to i nijedna nije posebno korisna, ali nadam se da ću s tim u budućnosti učiniti nešto cool.
Korak 1: Idite nabaviti stvari
Trebat će vam: 1 - rotacijski telefon 3 - 220 ohmski otpornici2 - 0,1uF kondenzatori 2 - 20K otpornik (može zamijeniti bilo što između 10K i 47K) 2 - LED diode1 - PIC razvojna ploča (koristio sam razvojno okruženje Basic Micro) 1 - 20 MHZ rezonator ili kristal1 - Oglasna ploča1 - Izvor napajanja 5V1 - Stopa priključne žice1 - Odvijač1 - Skidač žice
Korak 2: Razdvojite telefon
Otvorite svoj rotacijski telefon. Iznutra ćete primijetiti nekoliko osnovnih dijelova; okretni brojčanik, zvono, dvije utičnice, prekidač kuke i osnovno kolo koje je obično zatvoreno u metalnu razvodnu kutiju.
Bit će četiri žice koje vode od rotacijskog brojčanika do ove stvari slične razvodnoj kutiji. Žice bi trebale biti pričvršćene malo više od zategnutih vijaka. Otpustite vijke i odvojite žice. Nakon toga odspojite rotacijski brojčanik sa samog telefona.
Korak 3: Odredite što žice rade
Priključite dvije LED diode kao što je prikazano na donjem dijagramu.
Dvije bijele žice trebale bi biti par koji zatvara prekidač koji vam daje do znanja kada okrenete brojčanik. Plava i zelena žica trebaju biti par koji vam omogućuje da znate koji je broj bio biran. Kao takav, kad okrenete brojčanik, LED dioda spojena na bijele žice bi se trebala uključiti, a kad pustite brojčanik, LED spojen na plavu i zelenu žicu trebao bi treptati uključeno i isključeno onoliko puta koliko je broj birano (pogledajte video). Na primjer, ako birate 8, LED dioda spojena na zelenu i plavu žicu će se isključiti i upaliti 8 puta. To se događa jer je jedan od načina biranja telefonskog broja brzo prekidanje veze koliko puta želite unijeti broj. Dakle, opet, za biranje 8 morali biste brzo prekinuti vezu 8 puta.
Korak 4: Priključite brojčanik na PIC čip
Spojite rotacijski brojčanik na PIC čip kako je prikazano na dijagramu. Primijetite da čitam u stanju rotacijskog birača pomoću RC-timeinga. Drugim riječima, PIC čip broji koliko je puta potrebno da se kondenzator isprazni (što se mijenja kad se doda otpor).
Tu dolazi 20K otpornik. Dodavanje ovoga na ulaz omogućuje jasnu razliku između signala iz zatvorene i otvorene veze okretnog prekidača.
Korak 5: Sastavite kôd
Za programiranje čipa koristio sam razvojno okruženje MBasic dostupno od Basic Micro. MBasic je, jednostavno, varijacija Basic -a dizajnirana za upotrebu s PIC čipovima. Lako se može pretvoriti u univerzalniji (korisniji) jezik. Kôd u biti određuje kada je netko okrenuo brojčanik, a zatim vrši otkrivanje rubova na signalu (određivanje nisko-visokih prijelaza) dok se brojčanik ne vrati u početno stanje. Nakon zbroja koliko puta mjeri prijelaz signala, tada prema tome treperi LED dioda. Na primjer, ako birate 3, PIC će prebrojati tri nisko-visoka prijelaza, a zatim će 3 puta zasvijetliti LED. Kao što ste možda zaključili, LED dioda je nepotrebna za ovo funkcioniranje i samo je tu da vam pruži vidljive povratne informacije. Možete zamijeniti bilo koji izlazni uređaj koji smatrate potrebnim. ********************* Evo nekoliko kodova: ********************* CPU = 16F877MHZ = 20CONFIG 16254clicker var wordstartcountin var wordcountclicks var wordrepvar var wordclacker var wordlargefig var wordmain: countclicks = 0repvar = 0'sets/resettshigh B2rctime B2, 1, startcountincountclicks = 0if startcountinme> 10 tada je checkcountin> 10 to check up to get up ide na potprogram ako ima glavno '================ countmeup: high B1rctime B1, 1, clacker'sets usporedi valuegoto countmeuploop' =========== ===== countmeuploop: visoka B1pctime B1, 1, clicker'checks counting valuelargefig = clacker + 100'postavlja vrijednost za prag koji će biti veći 'od 0, ali manji od mogućih pin-high vrijednosti akofigfig <klikač thencountclicks = countclicks + 1endif'adds 1 vrijednost svaki put kad se zabilježi prijelaz s niskog na visoki B2rctime B2, 1, startcountinif startcountin <10 thenif countclicks> 0 thengoto blinkelsegoto mainendifendif'checks da vidi je li brojčanik odskočio natrag na i nitijalno stanje'ako ima i biran je broj ide u LED rutinu'u protivnom, ako nije biran nijedan broj ide se na mainclacker = kliker resetira vrijednost usporedbe na trenutnu vrijednost pina, da biste prebrojali meuploop'no pauzira SVE u ovoj rutini ! '================ žmigavac: repvar = repvar + 1'broji svako ponavljanje ove rutinevisoka B3pauza 1000niska B3pauza 1000' trepće LED ako je repvar = countclicks tadarepvar = 0pređi na glavni način ponavljanja jednaka broju puta kada bi LED trebao treptati, a zatim se vraća na glavnu rutinu, da biste krenuli treptati
Korak 6: Testiranje
Ako ste učinili sve isto što i ja, trebalo bi funkcionirati (pogledajte video).
Ako ne radi, provjerite jeste li sve pravilno ožičili i je li kôd ispravno kopiran. Također, budite sigurni da je vaš rezonator (ili kristal) 20 MHZ. Ako ste sami napisali kôd, pobrinite se da nema pauza u rutini koja provjerava ima li nisko-visokih prijelaza.
Korak 7: Idite dalje
Smislite neku drugu vrstu upotrebe okretnog točkića osim treptanja LED diode.
Preporučeni:
Zamjena rotacijskog davača ISDT Q6: 4 koraka
Zamjena rotacijskog kodera ISDT Q6: Ovaj je vodič namijenjen pomoći ljudima koji su Q6 koderi s vremenom prešli na sh*t i sada su neupotrebljivi. Moj se počeo pomicati u nasumičnim, nestabilnim smjerovima, pa čak i nakon što je preformulirao lemne spojeve i očistio koder alkoholom, to je i dalje bilo neispravno
USB gumb za glasnoću pomoću DigiSparka i rotacijskog kodera: 3 koraka
USB gumb za glasnoću pomoću DigiSparka i rotacijskog kodera: Ovo je super jeftin USB gumb za kontrolu glasnoće. Nekad je tradicionalnim gumbima prikladnije kontrolirati stvari, a ne kliknuti mišem posvuda. Ovaj projekt koristi DigiSpark, rotacijski koder i USB knjižnicu Adafruit Trinket (https: //github.c
Vodič za komplet rotacijskog kodera: 5 koraka
Komplet rotacijskog kodera Vodič: Opis: Ovaj komplet rotacijskog davača može se koristiti za mjerenje položaja i brzine motora. To je vrlo jednostavan komplet koji se sastoji od senzora optičkog snopa (opto prekidač, fototranzistor) i komada diska s prorezima. Može se spojiti na bilo koji mikrokontroler
Arduino izbornik na Nokia 5110 LCD -u pomoću rotacijskog kodera: 6 koraka (sa slikama)
Arduino izbornik na Nokia 5110 LCD -u pomoću rotacijskog kodera: Dragi prijatelji, dobrodošli u još jedan vodič! U ovom videu naučit ćemo kako izgraditi vlastiti izbornik za popularni Nokia 5110 LCD zaslon, kako bismo naše projekte učinili prilagođenijima korisnicima i sposobnijim. Započnimo! Ovo je projekt
Kako tumačiti smjer rotacije s digitalnog rotacijskog prekidača s PIC -om: 5 koraka
Kako tumačiti smjer rotacije s digitalnog rotacijskog prekidača sa PIC -om: Cilj ovog Instructablea je ilustrirati kako spojiti digitalni (kvadraturno kodirani) rotacijski prekidač s mikrokontrolerom. Ne brinite, objasnit ću što? Kvadraturno kodirano? znači za nas. Ovo sučelje i prateći softver neće