BAB II LANDASAN TEORI 2.1 Microcontroller Wemos Microcontroller Wemos adalah sebuah microcontroller pengembangan berbasis modul microcontroller ESP 8266. Microcontroller Wemos
dibuat
sebagai solusi dari mahalnya sebuah sistem wireless berbasis microcontroller lainnya. Dengan menggunakan Microcontroller Wemos biaya yang dikeluarkan untuk membangun sistem WiFi berbasis Microcontroller sangat murah, hanya sepersepuluhnya dari biaya yang dikeluarkan apabila membangun sistem WiFi dengan menggunakan Microcontroller Arduino Uno dan WiFi Shield.
Gambar 2.1 Microcontroller Wemos
Microcontroller wemos ini memiliki kemampuannya untuk menyedikan fasilitas konektifitas WiFi dengan mudah serta memory yang digunakan sangat besar yaitu 4 MB [2]. 5
http://digilib.mercubuana.ac.id/
6
2.1.1 Microcontroller Chipset pada Microcontroller Wemos Pada Microcontroller wemos memiliki 2 buah chipset yang digunakan sebagai otak kerja platform tersebut. Beberapa chipset pada Microcontroller ini adalah :
a. Chipset ESP8266 ESP8266 adalah sebuah chip microcontroller yang memiliki fitur Wi-Fi yang mendukung stack TCP / IP. Diproduksi oleh produsen Cina yang berbasis di Shanghai, Espressif. Pada Agustus 2014 AI-Thinker membuat modul ESP-01 dengan menggunakan lisensi oleh Espressif. modul kecil ini memungkinkan microcontroller untuk terhubung dengan jaringan WiFi dan membuat koneksi TCP / IP hanya dengan menggunakan command yang sederhana seperti gaya Hayes. Harga yang sangat rendah dan sangat sedikit komponen eksternal pada modul ini mengakibatkan sangat murahnya harga sebuah chip ini. Dengan clock 80 MHz chip ini dibekali dengan 4 MB Eksternal RAM, mendukung format IEEE 802.11 b/g/n sehingga tidak menyebabkan interference bagi yang lain. Mendukung enkripsi WEP dan WPA sehingga menjadikan chipset ini sangat aman digunakan. Chipset ini memiliki 16 GPIO pin yang berkerja pada 3.3 Volt, 1 pin ADC dengan resolusi 10 bit.
b. Chipset CH340 CH340 adalah sebuah Chipset
yang mengubah USB menjadi serial
interface. Sebagai contohnya adalah aplikasi USB converter to IrDA atau aplikasi USB converter to Printer. Dalam mode serial interface, CH340 mengirimkan sinyal penghubung yang umum digunakan pada MODEM. CH340 digunakan untuk memperbesar asynchronous serial interface komputer atau mengubah perangkat serial interface umum untuk berhubungan dengan bus USB secara langsung.
Modul Microcontroller ini dapat dibangun sendiri atau dibeli jadi. Perangkat lunaknya dapat didownload secara gratis. Desain referensi perangkat
http://digilib.mercubuana.ac.id/
7
keras (File CAD) yang tersedia di bawah lisensi open-source, dan bebas untuk mengubahnya sesuai dengan kebutuhan. Walaupun modul Microcontroller ini berbeda dengan modul Microcontroller arduino, namun kita dapat menggunakan baik IDE, Library, maupun command yang terdapat pada arduino untuk dapat digunakan pada microcontroller ini [3].
2.1.2 Sketch Sketch adalah lembar kerja pada sistem arduino yang digunakan untuk menulis listing
program, mengeditnya, meng-compile
dan kemudian
mengupload ke dalam Microcontroller tersebut. Sketch Arduino terdiri dari bagian-bagian seperti comments, Setup
(), dan Loop
(). Dibawah ini akan
dijelaskan secara lebih detail mengenai bagian-bagian tersebut.
2.1.2.1 Comments Biasanya komentar digunakan untuk memudahkan bagi orang-orang membaca kode yang telah ditulis oleh engineer, untuk menjelaskan tujuan dari dibuatnya program ini, cara kerjanya, atau mengapa program tersebut ditulis seperti itu. Dibawah adalah contoh Comments : /* *
Blink
* * The basic Arduino example.
Turns on an LED on for one second,
* then off for one second, and so on... * *
depending or
a
on built-in
your
Arduino
resistor
so
board, that
it
We use pin 13 because, has
you
either a need
only
built-in
LED
an
LED.
* *
http://www.arduino.cc/en/Tutorial/Blink
*/
Komentar pada sketch sangat disarankan, salah satu fungsinya adalah untuk membantu ketika adanya kode yang ingin diperbaiki. Hal ini juga dapat membantu orang lain untuk belajar dari atau memodifikasi kode yang sudah berjalan. Ada comments dengan bentuk lain, yaitu single-line. Comments ini dimulai dengan “ // “ dan lanjut hingga ke akhir baris. Sebagai contohnya adalah :
http://digilib.mercubuana.ac.id/
8
int ledPin = 13; // LED connected to digital pin 13
Kalimat yang berisi pesan ini "LED connected to digital pin 13" adalah sebuah comments yang digunakan untuk menjelaskan mengenai variable 13
2.1.2.2 Fungsi Setup () Ada beberapa fungsi khusus yang merupakan bagian dari sketch yaitu “ Setup () “. Fungsi Setup () dipanggil sekali, yaitu ketika sketsa dimulai. Fungsi ini merupakan tempat yang baik untuk melakukan pengaturan-pengaturan seperti : Pengaturan mode output pada pin digital Inisialisasi Library Microcontroller arduino Inisialisasi Variabel, dan lain-lain fungsi Setup hanya akan berjalan sekali, setelah setiap PowerUp atau setelah tombol reset pada rangkaian modul Arduino ditekan. Berikut adalah contoh dari fungsi Setup () :
void Setup () { Serial.begin(9600); pinMode(buttonPin, INPUT); }
2.1.2.3 Fungsi Loop () Fungsi Loop () adalah fungsi utama dalam sketch arduino ini. Fungsi ini dipanggil berulang kali oleh modul Microcontroller untuk menjalankan program yang telah tersimpan di dalamnya. Berikut adalah contoh penggunaan dari fungsi Loop () :
http://digilib.mercubuana.ac.id/
9
void Loop () { if (digital Read(buttonPin) == HIGH) serialWrite('H'); else serialWrite('L'); delay(1000); }
Fungsi Loop () sesuai dengan namanya, melakukan perulangan setiap listing program yang dituliskan, yang pada saat tertentu variable dari program anda telah berubah sehingga sistem merespon dan menghasilkan output baru yang berbeda dengan hasil output pertama.
2.1.3 Fitur-fitur Microcontroller Wemos Berikut ini adalah fitur-fitur dari perangkat keras Microcontroller Wemos . Perangkat keras ini dapat diprogram dengan mudah pada sketch. Ada beberapa fitur-fitur perangkat keras yang dapat ditemukan pada modul Microcontroller Wemos , berikut adalah penjelasan dari fitur-fitur tersebut :
2.1.3.1 Pin Digital Salah satu I/O Port pada modul Microcontroller Wemos dikenal dengan Pin Digital . Pin ini dapat dikonfigurasi baik sebagai input ataupun dapat digunakan sebagai output . 1.
Karakteristik pin digital ketika menjadi input Secara default pengaturan port digital
adalah pengaturan untuk port
masukan, sehingga mereka tidak perlu secara eksplisit dinyatakan sebagai input dengan pinMode (). Pin dikonfigurasi sebagai input sehingga pin tersebut berada dalam keadaan impedansi tinggi. Salah satu penjelasannya adalah pin input akan mengambil daya yang sangat kecil sekali pada rangkaian ketika dalam kondisi pengambilan sampel, dapat dikatakan bahwa ada resistor seri dari 100 Mohm di depan pin tersebut. Hal ini berarti bahwa hanya sangat sedikit arus yang digunakan untuk
http://digilib.mercubuana.ac.id/
10
memindahkan kondisi pin input tersebut dari keadaan satu ke keadaan yang lain. Sehingga hal ini dapat membuat pin berguna untuk melakukan tugas-tugas seperti membaca sensor sentuh kapasitif, membaca sebuah LED (Light Emitting Diode) sebagai dioda, atau membaca sebuah sensor analog dengan skema seperti RCTime. Akan tetapi hal ini juga berarti, apabila ada pin input yang tidak terhubung ke rangkaian, akan menghasilkan
beberapa
keadaaan
seperti
akan
berlogika
acak,
menghasilkan noise, atau akan menjadi kapasitor coupling pada pin yang berdekatan dengan Pin tersebut. Adalah hal yang berguna untuk mengarahkan pin masukan ke keadaan yang dikenal jika tidak ada input. Hal ini dapat dilakukan dengan menambahkan resistor pull-up (ke +3.3 V), atau resistor pull-down (resistor ke tanah) pada input, dengan resistor 10 Kohm. Ada juga resistor pull-up 20 KOhm yang dapat di akses pada chip Atmega dengan perangkat lunak. Berikut ini adalah cara untuk mengakses resistor pullup built-in.
2.
pinMode(pin, INPUT);
// set pin to input
digital Write(pin, HIGH);
// turn on pullup resistors
Karakteristik pin digital ketika menjadi Output Apabila Pin digital ini dikonfigurasi sebagai OUTPUT dengan pinMode (), maka Pin ini akan berada dalam keadaan impedansi rendah. Hal ini berarti bahwa mereka dapat menyediakan sejumlah besar arus ke rangkaian lainnya. Pin Atmega dapat menjadi sumber arus positif atau menjadi sumber arus negatif hingga 40 mA (milliAmpere) arus ke perangkat lain. Hal ini cukup untuk menghidupkan sebuah LED, menjalankan banyak sensor, namun sayangnya saat ini tidak cukup untuk menjalankan relay, solenoida, atau motor. Hubungan pendek pada pin, atau mencoba untuk menjalankan rangkaian dengan arus yang besar, dapat merusak atau menghancurkan transistor output pada pin, atau merusak chip secara keseluruhan. Sering kali ini akan menghasilkan sebuah pin "mati" dalam microcontroller akan tetapi chip yang tersisa masih akan
http://digilib.mercubuana.ac.id/
11
berfungsi secara memadai. Maka untuk alasan ini, adalah sebuah ide yang baik untuk menghubungkan pin OUTPUT
ke perangkat lain dengan
resistor 470 Ohm atau 1 KOhm.
2.1.3.2 Pin Analog Pin analog pada microcontroller ini memiliki 10 bit resolusi dengan nilai maksimum 3.2 Volt. Pin analog ini dapat dikonfigurasi dan digunakan persis dengan cara yang sama seperti pin digital . Berikut ini adalah karakteristik dari Pin Analog. 1.
A/D Converter Chips Atmega digunakan pada Arduino memiliki 1 saluran ADC (analogto-digital converter). ADC tersebut memiliki 10 bit resolusi dari 0 ke 1023. Sedangkan fungsi utama dari pin analog pada microcontroller wemos adalah untuk membaca sensor analog. pin analog juga memiliki semua fungsi General Purposes input / output (GPIO) pin (sama dengan pin digital 0-13).
2.
Pemetaan Pin Pin analog dapat digunakan sama seperti pin digital , menggunakan penamaan A0 (untuk input analog 0), A1, dll Sebagai contoh, kode berikut digunakan untuk mengatur 0 pin analog ke output , dan mengaturnya berlogika “High” :
pinMode(A0, OUTPUT ); digital Write(A0, HIGH);
3.
Pull up Resistor Pin yang analog juga memiliki resistor pullup , yang bekerja sama seperti resistor pullup pada pin digital . Mereka diaktifkan dengan mengeluarkan perintah seperti dibawah ini :
digital Write(A0, HIGH); // set pullup on analog pin 0
http://digilib.mercubuana.ac.id/
12
namun
harus
disadari
bahwa
mengatur
Resistor
pull-up
akan
mempengaruhi nilai yang akan diambil oleh analogRead (). Hal tersebut dikarenakan Perintah analogRead tidak akan bekerja dengan benar jika pin sebelumnya di gunakan sebagai output , akan tetapi apabila hal ini terjadi maka pin tersebut
harus di atur kembali menjadi masukan sebelum
menggunakan perintah analogRead. Hal yang sama pula harus diterapkan jika pin telah diatur untuk menjadi logika “High” sebagai output , resistor pullup harus diatur ketika beralih kembali ke input.
2.1.3.3 PWM ( Pulse Width Modulator ) Pulse Width Modulation, atau PWM, adalah teknik untuk mendapatkan hasil yang analog dengan teknik digital. Digital
kontrol digunakan untuk
membuat gelombang persegi, dan kemudian sinyal diatur sehingga beralih antara hidup dan mati secara cepat. Pola on-off ini dapat mensimulasikan tegangan hidup (3.3 Volt) dan mati (0 Volt) dengan mengubah sebagian waktu sinyal hidup dengan waktu pada sinyal mati. Lamanya on time disebut lebar pulsa. Untuk mendapatkan berbagai nilai analog, pengguna akan mengubah, atau memodulasi lebar pulsa. Jika pengguna mengulangi pola on-off ini dengan cukup cepat dan menggunakan LED misalnya sebagai output , maka hasilnya adalah pengendalian kecerahan LED. Dalam grafik di bawah, garis-garis hijau merupakan periode waktu yang teratur. Ini adalah durasi atau periode yang merupakan kebalikan dari frekuensi PWM. Dengan kata lain, dengan frekuensi PWM Arduino di sekitar 500Hz, garis hijau hanya akan teratur selama 2 milidetik saja. Fungsi untuk analogWrite () memiliki nilai skala dari 0 – 255. Ketika analogWrite memiliki (255) maka siklus akan 100% (selalu high), dan analogWrite (127) adalah siklus kerja 50% (High pada separuh waktu dan low pada separuh waktu).
http://digilib.mercubuana.ac.id/
13
Gambar 2.2 PWM Microcontroller Wemos
2.1.3.4 Memory Ada tiga jenis memori dalam microcontroller yang digunakan yaitu : 1. RAM untuk Menyimpan Instruksi (64KB). 2. RAM untuk menyimpan data (96KB). 3. Ekternal QSPI Flash untuk menimpan listing Program (4MB)
2.1.4 Teknik memprogram Microcontroller Wemos Berikut ini adalah konsep dalam memprogram modul Microcontroller Wemos :
2.1.4.1 Variabel Variabel adalah tempat untuk menyimpan data. Variabel memiliki nama, nilai, dan tipe. Sebagai contoh, pernyataan ini (disebut deklarasi). Perintah ini menciptakan variabel yang namanya pin, yang nilainya adalah 13, dan bertipe int. apabila pengguna membutuhkan variable ini, maka akan dapat menunjuk ke variabel ini dengan memanggil namanya. pada saat itu variable ini nilainya akan dicari dan digunakan. seperti dalam pernyataan ini:
pinMode(pin, OUTPUT );
http://digilib.mercubuana.ac.id/
14
Nilai dari pin (13) ini akan diteruskan ke perintah pinMode (). Dalam hal ini, sebenarnya pengguna tidak perlu menggunakan variabel, pernyataan ini akan bekerja dengan baik sama seperti :
pinMode(13, OUTPUT );
Keuntungan dari penggunaan variabel dalam hal ini adalah bahwa pengguna hanya perlu menentukan jumlah pin yang digunakan sekali, akan tetapi pengguna dapat menggunakannya berkali-kali. sehingga jika pengguna kemudian memutuskan untuk mengubah penggunaan dari pin 13 menjadi pin 12, pengguna hanya perlu mengubah sedikit kode. pengguna juga dapat menggunakan nama pengenal untuk membuat pentingnya variabel yang jelas (misalnya program mengendalikan LED RGB (Red Green Blue) memungkinkan penamaan variabel redPin, greenPin, dan bluePin. Sebuah variabel memiliki kelebihan lain atas nilai seperti mengubah nilai dari variabel menggunakan perintah Sebagai contoh: Perintah ini akan mengubah nilai dari variabel menjadi 12. Perhatikan bahwa pengguna tidak menentukan jenis variable, hal tersebut tidak diubah oleh perintah tersebut. Artinya, nama variabel secara permanen diasosiasikan dengan jenis, pengguna hanya melakukan perubahan nilainya. pengguna harus mendeklarasikan variabel sebelum pengguna memberikan nilai untuk itu. Jika tidak maka pesan error ini akan muncul "error: pin was not declared in this scope". Bila pengguna menetapkan satu variabel yang lain, pengguna membuat salinan nilai variable tersebut dan menyimpan salinannya pada lokasi di memori yang terkait dengan variabel lain. Mengubah satu tidak berpengaruh pada yang lain. Misalnya, setelah: int pin = 13; int PIN2 = pin; pin = 12;
Variable pin yang memiliki nilai 12, sedangkan untuk variable PIN2 memiliki nilai 13. Hal ini mengacu pada bagian dari listing program pengguna di
http://digilib.mercubuana.ac.id/
15
mana variabel tersebut digunakan. Sebagai contoh, jika pengguna ingin dapat menggunakan variabel mana saja dalam programnya, maka pengguna dapat menyatakan di bagian atas listing
programnya. Ini disebut variabel global,
berikut adalah contohnya:
int pin = 13; void Setup () { pinMode(pin, OUTPUT ); } void Loop () { digital Write(pin, HIGH); }
Seperti yang terlihat, pin yang digunakan di kedua Setup () dan Loop () fungsi. Kedua fungsi mengacu pada variabel yang sama, sehingga perubahan itu satu akan mempengaruhi nilai yang telah di yang lain, seperti di bawah ini : int pin = 13; void Setup () { pin = 12; pinMode(pin, OUTPUT ); } void Loop () { digital Write(pin, HIGH); }
Di sini, digital Write () fungsi yang dipanggil dari Loop () akan melewati nilai 12, karena itu nilai yang ditugaskan ke variabel di Setup () fungsi. Jika pengguna hanya perlu menggunakan variabel dalam sebuah perintah tunggal,
http://digilib.mercubuana.ac.id/
16
pengguna dapat menyatakan variable tersebut di Setup (), sehingga ruang lingkup variable tersebut akan terbatas pada perintah tersebut. Sebagai contoh :
void Setup () { int pin = 13; pinMode(pin, OUTPUT ); digital Write(pin, HIGH); }
Dalam perintah ini, pin variabel hanya dapat digunakan dalam Setup () fungsi. Jika pengguna mencoba untuk melakukan sesuatu seperti ini:
void Loop () { digital Write(pin, LOW); // wrong: pin is not in scope here. }
Pengguna akan mendapatkan pesan yang sama seperti sebelumnya"error: pin was not declared in this scope". Hal ini berarti meskipun pengguna telah menyatakan variable pin dalam program, pengguna mencoba untuk menggunakan suatu variabel di luar jangkauannya. Hal ini berarti jika sebuah variabel bersifat global, nilainya bisa diubah di mana saja di dalam listing program tersebut, sehingga pengguna perlu memahami keseluruhan program untuk mengetahui apa yang akan terjadi pada variabel. Misalnya, jika variabel pengguna memiliki nilai yang tidak Anda harapkan, akan lebih mudah untuk mencari tahu di mana nilai tersebut berasal dari jika variabel memiliki ruang lingkup terbatas.
2.1.4.2 Fungsi-Fungsi Segmentasi program ke fungsi memungkinkan programmer untuk membuat potongan-potongan program yang melakukan tugas yang telah didefinisikan sebelumnya dan kemudian kembali ke awal program dimana fungsi itu dipanggil. Menciptakan sebuah fungsi sangat berguna ketika salah satu
http://digilib.mercubuana.ac.id/
17
kebutuhan untuk melakukan tindakan yang sama beberapa kali dalam sebuah program. Untuk programer yang terbiasa menggunakan BASIC, fungsi dalam Arduino memberikan (dan memperluas) kegunaan menggunakan subrutin (gosub dalam BASIC). Menstandarisasikan program ke fungsi memiliki beberapa keuntungan yaitu membantu programmer tetap terorganisir yang seringkali hal ini membantu pada awal konsep program. Fungsi juga mengelompokan satu tindakan dalam satu tempat sehingga fungsi hanya harus dipikirkan dan debugged sekali. Hal ini juga mengurangi kemungkinan untuk kesalahan dalam modifikasi, jika ada listing program yang perlu diubah. Fungsi juga membuat sketsa keseluruhan menjadi lebih kecil dan lebih kompak karena hanya bagian kode tertentu saja yang digunakan
kembali
berkali-kali.
Fungsi
membuat
lebih
mudah
untuk
menggunakan kembali kode dalam program lain dengan membuatnya lebih modular, dan sebagai efek sampingnya, menggunakan fungsi juga sering membuat program lebih mudah dibaca. Ada dua fungsi yang diperlukan dalam sketsa Arduino, Setup () dan Loop (). Fungsi lainnya harus dibuat di luar kurung dari dua fungsi. Sebagai contoh, dibawah ini adalah fungsi sederhana untuk mengalikan dua angka.
void Setup () { Serial.begin(9600); }
void Loop () { int i = 2; int j = 3; int k; k = myMultiplyFunction(i, j); // k now contains 6 Serial.println(k); delay(500); }
http://digilib.mercubuana.ac.id/
18
int myMultiplyFunction(int x, int y) { int result; result = x * y; return result; }
2.1.4.3 Library-Library Sebuah Kelas hanyalah sebuah kumpulan fungsi dan variabel yang semua berada di satu tempat. Fungsi-fungsi dan variabel dapat bersifat publik, yang berarti bahwa mereka dapat diakses oleh orang yang menggunakan Library pengguna, atau private yang berarti mereka hanya dapat diakses dari dalam kelas itu sendiri. Setiap kelas memiliki fungsi khusus yang dikenal sebagai konstruktor, yang digunakan untuk membuat sebuah instance dari kelas. Konstruktor ini memiliki nama yang sama dengan kelas, dan tidak ada jenis kembali. Library menyediakan fungsionalitas tambahan untuk digunakan dalam sketch, misalnya menggunakan perangkat keras atau memanipulasi data. Untuk menggunakan perpustakaan di sketch, pilih Sketch> Impor Library Menu. Hal ini akan memasukkan satu atau lebih pernyataan # include di bagian atas sketch dan akan mengcompile sketch pengguna dengan Library. Karena Library masuk ke sketch pengguna hal ini menyebabkan peningkatan jumlah Memory yang diperlukan untuk sketch ini. Jika sketch tidak lagi membutuhkan Library, cukup hapus pernyataannya # include dari atas sketch. Ada banyak Library yang sudah ada di dalam perangkat lunak arduino, Dan beberapa dapat didownload dari berbagai sumber. Library dapat ditemukan dalam folder khusus, dan biasanya akan berisi sedikitnya dua file dengan akhiran h Dan satu dengan akhiran cpp.
2.2 Pembagi Tegangan Dalam elektronik, pembagi tegangan (juga dikenal sebagai pembagi potensial) adalah sebuah rangkaian elektronika linear yang akan menghasilkan tegangan output yang merupakan sebagian kecil dari tegangan input. Pembagi tegangan biasanya menggunakan dua resistor atau dibuat dengan satu
http://digilib.mercubuana.ac.id/
19
potensiometer. Tegangan output tergantung dari nilai-nilai komponen resistor atau dari pengaturan potentiometer. Output dari pembagi tegangan diambil dari titik tengah rangkaian.
Gambar 2.3 Pembagi tegangan dengan 2 resistor
2.2.1 Jenis-jenis pembagi tegangan Pembagi tegangan biasanya digunakan untuk membuat tegangan referensi, atau untuk mendapatkan sinyal tegangan rendah sebanding dengan tegangan yang akan diukur, dan juga dapat digunakan sebagai attenuator sinyal pada frekuensi rendah. Untuk arus DC dan berfrekuensi rendah pembagi tegangan cukup akurat jika dibuat hanya dari 2 resistor, dimana respon frekuensi dengan bandwidth yang lebar sangat diperlukan (seperti dalam probe osiloskop), pembagi tegangan memiliki elemen kapasitif yang dapat ditambahkan untuk dapat memberikan kompensasi pada kapasitansi beban. Dalam transmisi tenaga listrik, tegangan kapasitif pembagi digunakan untuk pengukuran tegangan tinggi. Ada beberapa macam pembagi tegangan yang biasa digunakan yaitu : •
Pembagi tegangan sifat Resistif (menggunakan komponen elemen resistansi murni).
•
Pembagi tegangan sifat campuran Resistif-Capasitansi (menggunakan komponen elemen resistif digabung dengan komponen elemen penyimpan muatan, contohnya adalah filter RC).
•
Pembagi tegangan sifat campuran Resistif-Induktif (menggunakan komponen elemen resistif digabung dengan komponen elemen penghasil GGL, contohnya adalah filter RL).
http://digilib.mercubuana.ac.id/
20
•
Pembagi
tegangan
sifat
campuran
Resistif-Capasitif-Induktif
(menggunakan komponen elemen resistif digabung dengan komponen elemen penghasil GGL dan dengan komponen elemen penyimpan muatan, contohnya adalah filter RLC). Namun yang akan dibahas pada dasar teori ini hanyalah pembagi tegangan berdasarkan elemen resisitif murni.
2.2.2 Pembagi tegangan Resistif Pembagi tegangan Resistif terdiri dari dua buah resistor atau dibuat dengan satu potensiometer. Tegangan output tergantung dari nilai-nilai komponen atau dari pengaturan potentiometer.
Gambar 2.4 Potensiometer untuk pembagi tegangan
Pembagi tegangan mengambil titik tengah dari hubungan 2 buah resistor atau potensiometer sehingga Menurut KVL (Kirchoff Voltage Law) tegangan Vin adalah tegangan yang jatuh di resistor R1 dan R2. Jika sebuah arus mengalir melalui dua resistor seri maka sesuai dengan Hukum Ohm menjadi :
…………………………… (2.1)
Dimana Vout adalah arus yang lewat resistor kedua sehingga …………………………… (2.2)
Sehingga dapat ditulis ulang persamaannya untuk Vout menjadi :
http://digilib.mercubuana.ac.id/
21
………………….. (2.3)
Apabila R1 = R2 maka persamaannya untuk Vout menjadi : ……………………….……(2.4)
Sehingga apabila hanya ingin mencari nilai resistor R1 saja persamaan 3 menjadi :
…………………… (2.5)
Dan apabila hanya ingin mencari nilai resistor R2 saja persamaan 3 menjadi :
…………………….… (2.6)
2.3 Teknologi Semiconductor Transistor Transistor adalah alat semikonduktor yang dipakai sebagai penguat, sebagai pemutus rangkaian, penyambung (switching), stabilisasi tegangan, modulasi sinyal, dan lain-lainnya. Transistor dapat berfungsi semacam keran listrik, dimana berdasarkan arus inputnya (BJT) atau tegangan inputnya (FET), memungkinkan pengaturan arus listrik yang sangat akurat dari rangkaian sumber listriknya.
Gambar 2.5 Transistor through-hole
http://digilib.mercubuana.ac.id/
22
Pada umumnya, transistor memiliki 3 terminal, yaitu Basis (B), Emitor (E) dan Kolektor (C). Tegangan yang di satu terminalnya misalnya Emitor dapat dipakai untuk mengatur arus dan tegangan yang lebih besar daripada arus input Basis, yaitu pada keluaran tegangan dan arus output Kolektor. Transistor merupakan komponen yang sangat penting dalam dunia elektronik modern. Dalam rangkaian analog, transistor digunakan dalam amplifier (penguat). Rangkaian analog melingkupi pengeras suara, Penstabil sumber listrik (stabilisator), dan penguat sinyal radio. Dalam rangkaian-rangkaian digital, transistor digunakan sebagai saklar berkecepatan tinggi. Beberapa transistor juga dapat dirangkai sedemikian rupa sehingga berfungsi sebagai logic gate, memory, dan fungsi rangkaian-rangkaian lainnya.
Gambar 2.6 Contoh Rangkaian Penguat transistor
2.3.1 Cara Kerja Transistor Silikon murni adalah sebuah material dengan karakteristik material isolator alami. namun jika pada silicon sedikit material pencemar ditambahkan seperti Arsenik, dengan sebuah proses yang dinamakan doping dalam jumlah yang cukup kecil sehingga tidak mengacaukan tata letak kristal silikon, maka Arsenik akan memberikan elektron bebas dan hasilnya memungkinkan terjadinya konduksi arus listrik. Hal Ini terjadi karena Arsenik memiliki 5 atom di orbit terluarnya, sedangkan Silikon hanya 4 atom. Konduksi terjadi karena pembawa muatan bebas telah ditambahkan (oleh kelebihan elektron dari Arsenik). Dalam kasus ini, sebuah Silikon tipe-n (n untuk negatif, karena pembawa muatannya adalah elektron yang bermuatan negatif) telah terbentuk.
http://digilib.mercubuana.ac.id/
23
Selain itu, silikon dapat dicampur dengan Boron untuk membuat semikonduktor tipe-p. Karena Boron hanya memiliki 3 elektron di orbit paling luarnya, pembawa muatan yang baru, dinamakan "lubang" (hole, pembawa muatan positif), akan terbentuk di dalam tata letak kristal silikon. Dalam tabung hampa, pembawa muatan (elektron) akan dipancarkan oleh emisi thermionic dari sebuah katode yang dipanaskan oleh kawat filamen. Karena itu, tabung hampa tidak bisa membuat pembawa muatan positif (hole). Telah diketahui bahwa pembawa muatan yang bermuatan sama akan saling tolak menolak, sehingga tanpa adanya gaya yang lain, pembawa-pembawa muatan ini akan terdistribusi secara merata di dalam materi semikonduktor. Namun di dalam sebuah transistor bipolar (atau diode junction) dimana sebuah semikonduktor tipe-p dan sebuah semikonduktor tipe-n dibuat dalam satu keping silikon, pembawa-pembawa muatan ini cenderung berpindah ke arah sambungan P-N tersebut (perbatasan antara semikonduktor tipe-p dan tipe-n), karena tertarik oleh muatan yang berlawanan dari seberangnya. Kenaikan dari jumlah pencemar (doping level) akan meningkatkan konduktivitas dari materi semikonduktor, asalkan tata-letak kristal silikon tetap dipertahankan. Dalam sebuah transistor bipolar, daerah terminal emiter memiliki jumlah doping yang lebih besar dibandingkan dengan terminal basis. Rasio perbandingan antara doping emiter dan basis adalah satu dari banyak faktor yang menentukan sifat penguatan arus (current gain) dari transistor tersebut. Jumlah doping yang diperlukan oleh sebuah semikonduktor adalah sangat kecil, dalam ukuran satu berbanding seratus juta, dan ini menjadi kunci dalam keberhasilan semikonduktor. Dalam sebuah material metal, populasi pembawa muatan sangat tinggi, yaitu satu pembawa muatan untuk setiap atom. Dalam metal untuk mengubahnya menjadi isolator, pembawa muatan harus disapu dengan memasang suatu beda tegangan. Dalam metal, tegangan ini sangat tinggi, jauh lebih tinggi dari yang mampu menghancurkannya. Namun dalam sebuah semikonduktor hanya ada satu pembawa muatan dalam beberapa juta atom. Jumlah tegangan yang diperlukan untuk menyapu pembawa muatan dalam sejumlah besar semikonduktor dapat dicapai dengan mudah. Dengan kata lain, listrik di dalam metal adalah inkompresible (tidak bisa dimampatkan), seperti
http://digilib.mercubuana.ac.id/
24
fluida. Sedangkan dalam semikonduktor, listrik bersifat seperti gas yang bisa dimampatkan. Semikonduktor dengan doping dapat diubah menjadi isolator, sedangkan metal tidak. Gambaran di atas menjelaskan konduksi disebabkan oleh pembawa muatan, yaitu elektron atau lubang, namun pada dasarnya transistor bipolar adalah pergerakan dari pembawa muatan tersebut untuk menyebrangi daerah depletion zone. Depletion zone ini terbentuk karena transistor tersebut diberikan tegangan bias terbalik, oleh tegangan yang diberikan di antara basis dan emiter. Walau transistor terlihat seperti dibentuk oleh dua diode yang disambungkan, namun sebuah transistor sendiri tidak bisa dibuat dengan menyambungkan dua diode. Untuk membuat transistor, bagian-bagiannya harus dibuat dari sepotong kristal silikon, dengan sebuah daerah basis yang sangat tipis.
Tabel 2.1 material penyusun Semikonductor Junction Electron Semiconductor forward mobility material voltage V m2/(V·s) @ 25 °C 25 °C Ge Si GaAs Al-Si junction
0.27 0.71 1.03 0.3
0.39 0.14 0.85 —
Hole mobility Max. m2/(V·s) @ junction @ 25 °C temp. °C 0.19 0.05 0.05 —
70 to 100 150 to 200 150 to 200 150 to 200
2.3.2 Transistor sebagai Sakelar Transistor biasanya digunakan sebagai sakelar elektronik, baik untuk kegunaan pada daya besar seperti sakelar pada power supply, maupun digunakan pada daya rendah seperti gerbang logika. Ketika tegangan pada terminal kolektor memiliki beda potensial dengan tegangan pada catu daya yang diakibatkan oleh adanya tahanan beban, maka arus akan mengalir dari catu daya rangkaian menuju terminal kolektor dari transistor. Namun setelah beberapa saat ketika arus sudah mengisi terminal kolektor dan beda potensial antara tegangan pada terminal kolektor dengan tegangan pada catu daya semakin tipis akibat adanya arus yang mengalir maka pada suatu saat arus akan berhenti mengalir dikarenakan sudah tidak ada lagi beda potensial lagi antara
http://digilib.mercubuana.ac.id/
25
tegangan catu daya dengan tegangan pada kaki kolektor, pada saat ini transistor dikatakan berada didalam kondisi saturasi atau jenuh. Namun ketika tegangan pada terminal basis diterapkan oleh dan arus mengalir melalui kaki basis, maka arus pada terminal kolektor akan mengalir menuju emitor. Pada kondisi ini transistor dinamakan cut off, arus akan terus mengalir sampai pada suatu ketika dimana tegangan pada terminal basis tidak ada lagi sehingga arus tidak ada yang mengalir melalui basis dan menyebabkan arus pada terminal kolektor pun tidak lagi mengalir.
Gambar 2.7 Contoh Rangkaian transistor sebagai sakelar
2.4
IoT (Internet of Things) Internet hal (IOT) adalah kumpulan dari perangkat fisik, kendaraan,
bangunan dan barang-barang- elektronik, perangkat lunak, sensor, aktuator, dan jaringan penghubung yang memungkinkan benda-benda untuk saling melakukan pertukaran
data.
Dalam 2013
Standar
Internet
of Things
(IOT-GSI)
mendefinisikan IOT sebagai "infrastruktur masyarakat informasi ". IOT memungkinkan objek yang akan dirasakan dan dikendalikan dari jarak jauh di dalam seluruh infrastruktur jaringan yang ada. Menciptakan peluang baru untuk integrasi secara langsung dari dunia fisik ke dalam sistem berbasis komputer, dan menghasilkan peningkatan efisiensi, akurasi dan manfaat ekonomi terhadap sebuah sistem. Para ahli memperkirakan bahwa IOT akan terdiri dari hampir 50 miliar benda 2020.
http://digilib.mercubuana.ac.id/
26
Gambar 2.8 Aplikasi-aplikasi IoT
2.4.1 Sensor IoT dan aplikasi "Things" dalam arti IOT, dapat merujuk ke berbagai perangkat aplikasi hardware seperti pemantau implan jantung, biochip transponder pada hewan ternak, mobil dengan built-in sensor, perangkat analisis DNA untuk lingkungan / makanan / patogen pemantauan atau perangkat operasi lapangan yang membantu petugas pemadam kebakaran dalam operasi pencarian dan penyelamatan. Sistem IoT mengumpulkan data yang berguna dengan bantuan dari berbagai teknologi yang sebagai contoh adalah sistem cerdas termostat dan mesin cuci / pengering yang menggunakan Wi-Fi untuk pemantauan jarak jauh. IoT juga diharapkan dapat menghasilkan sejumlah besar data dari berbagai lokasi, sehingga agregasi data menjadi lebih cepat, dan peningkatan kebutuhan untuk indeks, toko, dan proses data tersebut lebih efektif. Salah satu aplikasi platform untuk IoT adalah seperti Smart City, dan Smart Sistem Manajemen Energi.
http://digilib.mercubuana.ac.id/
27
Gambar 2.9 Refrigerator LG yang berjalan pada platform IoT
2.4.2 IoT Server & Cloud Blynk Blynk adalah IoT Cloud platform untuk aplikasi iOS dan Android yang berguna untuk mengontrol Arduino, Raspberry Pi, dan board-board sejenisnya melalui Internet. Blynk adalah dashboard digital di mana Anda dapat membangun sebuah antarmuka grafis untuk alat yang telah dibuat hanya dengan menarik dan menjatuhkan sebuah widget. Blynk sangat mudah dan sederhana untuk mengatur semuanya dan hanya dalam waktu kurang dari 5 menit. Blynk tidak terikat dengan beberapa microcontroller tertentu atau shield tertentu. Sebaliknya, apakah Arduino atau Raspberry Pi melalui Wi-Fi, Ethernet atau chip ESP8266, Blynk akan membuat alat online dan siap untuk Internet Of Hal.
Gambar 2.10 Aplikasi Blynk
http://digilib.mercubuana.ac.id/