Arduino adalah mikrokontroler serbaguna yang mampu mengukur tegangan menggunakan konverter analog-ke-digital bawaan (ADC). Kemampuan ini sangat penting untuk aplikasi seperti memantau level baterai, merasakan sinyal input, dan mengukur output sensor. Tutorial ini akan memandu Anda melalui proses pengukuran tegangan dengan Arduino.
Apa yang Anda Butuhkan
- Dewan Arduino (mis., uno, mega, nano)
- Pembagi tegangan (Jika mengukur tegangan lebih tinggi dari 5V)
- Papan tempat memotong papan dan kabel jumper
- Sumber tegangan untuk diukur (mis., Baterai, sensor, atau catu daya yang dapat disesuaikan)
- Komputer dengan IDE Arduino diinstal
Langkah 1: Memahami Pengukuran Tegangan di Arduino
ADC Arduino mengonversi tegangan analog (0V ke 5V di sebagian besar papan) menjadi nilai digital 10-bit. Ini berarti ADC memberikan nilai antara 0 dan 1023, di mana 0 sesuai dengan 0V dan 1023 sesuai dengan 5V (atau tegangan referensi).
Formula kunci
Untuk menghitung tegangan input:
Voltage = (ADC_Value / 1023.0) * Reference_Voltage
Catatan: Untuk sebagian besar papan Arduino, tegangan referensi default adalah 5V. Jika menggunakan varian 3.3V, sesuaikan rumus yang sesuai.
Langkah 2: Pengukuran Tegangan Langsung
Untuk tegangan hingga 5V, Anda dapat menghubungkan sumber tegangan langsung ke pin analog.
Kabel
Komponen | Pin Arduino |
---|---|
Sumber Tegangan (+) | A0 |
Sumber tegangan (-) | Gnd |
Kode contoh
#define analogPin A0
void setup() {
Serial.begin(9600);
}
void loop() {
int adcValue = analogRead(analogPin); // Read ADC value
float voltage = (adcValue / 1023.0) * 5.0; // Convert to voltage
Serial.print("Voltage: ");
Serial.print(voltage, 2); // Print voltage with 2 decimal places
Serial.println(" V");
delay(1000); // Update every second
}
Langkah 3: Mengukur tegangan yang lebih tinggi dengan pembagi tegangan
Untuk mengukur tegangan lebih tinggi dari 5V, gunakan a pembagi tegangan untuk menurunkan tegangan input.
Formula pembagi tegangan
Pembagi tegangan berskala tegangan input menggunakan dua resistor:
Vout = Vin * (R2 / (R1 + R2))
Misalnya, untuk mengukur hingga 12V:
- R1 = 10k ohm
- R2 = 10k ohm
- Faktor penskalaan = 0,5 (Vout = Vin / 2)
Kabel
Komponen | Koneksi |
---|---|
Sumber Tegangan (+) | Input Voltage Divider R1 |
Tegangan Divider R1/R2 Persimpangan | Arduino A0 |
Sumber tegangan (-) | Gnd |
Kode contoh
#define analogPin A0
const float R1 = 10000.0; // Resistor R1 value in ohms
const float R2 = 10000.0; // Resistor R2 value in ohms
void setup() {
Serial.begin(9600);
}
void loop() {
int adcValue = analogRead(analogPin); // Read ADC value
float voltage = (adcValue / 1023.0) * 5.0; // Voltage at A0
// Scale up to actual input voltage
float inputVoltage = voltage * ((R1 + R2) / R2);
Serial.print("Input Voltage: ");
Serial.print(inputVoltage, 2); // Print with 2 decimal places
Serial.println(" V");
delay(1000); // Update every second
}
Langkah 4: Menggunakan tegangan referensi eksternal
Untuk pengukuran yang lebih akurat, Anda dapat menggunakan tegangan referensi eksternal dengan menghubungkannya ke pin AREF.
Langkah untuk mengatur referensi eksternal
- Hubungkan tegangan referensi yang stabil (mis., 3.3V) ke pin AREF.
- Dalam kode, atur tegangan referensi:
analogReference(EXTERNAL);
- Sesuaikan perhitungan dalam kode untuk tegangan referensi baru.
Langkah 5: Praktik terbaik untuk pengukuran yang akurat
- Hindari kebisingan: Gunakan kabel pendek dan grounding yang tepat untuk mengurangi kebisingan listrik.
- Kalibrasi pengaturan Anda: Verifikasi bacaan dengan multimeter untuk memastikan akurasi.
- Lindungi Arduino: Gunakan resistor atau dioda untuk melindungi pin input analog dari tegangan berlebih.
- Sinyal filter berisik: Tambahkan kapasitor di seluruh input untuk menghaluskan fluktuasi tegangan.
Aplikasi pengukuran tegangan
- Memantau level baterai
- Mengacu sinyal analog dari sensor
- Mengukur tegangan catu daya
- Proyek multimeter DIY
Pemecahan masalah
-
Bacaan yang salah:
- Verifikasi kabel dan pastikan nilai resistor yang benar untuk pembagi tegangan.
- Periksa tegangan referensi dalam perhitungan.
-
Nilai berfluktuasi:
- Tambahkan kapasitor (10μF atau 100μF) melintasi input.
-
Perlindungan tegangan berlebih:
- Pastikan tegangan input tidak melebihi batas yang dihitung pembagi tegangan.
Kesimpulan
Mengukur tegangan dengan Arduino mudah dan sangat berguna untuk banyak proyek elektronik. Apakah Anda memantau level baterai atau berinteraksi dengan sensor, memahami pengukuran tegangan membuka berbagai kemungkinan. Eksperimen dengan pengaturan yang berbeda dan mengintegrasikan pengukuran tegangan ke dalam proyek Anda!