Conversão de analógico em digital (leitura serial analógica) - Noções básicas do Arduino

Experimente Nosso Instrumento Para Eliminar Problemas





Neste básico do Arduino, tentamos entender o procedimento de implementação de código em que um sinal analógico externo é alimentado para a entrada analógica do Arduino e traduzido ou convertido em uma leitura digital proporcionalmente proporcional. Aqui, empregamos uma resistência variável na forma de um potenciômetro como fonte de sinal analógico.

Serial de leitura analógica

Neste exemplo, aprendemos o método de leitura de uma entrada analógica de um dispositivo externo como um potenciômetro, que é um dispositivo eletromecânico projetado para implementar uma resistência variável em um circuito por meio de operação manual.



Um Arduino pode ser usado para medir a magnitude da tensão que sai de um potenciômetro, a fim de ler e identificar sua resistência correspondente variável. Isso pode ser feito alimentando a tensão na porta de entrada analógica do Arduino como um valor analógico.

Aqui, veremos como o acima é aplicado após estabelecer a comunicação serial entre o Arduino e o computador vinculado.



Hardware necessário

Placa Arduino

Potenciômetro de 10 kilohm

Operação de Circuito

Conforme ilustrado no diagrama acima, conecte os três fios que saem do potenciômetro às portas do Arduino.

O fio de uma das pontas externas do potenciômetro é atribuído ao aterramento ou à linha negativa da placa.

O outro terminal externo extremo livre é conectado com o + 5V da placa.

O que resta é a ponta central do potenciômetro, que termina na entrada analógica da placa Arduino.

Quando o eixo do potenciômetro é girado, a resistência através do condutor central e do terminal externo muda de mais alto para mais baixo e vice-versa, dependendo de qual lado o braço deslizante se aproxima.

Por exemplo, quando o braço deslizante é girado em direção à derivação + 5V, a derivação central se aproxima de 5V e tende a adquirir todo o valor conforme toca a derivação atribuída de 5V. Da mesma forma, quando o eixo deslizante é movido em direção ao cabo do potenciômetro de solo, o cabo central tende a atingir um potencial zero.

A tensão de alimentação acima variando linearmente sobre o terminal central do potenciômetro é lida pela entrada analógica do Arduino para interpretá-la em uma resistência correspondente variável do potenciômetro.

O Arduino inclui um circuito conversor analógico para digital interno que efetivamente interpreta o movimento do potenciômetro acima e o converte em números entre 0 e 1023.

Uma posição particular sobre o eixo do potenciômetro resulta em um número proporcional entre 0 e 1023 sendo traduzido pelo Arduino, e para os valores finais de 5 V e zero volts, as interpretações são obviamente 0 e 1023.

No referido programa, a função de configuração precisa apenas ser acionada para iniciar as comunicações seriais, a taxa sendo 9600 bits de dados por segundo, em sua placa Arduino e no computador.

O comando esperado está no formato:

Serial.begin (9600)

Posteriormente, no loop principal do seu código, aplicamos uma variável a fim de fixar o valor da resistência (que seria como discutido entre 0 e 1023, apenas adequado para um tipo de dados int) recebido dos cabos do potenciômetro:

int sensorValue = analogRead (A0)

Para concluir, imprima esta informação em sua janela serial como um valor decimal (DEC). Você pode usar o comando Serial.println () para implementar isso na última linha do código:

Serial.println (sensorValue, DEC)

Depois disso, sempre que o Serial Monitor for iniciado no domínio de desenvolvimento do Arduino (isso é feito clicando no botão que está imediatamente à direita do botão 'Upload' no cabeçalho do programa).

veríamos uma cadeia consistente de dígitos indo de 0 a 1023, correspondendo à posição de rotação variável do eixo do potenciômetro.

Se pararmos a rotação do eixo do potenciômetro em algum instante, o número instantâneo correspondente será exibido na tela do Arduino, isso mudaria novamente proporcionalmente à medida que continuarmos alterando a posição do eixo do potenciômetro.

O código

/ *
AnalogReadSerial
Lê uma entrada analógica no pino 0 e imprime o resultado no monitor serial.
Conecte o pino central de um potenciômetro ao pino A0 e os pinos externos a + 5V e aterramento.

Este código de exemplo é de domínio público.
* /

// a rotina de configuração é executada uma vez quando você pressiona reset:
void setup () {
// inicializa a comunicação serial a 9600 bits por segundo:
Serial.begin (9600)
}

// a rotina de loop é executada indefinidamente:
void loop () {
// leia a entrada no pino analógico 0:
int sensorValue = analogRead (A0)
// imprima o valor que você leu:
Serial.println (sensorValue)
atraso (1) // atraso entre as leituras para estabilidade
}




Anterior: Monitorando o estado de um switch (Digital Read Serial) - Arduino Basics Próximo: Circuito regulador de tensão ajustável da rede elétrica de 1,25 V a 120 V