Modul Informatika
Mikrokontroler NodeMCU
MIKROKONTROLER
Kebanyakan aplikasi/penerapan IoT memerlukan lebih dari sekedar penambahan sensor pada
suatu alat/objek fisik. Berbicara tentang 'perangkat pintar/smart object', mereka biasanya berbicara
mengenai penambahan suatu mikrokontroler yang terhubung ke Internet (juga disebut dengan
MCU/Micro-controller Unit).
Mikrokontroler dapat diibaratkan sebagai komputer kecil yang ditambahkan ke objek fisik atau
ruang manapun untuk memberikan mereka 'otak'. MCU berisi satu atau lebih prosesor komputer,
dilengkapi dengan memori dan peralatan input/output yang dapat diprogram - semua tertanam
dalam satu sirkuit kecil yang terintegrasi.
MCU berbeda dengan mikroprosesor yang dapat ditemukan pada komputer personal
(PC/Desktop/Laptop) karena mereka dedesain khusus untuk embedded application atau sistem
tertanam, dimana kemampuan komputasi bukanlah tujuan utama dari penerapannya.
Meskipun MCU memiliki kemampuan yang lebih kecil daripada mikroprosesor standar yang
digunakan oleh komputer, dikarenakan harganya yang rendah membuat MCU menjadi pilihan
praktis untuk menambahkan kemampuan komputasi pada suatu objek, ruang, atau proses yang
belum memilikinya.
Mikrokontroler adalah sebuah komputer kecil yang dikemas dalam bentuk chip IC (Integrated
Circuit) dan dirancang untuk melakukan tugas atau operasi tertentu. Pada dasarnya, sebuah IC
Mikrokontroler terdiri dari satu atau lebih Inti Prosesor (CPU), Memori (RAM dan ROM) serta
perangkat INPUT dan OUTPUT yang dapat diprogram.
FITUR KUNCI DARI MIKROKONTROLER
Agar dapat menentukan mikrokontroler mana yang dapat digunakan dengan paling maksimal
untuk aplikasi yang akan dibuat, kita perlu mengetahui beberapa fitur kunci dari mikrokontroler
dan apa saja fungsinya. Berikut adalah beberapa speksifikasi yang perlu diketahui dan harus
perhitungkan ketika membaca dokumen data sheet dari suatu MCU :
Bits: Mikrokontroler biasanya dijual berdasarkan jumlah bit yang mereka tawarkan. Ini
berdampak pada kecepatan yang mampu mereka lakukan untuk komputasi yang tidak
sepele.
RAM: RAM adalah memori berkecepatan tinggi yang tidak menyimpan data ketika daya
mati. Semua MCU memiliki sejumlah RAM, yang memungkinkannya untuk
menyelesaikan berbagi aksi dengan cepat. Lebih banyak jumlahnya, lebih baik, namun
jumlah yang besar tentunya meningkatkan biaya/harga dari MCU.
Flash: Flash adalah memori komputer yang tetap menyimpan data meskipun daya mati.
Tentunya fitur ini cukup penting, dan sangat berguna untuk penyimpanan offline.
GPIO: GPIO singkatan dari pin untuk general-purpose input/output. Ini adalah pin-pin
yang akan kita gunakan untuk menghubungkan sensor-sensor dan aktuator ke MCU dan
Internet. Jumlah pin yang tersedia dapat beragam, mulai dari satu hingga ratusan,
bergantung pada mikrokontrolernya.
Konektivitas: Ini adalah bagaimana boardnya (dan juga aplikasinya) dapat terhubung ke
Internet, baik melalui Wi-Fi, Ethernet, atau cara lainnya. Ini adalah aspek yang penting dari
aplikasi sensor yang saling terhubung, sehingga topik ini akan diangkat dengan lebih detail
pada bagian selanjutnya.
Konsumsi daya: Konsumsi daya adalah hal yang sangat penting untuk penerapan sensor
yang terhubung ke jaringan, khususnya ketika perangkatnya bergantung pada sumber daya
dari baterai atau panel surya. Spesifikasi ini akan memberitahu kita seberapa rakuskah
MCUnya secara bawaan dan apakah ia dapat mendukung teknik pemrograman yang sadar
akan penggunaan daya.
Komunitas dan tools pengembangan: Tersedianya tools pemrograman dan pengembangan,
dokumentasi, dan komunitas yang telah matang adalah salah satu aspek yang sangat
penting untuk membantu kita membangun dan mengembangkan program yang akan dapat
berjalan pada MCU yang kita pilih untuk aplikasi kita.
NODEMCU DEVELOPMENT BOARD
NodeMCU adalah sebuah platform IoT yang bersifat opensource. Terdiri dari perangkat keras
berupa System On Chip ESP8266 dari ESP8266 buatan Espressif System, juga firmware yang
digunakan, yang menggunakan bahasa pemrograman scripting Lua. Istilah NodeMCU secara
default sebenarnya mengacu pada firmware yang digunakan daripada perangkat keras
development kit.
Firmware NodeMCU adalah projek pendukung dari development kit NodeMCU yang sangat
populer, yang juga menyertakan development board open-source siap pakai yang menggunakan
chip ESP8266-12E.
FUNGSI PIN NODEMCU
- Power Pin. Terdapat empat pin sumber power, sam VIN dan tiga pin 3.3V. VIN dapat
digunakan secan langsung sebagai power supply ESP8266 dan peripheral, jika Anda
memiliki sumber tegangan 5V yang stabiL Pin 3.3V adalah output dan papan sirkuit
voltage regulator Pin tersebut dapat digunakan untuk menvuplai power kepada komponen
eksternal.
- GND Adalah pin ground dan papan sinkuit NodeMCU
- 12C Pin. Digunakan untuk menvambungkanjenis sensor dan peripheral yang
membutuhkan koneksi 12C path project Anda. 12C ini dapat mensupport Maser dan Slave.
Fungsi dan interface 12C dapat digunakan secana programatik dan memiliki frekuensi
clock maksimum 100kHz. Perlu diperhatikan bahwa frekuensi clock pada 12C ini hams
lebth tinggi dan frekuensi clock paling rendali dan perangkat slavt
- GPIO Pin. E5P8266 NodeMCU memiliki 17 pin GPIO yang dapat digunakan untuk fungsi
yang berbeda-beda seperti 12C, 12S, UART. PWM. IR Remote kontrol. LED dan tombol
secara programmatic Setiap digital GPIO dapat dikonfigurasikan untuk internal pull-up dan
pull-down, atau di set pada impedansi tinggi Ketika setup sebagai input, pin ini pun dapat
di atur menjadi edge-trigger atau level-trigger untuk mengintenipsi CPU.
- Channel ADC. Nodemcu terembedded dengan 10-bit SAR ADC. Dengan denûkian dapan
digunakan menjadi dua fùngsi ADC viz. Yaitu, untuk mengecek tegangan power supply
pin VDD3P3 dan input voltage pada pin TOUT. Namun, fungsi tersebut tidak dapat di
implementasikan secan bersamaan.
- Pin UART ESP8266 NodeMCU memiliki 2 interface UART, yaitu UARTO dan UART1
yang memi.liki komunikasi asynchronous (RS232 dan RS485), dan dapat berkomunilcasi
hingga 4.5MBps. UARTO(TXDO, RXDO, RSTO dan CTSO) dapat digunakan untuk
berkomunikasi. Pin ini dapat mensupport fluid control. Namun UARTX1 (pin TXD1)
hanya memiliki fitur mentransmit signal: biasa digunakan untuk mencetak log.
- SPI Pins. E5P8266 memiliki dua thur SPI (SPI dan HSPI) pada mode slave dan master. Pin
SPI ini dapat mensupport beberapa fitur umum, diantaranya:
o 4 mode timing format SPI transfer
o Clockhingga80MHz
o Up to 64-Byte FIFO
- SDIO Pins. ESP8266 memiliki thur Secure Digital InputOutput Interface (SDIO) yang
digunakan secara langsung untuk interfacing SD Card. Pin ini mensupport 4-bit 25 MHz
SDIO vi. 1 dan 4-bit 50 MHz SDIO v2.O.
- PWM Pins. Papan sirkuit ini memiliki 4 channel Pulse Width Modulation (PWM). Output
PWM ini dapat di implementasikan secara programatik dan mengontrol motor digital serta
LED. Frekuensi PWM berada pada rentang
- Control Pin. Digunakan untuk mengontrol ESP8266. Pin ini memiliki Chip Enable pin
(EN), Reset pm (RST) dan WAKE pin.
o EN pin — ESP8266 chip alcan aktifketika pin EN di tañk HIGH. ketika di tañk
LOW, chip tersebut bekerja pada power minimal
o RST pin — Digunakan untuk mereset ESP8266
o WAKE pin - Digunakan untuk membangunkan chip dan keadaan deep-sleep
INSTALL ARDUINO IDE
Untuk memprogram NodeMCU, kita dapat menggunakan perangkat lunak Arduino IDE.
Perangkat lunak ini dapat dijalankan pada sistem operasi Windows, Mac OS, atau Linux. Kita
menulis kode program pada perangkat lunak ini, kemudian kode tersebut akan dikonversi menjadi
kode eksekusi yang kemudian dimuat ke dalam papan Arduino.
Arduino IDE adalah software yang digunakan untuk mengembangkan dan mengisi program ke
dalam Arduino. Arduino IDE ini dapat digunakan pada OS Windows, Mac OS dan Linux. Pastikan
kamu mendownload IDE yang sesuai dengan OS yang anda gunakan.
(http://arduino.cc/en/Main/Software)
Berikut langkah-langkah merakit piranti sederhana dengan Arduino Uno
1. Unduh Arduino IDE dari situs (https://www.arduino.cc/en/Main/Software)
2. Setelah file installer terunduh, klik dua kali untuk memulai instalasi
3. Pada Arduino Setup: License Agreement, klik tombol I Agree
4. Pada Arduino Setup: Installation Options, pastikan semua opsi tercentang, kemudian klik
tombol Next.
5. Pada Arduino Setup: Installation Folder, klik tombol Install untuk memulai proses
instalasi.
6. Jika muncul konfirmasi Windows Security untuk instalasi driver perangkat pendukung
Arduino klik saja tombol Install.
7. Setelah instalasi selesai, klik tombol Close untuk menutup installer.
STRUKTUR PENULISAN
Arduino diprogram menggunakan bahasa pemrograman C. Setiap program Arduino (biasanya
disebut sketch) memiliki setidaknya dua fungsi (biasanya disebut routines).
Struktur pemrograman yang ada di Arduino IDE secara garis besar terbagi menjadi beberapa
bagian seperti gambar di atas. yaitu :
1. Header
2. Deklarasi Variabel
2. Setup
3. Loop
1. Header
Header berisi library yang kita butuhkan. Library-library dasar yang ada dalam pemrograman
bahasa C, sudah terinput otomatis dalam Arduino IDE. Library dasar seperti stdio.h, stdlib.h,
math.h, kemudian library mikrokontroler yang digunakan dan masih banyak lagi. Sehingga, ketika
memprogram di Arduino IDE dan perlu library-library dasar sudah tidak perlu dipanggil lagi di
bagian header.
Library yang sifatnya pengembangan, yang tidak termasuk library dasar maka harus dipanggil
dibagian header. Misal library untuk LCD 16x2, HCSR04, dan masih banyak lagi. Cara
menulisnya sebagai berikut:
2. Deklarasi Variabel
Deklarasi variabel yang dimaksud yaitu variabel global, yaitu variabel yang bisa digunakan
diseluruh bagian program ini. Variabel terbagi menjadi dua, yaitu global dan lokal. Untuk deklarasi
variabel global terletak dibagian ini, tetapi untuk variabel lokal maka dideklarasikan ditiap awal
fungsi/prosedur dimana variabel tersebut digunakan.
Cara penulisannya deklarasi variabel global sebagai berikut:
Cara penulisannya deklarasi variabel lokal sebagai berikut:
3. Setup
Pada bagian ini, digunakan untuk mengkonfigurasi / mengatur mikrokontroler supaya sesuai
kebutuhan pengguna. Pada dasarnya pin-pin yang ada pada mikrokontroler bisa digunakan sebagai
masukan (input) atau keluaran (output), baik digital maupun analog. Maka, mikrokontroler harus
diatur sebelum digunakan sesuai kebutuhan.
Kegunaan lainnya yaitu untuk menjalankan program yang hanya sekali dijalankan seperti tampilan
awal program, atau init. Cara menulisnya sebagai berikut:
4. Loop
Bagian Loop merupakan bagian yang isinya program utama yang akan dijalankan berulang-ulang.
Program yang dijalankan sampai sumber tenaga (power supply) dicabut.
Jika ingin membuat program menghidupkan LED yang dirangkai active low, maka sebagai berikut
cara penulisan programnya.
Salah satu hal yang membuat bahasa C cukup merepotkan yaitu elemen formating yang harus
dipahami (namun, ini juga yang membuat bahasa C menjadi bahasa pemrograman yang powerful).
Jika kita menguasainya maka kita tidak akan terlalu kesulitan dalam memrogram Arduino.
1. // (single line comment)
Code ini digunakan untuk membuat catatan pada program. Jika pada program kita ketikkan
// maka apapun yang diketik pada baris seletah tanda // tersebut tidak akan dibaca oleh
program.
Contoh :
void loop()
{
…program yang dibaca
//baris ini tidak akan dibaca oleh program
…program yang dibaca
}
2. /* */ (multi line comment)
Jika kita ingin membuat catatan pada program dan kata2nya
cukup banyak maka kita bisa menggunakan /**/ . Apapun yang
diketikkan diantara dua tanda ini tidak akan dijalankan oleh program.
Contoh:
void loop()
{
…program yang dibaca
/*apapun yang diketik diantara tanda ini tidak akan
dibaca oleh program*/
…program yang dibaca
}
3. { } (kurung kurawal)
Digunakan untuk mendefinisikan awal dan akhir dari code program.
Contoh:
void loop()
{
…program
…program
…program
}
4. ; (semicolon)
Setiap baris code harus diakhiri dengan tanda ; (biasanya tanda ini yang sering lupa
digunakan oleh pemula
sehingga program tidak bisa di compile)
Void loop()
{
digitalWrite(ledPin, HIGH);
}
5. Variable
Tempat untuk menyimpan data. Variable memiliki nama, nilai, dan tipe data. Statementnya
biasa disebut deklarasi.
6. Tipe Data
a) Int (integer)
Tipe data yang paling sering digunakan, menyimpan data berpa angka (bilangan
bulat), dengan data sebesar 2 bytes (16 bits). Menyimpan nilai dari -32,768 sampai
32,768.
b) Float(float)
Digunakan untuk floating point math (decimals). Memori yang digunakan 4 bytes
(32 bits) RAM range nilai antara -3.4028235E+38 dan 3.4028235E+38.
c) Char(character)
Menyimpan sebuah karakter mengunakan ASCII code (contoh: 'A' = 65). Memori
1 byte (8 bits) RAM. Arduino menggunakan strings sebagai sebuah array dari
banyak char.
d) Boolean(boolean)
Variable sederhana yang menyimpan nilai True atau False. Sangat berguna karna
hanya menggunakan 1 bit memori RAM.
7. Operator Aritmatika
Digunakan untuk memanipulasi nilai (cara kerjanya sama seperti matematika sederhana)
8. Operator Perbandingan
Digunakan untuk perbandingan secara logical
9. Logika IF
Program memerlukan kontrol untuk mengendalikan hal-hal apa yang akan dilakukan
selanjutnya, berikut adalah beberapa contoh dasar metode pengontrolan.
10. Logika For
for(int i = 0; i < #repeats; i++){ }
(menghitung ke atas i++ Atau kebawah i-- ) Digunakan ketika kita ingin mengulangi code
sebuah nilai beberapa kali, nanti akan kita pelajari lebih lanjut pada contoh kasus agar lebih
mudah memahaminya.
11. Digital
a) pinMode(pin, mode);
Digunakan untuk menyeting mode pin, Pin adalah nomer pin yang ingin digunakan
(pin 0 sampai pin 19).
Mode bisa berupa INPUT atau OUTPUT.
Contoh: pinMode (13,INPUT);
“artinya pin 13 pada arduino kita gunakan sebagai input.”
pinMode (7,OUTPUT);
“artinya pin 7 pada arduino kita gunakan sebagai output.”
b) int digitalRead(pin);
Sebuah pin yang sudah kita seting sebagai input dapat memberikan pin arduino nilai
HIGH (+5 volt) atau LOW (Ground).
Contoh: int digitalRead(13);
“program akan membaca nilai pada pin 13, apakah ada tegangan (+5 volt). jika ada,
maka program akan Membaca nilai HIGH dan jika tidak ada tegangan (ground) ,
maka program membaca nilai LOW”
c) int digitalWrite(pin,value);
Sebuah pin yang sudah kita seting
Contoh: int digitalWrite(13,HIGH);
“program akan memberikan nilai high pada pin 13, sehingga pin tersebut secara
hardware akan terhubung ke tegangan (+5 volt)”
int digitalWrite(13,LOW);
“program akan memberikan nilai low pada pin 13, sehingga pin tersebut secara
hardware akan terhubung ke (Ground)”
12. Analog
a) int analogRead(pin);
Ketika input dari pin analog diseting sebagai INPUT, kita dapan membaca tegangan
inputnya. Nilainya mulai dari 0 (untuk 0 volt) dan 1024 (untuk 5 Volt).
b) int analogWrite(pin, value);
Beberapa pin dari board Arduino mensuport PWM (pulse with modulation) pin
tersebut yaitu pin (3, 5, 6, 9, 10, 11). Nilai yang dihasilkan bervariasi antara 0 (0%
duty cycle Sekitar 0 volt ) dan 255 (100% duty cycle sekitar 5 volt).
SIMULATOR
UnoArduSim adalah simulator arduino freeware yang dibuat oleh Professor Stanley J. Simmons,
mantan Associate Professor di Queen's University, Kingstone, Ontario, Kanada. Simulator ini
awalnya dikembangkan untuk mahasiswa-mahasiswa di kampusnya namun kemudian dibuka
untuk seluruh penggemar Arduino. Simulator ini didesain untuk memudahkan kita dalam
bereksperimen dan melakukan debug program Arduino tanpa memerlukan hardware yang
sesungguhnya.
Resistor
Resistor pada rangkaian elektronika adalah sebagai penahan tegangan dan arus. Sesuai dengan
namanya resist arti nya adalah tahanan. Kita buat contoh nya menghidupkan LED, jika kita
menghubungkan LED secara langsung dengan power supplay maka LED akan rusak karena nilai
arus yang terlalu besar. Untuk mengurangi arus pada LED maka digunakan lah resistor sebagai
penahan Arus, sehingga LED bisa menyala tapi tida merusak nya karena kelebihan Arus.
Nilai Tahanan Resistor adalah Ohm. Makin besar nilai Ohm suatu resistor maka makin besar nilai
tahanan nya. Kita buat lagi contoh misalnya untuk LED. Jika kita beri nilai tahanan 220 Ohm pada
LED dan dilalui tegangan 5V maka nyala LED akan terang. Namun jika kita beri nilai tahanan
lebih tinggi seperti 1K Ohm, maka LED akan lebih redup. Dari gejala Terang redup nya LED ini
dapat disimpulkan bahwa nilai Tahanan pada resistor memang berpengaruh kepada besar nya arus
yang di lewati.
LED
LED (Light Emitting Dioda) adalah dioda yang dapat memancarkan cahaya pada saat mendapat
arus bias maju (forward bias). LED (Light Emitting Dioda) dapat memancarkan cahaya karena
menggunakan dopping galium, arsenic dan phosporus. Jenis doping yang berbeda diata dapat
menhasilkan cahaya dengan warna yang berbeda. LED (Light Emitting Dioda) merupakann salah
satu jenis dioda, sehingga hanya akan mengalirkan arus listrik satu arah saja. LED akan
memancarkan cahaya apabil diberikan tegangan listrik dengan konfigurasi forward bias. Berbeda
dengan dioda pada umumnya, kemampuan mengalirkan arus pada LED (Light Emitting Dioda)
cukup rendah yaitu maksimal 20 mA. Apabila LED (Light Emitting Dioda) dialiri arus lebih besar
dari 20 mA maka LED akan rusak, sehingga pada rangkaian LED dipasang sebuah resistor sebgai
pembatas arus. Simbol dan bentuk fisik dari LED (Light Emitting Dioda) dapat dilihat pada
gambar berikut.
Konsep pembatas arus pada dioda adalah dengan memasangkan resistor secara seri pada salah satu
kaki LED (Light Emitting Dioda). Rangkaian dasar untuk menyalakan LED (Light Emitting
Dioda) membutuhkan sumber tegangan LED dan resistor sebgai pembatas arus seperti pada
rangkaian berikut.
Besarnya arus maksimum pada LED (Light Emitting Dioda) adalah 20 mA, sehingga nilai resistor
harus ditentukan. Dimana besarnya nilai resistor berbanding lurus dengan besarnya tegangan
sumber yang digunakan. Secara matematis besarnya nilai resistor pembatas arus LED (Light
Emitting Dioda) dapat ditentukan menggunakan persamaan berikut.
Lampu led menyala
const int pinLED = 9; //membuat variabel pinLED pada pin digital 9
//program awal
void setup() {
pinMode(pinLED, OUTPUT); //jadikan pin digital 9 menjadi OUTPUT
digitalWrite(pinLED, HIGH); //tetapkan pin digital 9 HIGH/logika 1
//sehingga LED menyala
}
//program utama
void loop() {
}
Lampu led mati dan hidup per detik void loop()
#define LED 13 {
atau digitalWrite(LED,HIGH);
int LED = 13; delay(1000);
void setup() digitalWrite(LED,LOW);
{ delay(1000);
pinMode (LED,OUTPUT) }
}
Mengendalikan Lampu (IoT)
Internet of Things kian marak. Perangkat IoT yang murah meriah dan canggih sudah banyak dan
akan terus bermunculan. Berbagai layanan platform IoT pun semakin berkembang dan saling
berkompetisi. Ekosistem yang semakin meluas ini berdampak pada membludaknya jumlah
penggiat IoT untuk membuat berbagai kreasi. Vision Mobile dalam salah satu reportnya
menyebutkan bahwa pada hingga penghujung tahun 2015 ada sekitar 4,5 juta individu developer
aktif di seluruh dunia yang mengembangkan perangkat IoT.
Sederhananya, Internet of Things adalah konsep dasar yang menghubungkan perangkat apapun
satu sama lain. Termasuk kulkas, TV, mesin cuci, lampu, smartphone, mobil dan masih banyak
lagi. Selain peralatan sehari-hari, IoT juga bisa menghubungkan berbagai komponen mesin seperti
mesin jet pesawat terbang, bor pertambangan minyak dan lain-lain.
Pada dasarnya, jika kita memiliki peralatan yang mempunyai saklar on dan off, peralatan tersebut
mempunyai kesempatan yang besar untuk digunakan dalam ranah IoT.
Persiapan Perangkat dan Alat
1. NodeMCU ESP8266 merupakan modul turunan pengembangan dari modul platform IoT
(Internet of Things) keluarga ESP8266 tipe ESP-12. Secara fungsi modul ini hampir
menyerupai dengan platform modul arduino, tetapi yang membedakan yaitu dikhususkan
untuk “Connected to Internet” .Untuk saat ini modul NodeMCU sudah terdapat 3 tipe versi
antara lain :
- NodeMCU 0.9
Pada versi ini (v0.9) merupakan versi pertama yang memiliki memori flash 4 MB sebagai
(System on Chip) SoC-nya dan ESP8266 yang digunakan yaitu ESP-12.
Kelemahan dari versi ini yaitu dari segi ukuran modul board lebar, sehingga apabila ingin
membuat protipe menggunakan modul versi ini pada breadboard, pin-nya kan habis
digunakan hanya untuk modul ini.
- NodeMCU 1.0
Versi ini merupakan pengembangan dari versi 0.9. Dan pada versi 1.0 ini ESP8266 yang
digunakan yaitu tipe ESP-12E yang dianggap lebih stabil dari ESP-12.
Selain itu ukuran board modulnya diperkecil sehingga compatible digunakan membuat
prototipe projek di breadboard. Serta terdapat pin yang dikhusukan untuk komunikasi SPI
(Serial Peripheral Interface) dan PWM (Pulse Width Modulation) yang tidak tersedia di
versi 0.9.
- NodeMCU 1.0 (unofficial board)
Dikatakan unofficial board dikarenakan produk modul ini diproduksi secara tidak resmi
terkait persetujuan dari Developer Official NodeMCU.
Perbedaannya tidak begitu mencolok dengan versi 1.0 (official board) yaitu hanya
penambahan V usb power output.
NodeMCU 1.0
NodeMCU 1.0 (unofficial board)
2. Modul relay adalah salah satu piranti yang beroperasi berdasarkan prinsip elektromagnetik
untuk menggerakkan kontaktor guna memindahkan posisi ON ke OFF atau sebaliknya dengan
memanfaatkan tenaga listrik.
Kontaktor (Contactor / Magnetic Contactor) adalah alat elektrikal yang bekerja dengan
induksi elektromagnetik pada sebuah kumparan tembaga (coil) yang dialirkan tenaga listrik
sehingga menimbulkan medan magnet yang menyebabkan Kontak Bantu NO (Normally
Open) akan tertutup dan Kontak Bantu NC (Normally Close) akan terbuka.
Berdasarkan gambar skematik relay di atas, berikut ini adalah keterangan dari ketiga pin yang
sangat perlu kamu ketahui:
- COM (Common), adalah pin yang wajib dihubungkan pada salah satu dari dua ujung
kabel yang hendak digunakan.
- NO (Normally Open), adalah pin tempat menghubungkan kabel yang satunya lagi bila
menginginkan kondisi posisi awal yang terbuka atau arus listrik terputus.
- NC (Normally Close), adalah pin tempat menghubungkan kabel yang satunya lagi bila
menginginkan kondisi posisi awal yang tertutup atau arus listrik tersambung.
3. Kabel jumper adalah kabel elektrik yang memiliki pin konektor di setiap ujungnya dan
memungkinkanmu untuk menghubungkan dua komponen yang melibatkan Arduino tanpa
memerlukan solder.
Jenis jenis kabel jumper yang paling umum adalah sebagai berikut:
- Kabel Jumper Male to Male
Jenis yang pertama adalah kabel jumper male male. Kabel jumper male to male adalah
adalah jenis yang sangat yang sangat cocok untuk kamu yang mau membuat rangkaian
elektronik di breadboard.
- Kabel Jumper Male to Female
Kabel jumper male female memiliki ujung konektor yang berbeda pada tiap ujungnya,
yaitu male dan female.
Biasanya kabel ini digunakan untuk menghubungkan komponen elektronika selain
Arduino ke breadboard
- Kabel Jumper Female to Female
Jenis kabel jumper yang terakhir adalah kabel female to female. Kabel ini sangat cocok
untuk menghubungkan antar komponen yang memiliki header male. contohnya seperti
sensor ultrasonik HC-SR04, sensor suhu DHT, dan masih banyak lagi.
4. Set lampu Rangkaian lampu lengkap dengan dudukan lampu, kabel dan stekernya. Perhatikan
bahwa bagian tengah dari salah satu line kabelnya kita putus untuk nantinya dihubungkan ke
relay. Rangkaian lampu. Potong salah satu jalur kabelnya untuk nanti dihubungkan ke relay
Selain perangkat-perangkat di atas, Kamu akan memerlukan Wifi Access Point yang
terhubung ke internet. Access Point ini yang nantinya akan digunakan oleh ESP8266 untuk
terkoneksi ke internet. Kamu bisa menggunakan jaringan Wifi rumah kalo punya, sekolah,
kantor atau melalui tethering hotspot dari smartphone atau wireless router. Selain itu, Kamu
juga bakal memerlukan beberapa alat seperti obeng dan gunting.
Skema alat
Relay NodeMCU
GND GND
VCC 5V/Vin
D0
IN
Script pengendali lampu
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
// Dapetin tokennya di email kamu
char auth[] = "6LvINHoJEkukVV46ChaKznni88y2isuG";
// id dan password internet kamu
char ssid[] = "CPH1701"; //fh_b415c8
char pass[] = "rizalraihan1"; //ibuyangtaukalogaayah
void setup(){
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
}
void loop(){
Blynk.run();
}
Konfigurasi aplikasi blynk
Disini kita menggunakan 1 reley jadi disesuaikan button yang digunakan