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.