Innehållsförteckning:

Rotary Dialer PIC -gränssnitt: 7 steg
Rotary Dialer PIC -gränssnitt: 7 steg

Video: Rotary Dialer PIC -gränssnitt: 7 steg

Video: Rotary Dialer PIC -gränssnitt: 7 steg
Video: don't move!!!!!! #squidgame 2024, November
Anonim
Rotary Dialer PIC -gränssnitt
Rotary Dialer PIC -gränssnitt

Jag har funnit mig själv med ett överflöd av roterande telefoner. De är faktiskt överallt där jag tittar. I hopp om att jag någon gång får se mindre av dem, har jag börjat ta isär dem och återanvända delarna för andra ändamål.

Av någon anledning fick jag in det i min hjärna att det skulle vara en bra idé att koppla ihop den roterande kontrollen med ett PIC -chip. Jag kan bara tänka mig ett par vaga användningsområden för det för tillfället och ingen är särskilt användbar, men jag hoppas kunna göra något coolt med detta i framtiden.

Steg 1: Gå på Hämta saker

Gå och hämta saker
Gå och hämta saker

Du behöver: 1 - Rotary phone3 - 220 ohm motstånd2 - 0.1uF kondensatorer 2 - 20K motstånd (kan ersätta allt mellan 10K och 47K) 2 - LEDs1 - PIC utvecklingskort (jag använde Basic Micro utvecklingsmiljön) 1 - 20 MHz resonator eller kristall1 - Brödbräda1 - 5V strömkälla1 - En fot eller så av anslutningstråd1 - Skruvmejsel1 - Trådavlägsnare

Steg 2: Dissekera telefonen

Dissekera telefonen
Dissekera telefonen
Dissekera telefonen
Dissekera telefonen
Dissekera telefonen
Dissekera telefonen

Öppna din roterande telefon. På insidan kommer du att märka några grundläggande delar; den vridbara ratten, ringsignalen, två uttag, krokbrytaren och grundkretsen som vanligtvis är innesluten i en metallkopplingsboxliknande sak.

Det kommer att vara fyra ledningar som går från den roterande uppringaren till denna kopplingsboxliknande sak. Ledningarna ska hållas på plats med lite mer än åtdragna skruvar. Lossa skruvarna och koppla bort ledningarna. Koppla sedan bort den roterande uppringaren från själva telefonen.

Steg 3: Bestäm vad trådarna gör

Bestäm vad trådarna gör
Bestäm vad trådarna gör
Bestäm vad trådarna gör
Bestäm vad trådarna gör

Anslut två lysdioder som visas i diagrammet nedan.

De två vita trådarna ska vara paret som stänger omkopplaren som låter dig veta när ratten vrids. Den blå och gröna tråden bör vara paret som låter dig veta vilket nummer som slogs. Som sådan, när du vrider på ratten, bör lysdioden som är ansluten till de vita ledningarna tändas, och när du släpper ratten bör lysdioden som är ansluten till de blå och gröna trådarna blinka på och av lika många gånger som det nummer du uppringd (se video). Till exempel, om du ringer 8, släcks LED -lampan som är ansluten till den gröna och blå ledningen 8 gånger. Detta händer eftersom ett sätt att ringa ett telefonnummer är att snabbt bryta anslutningen antalet gånger för den siffra du försöker slå. Så igen, för att slå en 8 måste du snabbt bryta anslutningen 8 gånger.

Steg 4: Anslut uppringaren till PIC -chipet

Anslut uppringaren till PIC -chipet
Anslut uppringaren till PIC -chipet
Anslut uppringaren till PIC -chipet
Anslut uppringaren till PIC -chipet

Anslut den roterande uppringaren till PIC -chipet enligt diagrammet. Lägg märke till att jag läser i tillståndet för den roterande uppringaren med hjälp av RC-timing. Med andra ord, PIC -chipet räknar antalet gånger det tar för en kondensator att urladdas (vilket ändras när motstånd läggs till).

Det är där 20K -motståndet kommer in. Att lägga till detta på ingången möjliggör en tydlig differentiering mellan signalen från en sluten och öppen vridomkopplare.

Steg 5: Sätt ihop koden

Sätt ihop koden
Sätt ihop koden

För att programmera chipet använde jag MBasic -utvecklingsmiljön tillgänglig från Basic Micro. MBasic, helt enkelt, är en variant av Basic utformad för användning med PIC -chips. Det kan enkelt konverteras till ett mer universellt (användbart) språk. Koden bestämmer i huvudsak när någon har vrid på ratten och gör sedan kantdetektering på signalen (bestämning av låg-höga övergångar) tills ratten återgår till sitt ursprungliga tillstånd. Efter att ha räknat upp antalet gånger den mäter en signalövergång blinkar den sedan lysdioden därefter. Till exempel, om du ringer 3, kommer PIC att räkna tre låg-höga övergångar och sedan blinka en lysdiod 3 gånger. Lysdioden, som du kanske har kommit fram till, är onödig för att detta ska fungera och är bara där för att ge dig synlig feedback. Du kan ersätta vilken utmatningsenhet som du anser nödvändig. ********************** Här är lite kod: ********************** CPU = 16F877MHZ = 20CONFIG 16254clicker var wordstartcountin var wordcountclicks var wordrepvar var wordclacker var wordlargefig var wordmain: countclicks = 0repvar = 0sets/resets valueshigh B2rctime B2, 1, startcountincountclicks = 0if startcountin> 10 sedan gå till countmeup 'kontroller för att se om ratten har vridits och se om ratten har vridits går till underrutin om den har gått till main '================ countmeup: hög B1rctime B1, 1, clacker'sets jämför värdetego countmeuploop' ============ ===== countmeuploop: high B1rctime B1, 1, clicker'checks counting valuelargefig = clacker + 100s set a value for the threshold that will be greater 'than 0 but less than possible pin-high valuesif largefig <clicker thencountclicks = countclicks + 1endif'lägger till 1 värde varje gång en låg till hög övergång registreras hög B2rctime B2, 1, startcountinif startcountin <10 thenif countclicks> 0 thengoto blinkelsegoto mainendifendif'checks to see if the ure has backed to its i nitialt tillstånd 'om det har och ett nummer har slagits går det till LED -rutinen' annars, om inget nummer slås går det till mainclacker = clicker'återställer jämförelsevärdet till det aktuella stiftvärdet. ! '================ blinkar: repvar = repvar + 1'räknar varje upprepning av denna rutinhöga B3paus 1000låg B3paus 1000'blinkar LEDif repvar = countclicks thenrepvar = 0 gå till mainendif'if den repetitioner lika med antalet gånger lysdioden ska blinka sedan går den tillbaka till huvudrutinblinkaren

Steg 6: Testning

Testning
Testning

Om du gjorde allt på samma sätt som jag borde det fungera (se video).

Om det inte fungerar, se till att du har anslutit allt korrekt och att koden har kopierats korrekt. Var också säker på att din resonator (eller kristall) är 20 MHZ. Om du skrev din egen kod, se till att det inte finns några pauser i rutinen som söker efter låg-höga övergångar.

Steg 7: Gå bortom

Går utöver
Går utöver

Ta reda på någon annan användning för den roterande ratten än att blinka en lysdiod.

Rekommenderad: