Pemrograman Elektronik dan IoT

Cara Membaca Nilai Resistor Kapur atau Keramik.

Resistor kapur atau keramik yaitu resistor secara fisik biasanya berbentuk kotak dan berwarna putih. Resistor ini bagian resistifnya adalah berupa inti dengan lilitan menyerupai induktor berwarna putih, dan di lapisi dengan bahan keramik berwarna putih seperti kapur, oleh karena itu resistor ini biasa di sebut dengan resistor kapur.

Gambar 1 : Resistor kapur

Baca JugaPengertian dan Jenis Resistor

Untuk menentukan nilai hambatan dari resistor ini paling mudah adalah dengan di ukur langsung dengan ohmmeter. Akan tetapi ada cara lain yaitu dengan cara membaca kode yang tertulis di badan resistor ini. Resistor kapur ditandai dengan kode angka dan huruf. Dari kode tersebut biasanya bisa menentukan 3 karakter nilai dari resistor tersebut. Yaitu nilai daya, nilai hambatan, dan toleransi nilai hambatan.

Gambar 2 : Kode nilai resistor kapur

Secara umum kode angka dan huruf pada resistor kapur di bagi menjadi 3 yaitu :

1. Kombinasi angka dan huruf pertama menunjukkan nilai daya resistor tersebut. Seringnya berupa angka dan diikuti dengan huruf W. Contohnya 5W, 10W, atau 20W ( Perhatikan gambar 2 di atas )
5W menunjukan bahwa resistor memiliki rating daya sebesar 5 Watt
10W menunjukan bahwa resistor memiliki rating daya sebesar 10 Watt.
20W menunjukan bahwa resistor memiliki rating daya sebesar 20 Watt.

2. Kombinasi angka dan huruf kedua adalah kode nilai hambatan. Seperti gambar 2 di atas bagian kode kedua memiliki kode 0Ω5, 33Ω, dan 22R. ini berarti :

0Ω5 = 0,5 Ohm
33Ω = 33 Ohm
22R = 22 Ohm

Beberapa aturan yang harus di ikuti adalah :

  • Ω atau R artinya 1 x Ohm
  • K artinya 1000 x Ohm. Misalkan ada nilai 2K = 2000 Ohm
  • M artinya 1000000 x Ohm. Misalkan ada nilai 1M = 1000000 Ohm
  • Jika posisi huruf di tengah berarti selain sebagai kode nilai, huruf ini juga berfungsi sebagai koma. Misalkan 0K5 nilainya adalah 0,5 x 1000 = 500 Ohm
3. Huruf terakhir menunjukan nilai toleransi, dengan ketentuan sebagai berikut :

  • J artinya toleransi ± 5 %
  • K artinya toleransi ± 10 %
  • M artinya toleransi ± 20 %

Baca Juga : 1. Cara Membaca Nilai Kode Warna Resistor

                    2. Cara Menentukan Nilai Resistor SMD (surface mount devices)

Beberapa contoh kode nilai resistor kapur dan cara membacanya:
  • 5W68ΩJ = Bernilai 5 Watt dan 68 Ohm dengan toleransi hambatan 5%
  • 5W0Ω5J = Bernilai 5 Watt dan 0,5 Ohm dengan toleransi hambatan 5%
  • 10W33ΩJ = Bernilai 10 Watt dan 33 Ohm dengan toleransi hambatan 5%
  • 5W22RJ = Bernilai 5 Watt dan 22 Ohm dengan toleransi hambatan 5%
  • 5W5R6J = Bernilai 5 Watt dan 5,6 Ohm dengan toleransi hambatan 5%
  • 5W6.8ΩK = Bernilai 5 Watt dan 6,8 Ohm dengan toleransi hambatan 10%
Share:

Cara Menentukan Nilai Resistor SMD (surface mount devices)

Resistor SMD (Surface Mount Devices) adalah resistor yang di pasang langsung pada permukaan PCB / Papan rangkaian. Resistor SMD terlalu kecil untuk di tandai nilainya dengan kode warna. Oleh karena itu biasanya nilai resistansinya di tentukan dengan 3 cara yaitu: Menggunakan kode 3 digit, Menggunakan kode 4 digit, dan menggunakan sistem Electronic Industries Alliance (EIA) atau disebut EIA-96.

Baca Juga : Cara Membaca Nilai Kode Warna Resistor


1. Cara Membaca Nilai Resistor SMD dengan Kode 3 Digit

Untuk resistor SMD dengan kode 3 digit , Jika semua digit berupa angka maka angka pertama dan kedua menyatakan nilai hambatan atau resistansi. Untuk angka ketiga adalah nilai pengali (10n), atau jumlah nol yang ditambahkan di belakang nilai angka pertama dan kedua. Dan jika dari 3 digit terdapat satu huruf (biasanya huruf R) dan dua angka, maka letak digit huruf sebagai koma. 

Untuk resistor SMD dengan kode 3 digit ini memiliki toleransi nilai hambatan sebesar 5 %.

Gambar 1 : Resistor dengan kode 3 digit

Sebagai contoh perhatikan gambar diatas, Nilai resistor SMD pada gambar di atas adalah :

472 = 47 X 102 = 4700 Ω = 4,7 kΩ dengan toleransi 5 %
4R2 = 4,2 Ω dengan toleransi 5 %
240 = 24 X 100 = 24 Ω dengan toleransi 5 %
273 = 27 X 103 = 27000 Ω = 27 kΩ dengan toleransi 5 %
152 = 15 X 102 = 1500 Ω = 1,5 kΩ dengan toleransi 5 %
R22 = 0,22 Ω dengan toleransi 5 %

2. Cara Membaca Nilai Resistor SMD dengan Kode 4 Digit

Untuk menentukan nilai resistor SMD dengan kode 4 digit , caranya hampir sama dengan 3 digit. Yaitu jika semua digit berupa angka maka angka pertama, kedua, dan ketiga menyatakan nilai hambatan atau resistansi. Untuk angka keempat adalah nilai pengali (10n), atau jumlah nol yang ditambahkan di belakang nilai angka pertama, kedua, dan ketiga. Dan jika dari 4 digit terdapat satu huruf (biasanya huruf R) dan tiga angka, maka letak digit huruf itu adalah sebagai tanda koma.

Untuk resistor SMD dengan kode 4 digit ini memiliki toleransi nilai hambatan sebesar 1 %.

Perhatikan gambar dibawah ini.

Gambar 2 : Resistor SMD 4 digit

Sebagai contoh nilai resistansi resistor SMD pada gambar 2 diatas adalah :

47R2 = 47,2 Ω dengan toleransi 1 %
1051 = 105 X 101 = 1050 Ω = 1,05 kΩ dengan toleransi 1 %
4803 = 480 X 103 = 480000 Ω = 480 kΩ dengan toleransi 1 %
8202 = 820 X 102 = 82000 Ω = 82 kΩ dengan toleransi 1 %
0R22 = 0,22 Ω dengan toleransi 1 %
1002 = 100 X 102 = 10000 Ω = 10 kΩ dengan toleransi 1 %

3. Cara Membaca Nilai Resistor SMD dengan Sistem EIA-96

Resistor SMD dengan kode EIA-96 menggunakan kode 3 digit, dengan aturan sebagai berikut :

Dua digit pertama adalah kode nilai resistansi, yang nilainya harus dicek dan di sesuaikan dengan tabel kode dibawah ini :

Tabel 1 : Kode nilai sistem EIA-96

Kemudian digit ketiga adalah huruf sebagai kode pengali, yang akan dikalikan dengan nilai yang didapatkan dari 2 digit pertama. Adapun nilai kode pengali harus di cek dari tabel di bawah ini :

Tabel 2 : Kode nilai pengali sistem EIA-96

Untuk resistor SMD dengan sistem kode EIA-96 memiliki toleransi nilai hambatan sebesar 1 %.

Contoh :

76X = 604 X 0,1 = 60,4 Ω dengan toleransi 1 %
18C = 150 X 100 = 15 kΩ dengan toleransi 1 %
01Y = 100 X 0,01 = 1 Ω dengan toleransi 1 %
29B = 196 X 10 = 1,96 kΩ dengan toleransi 1 %
01C = 100 X 100 = 10 kΩ dengan toleransi 1 %
34A = 221 X 1 = 221 Ω dengan toleransi 1 %


4. Resistor SMD dengan nilai 0 Ω

Resistor SMD dengan tanda 0, 00, 000 atau 0000 adalah resistor dengan nilai 0 Ω. Resistor ini biasanya digunakan sebagai jumper.

Gambar 3 : Resistor SMD dengan nilai 0 ohm

ARTIKEL TERKAIT :

Pengertian dan Jenis Resistor

Cara Membaca Nilai Kode Warna Resistor

Share:

Arduino PWM dan Cara Mengubah Frekuensi nya

PWM adalah singkatan dari Pulse Width Modulation. Karena kita akan belajar PWM di arduino maka saya akan mengutip pengertian PWM dari situs arduino.cc. Di bagian dokumentasinya tentang Basics of PWM (Pulse Width Modulation) disebutkan bahwa PWM adalah teknik untuk mendapatkan hasil analog dengan cara digital. Disini yang di maksud analog adalah tegangan analog yang nilainya antara 0 volt sampai 5 volt. Sedangkan yang dimaksud digital adalah sinyal digital pada arduino yaitu 0 volt mewaliki sinyal 0 atau LOW, lalu 5 volt mewakili sinyal 1 atau HIGH. Jadi teknik untuk mendapatkan hasil analog dengan cara digital bisa diartikan sebagai teknik untuk mendapatkan tegangan analog (0 sampai 5 volt) dengan cara memainkan sinyal digital yaitu dengan membuat sinyal HIGH dan LOW secara bergantian terus menerus dengan frekuensi tetap. Umumnya pada Arduino kita sering menggunakan PWM untuk mengatur kecerahan sebuah LED, kecepatan sebuah Motor, menjalankan motor servo, dll.

Untuk memahami PWM dengan mudah kita bisa menggunakan program blink (blinking LED) yang biasa kita gunakan ketika pertama kali belajar arduino. Berikut sketch program blink yang biasanya ada di example arduino IDE, bisa kalian buka melalui File -> Examples -> 01. Basic -> Blink :

void setup() {
    // initialize digital pin LED_BUILTIN as an output.
    pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
   digitalWrite(LED_BUILTIN, HIGH);  // turn the LED on (HIGH is the voltage level)
   delay(1000); // wait for a second
    digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
    delay(1000);// wait for a second
}

Perhatikan program blink di atas, LED_BUILTIN (pin 13) diberi sinyal HIGH dan LOW secara bergantian dengan jeda waktu masing-masing 1 detik, sehingga hasilnya nanti LED yang tersambung pada pin 13 akan nyala selama 1 detik kemudian mati selama 1 detik, begitu seterusnya selama arduino masih dinyalakan. Program blinking LED ini sebenarnya bekerja seperti sinyal PWM akan tetapi karena jeda waktunya (periode) yang relatif lama sehingga belum bisa menghasilkan tegangan analog, tetapi hanya menghasilkan tengan HIGH (5 volt) dan tegangan LOW(0 volt) secara bergantian pada output arduino. Dengan memperkecil periode atau jeda waktu akan menyebabkan pergantian output HIGH dan output LOW yang sangat cepat sehingga didapat tegangan ouput analog. 

Gambar 1 : Sinyal PWM

Sinyal PWM diperlihatkan seperti gambar 1 di atas yaitu berupa gelombang kotak (square wave). Karena gelombang maka PWM memiliki periode dan frekuensi. Periode adalah waktu yang dibutuhkan untuk menghasilkan 1 pulsa. Sedangkan frekuensi adalah banyaknya pulsa yang dihasilkan dalam 1 detik. Yang di maksud 1 pulsa adalah jumlah dari 1 pulsa HIGH dan 1 pulsa LOW (perhatikan gambar 1 diatas). Secara matematis hubungan antara periode dan frekuensi bisa di tuliskan :

T = 1 / f    atau  f = 1 / T

T = periode (satuan detik)

f = frekuensi (satuan Hz)

Selain itu sinyal PWM juga memiliki besaran yang di sebut dengan duty cycle. Duty cycle adalah rasio dari 1 pulsa HIGH dengan 1 pulsa. Secara matematis dapat di tulis :

Duty cycle = 1 pulsa HIGH / 1 pulsa      atau   % Duty cycle = (1 pulsa HIGH / 1 pulsa) x 100

dengan 1 pulsa = 1 pulsa HIGH + 1 pulsa LOW

Agar lebih paham tentang duty cycle perhatikan gambar 2 di bawah ini :

Gambar 2 : Gambar ilustrasi Duty cycle signal PWW

Duty cycle inilah yang akan menghasilkan variasi tegangan analog output. Jika duty cycle nya 100 % maka akan di dapat tengangan ouput sama seperti sinyal HIGH (5 volt). Jika duty cycle nya 50 % akan di dapat tegangan output 1/2 x 5 volt = 2.5 volt. Jadi secara matematis tegangan analog output dapat di tulis :

Tegangan analog output = Duty cycle X sinyal HIGH

Bisakah kamu menghitung berapa tegangan output yang di hasilkan jika duty cycle nya 25 % dan tegangan HIGH nya 5 V ? 

Jika program blinking LED diatas diaggap mengeluarkan sinyal PWM maka dapat di ambil hasil periode nya adalah 2 detik. Sedangkan frekuensinya adalah 0.5 Hz. Dan duty cycle nya adalah 50 %. Akan tetapi sayangnya frekuensi 0.5 Hz ini belum cukup untuk menghasilkan tegangan analog ouput. Lalu bagaimana caranya agar bisa menghasilkan analog output dengan sinyal PWM. berikut adalah beberapa cara untuk membuat sinyal PWM di arduino :

1. Membuat Sinyal PWM dengan memodifikasi program Blinking LED

Dengan memodifikasi program Blinking LED diatas kita bisa membuat sinyal PWM di pin manapun di arduino. Berikut contoh modifikasi program nya :

int periode = 1000; //nilai mewakili periode dengan satuan us
int dutyCycle = 5; //persentase (nilainya 0-100)
int delayHigh;
int delayLow;

void setup() {
  pinMode(LED_BUILTIN, OUTPUT); // pin 13
}

void loop() {
  delayHigh = (dutyCycle / 100.00) * periode;
  delayLow = periode - delayHigh;
  digitalWrite(LED_BUILTIN, HIGH);  
  delayMicroseconds(delayHigh);                  
  digitalWrite(LED_BUILTIN, LOW);  
  delayMicroseconds(delayLow);        
}

delay() di ganti dengan delayMicroseconds sehingga bisa menghasilkan frekuensi lebih tinggi. Pada program di atas akan di hasilkan sinyal PWM di pin 13 dengan dengan periode 1000 us atau frekuensi 1 kHz dan Duty Cycle 50 %. Untuk mengatur Periodenya silahkan ubah variabel periode (nilai ini mewakili periode PWM dalam satuan us). Sedangkan untuk mengatur Duty Cycle silahkan atur nilai variabel dutyCycle dengan nilai antar 0 sampai 100. 0 mewakili Duty Cycle 0 % dan 100 mewakili 100 %.

2. Membuat Sinyal PWM dengan analogWrite()

Memakai fungsi analogWrite() adalah cara yang paling umum yang biasa digunakan untuk mendapatkan sinyal PWM dari output arduino. fungsi ini tidak bisa di gunakan di semua pin pada arduino. Hanya pin PWM yang bisa kita gunakan, biasannya ada tanda tilde (~) pada pin tersebut. Selain itu kekurangannya adalah kita tidak bisa mengatur frekuensi sinyal PWM nya. 

Pada arduino Uno, Nano, mini atau Lillypad (yang menggunakan ATmega 8, 168, 328) memiliki 6 pin yang dapat digunakan sebagai pin PWM, pin 5,6,9,10,11,dan 3 menghasilkan PWM dengan frekuensi yang berbeda. pin PWM ini menggunakan fasilitas timer yang ada pada chip ATmega di arduino yaitu : 

pin 5 dan 6 menggunakan Timer 0 dengan frekuensi default 980 Hz

pin 9 dan 10 menggunakan Timer 1 dengan frekuensi default 490 Hz

pin 3 dan 11 menggunakan Timer 2 dengan frekuensi default 490 Hz

Timer merupakan fasilitas yang ada di chip ATmega yang salah satu fungsinya dapat digunakan sebagai pewaktu atau cacahan suatu event. Mikrokontroler ATmega 8, 168, 328 memiliki 3 buah timer yaitu Timer0, Timer1 dan Timer2. Timer0 dan Timer2 memiliki kapasitas 8-bit sedangkan Timer1 memiliki kapasitas 16-bit. Apa yang dimaksud timer 8 bit dan 16 bit?.Timer 8-bit adalah pewaktu yang bisa mencacah atau menghitung hingga maksimal nilai0xFF heksa (dalam biner = 11111111).Sedangkan Timer 16-bit sama seperti timer 8-bit, hanya saja nilai maksimalnya mencapai 0xFFFF.

Fungsi analogWrite() menggunakan sintak:

analogWrite (pin, value)

pin =  pin PWM arduino yang di gunakan. (Menggunakan type data int)

value = nilai duty cyclenya 0 untuk 0 % dan 255 untuk duty cycle 100% (Menggunakan type data int)

Selanjutkan kita akan mencoba fungsi analogWrite() dengan simulasi proteus untuk menguji pada pin 3 mewakili pin dengan frekuensi 490 Hz dan pin 5 mewakili pin dengan output frekuensi 980 Hz. Kemudian kita cek hasilnya dengan virtual osiloskop pada proteus apa benar pin pin tersebut menghasilkan frekuensi yang sesuai.

Pada gambar diatas, pin 3 terhubung dengan channel A virtual osiloskop (sinyal warna kuning). Dan pin 5 terhubung dengan channel  virtual osiloskop (sinyal warna biru). Lalu kita upload program di bawah ini ke arduino nano di proteus.

void setup() {
}

void loop() {
  analogWrite(3, 127); //PWM pada pin 3 f= 490 Hz dan duty cycle 50 %
  analogWrite(5, 127); //PWM pada pin 5 f= 980 Hz dan duty cycle 50 %
}

Hasil simulasi diproteus :


Dari gambar di atas warna kuning adalah sinyal PWM dari pin 3 dan warna biru adalah sinyal PWM dari pin 5. 

Untuk pin 3 : 

Periode (T) = 2.10 ms - 0.05 ms = 2.05 ms = 0.00205 second
Frekuensi (f) = 1/T = 1/0.00205 = 488 Hz

Untuk pin 5 :

Periode (T) = 1.88 ms - 0.86 ms = 1.02 ms = 0.00102 second
Frekuensi (f) = 1/T = 1/0.00102 = 980 Hz

Dari hasil simulasi ternyata benar di hasilkan frekuensi sesuai dengan data di atas.

3. Menggunakan Library TimerOne

Library TimerOne ini menggunakan fasilitas Timer1 pada chip ATmega di arduino untuk kontrol sinyal PWM. Selain itu TimerOne, juga bisa digunakan untuk menjalankan interupsi secara berkala (periodik interrupt). Kita hanya bisa menggunkan 2 pin yang tersambung ke timer 1 yaitu pin 9 dan 10. Kelebihan menggunkan TimerOne untuk kontrol sinyal PWM adalah kita bisa mengatur frekuensi dari sinyal PWM tersebut. Selain itu kita bisa juga mengontrol duty cycle nya dengan resolusi lebih besar yaitu nilai 0 sampai 2023 (16 bit).

Untuk menggunkan library ini, silahkan install melalui Tools -> Manage Libraries  kemudian search dengan kata kunci "TimerOne", lalu install library tersebut. Atau KLIK DISINI untuk mendownload library TimerOne dalam bentuk zip.

Berikut adalah contoh program menggunakan TimerOne untuk menghasilkan sinyal PWM :

#include <TimerOne.h> //Memanggil library TimerOne

unsigned long periode = 1000; // nilai periode 1000 us = frekuensi 1 kHz
int dutyCycle = 511; // Nilai Duty Cycle PWM 0 sampai 1023, nilai 511 = 50 %

void setup(void)
{
  Timer1.initialize(periode); //Mengaktifkan Timer1 dan mengisi peride PWM sesuai nilai varibel periode
}

void loop(void)
{
  Timer1.pwm(9, dutyCycle); //membuat sinyal PWM pada pin 9 dengan nilai Duty Cycle sesuai nilai varibel dutyCycle
}

Jika program di atas di jalankan maka akan menghasilkan sinyal PWM di pin 9 dengan dengan periode 1000 us atau frekuensi 1 kHz dan Duty Cycle 50 %. Untuk mengatur Periodenya silahkan ubah variabel periode (nilai ini mewakili periode PWM dalam satuan us). Sedangkan untuk mengatur Duty Cycle silahkan atur nilai variabel dutyCycle dengan nilai antar 0 sampai 1023. 0 mewakili Duty Cycle 0 % dan 1023 mewakili 100 %.

4. Menggunnakan Library PWM

Library ini jika di cari di arduino IDE melalui Tools -> Manage Libraries dengan menggunakan kata kunci PWM ternyata tidak saya temukan. Oleh karena itu untuk mengistall library ini kalian bisa mendownloadnya melalui link repository github nya yaitu https://github.com/terryjmyers/PWM atau donwload DI SINI. Silahkan download dalam bentuk file ZIP, kemudian install melalui arduino IDE dengan klik Skecth -> Include Libraries -> Add .ZIP Library... kemudian silahkan cari tempat menyimpan file ZIP nya dan Open.

Library PWM ini juga menggunakan fasilitas Timer1 pada chip ATmega di arduino untuk kontrol sinyal PWM. Jadi pada arduino uno, nano, dan mini hanya bisa di gunakan pada pin 9 dan 10. Berikut adalah contoh program sederhana menggunakan library PWM untuk membuat sinyal PWM :

#include <PWM.h> // memanggil library PWM

int pinPWM = 9; //pin PWM yang akan di gunakan
int frekuensi = 100; //frekuensi dalam Hz
int dutyCycle = 127; //duty cycle nilai 0-255

void setup()
{
  InitTimersSafe(); //initialize all timers except for 0, to save time keeping functions

  SetPinFrequencySafe(pinPWM, frekuensi); //sets the frequency for the specified pin
}

void loop()
{
  pwmWrite(pinPWM, dutyCycle); //use this functions instead of analogWrite on 'initialized' pins
}

Jika program di atas di jalankan maka akan menghasilkan sinyal PWM di pin 9 dengan frekuensi 100 Hz dan Duty Cycle 50 %. Silahkan mengubah nilai variabel frekuensi untuk mengubah nilai frekuensi sinyal PWM. Sedangkan untuk mengatur Duty Cycle silahkan atur nilai variabel dutyCycle dengan nilai antar 0 sampai 255. 0 mewakili Duty Cycle 0 % dan 255 mewakili 100 %.

Untuk mempelajari library ini lebih dalam, silahkan cek di beberapa example library nya dan silahkan di coba dan kembangkan pada project arduino anda. 

Share:

HALO

Haloooooo

Pengikut