Landasan Teori WEMOS
Landasan Teori WEMOS
Landasan Teori WEMOS
LANDASAN TEORI
dibuat
http://digilib.mercubuana.ac.id/
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 Hayes-gaya. 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 4MB Eksternal RAM, mendukung format IEEE 802.11 b/g/n
sehingga tidak menyebabkan interference bagi yang lain. Mendukung
enkripsi WEP, WPA sehingga menjadikan chipset
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
http://digilib.mercubuana.ac.id/
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, mengcompile 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...
or
built-in
resistor
so
that
you
need
only
an
LED.
*
*
http://www.arduino.cc/en/Tutorial/Blink
*/
Adalah sesuatu yang baik untuk memberikan komentar atas sketch, salah
satunya adalah untuk membantu ketika adanya kode yang ingin diperbaiki serta
hal ini dapat membantu orang lain untuk belajar dari atau memodifikasi kode yang
sudah berjalan. Ada comments dengan bentuk lain, yaitu single-line. Comments
http://digilib.mercubuana.ac.id/
ini dimulai dengan // dan lanjut hingga ke akhir baris. Sebagai contohnya
adalah :
Kalimat yang berisi pesan ini "LED connected to digital pin 13" adalah sebuah
comments yang digunakan untuk menjelaskan mengenai variable 13
void Setup ()
{
Serial.begin(9600);
pinMode(buttonPin, INPUT);
}
void Loop ()
http://digilib.mercubuana.ac.id/
{
if (digital Read(buttonPin) == HIGH)
serialWrite('H');
else
serialWrite('L');
delay(1000);
}
fungsi Loop
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.
http://digilib.mercubuana.ac.id/
10
(resistor ke tanah) pada input, dengan resistor 10 Kohm. Ada juga resistor
pull-up
perangkat lunak. Berikut ini adalah cara untuk mengakses resistor pullup
built-in.
pinMode(pin, INPUT);
http://digilib.mercubuana.ac.id/
11
1. A/D Converter
Chips Atmega digunakan pada Arduino memiliki 1 saluran analog-todigital converter (ADC). ADC tersebut memiliki 10 bit resolusi dari 0 ke
1023. Sedangkan fungsi utama dari pin analog pada Arduino 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 :
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
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 off (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).
2.1.3.4 Memory
Ada tiga jenis memori dalam microcontroller yang digunakan yaitu :
http://digilib.mercubuana.ac.id/
13
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 user 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 );
Nilai dari pin (13) ini akan diteruskan ke perintah pinMode (). Dalam hal
ini, sebenarnya user tidak perlu menggunakan variabel, pernyataan ini akan
bekerja dengan baik sama seperti :
pinMode(13, OUTPUT );
Keuntungan dari penggunaan variabel dalam hal ini adalah bahwa user
hanya perlu menentukan jumlah pin yang digunakan sekali, akan tetapi user dapat
menggunakannya berkali-kali. sehingga jika user kemudian memutuskan untuk
mengubah penggunaan dari pin 13 menjadi pin 12, user hanya perlu mengubah
sedikit kode. user juga dapat menggunakan nama pengenal untuk membuat
pentingnya variabel yang jelas (misalnya program mengendalikan LED RGB
memungkinkan penamaan variabel redPin, greenPin, dan bluePin. Sebuah
variabel memiliki kelebihan lain atas nilai seperti mengubah nilai dari variabel
menggunakan perintah Sebagai contoh:
http://digilib.mercubuana.ac.id/
14
Perintah ini akan mengubah nilai dari variabel menjadi 12. Perhatikan
bahwa user tidak menentukan jenis variable, hal tersebut tidak diubah oleh
perintah tersebut. Artinya, nama variabel secara permanen diasosiasikan dengan
jenis, user hanya melakukan perubahan nilainya. user harus mendeklarasikan
variabel sebelum user memberikan nilai untuk itu. Jika tidak maka pesan error ini
akan muncul "error: pin was not declared in this scope".
Bila user menetapkan satu variabel yang lain, user 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:
hanya variable pin yang memiliki nilai 12, sedangkan untuk variable PIN2
memiliki nilai 13. Hal ini mengacu pada bagian dari listing program user di mana
variabel tersebut digunakan. Sebagai contoh, jika user ingin dapat menggunakan
variabel mana saja dalam programnya, maka user dapat menyatakan di bagian
atas listing programnya. Ini disebut variabel global, berikut adalah contohnya:
http://digilib.mercubuana.ac.id/
15
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 :
Di sini, digital Write () fungsi yang dipanggil dari Loop () akan melewati
nilai 12, karena itu nilai yang ditugaskan ke variabel di Setup () fungsi. Jika user
hanya perlu menggunakan variabel dalam sebuah perintah tunggal, user dapat
menyatakan variable tersebut di Setup
void Setup ()
{
int pin = 13;
pinMode(pin, OUTPUT );
digital Write(pin, HIGH);
}
Dalam perintah ini, pin variabel hanya dapat digunakan dalam Setup () fungsi.
Jika user mencoba untuk melakukan sesuatu seperti ini:
void Loop ()
http://digilib.mercubuana.ac.id/
16
{
digital Write(pin, LOW); // wrong: pin is not in scope here.
}
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
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
http://digilib.mercubuana.ac.id/
17
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.
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 user,
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.
http://digilib.mercubuana.ac.id/
18
http://digilib.mercubuana.ac.id/
19
http://digilib.mercubuana.ac.id/
20
dapat
dikemudikan dengan mudah, namun untuk aplikasi dengan nilai lebih besar maka
diperlukan untuk menghubungkan output dengan ground menggunakan rangkaian
R-C tambahan.
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
http://digilib.mercubuana.ac.id/
21
dapat dirangkai sedemikian rupa sehingga berfungsi sebagai logic gate, memori,
dan fungsi rangkaian-rangkaian lainnya.
http://digilib.mercubuana.ac.id/
22
http://digilib.mercubuana.ac.id/
23
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.
forward
voltage
V @ 25
C
Electron
Hole
Max.
mobility
mobility
junction
m2/(Vs)
m2/(Vs)
temp.
@ 25 C
@ 25 C
Ge
0.27
0.39
0.19
70 to 100
Si
0.71
0.14
0.05
150 to 200
GaAs
1.03
0.85
0.05
150 to 200
150 to 200
http://digilib.mercubuana.ac.id/
24
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 [4].
http://digilib.mercubuana.ac.id/
25
http://digilib.mercubuana.ac.id/
26
http://digilib.mercubuana.ac.id/
27
2.5
data.
Dalam
2013
Standar
Internet
of Things
(IOT-GSI)
http://digilib.mercubuana.ac.id/
28
http://digilib.mercubuana.ac.id/
29
http://digilib.mercubuana.ac.id/
30
2.6
Kompor Listrik
Kompor listrik atau listrik adalah kompor yang mengubah energi listrik
menjadi panas untuk memasak dan panggang. kompor listrik menjadi populer
sebagai pengganti bahan bakar padat (kayu atau batu bara). Teknologi kompor
listrik ini pertama kali digunakan menggunakan kumparan pemanas resistif yang
kemudian dipanaskan di atas pelat besi. Hal ini kemudian dikembangkan menjadi
sebuah tabung baja berongga spiral yang memiliki elemen pemanas di tengah.
Berbeda dengan hotplate besi sebelumnya spiral baja dipanaskan sampai panas
berwarna merah sehingga menghasilkan panas dari pelat besi biasa.
Pada 1970-an, cooktops elemen kaca-keramik mulai muncul. Namun kacakeramik memiliki konduktivitas termal yang sangat rendah, koefisien ekspansi
termal praktis nol, tetapi memungkinkan radiasi inframerah keluar dengan sangat
baik. kumparan pemanas listrik atau lampu halogen inframerah digunakan sebagai
elemen pemanas. Karena karakteristik fisik, kompor panas dapat lebih cepat, dan
sisa pemanasan hanya piringan pemanas yang panas sedangkan permukaan yang
berdekatan tetap dingin. cooktops ini memiliki permukaan halus dan dengan
demikian lebih mudah untuk membersihkan, tetapi memiliki harga yang lebih
mahal.
Sebuah teknologi baru dikembangkan yaitu teknologi induksi. Teknologi
ini menggunakan peralatan masak feromagnetik yang hanya dipanaskan langsung
melalui induksi elektromagnetik. Perkembangan terakhir telah memungkinkan
http://digilib.mercubuana.ac.id/
31
peralatan masak non ferrous untuk bekerja juga, tapi tidak seefisien besi. Kompor
induksi juga memiliki permukaan kaca-keramik halus.
http://digilib.mercubuana.ac.id/