Índice:
- Etapa 1: a porta do joystick
- Etapa 2: porta do joystick em VB
- Etapa 3: Implementar usando a porta paralela no DOS
- Etapa 4: anexando o Ciruit ao LPT
- Etapa 5: Use
Vídeo: Conversor analógico para digital simples e barato: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:40
Desde os tempos em que os ADC eram caros e raros, surge uma solução de hardware-software para aquisição de dados para PCs. Com base na antiga porta de Joystick compatível com IBM, uma técnica de acionar um multivibrador monoestável, um transdutor resistivo (termistor, fotocélula, medidor de tensão, etc.) e, em seguida, contar quantos ciclos ele passa antes que a saída do multivibrador fique alta é bastante simples de implementar na maioria das plataformas de PC e na maioria dos idiomas. Um arquivo de amostra VisualBasic e Qbasic é mostrado.
Etapa 1: a porta do joystick
Durante anos, muitos PCs domésticos compatíveis com a IBM vieram com uma porta de joystick que possuía eixo X, eixo Y, botões A e B, pinos de sinalização. O pequeno conector DB-15 pode ser acessado nos endereços 200h e 201h. O joystick em si tinha apenas dois potenciômetros e dois botões. Dentro da placa-mãe do PC, dois multivibradores monoestáveis retriggeráveis (RMM, para abreviar) com capacitores fixos e pinos IN / OUT foram localizados. A constante de tempo RC foi ajustada pelos potenciômetros e capacitores. Para iniciar a conversão do sinal, você faria um WRITE para o endereço de porta 200h e então começaria a contar até obter um pouco HIGH fazendo um READ para o endereço de porta 200h. Isso pode ser implementado em qualquer linguagem (básico, pascal, c).
Etapa 2: porta do joystick em VB
Este é um código de amostra que usei para testar meu joystick de ferro-velho: Private Sub Timer1_Timer () Dim V, H As Integer Out & H201, & HFF For H = 1 To 3000 If (Inp (& H201) And & H1) / & H1 = 0 Then Exit For Next H Horizontal. Text = H Out & H201, & HFF For V = 1 To 3000 If (Inp (& H201) And & H2) / & H2 = 0 Then Exit For Next V Vertical. Text = V If (Inp (& H201) And & H10) / & H10 = 0 Then Shape1. FillColor = & HFF If (Inp (& H201) And & H20) / & H10 = 0 Then Shape2. FillColor = & HFF If (Inp (& H201) And & H10) / & H10 = 1 Then Shape1. FillColor = & HC0C0C0 If (Inp (& H201) E & H20) / & H20 = 1 Então Shape2. FillColor = & HC0C0C0 Shape3. Left = H Shape3. Top = VEnd Sub O programa só funciona se você tiver um joystick real conectado ao seu PC. As caixas de texto horizontal e vertical mostrarão um valor relacionado aos movimentos X e Y do seu stick. Além disso, um quadrado se moverá dentro de uma caixa maior para representar seus movimentos. Pressionar os botões A e B ativará a leitura dos círculos cinza. O exemplo de arquivo EXE compilado, o código-fonte e a biblioteca INPOUT32. DLL estão no arquivo. RAR.
Etapa 3: Implementar usando a porta paralela no DOS
O 74 LS 123 é o que eu usei para obter o mesmo sistema da porta de joystick. Possui dois RMM. No arquivo PDF você pode ver a folha de dados e um circuito simples para conectar à sua porta paralela. Eu sou um fã do Qbasic (porque está amplamente disponível), então o código está escrito nele. O procedimento é o mesmo que na amostra VB: LPTdata = & H378 LPTstatus = LPTdata + 1: LPTcontrol = LPTdata + 2YMAXX = 500SCREEN 2LINE (9, 1) - (630, 170),, B, & H3333VIEW (10, 2) - (629, 169) WINDOW (0, YMAXX) - (620, 0) MAXX = 620DIM D (MAXX) ENQUANTO INKEY $ = "" OUT LPTcontrol, & H1 OUT LPTcontrol, & H0 FOR Y = 1 TO YMAXX IF (INP (LPTstatus) AND & H10) / & H10 = 1 ENTÃO SAIR PARA O PRÓXIMO LOCAL 23, 1 IMPRIMIR USANDO "####"; LINHA Y (0, 0) - (MAXX, YMAXX), 0, BF PARA I = 1 A LINHA MAXX (I, D (I - 1)) - (I, D (I)) D (I - 1) = D (I) NEXT ID (MAXX) = YWEND Um pino de saída é usado para acionar o MMR e um pino de entrada para ler a saída dele.
Etapa 4: anexando o Ciruit ao LPT
O sistema é implementado como meio hardware e meio software. A conversão de uma resistência variável em um atraso de tempo é então usada para contar os pulsos e essa contagem é o nosso valor desejado. O arquivo qbasic traçará para filtrar o sinal e, em seguida, rolá-lo para a direita.
Etapa 5: Use
Este é um IC comum, mas outros monoestáveis também podem ser usados. Muitas pessoas que moram em lugares onde ADC são difíceis de encontrar, podem gostar de usar este circuito como um projeto escolar para traçar a temperatura ou qualquer outra coisa, desde que você possa fazer o MMR mudar seu atraso quando o seu sensor mudar.
Recomendado:
Conversor lógico DIY simples para dispositivos 3.3V: 4 etapas
Conversor lógico DIY simples para dispositivos de 3,3 V: neste artigo, vou mostrar como você pode fazer seu próprio conversor lógico de 5 V a 3,3 V para conectar sensores de 5 V a novas placas Arduino e Raspberry Pi. Por que precisamos de um conversor de nível lógico IC ? A maioria de vocês adora jogar com Arduino e Raspberry Pi duri
Conversor AC para DC Mini Barato: 7 Passos
Mini Conversor Ac para DC Barato: este é um conversor AC para DC. Custou-me apenas alguns dólares. Apenas o custo de quatro diodos. É muito fácil e sem problemas para soldar. então eu quero compartilhar com todos vocês. então vamos começar
Minha primeira asa de pena: conversor analógico para digital: 5 etapas
Minha primeira asa de pena: conversor analógico para digital: Olá, meus colegas criadores! O instrutível de hoje é sobre algo realmente especial. Este dispositivo é MINHA PRIMEIRA PENA - seguindo o fator de forma de Adafruit. É também minha PRIMEIRA PCB MONTADA NA SUPERFÍCIE! Meu uso mais proeminente deste escudo é em um dispositivo que eu
Circuitos GPIO Raspberry Pi: usando um sensor analógico LDR sem um ADC (conversor analógico para digital): 4 etapas
Circuitos GPIO do Raspberry Pi: usando um sensor analógico LDR sem um ADC (conversor analógico para digital): Em nossos Instructables anteriores, mostramos como você pode vincular os pinos GPIO do Raspberry Pi a LEDs e interruptores e como os pinos GPIO podem ser altos ou baixo. Mas e se você quiser usar seu Raspberry Pi com um sensor analógico? Se quisermos usar um
Suporte de laptop barato / conversor de notebook para desktop: 3 etapas
Suporte para laptop / conversor de notebook para desktop barato: Eu acabo usando meu laptop por longos períodos. Ele fica desconfortável depois de um tempo. O teclado e a tela devem ser idealmente separados para reduzir a tensão no pescoço durante o uso prolongado. Se você é um usuário de laptop em tempo integral, sugiro que crie s