Arduino - Leitura da tensão analógica

Este exemplo mostrará como ler uma entrada analógica no pino 0 analógico. A entrada é convertida de analogRead () em tensão e impressa no monitor serial do software Arduino (IDE).

Componentes necessários

Você precisará dos seguintes componentes -

  • 1 × breadboard
  • 1 × Arduino Uno R3
  • 1 × resistor variável 5K (potenciômetro)
  • 2 × Jumper

Procedimento

Siga o diagrama de circuito e conecte os componentes na placa de ensaio, conforme mostrado na imagem abaixo.

Potenciômetro

Um potenciômetro (ou potenciômetro) é um transdutor eletromecânico simples. Ele converte o movimento rotativo ou linear do operador de entrada em uma mudança de resistência. Essa mudança é (ou pode ser) usada para controlar qualquer coisa, desde o volume de um sistema de alta fidelidade até a direção de um enorme navio de contêineres.

O pote como o conhecemos era originalmente conhecido como reostato (essencialmente um resistor de fio enrolado variável). A variedade de potes disponíveis é agora bastante surpreendente e pode ser muito difícil para o iniciante (em particular) descobrir qual tipo é adequado para uma determinada tarefa. Alguns tipos diferentes de potes, que podem ser usados ​​para a mesma tarefa, tornam o trabalho mais difícil.

A imagem à esquerda mostra o símbolo esquemático padrão de um pote. A imagem à direita é o potenciômetro.

Esboço

Abra o software Arduino IDE em seu computador. A codificação na linguagem Arduino controlará seu circuito. Abra um novo arquivo de esboço clicando em Novo.

Código Arduino

/*
   ReadAnalogVoltage
   Reads an analog input on pin 0, converts it to voltage, 
   and prints the result to the serial monitor.
   Graphical representation is available using serial plotter (Tools > Serial Plotter menu)
   Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
*/

// the setup routine runs once when you press reset:

void setup() {
   // initialize serial communication at 9600 bits per second:
   Serial.begin(9600);
}

// the loop routine runs over and over again forever:

void loop() {
   // read the input on analog pin 0:
   int sensorValue = analogRead(A0);
   // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
   float voltage = sensorValue * (5.0 / 1023.0);
   // print out the value you read:
   Serial.println(voltage);
}

Código a ser anotado

No programa ou esboço dado abaixo, a primeira coisa que você faz na função de configuração é iniciar as comunicações seriais, a 9600 bits por segundo, entre sua placa e seu computador com a linha -

Serial.begin(9600);

No loop principal do seu código, você precisa estabelecer uma variável para armazenar o valor da resistência (que estará entre 0 e 1023, perfeito para um tipo de dados int) proveniente do seu potenciômetro -

int sensorValue = analogRead(A0);

Para alterar os valores de 0-1023 para uma faixa que corresponda à tensão, o pino está lendo, você precisa criar outra variável, um flutuador, e fazer alguns cálculos. Para dimensionar os números entre 0,0 e 5,0, divida 5,0 por 1023,0 e multiplique por sensorValue -

float voltage= sensorValue * (5.0 / 1023.0);

Finalmente, você precisa imprimir essas informações em sua janela serial. Você pode fazer isso com o comando Serial.println () em sua última linha de código -

Serial.println(voltage)

Agora, abra o Serial Monitor no Arduino IDE clicando no ícone do lado direito da barra verde superior ou pressionando Ctrl + Shift + M.

Resultado

Você verá um fluxo constante de números variando de 0,0 a 5,0. Conforme você gira o potenciômetro, os valores mudam, correspondendo à tensão no pino A0.