Arduino, Eletrônica

Arduino – Programa ReadAnalogVoltage

Em nosso 4º programa a ser analisado vamos mostrar o exemplo ReadAnalogVoltage que pode ser encontrado em (File>Examples>01.Basics> ReadAnalogVoltage) não vou comentar o outro programa quase idêntico ( File> Examples> 01.Basics> AnalogReadSerial ). Este segundo programa é mais simples pois ele apenas envia o valor entre 0 e 1023 e não converte para um valor de tensão , ou seja, uma linha a menos de código do que esse que vamos analisar…ohhh ;). Então o programa analisado será o “ReadAnalogVoltage”. Este programa Lê uma entrada analógica (no exemplo foi a entrada A0) converte o valor lido da escala 0 a 1023 para a escala 0 volt até 5 volts e depois envia o valor convertido pela porta serial. A comunicação serial é estabelecida pela USB em uma porta virtual COM específica.

Esquema de ligação elétrica:

Exemplo de ligação elétrica para os programas ReadAnalogVoltage e AnalogReadSerial

Exemplo de ligação elétrica para os programas ReadAnalogVoltage e AnalogReadSerial

Código:

/*
ReadAnalogVoltage
Lê a entrada analógica do pino A0, converte para um valor de tensão, e finalmente envia o valor da tensão pela porta serial, que pode ser vista no “serial monitor”.
Conecte o pino central de um potenciômetro ao pino A0, e os outros pinos ligue um ao GND e o outro ao +5V.
Este exemplo é de domínio público.
*/
// A rotina de setup roda apenas uma vez quando o arduino é ligado ou reiniciado:
void setup() {
// Inicializando a comunicação serial a 9600 bits por segundo
Serial.begin(9600);
}
// A rotina de loop repete os comando no seu interior para sempre:
void loop() {
// lê a entrada analógica do pino A0 e armazena o valor na variável sensorValue:
int sensorValue = analogRead(A0);
// Convertendo o valor lido(que fica entre 0 e 1023) para um valor de tensão (entre 0 e 5V):
float voltage = sensorValue * (5.0 / 1023.0);
// agora envia pela serial o valor da tensão que foi lido
Serial.println(voltage);
}

OBS: alguns podem estar se perguntando o motivo de ter 5.0 ao invés de apenas 5 e 1023.0 ao invés de 1023. Isto é feito pois queremos uma divisão com casas decimais (não inteira) dessas constantes, então para forçar o Arduino a entender isso, colocamos o .0. Com isso ele calcula tudo em “ponto flutuante”.

Testando:

Após enviar para a placa o código através do botão “upload” (enviar) e der tudo certo então abra o “serial monitor” (terminal de comunicação serial) que fica no canto superior direito.

IDE Arduino explicado

Deverá surgir uma janela mostrando as tensões lidas recebidas pela serial. Confirme se a Velocidade tem 9600 baud (que você escolheu no programa) e se a porta está correta (se você acabou de conseguir fazer upload então a porta está correta não acha? 😉 )

Bom isso é tudo é uma breve explicação sobre esse programa exemplo que ja vem com a IDE do Arduino… até mais.