Projeto
Capacímetro usando Arduíno
Componentes Necessários
1. Arduino Uno ou equivalente.
2. Resistor de 1 MΩ (1 unidade).
3. Capacitor de teste (o capacitor cuja capacitância será medida).
4. Protoboard e jumpers para conexões.
5. Display LCD 16x2 (opcional, para exibir a capacitância).
6. Potenciômetro de 10 kΩ (opcional, se usar o display LCD).
7. Cabo USB para programação do Arduino.
8. Fonte de alimentação (se não usar o cabo USB).
Funcionamento do Circuito
O projeto utiliza a constante de tempo de um circuito RC para calcular a
capacitância. A constante de tempo (τ\tau) é dada por:
τ=R⋅C\tau = R \cdot C
O Arduino mede o tempo necessário para o capacitor carregar até 63,2% da
tensão de entrada e, com o valor do resistor conhecido, calcula a
capacitância.
Esquema de Ligação
1. Conecte um lado do resistor de 1 MΩ ao pino digital 7 do Arduino.
2. O outro lado do resistor vai ao pino positivo do capacitor de teste.
3. O pino negativo do capacitor vai ao GND do Arduino.
4. O pino digital 8 do Arduino também se conecta ao pino positivo do
capacitor.
5. (Opcional) Conecte o display LCD ao Arduino conforme a biblioteca
LiquidCrystal.
Código Arduino
// Inclua a biblioteca para o LCD (opcional)
#include <LiquidCrystal.h>
// Configuração do LCD (se estiver usando)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Pinos do Arduino para o LCD
// Pinos do circuito RC
const int chargePin = 7; // Pino para carregar o capacitor
const int readPin = 8; // Pino para medir a tensão
const long resistorValue = 1000000; // Valor do resistor em ohms (1 MΩ)
void setup() {
Serial.begin(9600);
pinMode(chargePin, OUTPUT);
pinMode(readPin, INPUT);
// Configuração do LCD (opcional)
lcd.begin(16, 2);
lcd.print("Capacitance:");
}
void loop() {
// Carrega o capacitor
digitalWrite(chargePin, HIGH);
delay(1); // Tempo de carga inicial (ajustável)
// Mede o tempo de descarga
unsigned long startTime = micros();
while (analogRead(readPin) < 647) { // 63.2% de 1023 (ADC)
// Aguarda
}
unsigned long elapsedTime = micros() - startTime;
// Calcula a capacitância
float capacitance = (float)elapsedTime / resistorValue; // Em farads
// Converte para microfarads
capacitance *= 1000000;
// Exibe no Serial Monitor
Serial.print("Capacitance: ");
Serial.print(capacitance);
Serial.println(" uF");
// Exibe no LCD (opcional)
lcd.setCursor(0, 1);
lcd.print(capacitance);
lcd.print(" uF ");
// Aguarda antes de repetir
delay(1000);
}
Montagem
1. Conecte os componentes conforme o esquema descrito.
2. Faça o upload do código no Arduino.
3. No Serial Monitor ou no LCD, observe o valor da capacitância do
capacitor conectado.
Considerações
Para capacitores de valores muito pequenos ou muito grandes, ajuste
o resistor ou o tempo de leitura no código.
Para maior precisão, use resistores de tolerância menor (1% ou
0.1%).