Índice:

Interface PIC do discador giratório: 7 etapas
Interface PIC do discador giratório: 7 etapas

Vídeo: Interface PIC do discador giratório: 7 etapas

Vídeo: Interface PIC do discador giratório: 7 etapas
Vídeo: The Best Camera Settings For Rocket League In 2020 | How To Adapt Camera Settings To Your Playstyle 2024, Julho
Anonim
Interface PIC do discador giratório
Interface PIC do discador giratório

Encontrei-me com uma abundância de telefones rotativos. Na verdade, eles estão em todos os lugares que eu olho. Na esperança de um dia ver menos deles, comecei a desmontá-los e reutilizá-los para outros fins.

Por alguma razão, coloquei no meu cérebro que seria uma boa ideia fazer a interface do controle giratório com um chip PIC. Só consigo pensar em alguns usos vagos para ele no momento e nenhum é particularmente útil, mas espero fazer algo legal com isso no futuro.

Etapa 1: vá buscar as coisas

Vá buscar coisas
Vá buscar coisas

Você precisará de: 1 - Telefone rotativo3 - resistores de 220 ohms2 - capacitores de 0,1uF 2 - resistor de 20K (pode substituir qualquer coisa entre 10K e 47K) 2 - LEDs1 - placa de desenvolvimento PIC (usei o ambiente de desenvolvimento Micro Básico) 1 - Ressonador de 20 MHz ou crystal1 - Breadboard1 - Fonte de alimentação de 5V1 - Um pé ou mais de fio de conexão1 - Chave de fenda1 - Decapador de fio

Etapa 2: dissecar o telefone

Dissecar o telefone
Dissecar o telefone
Dissecar o telefone
Dissecar o telefone
Dissecar o telefone
Dissecar o telefone

Abra o seu telefone rotativo. No interior, você notará algumas partes básicas; o botão giratório, a campainha, dois conectores, o botão de gancho e o circuito básico que geralmente é envolto em uma caixa de junção de metal.

Haverá quatro fios que vão do discador rotativo até essa coisa parecida com uma caixa de junção. Os fios devem ser mantidos no lugar por pouco mais do que parafusos apertados. Afrouxe os parafusos e desconecte os fios. Depois disso, desconecte o discador rotativo do próprio telefone.

Etapa 3: determinar o que os fios fazem

Determine o que os fios fazem
Determine o que os fios fazem
Determine o que os fios fazem
Determine o que os fios fazem

Conecte dois LEDs conforme mostrado no diagrama abaixo.

Os dois fios brancos devem ser o par que fecha a chave que permite saber quando o dial é girado. O fio azul e verde deve ser o par que permite saber qual número foi discado. Assim, quando você gira o dial, o LED conectado aos fios brancos deve acender, e quando você solta o dial, o LED conectado aos fios azul e verde deve piscar e desligar tantas vezes quanto o número que você discado (veja o vídeo). Por exemplo, se você discar 8, o LED conectado aos fios verde e azul irá desligar e ligar 8 vezes. Isso acontece porque uma forma de discar um número de telefone é interromper rapidamente a conexão o número de vezes para o dígito que você está tentando discar. Portanto, novamente, para discar um 8, você teria que interromper rapidamente a conexão 8 vezes.

Etapa 4: Conecte o discador ao chip PIC

Conecte o discador ao chip PIC
Conecte o discador ao chip PIC
Conecte o discador ao chip PIC
Conecte o discador ao chip PIC

Conecte o discador rotativo ao chip PIC, conforme mostrado no diagrama. Observe que estou lendo no estado do discador rotativo usando o tempo RC. Em outras palavras, o chip PIC está contando o número de vezes que um capacitor leva para descarregar (que muda quando a resistência é adicionada).

É aí que entra o resistor de 20K. Adicioná-lo à entrada permite uma diferenciação clara entre o sinal de uma conexão de chave rotativa fechada e aberta.

Etapa 5: monte o código

Reúna o código
Reúna o código

Para programar o chip, usei o ambiente de desenvolvimento MBasic disponível na Basic Micro. MBasic, simplesmente, é uma variação do Basic projetada para uso com chips PIC. É facilmente conversível em uma linguagem mais universal (útil). O código é essencialmente determinando quando alguém girou o dial e então faz a detecção de borda no sinal (determinando as transições baixo-alto) até que o dial volte ao seu estado inicial. Depois de contar o número de vezes que ele mede uma transição de sinal, ele pisca o LED de acordo. Por exemplo, se você discar 3, o PIC contará três transições baixo-alto e piscará um LED 3 vezes. O LED, como você pode ter inferido, é desnecessário para que isso funcione e está lá apenas para fornecer um feedback visível. Você pode substituir qualquer dispositivo de saída que julgar necessário. ********************* Aqui está algum código: ********************* 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 então goto countmeup 'verifica vai para a sub-rotina se hasgoto main '================ countmeup: high B1rctime B1, 1, clacker'sets compare valuegoto countmeuploop' =========== ===== countmeuploop: high B1rctime B1, 1, clicker'checks contando valuelargefig = clacker + 100's define um valor para o limite que será maior 'do que 0, mas menor do que os possíveis valores pin-highif largefig <clicker thencountclicks = countclicks + 1endif'adiciona 1 valor toda vez que uma transição baixa para alta é gravada alta B2rctime B2, 1, startcountinif startcountin <10 thenif countclicks> 0 thengoto blinkelsegoto mainendifendif'verifica para ver se o dial voltou para seu i estado inicial'se tiver e um número for discado vai para a rotina de LED 'caso contrário, se nenhum número for discado, vai para mainclacker = clicker'redefine o valor de comparação para o valor do pino atualegoto contagemmeuploop'no pausas AT ALL nesta rotina ! '================ pisca: repvar = repvar + 1'conta cada repetição desta rotina alta B3pausa 1000baixo B3pausa 1000'pisca o LEDif repvar = countclicks thenrepvar = 0goto mainendif'se o repetições igual ao número de vezes que o LED deve piscar, então ele volta para a rotina principal - para o pisca-pisca

Etapa 6: Teste

Testando
Testando

Se você fez tudo igual a mim, deve funcionar (veja o vídeo).

Se não funcionar, certifique-se de que conectou tudo corretamente e que o código foi copiado corretamente. Além disso, certifique-se de que seu ressonador (ou cristal) seja de 20 MHz. Se você escreveu seu próprio código, certifique-se de que não haja pausas na rotina que verificam as transições baixo-alto.

Etapa 7: Vá além

Vá além
Vá além

Descubra algum outro tipo de uso para o botão giratório além de piscar um LED.

Recomendado: