Jika Anda baru mengenal Arduino, Anda dapat memulai Tutorial Arduino untuk pemula.
Cara kerjanya
Kita dapat menggunakan pin input analog Arduino untuk mengukur tegangan. Namun, tegangan terukur maksimum adalah 5V.
Untuk meningkatkan tegangan terukur, kita perlu menggunakan pembagi tegangan
Dalam Teori
Kami memiliki:
V_measure =(R1 + R2) / R2 * V_in
rasio =(R1 + R2) / R2
=> V_measure =rasio * V_in
Jika kita memilih R1 =10 * R2, kita memiliki:
V_measure =11 * V_in
Karena V_in maksimum yang diizinkan adalah 5V => Tegangan maksimum yang dapat diukur adalah 55V
Untuk membatasi arus yang mengalir melalui pin Arduino, yang dapat menyebabkan kerusakan pada Arduino, kita perlu memilih nilai resistor sebesar mungkin.
Saya memilih R1 =1 Mohm, R2 =100Kohm
Dalam Praktek
Di sana ada beberapa masalah dalam praktik
Nilai R1 dan R2 memiliki kesalahan. Kesalahan menyebabkan kesalahan V_measure
Sumber daya Arduino mungkin tidak stabil. Itu membuat V_REF input analog tidak stabil. Oleh karena itu, menyebabkan kesalahan dalam perhitungan V_in. => menyebabkan kesalahan dalam perhitungan V_measure
Masalah ini diselesaikan pada bagian Kalibrasi
Kalibrasi
1. Ukur nilai sebenarnya dari (R1 + R2) / R2
Ini perlu dilakukan hanya satu kali untuk mendapatkan rasio
Pengkabelan sebagai sirkuit "pengkabelan kalibrasi resistor"
Unggah ResistorCalibration.ino
Buka Plotter Serial
Salin nilai rasio
Ganti nilai ini pada baris 5 Voltmeter.ino
Pengkabelan ulang sebagai "kabel utama"
Unggah Voltmeter.ino
Unggah Antarmuka Pengguna Web (voltmeter.php dan voltmeter_body.jpg ) ke PHPoC Shield
Akses halaman Web http://phpoc_shield_ip_address/voltmeter.php untuk melihat voltase.
Anda dapat melihat tegangan pada ponsel pintar sebagai berikut:
Kiat Pengkabelan:
Kit Pemula Arduino Terbaik untuk Pemula
Lihat Kit Arduino Terbaik untuk Pemula
Kode
ResistorCalibration.ino
Voltmeter.ino
voltmeter.php
ResistorCalibration.inoArduino
- Pengkabelan seperti yang dijelaskan di bagian Kalibrasi - Jalankan kode ini sekali saja - Buka Serial Plotter - Salin nilai rasio - Ganti nilai ini pada baris 5 dari Voltmeter.ino
rasio ganda;int analogReadAverage(int pin, int read_time){ unsigned long read_value =0; // membaca analog dalam nilai read_time times:for(int i =0; i
Voltmeter.inoArduino
Ini adalah kode utama. Sebelum mengupload kode ini, kita perlu: - unggah ResistorCalibration.ino - buka Serial Monitor - salin nilai rasio dan ganti nilai pada baris 5 kode ini