INHOUDSOPGAWE:

Rotary Dialer PIC -koppelvlak: 7 stappe
Rotary Dialer PIC -koppelvlak: 7 stappe

Video: Rotary Dialer PIC -koppelvlak: 7 stappe

Video: Rotary Dialer PIC -koppelvlak: 7 stappe
Video: ✨Теплый, уютный и очень удобный женский кардиган на пуговицах спицами! Расчет на любой размер!Часть1 2024, Julie
Anonim
Rotary Dialer PIC -koppelvlak
Rotary Dialer PIC -koppelvlak

Ek het 'n oorvloed roterende telefone gevind. Trouens, hulle is oral waar ek kyk. In die hoop dat ek eendag minder van hulle kan sien, het ek hulle begin uitmekaar haal en die onderdele vir ander doeleindes hergebruik.

Om een of ander rede het ek dit in my brein ingelig dat dit 'n goeie idee is om 'n koppelvlak van die draaiknop met 'n PIC -chip te koppel. Ek kan op die oomblik net aan 'n paar vae gebruike dink, maar geen van hulle is veral nuttig nie, maar ek hoop om in die toekoms iets goeds hiermee te doen.

Stap 1: Gaan haal dinge

Gaan haal dinge
Gaan haal dinge

U benodig: 1 - Draaiende telefoon 3 - 220 ohm weerstande 2 - 0.1uF kapasitors 2 - 20K weerstand (kan alles tussen 10K en 47K vervang) 2 - LED's1 - PIC -ontwikkelbord (ek het die Basic Micro -ontwikkelingsomgewing gebruik) 1 - 20 MHz resonator of kristal1 - Broodbord1 - 5V kragbron1 - 'n voet of wat aansluitdraad1 - skroewedraaier1 - draadstropper

Stap 2: Ontleed die telefoon

Ontleed die telefoon
Ontleed die telefoon
Ontleed die telefoon
Ontleed die telefoon
Ontleed die telefoon
Ontleed die telefoon

Maak u roterende telefoon oop. Aan die binnekant sien u die paar basiese dele; die draaiknop, die luitoon, twee aansluitings, die haakskakelaar en die basiese stroombane wat gewoonlik in 'n metaal-aansluitkas-agtige ding omhul is.

Daar sal vier drade loop van die draaiknop na hierdie aansluitkas-agtige ding. Die drade moet met meer as net vasgemaakte skroewe vasgehou word. Draai die skroewe los en ontkoppel die drade. Koppel daarna die draaiknop van die telefoon self.

Stap 3: Bepaal wat die drade doen

Bepaal wat die drade doen
Bepaal wat die drade doen
Bepaal wat die drade doen
Bepaal wat die drade doen

Verbind twee LED's soos in die diagram hieronder getoon.

Die twee wit drade moet die paar wees wat die skakelaar sluit, sodat u kan weet wanneer die draaiknop gedraai word. Die blou en groen draad moet die paar wees wat u laat weet watter nommer gebel is. As sodanig, as u die draaiknop draai, moet die LED wat aan die wit drade gekoppel is, aanskakel, en as u die draaiknop loslaat, moet die LED wat aan die blou en groen drade gekoppel is, soveel keer as wat die nommer wat u geskakel (sien video). As u byvoorbeeld 8 skakel, sal die LED wat aan die groen en blou draad gekoppel is, 8 keer afskakel en aanskakel. Dit gebeur omdat een manier om 'n telefoonnommer te skakel, is om die verbinding vinnig te verbreek die aantal kere vir die syfer wat u probeer skakel. Om weer 'n 8 te skakel, moet u die verbinding vinnig 8 keer verbreek.

Stap 4: Koppel die skakelaar aan die PIC -chip

Koppel die skakelaar aan die PIC -chip
Koppel die skakelaar aan die PIC -chip
Koppel die skakelaar aan die PIC -chip
Koppel die skakelaar aan die PIC -chip

Koppel die draaiknop met die PIC -skyf soos in die diagram. Let op dat ek in die toestand van die draaiknop lees deur middel van RC-tydsberekening. Met ander woorde, die PIC -chip tel die aantal kere wat 'n kondensator nodig het om te ontlaai (wat verander wanneer weerstand bygevoeg word).

Dit is waar die 20K -weerstand inkom. As u dit by die ingang voeg, kan u 'n duidelike onderskeid tref tussen die sein van 'n geslote en oop draaiknopverbinding.

Stap 5: Stel die kode saam

Stel die kode saam
Stel die kode saam

Om die chip te programmeer, gebruik ek die MBasic -ontwikkelingsomgewing wat beskikbaar is by Basic Micro. MBasic, eenvoudig, is 'n variasie van Basic wat ontwerp is vir gebruik met PIC -skyfies. Dit is maklik omskepbaar in 'n meer universele (bruikbare) taal. Die kode bepaal in wese wanneer iemand aan die draaiknop gedraai het en doen dan randopsporing op die sein (bepaal lae-hoë oorgange) totdat die draaiknop terugkeer na sy oorspronklike toestand. Nadat die aantal kere wat 'n seinoorgang meet, getel is, knipper dit dan die LED daarvolgens. As u byvoorbeeld 3 skakel, tel die PIC drie lae-hoë oorgange en knip dan 'n LED drie keer. Die LED is, soos u moontlik afgelei het, onnodig om te werk en is net daar om u sigbare terugvoer te gee. U kan enige uitsetapparaat wat u nodig ag, vervang. ********************** Hier is 'n paar kode: ********************* CPU = 16F877MHZ = 20CONFIG 16254clicker var wordstartcountin var wordcountclicks var wordrepvar var wordclacker var wordlargefig var wordmain: countclicks = 0repvar = 0sets/reset valueshigh B2rctime B2, 1, startcountincountclicks = 0if startcountin> 10 dan gaan u na countmeup se tjeks en kyk of die skakelaar gedraai is gaan na subroutine as dit na main '===========================================================================================================================================================================================זי van 'n klik? ===== countmeuploop: hoë B1rctime B1, 1, clicker'checks tel valuelargefig = clacker + 100 stel 'n waarde vir die drempel in wat groter is as 0, maar kleiner as moontlike pin-hoë waardes as largefig <clicker thencountclicks = countclicks + 1endif 'voeg 1 waarde by elke keer as 'n lae na hoë oorgang aangeteken word hoog B2, 1, startcountinif startcountin <10 thenif countclicks> 0 thengoto flashelsegoto mainendifendif'checks to see if the dial has backed back to its i nitiale toestand 'as dit 'n nommer het en 'n nommer gekies word, gaan dit na die LED -roetine' andersins, as daar nie 'n nommer gebel word nie, gaan dit na mainclacker = klik 'stel die vergelykingswaarde terug na die huidige waarde van die waarde, gaan na die telling ! '================ blinker: repvar = repvar + 1' tel elke herhaling van hierdie roetine hoog B3pause 1000 laag B3pouse 1000 'knip die LEDif repvar = countclicks thenrepvar = 0gaan mainendif'if die herhalings gelyk aan die aantal kere wat die LED moet knipper, dan gaan dit terug na die hoofroetine -blinker

Stap 6: Toets

Toets
Toets

As u alles dieselfde as ek gedoen het, behoort dit te werk (sien video).

As dit nie werk nie, maak seker dat u alles korrek bedraad het en dat die kode korrek gekopieer is. Maak ook seker dat u resonator (of kristal) 20 MHZ is. As u u eie kode geskryf het, moet u seker maak dat daar geen onderbrekings in die roetine is wat na lae-hoë oorgange kyk nie.

Stap 7: Gaan verder

Verder gaan as
Verder gaan as

Ontdek 'n ander gebruik vir die draaiknop as om 'n LED te knipper.

Aanbeveel: