- Komponen yang Dibutuhkan:
- Diagram Sirkuit:
- Arduino Uno:
- LCD 16x2:
- Konsep Kode Warna Resistensi:
- Menghitung Resistansi menggunakan Arduino Ohm Meter:
- Penjelasan kode:
Kami kesulitan membaca kode warna pada resistor untuk mengetahui resistansinya. Untuk mengatasi kesulitan mencari nilai resistansi, kita akan membuat Ohm Meter sederhana menggunakan Arduino. Prinsip dasar di balik proyek ini adalah Jaringan Pembagi Tegangan. Nilai hambatan yang tidak diketahui ditampilkan pada layar LCD 16 * 2. Proyek ini juga berfungsi sebagai tampilan LCD 16 * 2 yang berinteraksi dengan Arduino.
Komponen yang Dibutuhkan:
- Arduino Uno
- Layar LCD 16 * 2
- Potensiometer (1 kilo Ohm)
- Resistor
- Papan tempat memotong roti
- Kabel jumper
Diagram Sirkuit:
Arduino Uno:
Arduino Uno adalah papan mikrokontroler open source berbasis mikrokontroler ATmega328p. Ini memiliki 14 pin digital (di mana 6 pin dapat digunakan sebagai output PWM), 6 input analog, regulator tegangan on board, dll. Arduino Uno memiliki memori flash 32KB, 2KB SRAM dan 1KB EEPROM. Ini beroperasi pada frekuensi clock 16MHz. Arduino Uno mendukung komunikasi Serial, I2C, SPI untuk berkomunikasi dengan perangkat lain. Tabel di bawah ini menunjukkan spesifikasi teknis Arduino Uno.
Mikrokontroler | ATmega328p |
Tegangan operasi | 5V |
Tegangan Input | 7-12V (disarankan) |
Pin I / O digital | 14 |
Pin analog | 6 |
Memori flash | 32 KB |
SRAM | 2 KB |
EEPROM | 1 KB |
Kecepatan jam |
16MHz |
LCD 16x2:
16 * 2 LCD adalah layar yang banyak digunakan untuk aplikasi tertanam. Berikut adalah penjelasan singkat tentang pin dan cara kerja layar LCD 16 * 2. Ada dua register yang sangat penting di dalam LCD. Mereka adalah register data dan register perintah. Register perintah digunakan untuk mengirim perintah seperti clear display, cursor di home dll, register data digunakan untuk mengirim data yang akan ditampilkan pada LCD 16 * 2. Tabel di bawah ini menunjukkan deskripsi pin 16 * 2 lcd.
Pin |
Simbol |
I / O |
Deskripsi |
1 |
Vss |
- |
Tanah |
2 |
Vdd |
- |
+ Catu daya 5V |
3 |
Vee |
- |
Catu daya untuk mengontrol kontras |
4 |
RS |
saya |
RS = 0 untuk register perintah, RS = 1 untuk register data |
5 |
RW |
saya |
R / W = 0 untuk menulis, R / W = 1 untuk membaca |
6 |
E |
I / O |
Memungkinkan |
7 |
D0 |
I / O |
Bus data 8-bit (LSB) |
8 |
D1 |
I / O |
Bus data 8-bit |
9 |
D2 |
I / O |
Bus data 8-bit |
10 |
D3 |
I / O |
Bus data 8-bit |
11 |
D4 |
I / O |
Bus data 8-bit |
12 |
D5 |
I / O |
Bus data 8-bit |
13 |
D6 |
I / O |
Bus data 8-bit |
14 |
D7 |
I / O |
Bus data 8-bit (MSB) |
15 |
SEBUAH |
- |
+ 5V untuk lampu latar |
16 |
K |
- |
Tanah |
Konsep Kode Warna Resistensi:
Untuk mengetahui nilai resistansi kita dapat menggunakan rumus di bawah ini.
R = {(AB * 10 c) Ω ± T%}
Dimana
A = Nilai warna pada pita pertama.
B = Nilai warna pada pita kedua.
C = Nilai warna pada pita ketiga.
T = Nilai warna pada pita keempat.
Tabel di bawah ini menunjukkan kode warna resistor.
Warna |
Nilai numerik warna |
Faktor perkalian (10 c) |
Nilai toleransi (T) |
Hitam |
0 |
10 0 |
- |
cokelat |
1 |
10 1 |
± 1% |
Merah |
2 |
10 2 |
± 2% |
jeruk |
3 |
10 3 |
- |
Kuning |
4 |
10 4 |
- |
hijau |
5 |
10 5 |
- |
Biru |
6 |
10 6 |
- |
Ungu |
7 |
10 7 |
- |
Abu-abu |
8 |
10 8 |
- |
putih |
9 |
10 9 |
- |
Emas |
- |
10 -1 |
± 5% |
Perak |
- |
10 -2 |
± 10% |
Tidak ada band |
- |
- |
± 20% |
Misalnya, jika kode warna adalah Coklat - Hijau - Merah - Perak, nilai resistansi dihitung sebagai, Coklat = 1 Hijau = 5 Merah = 2 Perak = ± 10%
Dari tiga pita pertama, R = AB * 10 c
R = 15 * 10 +2 R = 1500 Ω
Pita keempat menunjukkan toleransi ± 10%
10% dari 1500 = 150 Untuk + 10 persen, nilainya 1500 + 150 = 1650Ω Untuk - 10 persen, nilainya adalah 1500 -150 = 1350Ω
Oleh karena itu, nilai resistansi sebenarnya dapat berkisar antara 1350Ω hingga 1650Ω.
Untuk membuatnya lebih nyaman di sini adalah Kalkulator Kode Warna Resistensi di mana Anda hanya perlu memasukkan warna cincin pada resistor dan Anda akan mendapatkan nilai resistansi.
Menghitung Resistansi menggunakan Arduino Ohm Meter:
Cara kerja Pengukur Resistensi ini sangat sederhana dan dapat dijelaskan menggunakan jaringan pembagi tegangan sederhana yang ditunjukkan di bawah ini.
Dari jaringan pembagi tegangan resistor R1 dan R2, Vout = Vin * R2 / (R1 + R2)
Dari persamaan di atas, kita dapat menyimpulkan nilai R2 sebagai
R2 = Vout * R1 / (Vin - Vout)
Dimana R1 = resistansi yang diketahui
R2 = Resistensi tidak diketahui
Vin = tegangan yang dihasilkan pada pin 5V Arduino
Vout = tegangan pada R2 terhadap ground.
Catatan: nilai resistansi yang diketahui (R1) yang dipilih adalah 3.3KΩ, tetapi pengguna harus menggantinya dengan nilai resistansi resistor yang mereka pilih.
Jadi jika kita mendapatkan nilai tegangan pada resistansi yang tidak diketahui (Vout), kita dapat dengan mudah menghitung resistansi R2 yang tidak diketahui. Di sini kita telah membaca nilai tegangan Vout menggunakan pin analog A0 (lihat diagram rangkaian) dan mengubah nilai-nilai digital tersebut (0 -1023) menjadi tegangan seperti yang dijelaskan dalam Kode di bawah ini.
Jika nilai Resistensi yang diketahui jauh lebih besar atau lebih kecil dari pada resistansi yang tidak diketahui kesalahannya akan lebih besar. Jadi disarankan untuk menjaga nilai resistansi yang diketahui lebih dekat ke resisten yang tidak diketahui.
Penjelasan kode:
Program Arduino lengkap dan Video Demo untuk proyek ini diberikan di akhir proyek ini. Kode tersebut dibagi menjadi beberapa bagian kecil yang berarti dan dijelaskan di bawah ini.
Di bagian kode ini, kita akan menentukan pin tempat layar LCD 16 * 2 terhubung ke Arduino. Pin RS dari LCD 16 * 2 dihubungkan ke pin 2 digital Arduino. Aktifkan pin 16 * 2 lcd terhubung ke pin digital 3 dari Arduino. Pin data (D4-D7) dari 16 * 2 lcd terhubung ke pin digital 4,5,6,7 dari Arduino.
LCD LiquidCrystal (2,3,4,5,6,7); // rs, e, d4, d5, d6, d7
Di bagian kode ini, kami mendefinisikan beberapa variabel yang digunakan dalam program. Vin adalah tegangan yang diberikan oleh pin 5V arduino. Vout adalah tegangan pada resistor R2 terhadap ground.
R1 adalah nilai resistansi yang diketahui. R2 adalah nilai resistansi yang tidak diketahui.
int Vin = 5; // tegangan pada pin 5V dari arduino float Vout = 0; // tegangan pada pin A0 arduino float R1 = 3300; // nilai resistansi yang diketahui float R2 = 0; // nilai resistensi yang tidak diketahui
Di bagian kode ini, kita akan menginisialisasi layar lcd 16 * 2. Perintah diberikan ke layar lcd 16 * 2 untuk pengaturan yang berbeda seperti layar jelas, tampilan pada kursor berkedip dll.
lcd.begin (16,2);
Di bagian kode ini, tegangan analog pada resistor R2 (pin A0) diubah menjadi nilai digital (0 hingga 1023) dan disimpan dalam variabel.
a2d_data = analogRead (A0);
Di bagian kode ini, nilai digital (0 hingga 1023) diubah menjadi tegangan untuk perhitungan lebih lanjut.
buffer = a2d_data * Vin; Vout = (buffer) /1024.0;
The Arduino Uno ADC adalah resolusi 10-bit (sehingga nilai integer 0-2 ^ 10 = 1024 nilai). Artinya akan memetakan tegangan input antara 0 dan 5 volt menjadi nilai integer antara 0 dan 1023. Jadi jika kita mengalikan input anlogValue menjadi (5/1024), maka kita mendapatkan nilai digital dari tegangan input. Pelajari di sini cara menggunakan input ADC di Arduino.
Di bagian kode ini, nilai sebenarnya dari resistansi yang tidak diketahui dihitung menggunakan prosedur seperti yang dijelaskan di atas.
buffer = Vout / (Vin-Vout); R2 = R1 * penyangga;
Di bagian kode ini, nilai resistansi yang tidak diketahui dicetak pada layar lcd 16 * 2.
lcd.setCursor (4,0); lcd.print ("ohm meter"); lcd.setCursor (0,1); lcd.print ("R (ohm) ="); lcd.print (R2);
Ini kita dapat dengan mudah menghitung resistansi dari resistor yang tidak diketahui menggunakan Arduino. Periksa juga:
- Pengukur Frekuensi Arduino
- Pengukur Kapasitansi Arduino