Olá, como estão? A princípio iremos desenvolver um multímetro que suporta até uma tensão de 10 volts no A5 e até 25 volts no A4, para realizar esse projeto usaremos o KIT básico com Arduíno da WJ Componentes.
Obs.: Contudo caso o pino seja submetido a tensão superior a tensão calculada, poderá ocasionar na danificação do Arduíno UNO.
Componentes Utilizados no Projeto
OU
Funcionamento do Projeto Multímetro
Como foi comentado anteriormente hoje iremos desenvolver um multímetro que conseguirá calcular a tensão, corrente, potência e resistência, porém, o máximo de tensão que iremos conseguir medir será de até 10 volts no pino A5 e 25 volts no pino A4. Para estarmos realizando a entrada de mais de 5 volts nos pinos analógicos, iremos precisar fazer um divisor de tensão e/ou ligaremos os resistores em série, assim tendo uma queda de tensão, porém, compensamos ela no código-fonte. Portanto não iremos ter uma grande precisão referente a voltagens baixas em pinos projetados para calcular uma tensão alta, exemplo caso conectemos uma fonte de 5 volts no pino A5 que foi projetado para aguentar no máximo 10 volts, ele irá ter uma precisão superior ao pino A4 que foi arquitetado para suportar até 25 volts.
Como calcular a Tensão (Voltímetro)
1º Etapa – Descobrir a Tensão Correspondente
Primeiramente antes de realizar a programação ou montagem, precisamos entender como podemos obter o valor da tensão. Portanto utilizamos o pino analógico, pois podemos ler valores entre 0 e 1023, com isso é possível descobrir qual tensão corresponde a cada valor do pino analógico, ou seja, para o valor de 1023 temos como entrada 5 volts. Logo concluímos que \( \frac{VREF}{analogMax} \) é igual à tensão correspondente a cada valor do pino analógico. Dessa forma podemos escrever a equação abaixo:
\[ \frac{5}{1023} = 4,9mV ou 0,0049V \]
Ou seja, cada valor do pino analógico corresponde a 4,9 mV. Então podemos descrever com seguinte expressão:
\[ analogRead() * \frac {VREF}{analogMax} = tensão \]
Para facilitar colocamos que o valor lido no pino A5 do Arduíno, foi de 511, então calculamos da seguinte forma:
\[ 511 * \frac {5}{1023} = 2,50V \]
2º Etapa – Descobrir a Resistencia
Portanto caso queira um voltímetro de até 5 volts está pronto, não necessitará de resistores. Então basta conectar o pino analógico na fonte de alimentação ou na bateria de até no máximo 5V e compartilhar o GND com o Arduíno. Entretanto, caso queira calcular um valor superior a 5 volts, precisamos passar para o próximo passo, que é realizar um divisor de tensão com dois ou mais resistores. Agora para descobrirmos qual é a resistência dos resistores que usaremos em nosso projeto, realizamos o seguinte cálculo:
\[ V_{out} = V_{in} * \frac{R2}{R1+R2} \]
Como queremos desenvolver um voltímetro para medir uma tensão de até 25 volts. O máximo de tensão que podemos colocar no pino é 5 volts e escolheremos uma resistência para R2, escolhemos 220 Ohms. Ou seja, dessa forma podemos realizar o calculo para descobrir a resistência do resistor:
\[ 5 = 25 * \frac {220}{R1+220} \\ 5 = \frac {5500}{R1+220} \\ 5 * (R1+220) = 5500 \\ R1 + 220 = 1100 \\ R1 = 1100 – 220 = 880 \]
Então precisamos de um resistor de 880 Ohms, como esse resistor não é comercializado precisamos realizar uma ligação em série. Para isso basta conectar um resistor no outro, utilizamos 1 resistor de 220 Ohms e 2 resistores de 330 Ohms, assim totalizando 880 Ohms. Para calcular a resistência em série basta somar os valores dos resistores:
\[ 220 + 330 + 330 = 880 \]
3º Etapa – Razão Entre as Tensões
Em seguida precisamos descobrir a razão entre as tensões de entrada e saída. Para isso basta dividi-las:
\[ \frac {V_{in}} {V_{out}} \]
Para finalizar e descobrir o valor da tensão de entrada, basta realizar a seguinte equação:
\[ analogRead() * \frac {VREF}{analogMax} * razão = tensão \]
Para exemplificar, caso entremos com 12 volts, por conta do divisor de tensão o analogRead retornará 491. Sendo assim o cálculo ficará da seguinte forma:
\[ 491 * \frac {5}{1023} * 5 = 11,999V \]
Como calcular a Resistencia de um Resistor (Ohmímetro)
Importante mencionar para que o Ohmímetro (medidor de resistência) funcione corretamente iremos precisar de pelo menos dois resistores e não podemos mudar a tensão de entrada, exemplo se na fórmula estamos utilizando 5 volts não poderemos alterar depois para 3,3 volts (além que realizamos a alteração no código-fonte). Para realizar esse cálculo basta utilizar a mesma fórmula utilizada anteriormente para descobrir a resistência:
\[ R1 = \frac{R2 * V_{in} – V_{out} * R2}{V_{out}} \]
Para exemplificar, utilizarei uma tensão de entrada de 5 volts (vin), um resistor de 220 Ohms no R2 e teremos que calcular a tensão de saída (Vout) da mesma forma que foi calculado anteriormente com o \( analogRead() * \frac{VREF}{analogMax} \), supondo que analogRead retornasse 511. Com essas informações será possível realizar o cálculo para descobrir a resistência do resistor R1 da seguinte forma:
\[ R1 = \frac {220 * 5 – (511 – \frac{5}{1023})* 220}{(551 * \frac{5}{1023})} = 220,430 Ohms \]
Como calcular a Corrente (Amperímetro)
Para podemos calcular a corrente que está passando no circuito utilizaremos a primeira lei de Ohms, onde fala que \( V = R * I \), onde:
- V ou U – Tensão
- R – Resistencia
- A ou I – Corrente
Como já descobrimos a Tensão de entrada e a resistência. Podemos calcular a corrente no circuito, para isso aplicamos na fórmula os valores:
\[25 = 1100 * I \]
\[ I = \frac{25}{1100} \rightarrow I = 2,272mA \space ou \space 0,0022A \]
Como calcular a Potência (Wattímetro)
Para calcular a potência é simples, basta multiplicar corrente por tensão da seguinte forma:
\[ P = V * I \]
Para assim obter a potência, agora para finalizar basta aplicar os valores na fórmula:
\[ P = 25 * 0,0022 \to P = 0,055W \]
Montagem do Projeto Multímetro
Logo após compra dos componentes na WJ Componentes, vamos à montagem! Agora na montagem iremos conectar os resistores que calculamos na protoboard para que seja possível a leitura da tensão que desejamos, seja em série e/ou com o divisor de tenção, conectaremos os pinos analógicos A5 e A4 na protoboard para que assim possamos estar lendo. Segue diagrama elétrico do divisor de tensão.
Contudo segue abaixo uma imagem que demonstra a montagem do circuito.
Diagrama Esquemático do Projeto Multímetro
Código-fonte do Projeto Multímetro
Em seguida terá o código completo do projeto.
//Setup ----------------------------------------------------------------------------------------------
void setup() {
Serial.begin(9600); // Inicializa a Serial
pinMode(A5, INPUT); // Configura pino como INPUT
pinMode(A4, INPUT); // Configura pino como INPUT
}
//Loop -----------------------------------------------------------------------------------------------
void loop() {
float vin, tensão, corrente, watts, ohm; // Declara variáveis
tensão = (float)analogRead(A5) *(5.0/1023.0); // Atribui leitura do pino A5
vin = tensão*2; // Atribui tensão vezes 2
ohm = (220*5-tensao*220)/tensão; // Atribui tensão do divisor
corrente = vin/(ohm+220); // Atribui lei de Ohms
watts = vin*corrente; // Atribui o potencial
Serial.println("Pino A5: Fio Branco (0 - 10V) ----------------- "); // Imprime na Serial
Serial.print("Tensão: "); // Imprime na Serial
Serial.print(vin); // Imprime na Serial
Serial.print(" V\nCorrente: "); // Imprime na Serial
Serial.print(corrente*1000); // Imprime na Serial
Serial.print(" mA\nWatts: "); // Imprime na Serial
Serial.print(watts); // Imprime na Serial
Serial.print(" \nOhms: "); // Imprime na Serial
Serial.println(ohm); // Imprime na Serial
Serial.println(); // Imprime na Serial
delay(2000); // Espera 2s
Serial.println("Pino A4: Fio Vermelho (0 - 25V) --------------- "); // Imprime na Serial
tensão = (float)analogRead(A4) *(5/1023.0); // Atribui leitura do pino A5
vin = tensão*5; // Atribui tensão vezes 5
corrente = vin/1100; // Atribui lei de Ohms
watts = vin*corrente; // Atribui o potencial
Serial.print("Tensão: "); // Imprime na Serial
Serial.print(vin); // Imprime na Serial
Serial.print(" V\nCorrente: "); // Imprime na Serial
Serial.print(corrente*1000); // Imprime na Serial
Serial.print(" mA\nWatts: "); // Imprime na Serial
Serial.println(watts); // Imprime na Serial
Serial.println(); // Imprime na Serial
delay(2000); // Espera 2s
}
Vamos dar uma olhada mais de perto no código:
Funções Setup
Começando pela função setup, onde estaremos inicializando o serial e configurando os dois pinos para medição como INPUT sendo eles o A4 e A5.
//Setup ----------------------------------------------------------------------------------------------
void setup() {
Serial.begin(9600); // Inicializa a Serial
pinMode(A5, INPUT); // Configura pino como INPUT
pinMode(A4, INPUT); // Configura pino como INPUT
}
Funções Loop
Agora na função loop, declaramos 5 variáveis sendo elas vin, tensão, corrente, watts e ohm sendo todas do tipo float, em seguida realizaremos os cálculos para obter a tensão, tensão de entrada (vin), resistência(ohm), corrente, e potencia (watts) do pino A5, logo após imprimimos na serial todas as informações e esperamos 2 segundos ou 2000 milissegundos. Em seguida realizamos novamente todos os cálculos, para obter as informações referente ao pino A4.
//Loop --------------------------------------------------------------------------------------------
void loop() {
float vin, tensão, corrente, watts, ohm; // Declara variáveis
tensão = (float)analogRead(A5) *(5.0/1023.0); // Atribui leitura do pino A5
vin = tensão*2; // Atribui tensão vezes 2
ohm = (220*5-tensao*220)/tensão; // Atribui tensão do divisor
corrente = vin/(ohm+220); // Atribui lei de Ohms
watts = vin*corrente; // Atribui o potencial
Serial.println("Pino A5: Fio Branco (0 - 10V) ----------------- "); // Imprime na Serial
Serial.print("Tensão: "); // Imprime na Serial
Serial.print(vin); // Imprime na Serial
Serial.print(" V\nCorrente: "); // Imprime na Serial
Serial.print(corrente*1000); // Imprime na Serial
Serial.print(" mA\nWatts: "); // Imprime na Serial
Serial.print(watts); // Imprime na Serial
Serial.print(" \nOhms: "); // Imprime na Serial
Serial.println(ohm); // Imprime na Serial
Serial.println(); // Imprime na Serial
delay(2000); // Espera 2s
Serial.println("Pino A4: Fio Vermelho (0 - 25V) --------------- "); // Imprime na Serial
tensão = (float)analogRead(A4) *(5/1023.0); // Atribui leitura do pino A5
vin = tensão*5; // Atribui tensão vezes 5
corrente = vin/1100; // Atribui lei de Ohms
watts = vin*corrente; // Atribui o potencial
Serial.print("Tensão: "); // Imprime na Serial
Serial.print(vin); // Imprime na Serial
Serial.print(" V\nCorrente: "); // Imprime na Serial
Serial.print(corrente*1000); // Imprime na Serial
Serial.print(" mA\nWatts: "); // Imprime na Serial
Serial.println(watts); // Imprime na Serial
Serial.println(); // Imprime na Serial
delay(2000); // Espera 2s
}
Assim finalizamos todo o código com a explicação sobre o projeto com Arduíno UNO.
Resultado do Projeto Multímetro
Por fim esse foi o resultado obtido com o projeto.
Agradecemos sua Presença
Por fim, espero que tenham gostado e aprendido. Então compartilhe com seus colegas e deixe um comentário de qual projeto deveria ser o próximo aqui no Blog da WJ Componentes!!
Enfim estarei deixando o arquivo Arduíno e Fritzing, link dos posts anteriores referentes ao projeto e software e sites utilizados.
Fique à vontade para tirar suas dúvidas nos comentários.
Software e Sites Utilizados
Post Relacionados
- Código Morse com Arduíno UNOOlá, como estão? Hoje iremos desenvolver um decodificador de código… Leia mais: Código Morse com Arduíno UNO
- Como Programar pelo Celular o Arduíno!Olá, como estão? A princípio iremos explicar como programar pelo… Leia mais: Como Programar pelo Celular o Arduíno!
- Como Programar por BlocosOlá, como estão? A princípio iremos falar sobre alguns sites… Leia mais: Como Programar por Blocos
- Contador com Botões no Arduíno UNOOlá, como estão? A princípio iremos realizar um contador. Entretanto… Leia mais: Contador com Botões no Arduíno UNO
- Jogo da Forca com Arduíno UNOOlá, como estão? A princípio iremos falar sobre a Serial… Leia mais: Jogo da Forca com Arduíno UNO
Posts mais Recentes
- Programando Relé RF 4331 -Instruções de emparelhamento do modo de alternância Modo de… Leia mais: Programando Relé RF 433
- Acionando motor DC por meio do pino “Touch” do ESP-32Neste projeto, vamos explorar uma aplicação ainda mais dinâmica e… Leia mais: Acionando motor DC por meio do pino “Touch” do ESP-32
- Acendendo led RGB por meio do pino “Touch” do ESP-32No último post, exploramos o fascinante mundo dos pinos touch… Leia mais: Acendendo led RGB por meio do pino “Touch” do ESP-32
- Utilizando os Pinos touch do ESP32Nesse projeto Vamos aprender a usar os pinos touch´s do… Leia mais: Utilizando os Pinos touch do ESP32
- Como Programar e Localizar o Endereço de uma Tela OLED I2C com Arduinoeste guia, vou levá-lo através dos passos para programar uma… Leia mais: Como Programar e Localizar o Endereço de uma Tela OLED I2C com Arduino
Julio Cesar Bonow Manoel
Cursando Engenharia da Computação pelo Centro Universitário Facens e atua no desenvolvimento de projetos na WJ Componentes. Participante da equipe de robótica Omegabotz.
Deixe um comentário