Anda di halaman 1dari 65

JOB SHEET TRAINING

INTERNET OF THINGS

PENGENALAN NODEMCU DAN APLIKASI BLYNK

OLEH :
FEBRIAN HADIATNA

PENTAGO INNOVATECH
BANDUNG
PENGENALAN INTERNET OF THINGS

Daftar Isi
Daftar Isi ........................................ 1
Internet of Things ................................ 2
Cloud Computing ................................... 5
NodeMCU ........................................... 7
Blynk App ......................................... 12
Internet of Things Training Kit ................... 16
Modul 1. Output Digital ........................... 18
Modul 1.1. Display LED ........................... 19
Modul 1.2. Activation Buzzer ..................... 27
Modul 1.3. Activation Relay + Lampu Pijar ........ 29
Modul 1.4. DC Motor .............................. 31
Modul 1.5. Stepper Motor ......................... 34
Modul 2. Input Digital ............................ 39
Modul 2.1. Push Button ........................... 41
Modul 2.2. Line Sensor ........................... 44
Modul 2.3. Scanning Keypad ....................... 47
Modul 3. Analog Input ............................. 52
Modul 3.1. Sliding Potensiometer ................. 53
Modul 3.2. LDR Light Sensor ...................... 55
Modul 3.3. Flame Sensor .......................... 58
Modul 4. Inter Integrated Circuit(I2C) Protocol ... 60
Modul 4.1. Display LCD 1602 ...................... 61

PENTAGO INNOVATECH Page 1


PENGENALAN INTERNET OF THINGS

Internet of Things

Istilah “Internet of Things” (IoT) pertama kali digunakan


oleh Kevin Aston. Namun sebenarnya Professor Ken Sakamura
dari University of Tokyo di tahun 1984 telah menggunakan
konsep IoT, sebelum istilah ini diperkenalkan oleh Kevin
Aston. Konsep dasar IoT adalah sebagai pemberdayaan pada
perangkat komputer, yang bekerja dalam mengumpulkan berbagai
informasi melalui bantuan dari teknologi sensor, sehingga
memungkinkan komputer dalam melakukan proses pengamatan,
identifikasi serta memahami dunia nyata tanpa keterbatasan
data masukkan dari manusia sebagai user.
IoT juga dikenal dengan istilah machine-to-machine (M2M),
yang sebelumnya istilah tersebut telah ada sebelum
diperkenalkannya IoT. Dikenal dengan M2M, hal ini dikarenakan
kemampuan IoT yang mampu terintegrasi terhadap berbagai
perangkat (heterogeneous devices/objects), dapat
berkomunikasi, berinteraksi satu dengan lainnya, maupun
mengambil keputusan tanpa adanya interaksi atau campur-tangan
dari manusia.
Pada IoT, agar berbagai perangkat yang digunakan dapat
saling terhubung dan berkomunikasi, dibutuhkan sebuah
protocol yang disepakti. Beberapa protocol yang digunakan
saat ini pada IoT, diantaranya adalah:
1. Message Queuing Telemetry Transport (MQTT),
2. Hypertext Transfer Protocol (HTTP),
3. Constrained Application Protocol (CoAP),
4. Advanced Message Queuing Protocol (AMQP),
5. Extensible Messaging and Presence Protocol (XMPP), dll
Protokol MQTT diperkenalkan oleh Dr Andy Stanford-Clark
dari IBM, dan Arlen Nipper dari Arcom (sekarang Eurotech)
pada tahun 1999. Protokol ini telah dijadikan sebagai pondasi
pada komunikasi di sistem IoT. MQTT bersifat lightweight
protocol konektifitas untuk IoT, dengan menggunakan metode
PENTAGO INNOVATECH Page 2
PENGENALAN INTERNET OF THINGS

publish dan subscribe. Pada protokol ini, proses pengiriman


pesan ditangani oleh server yang berfungsi sebagai broker.
Protokol MQTT dirancang untuk penggunaan constrained devices,
low bandwidth, high-latency atau unreliable networks,
memiliki 3 level QoS, sehingga ideal digunakan untuk
komunikasi pada IoT.
Arsitektur pada sistem IoT terdiri dari beberapa layer.
Berikut ini Gambar 1, yang menggambarkan hubungan antar layer
pada IoT.

Gambar 1. Arsitektur Internet of Things


Arsitektur IoT terdiri dari 4 layer, yaitu Physical Layer,
Gateway Layer, Middleware layer serta Application layer.
Berbagai client/node pada IoT dapat diakses, dikendalikan
maupun melakukan proses pertukaran data secara jarak jauh
dengan adanya physical layer. Melalui berbagai perangkat
komunikasi, seperti NodeMCU, serta jenis perangkat lainnya
yang mendukung terhadap komunikasi data wifi maupun ethernet.
Pada layer ini data yang diperoleh dari node adalah berupa
data dari real world yang dihasilkan oleh sensor dan actuator
yang terkoneksi.
Gateway Layer memiliki fungsi utama, yaitu mengirimkan
dan meneruskan data dari node ke broker maupun sebaliknya,
melalui media transmisi wired ataupun wireless yang dapat
terhubung ke jaringan Internet. Contohnya seperti menggunakan
mobile broadband, fiber, ADSL dan lainnya.
Middleware Layer merupakan salah satu layer terpenting
dan crucial. layer ini bertanggung jawab pada proses
mendistribusikan penerimaan data atau meneruskan data yang

PENTAGO INNOVATECH Page 3


PENGENALAN INTERNET OF THINGS

diperoleh dari heterogeneous objects. Layer ini bertindak


sebagai interface di atara physical layer dengan application
layer.
Application Layer dibangun untuk menghubungkan end-user
dengan berbagai node atau heterogeneous objects. pada layanan
cloud computing, aplikasi Web berfungsi sebagai layanan
software as a service (SaaS) yang diakses melalui Web browser
dengan menggunakan perangkat computer atau mobile seperti
smartphone dan tablet sehingga memungkinkan end-user dalam
melihat secara visualisasinya.

PENTAGO INNOVATECH Page 4


PENGENALAN INTERNET OF THINGS

Cloud Computing

Cloud computing atau komputasi awan merupakan pemanfaatan


dari teknologi komputer (komputasi) dalam suatu jaringan,
yang berbasiskan internet (awan). Pada teknologi komputer
yang berbasiskan sistem Cloud, menjadikan internet sebagai
pusat server untuk mengelola data dan juga aplikasi pengguna.
Teknologi ini mengizinkan para pengguna untuk menjalankan
program tanpa melalui proses instalasi dan mengizinkan
penggunanya untuk dapat mengakses data pribadi mereka melalui
komputer yang terhubung dengan internet.
Beberapa manfaat yang diperoleh dari penerapan teknologi
berbasis sistem cloud, diantaranya:
1. Seluruh data tersimpan di satu server secara terpusat.
2. Pengguna tidak perlu menyediakan infrastruktur, seperti
data center, media penyimpanan/storage, dll. Hal ini karena
seluruh infrastruktur tersebut telah tersedia secara
virtual.
3. Keamanan data pengguna disimpan aman dengan adanya jaminan
dari penyedia layanan cloud.
4. Fleksibilitas dan skalabilitas yang tinggi dengan
kemudahan dalam data akses. Pengguna dapat dengan mudah
meningkatkan atau mengurangi kapasitas penyimpanan data
tanpa perlu membeli peralatan tambahan.
5. Investasi jangka panjang, dengan penghematan biaya
terhadap pembelian infrastruktur seperti media penyimpanan
data, dll. Pengguna hanya akan dikenakan biaya kompensasi
rutin per bulan sesuai dengan paket layanan yang telah
disepakati dengan penyedia layanan cloud computing. Biaya
royalti atas lisensi software dapat dikurangi karena
aplikasi yang digunakan telah dijalankan melalui komputasi
berbasis Cloud.
Saat ini penerapan teknologi Cloud Computing telah
dilakukan oleh beberapa perusahaan IT ternama dunia. Beberapa
PENTAGO INNOVATECH Page 5
PENGENALAN INTERNET OF THINGS

perusahaan IT yang telah menyediakan jasa cloud computing,


diantaranya seperti Google dengan layanan cloud computingnya
berupa Google Drive, IBM dengan layanan cloudnya Blue Cord
Initiative, Microsoft melalui sistem operasinya yang berbasis
Cloud Computing serta Windows Azure dsb. Selain itu,
perusahaan Telkom selaku perusahaan telekomunikasi nasional,
turut mengembangkan sistem komputasi berbasis Cloud. Melalui
Telkom Cloud dengan programnya Telkom VPS dan Telkom
Collaboration yang diarahkan untuk pelanggan UKM (Usaha
Kecil-Menengah).

PENTAGO INNOVATECH Page 6


PENGENALAN INTERNET OF THINGS

NodeMCU

NodeMCU adalah sebuah platform IoT open source. Perangkat


ini terdiri atas firmware yang berjalan di ESP8266 Wi-Fi SoC
dari Espressif Systems, dan perangkat keras yang berbasis
pada modul ESP-12. Istilah "NodeMCU" secara default mengacu
pada firmware-nya daripada perangkat kerasnya. Lahirnya
NodeMCU berdekatan dengan rilisnya ESP8266 pada 30 Desember
2013, oleh Espressif Systems selaku pembuat ESP8266.
Sedangkan NodeMCU dimulai pada 13 Oktober 2014. Berikut ini
gambar 2, adalah gambar dari perangkat NodeMCU versi 3.

Gambar 2. Perangakt NodeMCU

Pada perangkat NodeMCU telah terintegrasi dengan GPIO,


PWM, I2C, 1-Wire dan ADC dalam sebuah board. Perangkat ini
memiliki spesifikasi:
 Developer : ESP 8266 open source community
 Operating system : XTOS
 CPU : ESP8266(LX106)
 Memory : 125k bytes
 Storage : 4Mbytes
 Power : USB
Kelebihan:
 Open source dan Interactive
 Mudah pemrogramannya
 Mendukung komunikasi Wi-Fi
 Simple dan harga murah

PENTAGO INNOVATECH Page 7


PENGENALAN INTERNET OF THINGS

Gambar 3. Konfigurasi Pinout NodeMCU

Langkah Kerja:
Langkah 1:Instalasi Driver CH340
CH340 merupakan IC konverter USB to Serial yang terdapat pada
perangkat NodeMCU yang digunakan. IC ini memerlukan aplikasi
driver untuk menggunakannya. Langkah-langkah proses instalasi
Driver CH340 adalah sebagai berikut:
1. Unduh driver CH340 sesuai dengan sistem operasi yang
digunakan.
2. Setelah selesai proses unduh, kemudian Unzip file tersebut
3. Jalankan installer dari file yang sudah di unzip
4. Pada Arduino IDE saat CH340 terhubung, COM Port dilihat
pada menu Tools> Serial Port
Langkah 2:Instalasi ESP8266 pada Arduino IDE
Langkah-langkah proses instalasi ESP8266 pada arduino IDE
adalah sebagai berikut:
1. Pastikan perangkat komputer terkoneksi pada internet yang
stabil.
2. Buka Arduino IDE>>File>>Preference

PENTAGO INNOVATECH Page 8


PENGENALAN INTERNET OF THINGS

3. Tambahkan"http://arduino.esp8266.com/stable/package_esp82
66com_index.json" pada additional URL kemudian klik OK

Gambar 4. Jendela “Preferences”

4. Pilih Tools>>Board>>Boards Manager


5. Cari ESP8266 lalu install

Gambar 5. Jendela “Boards Manager”

6. Apabila sudah terinstall, kembali lagi ke menu


Tools>>Board>>pilih board yang akan digunakan NodeMCU
1.0 (ESP-12E Module)

PENTAGO INNOVATECH Page 9


PENGENALAN INTERNET OF THINGS

Gambar 6. Menu “Tools”

7. Pilih frequency CPU 80 MHz

Gambar 7. Tampilan Menu “Tools” CPU frequency

8. Pilih upload speed (dianjurkan)115200 baud

PENTAGO INNOVATECH Page 10


PENGENALAN INTERNET OF THINGS

Gambar 8. Tampilan Menu “Tools” Upload Speed

9. Pilih COM/serial sesuai kabel yang terhubung USB-Serial

Gambar 9. Setting Port Com/Serial

PENTAGO INNOVATECH Page 11


PENGENALAN INTERNET OF THINGS

Blynk App

Blynk adalah sebuah platform aplikasi untuk iOS dan


Android yang digunakan untuk mengendalikan perangkat Arduino,
Raspberry Pi ataupun perangkat sejenisnya yang melalui media
internet. Dengan menggunakan aplikasi Blynk, anda dapat
membuat sebuah antarmuka grafis hanya dengan melakukan
dragging dan dropping widgets.

Gambar 10. Konsep aplikasi Blynk

1. Unduh versi terbaru Blynk library di:


https://github.com/blynkkk/blynk-library/releases/tag/v0.4.6
dan ikuti petunjuknya:
a. Unduh Blynk_Release_vXX.zip
b. Buka Arduino IDE>Sketch>include library>add.ziplibrary
c. Pilih Blynk zipfolder.

2. Membuat akun Blynk


Setelah mengunduh Blynk App dan menginstallnya, anda
selanjutnya perlu membuat akun Blynk terlebih dahulu. Berikut
ini Gambar 11, adalah tampilan awal dari Blink App saat belum
melakukan proses “Log in” ke dalam aplikasinya.

PENTAGO INNOVATECH Page 12


PENGENALAN INTERNET OF THINGS

Gambar 11. Antarmuka Blynk App

3. Buat project baru


Setelah melakukan proses login, selanjutnya mulailah dengan
membuat project baru, kemudian beri nama projet tersebut.
4. Pilih hardware
Blynk App memiliki kemampuan untuk support digunakan pada
berbagai perangkat keras. Pilihlah jenis perangkat keras yang
sesuai digunakan. Berikut ini Gambar 12 memperlihatkan
tampilan dari “project setting” pada Blynk App.

Gambar 12. Antarmuka “Projet Setting” pada Blynk App

PENTAGO INNOVATECH Page 13


PENGENALAN INTERNET OF THINGS

5. Auth Token
Auth Token dibutuhkan untuk dapat menghubungkan hardware ke
smartphone. Setiap project baru akan mendapatkan Auth Token.
Auth Token dikirim via email.

Gambar 13. Antarmuka pemilihan device ESP8266


Pilih email untuk mengirim via email. Atau tap pada token
line untuk mengcopy ke clipboard. Lalu pilih “Create”.
6. widget
Saat pertama membuat projet, pada bagian canvas project anda
akan kosong. Tambahkanlah tombol untuk mengatur aktivasi LED.
Tap dimana saja untuk membuka widget box.

Gambar 14. Tampilan “Canvas Projet” Blynk App

PENTAGO INNOVATECH Page 14


PENGENALAN INTERNET OF THINGS

Lakukan proses Drag-n-Drop –Tap dan tahan Widget untuk


mengatur posisi. Widget Settings – Tap pada widget, proses
ini berfungsi untuk pengaturan widget.

Gambar 15. Tampilan “Widget Setting”

Pada pengaturan widget, bagian yang paling penting adalah


pengaturan PIN. Pin yang disetting harus sesuai dengan
konfigurasi pada hardware yang digunakan. Jika LED terhubung
ke Digital Pin 5-maka pilih D5 .
7. Run
Jika telah selesai membuat dan mengatur widget yang digunakan,
selanjutnya pilih PLAY.Pada PLAY mode, anda tidak dapat
mengatur widget, pilih STOP jika anda akan kembali ke EDIT
mode.

Gambar 16. Tampilan running program Blynk App

PENTAGO INNOVATECH Page 15


PENGENALAN INTERNET OF THINGS

Internet of Things Training Kit

Internet of Things Training Kit, merupakan sebuah Kit


yang dirancang untuk mempelajari penggunaan dari perangkat
Node MCU, yang dapat diintegrasikan dengan berbagai modul
sensor ataupun aktuator yang tersedia pada kit tersebut. Kit
ini memiliki 19 modul didalamnya, dimana setiap modul tersebut
dapat dikembangkan lebih lanjut dengan di integrasikan antar
modulnya sesuai dengan kebutuhan. Berikut ini Gambar 17 adalah
Kit training Internet of Things (IoT).

Gambar 17. Training Kit Internet of Things


Berdasarkan Gambar 17, tampak bahwa Training Kit IoT terdiri
dari beberapa modul sensor dan aktuator, diantaranya:
a. Modul Display LED
b. Modul Keypad
c. Modul Potensiometer
d. Modul Real Time Clock
e. Modul Buzzer
f. Modul Line Sensor
g. Modul Humidity Sensor DHT11
h. Modul Themperature Sensor DS18B20
i. Modul Flame Sensor
j. Modul Light Sensor
k. Motor DC+Driver

PENTAGO INNOVATECH Page 16


PENGENALAN INTERNET OF THINGS

l. Modul Motor Stepper+Driver


m. Modul Relay+Lampu Pijar
n. Modul Motor Servo
o. Modul Display LCD
Penambahan materi pembelajaran pada penggunaan kit IoT
ini, dapat dilakukan dengan cara memanfaatkan project board
yang tersedia, kemudian tempatkan modul yang akan digunakan
pada project board tersebut. Catu daya yang digunakan pada
kit tersebut adalah sebesar 5V DC. Tersedia catu daya berupa
5V, 3,3V dan GND yang dapat digunakan untuk memberikan catu
daya pada modul sensor ataupun aktuator yang memerlukan catu
daya sebesar 5V maupun 3,3V.

PENTAGO INNOVATECH Page 17


PENGENALAN INTERNET OF THINGS

Modul 1
Output Digital

NodeMCU memiliki jumlah port sebanyak 11 buah pin, yang


dapat berfungsi sebagai port output digital. Dalam
pemakaiannya, NodeMCU menggunakan standar tegangan JEDEC
yaitu tegangan 3.3V. Berbeda dengan mikrokontroler pada
umumnya yang menggunakan tegangan TTL 5 volt. Meskipun
begitu, NodeMCU masih dapat terhubung dengan sumber tegangan
5V namun melalui port micro USB atau pin Vin yang telah
tersedia.
Pada seluruh pin I/O yang dimiliki oleh NodeMCU tidak
toleran terhadap input 5V, sehingga anda jangan sekali–kali
langsung mencatunya dengan menggunakan tegangan TTL, jika
tidak ingin merusak board anda. Pada penggunaan modul sensor
atau aktuator yang menggunakan catu daya TTL, Anda perlu
menggunakan sebuah Level Logic Converter(converter TTL to
JEDEC) agar NodeMCU dapat digunakan.
Penggunaan Arduino IDE sebagai compiler NodeMCU yang
digunakan, mempengaruhi terhadap inisialisasi pinout yang
akan digunakan pada NodeMCU. Berikut ini tabel 1, yang
menjelaskan hubungan antara inisialisasi yang digunakan pada
Arduino IDE dengan pinout nodeMCU yang digunakan.
Tabel 1. Inisialisasi pinout NodeMCU pada Arduino IDE
Pinout NodeMCU Pinout pada Arduino IDE
D0 16
D1 5
D2 4
D3 0
D4 2
D5 14
D6 12
D7 13
D8 15
RX 3
TX 1

PENTAGO INNOVATECH Page 18


PENGENALAN INTERNET OF THINGS

Modul 1.1. Display LED


a. Dasar Teori
Display LED merupakan salah satu modul yang dapat
digunakan untuk mempelajari dasar penggunaan pin digital
output pada NodeMCU. Display LED akan bekerja pada saat Anoda
LED terhubung pada VCC dan Katoda LED terhubung pada bagian
GND. LED memiliki banyak pilihan warna dan ukuran yang
memiliki tegangan kerja yang berbeda-beda. Proses pengaturan
intensitas cahaya yang dihasilkan oleh LED dapat diatur dengan
menambahkan sebuah komponen resistor(dengan nilai resistansi
tertentu), yang dipasang seri dengan LED.
Pada display LED yang terdapat pada modul IoT ini, bekerja
active high, yaitu LED akan menyala saat menerima logika high
dari pin I/O NodeMCU. Terdapat 8 buah LED yang dapat anda
gunakan. Dengan LED anda dapat menggunakannya sebagai display
yang berfungsi sebagai indikator sederhana yang dapat
digunakan pada sebuah sistem IoT, seperti berupa tampil
blynking ataupun tampil aktif/nonaktif saja. Berikut ini
Gambar 18 adalah display modul LED yang akan digunakan.

Gambar 18. Modul Display LED

Berdasarkan Gambar 18, tampak bahwa LED1 s/d LED8 perlu


anda hubungkan pada pinout NodeMCU, seperti pada tabel 2
berikut ini.

PENTAGO INNOVATECH Page 19


PENGENALAN INTERNET OF THINGS

Tabel 2. Wiring Display LED dan nodeMCU


No Display LED Pin nodeMCU
1 LED1 D0
2 LED2 D1
3 LED3 D2
4 LED4 D3
5 LED5 D4
6 LED6 D5
7 LED7 D6
8 LED8 D7
9 GND GND

b. Program
Program LED1 (LED Blinking)
Buatlah program berikut ini dengan menggunakan Arduino IDE,
kemudian upload program tersebut ke dalam perangkat NodeMCU
yang telah terhubung dengan modul Display LED sesuai dengan
tabel 2.
int LED1=16;
int LED2=5;
int LED3=4;
int LED4=0;
int LED5=2;
int LED6=14;
int LED7=12;
int LED8=13;
void setup() {
// put your setup code here, to run once:
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(LED3,OUTPUT);
pinMode(LED4,OUTPUT);
pinMode(LED5,OUTPUT);
pinMode(LED6,OUTPUT);
pinMode(LED7,OUTPUT);
pinMode(LED8,OUTPUT);
}

void loop() {
// put your main code here, to run repeatedly:
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
digitalWrite(LED6,LOW);
digitalWrite(LED7,LOW);
digitalWrite(LED8,LOW);
delay(1000);

PENTAGO INNOVATECH Page 20


PENGENALAN INTERNET OF THINGS

digitalWrite(LED1,HIGH);
digitalWrite(LED2,HIGH);
digitalWrite(LED3,HIGH);
digitalWrite(LED4,HIGH);
digitalWrite(LED5,HIGH);
digitalWrite(LED6,HIGH);
digitalWrite(LED7,HIGH);
digitalWrite(LED8,HIGH);
delay(1000);
}

Program LED2 (LED Shift Register)


Buatlah program kedua berikut ini dengan menggunakan Arduino
IDE, kemudian upload program tersebut ke dalam perangkat
NodeMCU yang kondisinya masih terhubung dengan modul Display
LED sesuai dengan tabel 2.
int LED1=16;
int LED2=5;
int LED3=4;
int LED4=0;
int LED5=2;
int LED6=14;
int LED7=12;
int LED8=13;
int x=1;
void setup() {
// put your setup code here, to run once:
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(LED3,OUTPUT);
pinMode(LED4,OUTPUT);
pinMode(LED5,OUTPUT);
pinMode(LED6,OUTPUT);
pinMode(LED7,OUTPUT);
pinMode(LED8,OUTPUT);
}

void loop() {
// put your main code here, to run repeatedly:
if (x==1)
{
digitalWrite(LED1,HIGH);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
digitalWrite(LED6,LOW);
digitalWrite(LED7,LOW);
digitalWrite(LED8,LOW);
delay(1000);
x=2;
}
PENTAGO INNOVATECH Page 21
PENGENALAN INTERNET OF THINGS

else if (x==2)
{
digitalWrite(LED1,LOW);
digitalWrite(LED2,HIGH);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
digitalWrite(LED6,LOW);
digitalWrite(LED7,LOW);
digitalWrite(LED8,LOW);
delay(1000);
x=3;
}
else if (x==3)
{
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,HIGH);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
digitalWrite(LED6,LOW);
digitalWrite(LED7,LOW);
digitalWrite(LED8,LOW);
delay(1000);
x=4;
}
else if (x==4)
{
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,HIGH);
digitalWrite(LED5,LOW);
digitalWrite(LED6,LOW);
digitalWrite(LED7,LOW);
digitalWrite(LED8,LOW);
delay(1000);
x=5;
}
else if (x==5)
{
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
digitalWrite(LED5,HIGH);
digitalWrite(LED6,LOW);
digitalWrite(LED7,LOW);
digitalWrite(LED8,LOW);
delay(1000);
x=6;
}
else if (x==6)
{
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
PENTAGO INNOVATECH Page 22
PENGENALAN INTERNET OF THINGS

digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
digitalWrite(LED6,HIGH);
digitalWrite(LED7,LOW);
digitalWrite(LED8,LOW);
delay(1000);
x=7;
}
else if (x==7)
{
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
digitalWrite(LED6,LOW);
digitalWrite(LED7,HIGH);
digitalWrite(LED8,LOW);
delay(1000);
x=8;
}
else if (x==8)
{
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
digitalWrite(LED6,LOW);
digitalWrite(LED7,LOW);
digitalWrite(LED8,HIGH);
delay(1000);
x=1;
}
}

Program LED3 (Control LED With Blynk App)


Buatlah program berikut ini dengan menggabungkan antara
program Arduino IDE dan Blynk App, dengan tujuan untuk
mengendalikan aktivasi dari setiap LED yang telah terhubung
pada LED. Setiap 1 button yang dibuat pada aplikasi Blynk,
mampu mengendalikan 1 buah LED.
Program Arduino IDE
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// You should get Auth Token in the Blynk App.


// Go to the Project Settings (nut icon).

PENTAGO INNOVATECH Page 23


PENGENALAN INTERNET OF THINGS

char auth[] = "input your auth token blynk app";

// Your WiFi credentials.


// Set password to "" for open networks.
char ssid[] = "input your SSID";
char pass[] = "input your password";

void setup()
{
// Debug console
Serial.begin(9600);

Blynk.begin(auth, ssid, pass);


// You can also specify server:
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100),
8442);
}

void loop()
{
Blynk.run();
}

Program Blynk
1. Buat project baru
Setelah melakukan proses login, selanjutnya mulailah
dengan membuat project baru, kemudian beri nama projet
tersebut dengan nama “LED CONTROL”.
2. Pilih hardware
Pilihlah jenis perangkat keras “ESP8266” serta connection
type “WIFI”.

Gambar 19. Antarmuka “Projet Setting” pada Blynk App

PENTAGO INNOVATECH Page 24


PENGENALAN INTERNET OF THINGS

3. Auth Token
Buka Email untuk memperoleh Auth Token, kemudian gunakan
Auth Token yang terdapat pada Email tersebut, pada program
di Arduino IDE.

Gambar 20. Antarmuka pemilihan device ESP8266


4. widget
Tambahkanlah 8 buah tombol Button yang akan digunakan
masing-masing Button tersebut untuk mengendalikan aktivasi
LED, kemudian berilah nama LED1 sampai dengan LED8 pada
masing-masing widget button tersebut.

Gambar 21. Tampilan “Canvas Projet” Blynk App

PENTAGO INNOVATECH Page 25


PENGENALAN INTERNET OF THINGS

Lakukan proses Drag-n-Drop –Tap serta tahan Widget untuk


mengatur posisi Button yang akan dibuat.

Gambar 22. Tampilan “Widget Setting”

Aturlah PIN pada setiap button yang telah diberi nama LED.
Pin yang disetting harus sesuai dengan konfigurasi pada
hardware yang digunakan. Pada button LED1 pilih pin Digital
D0, LED2 pilih pin Digital D1, dan seterusnya lakukan hingga
LED 8 dengan memilih pin Digital D7.
5. Run
Jika telah selesai membuat dan mengatur widget yang
digunakan, selanjutnya pilih PLAY.

Gambar 23. Tampilan running program Blynk App

PENTAGO INNOVATECH Page 26


PENGENALAN INTERNET OF THINGS

Modul 1.2. Activation Buzzer


a. Dasar Teori
Buzzzer merupakan salah satu komponen elektronik yang
memiliki kemampuan untuk menghasilkan output berupa suara
tertentu. Secara umum, buzzer digolongkan menjadi dua jenis,
yaitu buzzer aktif dan buzzer pasif. Buzzer aktif akan
menghasilkan suara tertentu, contohnya suara “Beep” hanya
dengan memberikan catu daya pada komponen tersebut. Sedangkan
pada buzzer pasif, akan menghasilkan suara yang lebih
bervariasi jika dibandingkan dengan buzzer aktif, namun
memerlukan keterampilan dalam menggunakannya, yaitu suara
yang dihasilkan berdasarkan pengaturan frekuensi pada catu
daya yang diberikan.
Modul buzzer yang terdapat pada modul IoT ini,
menggunakan buzzer aktif yang akan menghasilkan output bunyi
jika diberi catu daya sebesar 5V, sehingga lebih mudah dalam
penggunaanya. Buzzer yang digunakan telah ditambah dengan
sebuah rangkaian penguat arus, sehingga mampu diintegrasikan
pada nodeMCU yang memiliki tegangan sebesar 3,3v. Modul buzzer
ini bekerja active high, yaitu akan mengeluarkan bunyi saat
pinout DATA pada buzzer diberi logika high. Berikut ini Gambar
24 yang menampilkan modul buzzer yang akan digunakan.

Gambar 24. Modul Buzzer Aktif

Dalam menggunakan modul ini, hubungkan perangkat NodeMCU


sesuai dengan tabel 3 berikut ini.
Tabel 3. Wiring Activation Buzzzer dan NodeMCU

No Pinout Buzzer Pin NodeMCU


1 GND GND
2 VCC VU
3 DATA D0
PENTAGO INNOVATECH Page 27
PENGENALAN INTERNET OF THINGS

b. Program
Buatlah program berikut ini dengan menggunakan Arduino IDE,
kemudian upload program tersebut ke dalam perangkat NodeMCU
yang telah terhubung dengan modul Buzzer sesuai dengan tabel
3.
int BUZZER=16;
void setup() {
// put your setup code here, to run once:
pinMode(BUZZER,OUTPUT);
}

void loop() {
// put your main code here, to run repeatedly:
digitalWrite(BUZZER,LOW);
delay(1000);
digitalWrite(BUZZER,HIGH);
delay(1000);
}

c. Latihan Program
Buatlah sebuah program untuk mengendalikan modul buzzer
melalui aplikasi Blynk!

PENTAGO INNOVATECH Page 28


PENGENALAN INTERNET OF THINGS

Modul 1.3. Activation Relay dan Lampu Pijar


a. Dasar Teori
Untuk mengendalikan berbagai perangkat elektronik di
rumah, biasanya cukup menggunakan perangkat relay sebagai
aktivasi. Relay merupakan sebuah Saklar yang bekerja saat
menerima catu daya tertentu. Relay terdiri dari 2 bagian utama
yakni Elektromagnet (Coil) dan Mekanikal (seperangkat Kontak
Saklar). Relay menggunakan Prinsip Elektromagnetik untuk
menggerakkan kontak saklar, sehingga dengan arus listrik yang
kecil (low power) dapat menghantarkan listrik yang
bertegangan lebih tinggi.

Gambar 25. Modul Relay

Berikut ini blok diagram dari sistem home automation yang


akan dibuat, dengan menggunakan lampu pijar sebagai objek
yang akan dikendalikan melalui IoT sistem.

Gambar 26. Schematic Rangkaian

Berdasarkan Gambar 26, tampak bahwa lampu pijar yang akan


dikendalikan oleh NodeMCU, terhubung pada bagian NO dan COM
dari relay. Berikut ini Tabel 4, yang menunjukkan wiring yang
anda perlu lakukan untuk menghubungkan NodeMCU dan relay.
PENTAGO INNOVATECH Page 29
PENGENALAN INTERNET OF THINGS

Tabel 4. Wiring relay dan NodeMCU


No Pinout Relay Pin NodeMCU Catu Daya
Adaptor
1 GND - GND
2 VCC - +5V
3 DATA D0 -
4 NO Pin1 Lampu -
5 NC Not Connected -
6 COM Pin2 Lampu -

c. Program
Buatlah program berikut ini dengan menggunakan Arduino IDE,
kemudian upload program tersebut ke dalam perangkat NodeMCU
yang telah terhubung dengan modul relay dan lampu pijar sesuai
dengan tabel 4.
int RELAY=16;
void setup() {
// put your setup code here, to run once:
pinMode(RELAY,OUTPUT);
}

void loop() {
// put your main code here, to run repeatedly:
digitalWrite(RELAY,LOW);
delay(1000);
digitalWrite(RELAY,HIGH);
delay(1000);
}

d. Latihan Program
Buatlah sebuah program untuk mengendalikan aktivasi dari
lampu pijar melalui aplikasi Blynk!

PENTAGO INNOVATECH Page 30


PENGENALAN INTERNET OF THINGS

Modul 1.4. DC Motor


a. Dasar Teori
Motor Listrik DC adalah sebuah aktuator yang mengkonversi
energi listrik menjadi energi kinetik atau gerakan. DC Motor
memiliki dua terminal dan memerlukan tegangan arus searah
atau DC (Direct Current) untuk dapat menggerakannya. Aplikasi
dari perangkat ini, diantaranya digunakan pada Vibrator
Ponsel, Kipas DC dan Bor Listrik DC, dll. Proses pengaturan
kecepatan putaran pada motor DC, dilakukan dengan cara
mengatur besar tegangan input, sedangkan arah rotasi diatur
berdasarkan beda potensial yang diberikan pada dua terminal
yang terdapat pada motor DC.
Pada pengendalian kecepatan motor dengan menggunakan
sebuah controller, seperti microcontroller. Proses
pengendalian kecepatan dilakukan dengan mengatur PWM yang
dihasilkan oleh controller. Pada kit IoT ini, motor DC yang
digunakan memiliki spesifikasi Tegangan kerja = 3-6 V DC dan
arus sebesar 0.35 s/d 0.40 A, serta kecepatan rotasi = 17000-
18000 rpm (pada tegangan 3 volt). Berikut ini Gambar 27, yang
memperlihatkan motor DC yang digunakan.

Gambar 27. Motor DC

Berdasarkan Gambar 27, tampak bahwa motor DC memerlukan


sebuah rangkaian tambahan jika akan dikendalikan oleh sebuah
controller. Driver yang digunakan adalah L293D yang memiliki
tegangan kerja 4.5 s/d 36V, dengan output arus sebesar 600mA.
IC ini memiliki 2 buah channel yang dapat digunakan untuk
PENTAGO INNOVATECH Page 31
PENGENALAN INTERNET OF THINGS

mengendalikan sebanyak 2 buah motor DC. Berikut ini Tabel 5,


yang menunjukkan wiring yang anda perlu lakukan untuk
menghubungkan NodeMCU dan relay.
Tabel 5. Wiring Motor DC, L293D dan NodeMCU
Pin Catu Daya
No Pin L293D Motor DC
NodeMCU Adaptor
1 1Y Pin1 -
2 2Y Pin2 -
3 1A - D0
4 2A - D1
5 1-2EN - D2
6 VCC1 - - +5V
7 VCC2 - - +5V
8 GND - - GND
9 GND - - GND

b. Program
Buatlah program berikut ini dengan menggunakan Arduino IDE,
kemudian upload program tersebut ke dalam perangkat NodeMCU
yang telah terhubung dengan modul driver motor DC L293D sesuai
dengan tabel 5.
int A1_MOTOR=16;
int A2_MOTOR=5;
int EN_MOTOR=4;

void setup() {
// put your setup code here, to run once:
pinMode(A1_MOTOR,OUTPUT);
pinMode(A2_MOTOR,OUTPUT);
pinMode(EN_MOTOR,OUTPUT);
}

void loop() {
// put your main code here, to run repeatedly:
digitalWrite(EN_MOTOR,HIGH);
digitalWrite(A1_MOTOR,LOW);
digitalWrite(A2_MOTOR,HIGH);
delay(2000);
digitalWrite(EN_MOTOR,LOW);
digitalWrite(A1_MOTOR,LOW);
digitalWrite(A2_MOTOR,HIGH);
delay(2000);
digitalWrite(EN_MOTOR,HIGH);
digitalWrite(A1_MOTOR,HIGH);
digitalWrite(A2_MOTOR,LOW);
delay(2000);
}

PENTAGO INNOVATECH Page 32


PENGENALAN INTERNET OF THINGS

c. Latihan Program
Buatlah sebuah program untuk mengendalikan arah putar motor
DC serta kecepatan putar motor melalui aplikasi Blynk!

PENTAGO INNOVATECH Page 33


PENGENALAN INTERNET OF THINGS

Modul 1.5. Stepper Motor


a. Dasar Teori
Motor stepper merupakan salah satu jenis motor dc yang
dikendalikan dengan pulsa-pulsa digital. Prinsip kerja dari
motor ini adalah dengan mengubah pulsa elektronis menjadi
gerakan mekanis diskrit. Motor stepper bergerak berdasarkan
urutan pulsa yang diberikan kepada motor stepper tersebut.
Beberapa kelebihan dari motor stepper jika dibandingkan
dengan motor DC biasa adalah :
• Sudut rotasi motor proporsional dengan pulsa masukan
sehingga lebih mudah diatur.
• Motor dapat langsung memberikan torsi penuh pada saat mulai
bergerak
• Posisi dan pergerakan repetisinya dapat ditentukan secara
presisi
• Memiliki respon yang sangat baik terhadap mulai, stop dan
berbalik (perputaran)
• Sangat realibel karena tidak adanya sikat yang bersentuhan
dengan rotor seperti pada motor DC
• Dapat menghasilkan perputaran yang lambat sehingga beban
dapat dikopel langsung ke porosnya
• Frekuensi perputaran dapat ditentukan secara bebas dan
mudah pada range yang luas.
Berikut ini adalah ilustrasi struktur motor stepper
sederhana dan pulasa yang dibutuhkan untuk menggerakkannya :

Gambar 28. Prinsip Kerja Motor Stepper

PENTAGO INNOVATECH Page 34


PENGENALAN INTERNET OF THINGS

Berdasarkan Gambar 28, tampak bahwa putaran pada motor stepper


dihasilkan dari pulsa yang diberikan pada motor. Motor stepper
dibagi menjadi 2 jenis berdasarkan metode perancangan
rangkaian pengendalinya, yaitu motor stepper unipolar dan
motor stepper bipolar.
Rangkaian pengendali pada motor stepper unipolar lebih
mudah dirancang karena hanya memerlukan satu switch/
transistor setiap lilitannya. Pada motor stepper dengan
lilitan bipolar, diperlukan sinyal pulsa yang berubah-ubah
dari positif ke negatif dan sebaliknya. Jadi pada setiap
terminal lilitan harus dihubungkan dengan sinyal yang
mengayun dari positif ke negatif dan sebaliknya. Karena itu
dibutuhkan rangkaian pengendali yang lebih kompleks jika
dibandingkan dengan rangkaian pengendali untuk motor
unipolar.
Pada kit ini digunakan motor stepper jenis unipolar
dengan type motor 28BYJ-48 yang menggunakan tegangan kerja
sebesar 5V. Berikut ini Gambar 29, yang menunjukkan wiring
diagram dari motor stepper yang digunakan.

Gambar 29. Wiring Diagram Motor 28BYJ-48

Proses pengendalian putaran motor stepper 28BYJ-48 dapat


dilakukan dengan menambahkan sebuah rangkaian driver penguat
arus darlington ULN2003. IC ULN2003 memiliki 7 buah channel
penguat, yang maisng-masing channel memiliki output arus
rata-rata sebesar 500mA. Berikut ini Gambar 30, tampak driver
motor stepper yang digunakan.

PENTAGO INNOVATECH Page 35


PENGENALAN INTERNET OF THINGS

Gambar 30. Motor stepper dan driver ULN2003

Berdasarkan Gambar 30, tampak bahwa channel yang


digunakan sebagai driver motor stepper adalah sebanyak 4
channel. Berikut ini tabel 6, yang menunjukkan wiring antara
ini proses pengendalian motor stepper dan NodeMCU
Tabel 6. Wiring Motor Stepper, ULN2003 dan NodeMCU
No Pin ULN2003 Motor Stepper Pin nodeMCU
1 IN1 - D5
2 IN2 - D6
3 IN3 - D7
4 IN4 - D8
5 GND - GND
6 VCC - VU
7 OUT1 Wire blue -
8 OUT2 Wire pink -
9 OUT3 Wire yellow -
10 OUT4 Wire orange -
11 COM Wire red -

Proses pengendalian putaran motor stepper 28BYJ-48 yang


digunakan adalah dengan half step. Berikut ini Tabel 7, yang
menunjukkan proses pengendalian motor stepper dengan cara
half step.
Tabel 7. Proses pengendalian dengan cara Half step
Clockwise Counterclockwise
IN1 IN2 IN3 IN4 IN1 IN2 IN3 IN4
LOW LOW LOW HIGH HIGH LOW LOW LOW
LOW LOW HIGH HIGH HIGH HIGH LOW LOW
LOW LOW HIGH LOW LOW HIGH LOW LOW
LOW HIGH HIGH LOW LOW HIGH HIGH LOW
LOW HIGH LOW LOW LOW LOW HIGH LOW
HIGH HIGH LOW LOW LOW LOW HIGH HIGH
HIGH LOW LOW LOW LOW LOW LOW HIGH
HIGH LOW LOW HIGH HIGH LOW LOW HIGH

PENTAGO INNOVATECH Page 36


PENGENALAN INTERNET OF THINGS

b. Program
Buatlah program berikut ini dengan menggunakan Arduino IDE,
kemudian upload program tersebut ke dalam perangkat NodeMCU
yang telah terhubung dengan modul driver motor stepper sesuai
dengan tabel 6.
int wire1 = 15;
int wire2 = 13;
int wire3 = 12;
int wire4 = 14;

const unsigned short _delay = 1;

void sequence(bool a, bool b, bool c, bool d)


{
digitalWrite(wire1, a);
digitalWrite(wire2, b);
digitalWrite(wire3, c);
digitalWrite(wire4, d);
delay(_delay);
}

void setup() {
// put your setup code here, to run once:
/* set four wires as output */
pinMode(wire1, OUTPUT);
pinMode(wire2, OUTPUT);
pinMode(wire3, OUTPUT);
pinMode(wire4, OUTPUT);
}

void loop() {
// put your main code here, to run repeatedly:
for(int i = 0; i<100; i++)
{
sequence(LOW, LOW, LOW, HIGH);
sequence(LOW, LOW, HIGH, HIGH);
sequence(LOW, LOW, HIGH, LOW);
sequence(LOW, HIGH, HIGH, LOW);
sequence(LOW, HIGH, LOW, LOW);
sequence(HIGH, HIGH, LOW, LOW);
sequence(HIGH, LOW, LOW, LOW);
sequence(HIGH, LOW, LOW, HIGH);
}
sequence(LOW, LOW, LOW, LOW);
delay(500);
}

Setelah anda meng-upload program tersebut, cobalah ganti


nilai delay yang digunakan serta nilai batas akhir pengulangan

PENTAGO INNOVATECH Page 37


PENGENALAN INTERNET OF THINGS

pada variabel i, kemudian simpulkan fungsi dari masing-masing


nilai tersebut.

c. Latihan Program
Buatlah sebuah program untuk mengendalikan arah putar motor
Stepper dengan arah putar yang berlawanan dengan arah jarum!

PENTAGO INNOVATECH Page 38


PENGENALAN INTERNET OF THINGS

Modul 2
Input Digital

NodeMCU memiliki jumlah port input digital sebanyak 10


port. Dalam pemakaian port input digital, NodeMCU mampu
menerima tegangan input digital dengan standar tegangan 3.3V
sebagai logika 1 yang diterimanya. Seluruh pin I/O yang
dimiliki oleh NodeMCU tidak toleran terhadap input 5V,
sehingga anda jangan sekali–kali langsung mencatunya dengan
menggunakan tegangan TTL. Pada penggunaan modul sensor atau
aktuator yang menggunakan catu daya TTL, Anda perlu
menggunakan sebuah Level Logic Converter(converter TTL to
JEDEC) agar NodeMCU dapat digunakan.
Penggunaan perangkat NodeMCU sebagai input Digital,
memiliki dua pilihan setting, yaitu dapat diset untuk
mengaktifkan pull up internal ataupun menonaktifkannya. Di
dalam rangkaian digital dikenal sinyal “high” dan “low”, atau
“1” dan “0”. Sinyal “low” dinyatakan pada saat kondisi 0 volt,
sedangkan “high” pada saat 3,3 volt (pada NodeMCU). Kondisi
tersebut, tidak harus tepat 3,3 volt, tergantung dari
toleransi rangkaian yang digunakan. Berikut ini gambar 31,
yaitu gambar sebuah saklar yang salah satu pinnya terhubung
ke pin input kontroler, dan pin lainnya terhubung ke GND.

Gambar 31. Rangkaian Switch

Saat saklar ditekan, pin input kontroler akan menerima


logic low, sedangkan saat tidak ditekan, pin input kontroler
tidak menerima data apapun (tidak terdefinisi), sehingga

PENTAGO INNOVATECH Page 39


PENGENALAN INTERNET OF THINGS

diperlukan sebuah rangkain pull up ataupun pull down agar


pin input kontroler tetap menerima logic tertentu, pada saat
kondisi saklar tidak ditekan. Untuk membuat rangkaian
tersebut, dapat ditambahkan sebuah resistor yang dirangkai
seperti pada gambar 32 berikut ini.

Gambar 32. Rangkaian pull up dan rangkaian pull down

Pada rangkaian pull up, saat saklar tidak ditekan maka


input pin akan menerima logic high, sedangkan pada rangkaian
pull down, saat saklar tidak ditekan maka input pin akan
menerima logic low. Dengan adanya fitur aktivasi pull up
internal pada NodeMCU, maka saklar yang digunakan tidak perlu
ditambah dengan resistor yang dirangkai seperti pada gambar
32.

PENTAGO INNOVATECH Page 40


PENGENALAN INTERNET OF THINGS

Modul 2.1. Push Button


a. Dasar Teori
Push button adalah sebuah saklar tekan yang berfungsi
sebagai pemutus atau penyambung arus listrik. Dalam keadaan
normal, push button tidak ditekan maka kontak tidak terhubung,
sedangkan jika ditekan maka kontak akan terhubung. Berbagai
macam jenis saklar yang ada, namun pada percobaan ini
digunakan komponen jenis push button seperti pada Gambar 33.

Gambar 33. Komponen Push Button

Push button merupakan salah satu komponen yang bermanfaat


untuk mempelajari input digital pada nodeMCU. Pada percobaan
ini, akan digunakan tiga buah push button yang terdapat pada
keypad modul. Adapun wiring dari push button yang digunakan,
tampak pada tabel 8 berikut ini.

Tabel 8. Wiring Keypad, NodeMCU dan Display LED


Keypad Display LED NodeMCU
CLM1 - D0
CLM2 - D1
CLM3 - D2
ROW1 - GND
- LED1 D3
- LED2 D4
- LED3 D5
- GND GND

Berdasarakan tabel 8, percobaan yang akan dilakukan


adalah dengan melibatkan diplay LED sebagai output datanya.
Penggunaan CLM1, CLM2, CLM3 dan ROW1 adalah untuk mengaktifkan
button 1, button 2 dan button 3 yang terdapat pada keypad.

PENTAGO INNOVATECH Page 41


PENGENALAN INTERNET OF THINGS

Pada kondisi tidak ditekan, NodeMCU tidak menerima logika


apapun dari push button, sedangkan saat ditekan, push button
akan menghubungkan port NodeMCU yang terhubung pada button
dengan GND, atau logika 0. Agar NodeMCU tetap menerima logika
tertentu pada GPIO yang terkoneksi dengan push button, maka
perlu di aktifkan pull up internal yang terdapat pada NodeMCU,
melalui program yang digunakan.

b. Program
Buatlah program berikut ini dengan menggunakan Arduino
IDE, kemudian upload program tersebut ke dalam perangkat Node
MCU yang telah terhubung dengan push button pada modul keypad
serta display LED, sesuai dengan tabel 8.
Int LED1= 16;
int LED2= 5;
int LED3=4;
int BUTTON1=0;
int BUTTON2=2;
int BUTTON3=14;
int button1;
int button2;
int button3;

void setup() {
// put your setup code here, to run once:
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(BUTTON1, INPUT_PULLUP);
pinMode(BUTTON2, INPUT_PULLUP);
pinMode(BUTTON3, INPUT_PULLUP);
}

void loop() {
// put your main code here, to run repeatedly:
button1=digitalRead(BUTTON1);
button2=digitalRead(BUTTON2);
button3=digitalRead(BUTTON3);
if (button1==0)
{
digitalWrite(LED1, HIGH);
delay(1);
}
else
{
digitalWrite(LED1, LOW);
delay(1);

PENTAGO INNOVATECH Page 42


PENGENALAN INTERNET OF THINGS

};

if (button2==0)
{
digitalWrite(LED2,HIGH);
delay(1);
}
else
{
digitalWrite(LED2, LOW);
delay(1);
};

if (button3==0)
{
digitalWrite(LED3, HIGH);
delay(1);
}
else
{
digitalWrite(LED3,LOW);
delay(1);
};
}
Tekanlah satu persatu button 1, button 2 serta button 3 pada
keypad. Amatilah yang terjadi pada display LED yang digunakan.

PENTAGO INNOVATECH Page 43


PENGENALAN INTERNET OF THINGS

Modul 2.2. Line Sensor


a. Dasar Teori
Line Sensor merupakan sebuah sensor yang terdiri dari dua
bagian, yaitu bagian transmitter serta bagian receiver.
Terdapat beberapa jenis sensor yang biasa digunakan untuk
mendeteksi garis. Pada kit ini, line sensor yang digunakan
adalah dengan memanfaatkan sinar infrared yang dihasilkan
oleh LED infrared. Komponen LED infrared berfungsi sebagai
transmitter yaitu menghasilkan sinar infrared, sedangkan pada
bagian receiver, digunakan komponen photodiode.
Sistem kerja dari sensor ini adalah dengan memanfaatkan
refleksi cahaya yang dihasilkan pada saat terdapat sebuah
objek yang mendekati transmitter sensor. Jika refleksi cahaya
tersebut tepat diterima oleh bagian receiver, sehingga
mengakibatkan receiver akan aktif dan menghasilkan output
data dengan logika 0, sedangkan pada saat receiver tidak
menerima data dari transmitter, maka akan menghasilkan output
data dengan logika 1. Berikut ini Gambar 34, Line sensor
module yang akan digunakan dalam percobaan.

Gambar 34. Line Sensor Module

Berdasarkan gambar 34, tampak bahwa Line sensor module yang


digunakan terdiri atas 3 pin, yaitu VCC dan GND sebagai catu
daya serta DATA sebagai output yang menghasilkan logika 0
atau 1. Pada percobaan ini, rangkailah vibration sensor dengan
NodeMCU seperti pada tabel 9.
Tabel 9. Wiring Vibration Sensor Module dan NodeMCU
No Line Sensor Pin NodeMCU
1 DATA D0
2 VCC 3V
3 GND GND

PENTAGO INNOVATECH Page 44


PENGENALAN INTERNET OF THINGS

b. Program
Buatlah program berikut ini dengan menggunakan Arduino
IDE, kemudian upload program tersebut ke dalam perangkat
NodeMCU yang telah terhubung dengan line sensor modul sesuai
dengan tabel 9.
int SENSOR=16;
int Data_Sensor;

void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(SENSOR, INPUT);
}

void loop() {
// put your main code here, to run repeatedly:
Data_Sensor=digitalRead(SENSOR);
if (Data_Sensor==0)
{
Serial.println("Deteksi Objek");
delay(1);
}
else
{
Serial.println("No Objek");
delay(1);
};
}
Setelah program tersebut anda upload, selanjutnya bukalah
serial terminal pada Arduino IDE anda, dengan cara pilih menu
Tool>Serial Monitor. Pilihlah baudrate 115200 pada serial
monitor yang telah dibuka, sesuai dengan baudrate yang
digunakan pada program yang digunakan. Berikut ini gambar 35,
yang menampilkan serial terminal yang akan digunakan untuk
menampilkan output data yang dihasilkan dari sensor yang
digunakan.

PENTAGO INNOVATECH Page 45


PENGENALAN INTERNET OF THINGS

Gambar 35. Serial Terminal Arduino IDE

c. Latihan Program
Buatlah sebuah program sistem counter antrian, dimana
digunakan line sensor sebagai sensor untuk menghitung
jumlah antriannya, serta motor DC digunakan sebagai gerbang
pintu masuknya, yang akan aktif berputar selama 2 detik,
setiap terdeteksi antrian baru. Jumlah antrian masuk yang
ditampilkan terdapat pada tampulan serial terminal Arduino
IDE.

PENTAGO INNOVATECH Page 46


PENGENALAN INTERNET OF THINGS

Modul 2.3. Scanning Keypad


a. Dasar Teori
Keypad merupakan komponen elektronik yang biasa digunakan
sebagai input. Komponen ini disusun dari beberapa saklar yang
dirangkai dengan menggunakan teknik matrix. Teknik matrix
dapat dikatakan sebagai array, yaitu memiliki kolom dan baris
lebih dari satu. Berikut ini Gambar 36, yang menampilkan
ilusrasi dari sistem matrix pada sejumlah komponen saklar
yang dirangkai menjadi sebuah keypad.

Gambar 36. Matrix Keypad 3x4

Berdasarkan Gambar 36, tampak ilustrasi dari keypad


dengan matrix 3x4. Pada gambar tersebut, diketahui bahwa
jumlah kolom yang dimiliki adalah 3 dan 4 buah baris. Proses
pemakaian keypad memiliki beberapa cara, diantaranya dapat
menggunakan teknik membaca nilai ADC serta teknik scanning
keypad. Pada percobaan ini akan dilakukan percobaan pemakaian
keypad dengan menggunakan teknik scanning.
Pada penggunaan teknik scanning, dilakukan proses
pembacaan input digital oleh NodeMCU. Pinout GPIO NodeMCU
yang terkoneksi pada kolom keypad diset sebagai output digital
sedangkan pinout yang terkoneksi pada bagian baris (row)
keypad diset menjadi input digital dengan menggunakan pullup
internal. Hal ini dapat dilakukan juga secara berlawanan,
yaitu bagian kolom menjadi input digital dan bagian baris
menjadi output digital.

PENTAGO INNOVATECH Page 47


PENGENALAN INTERNET OF THINGS

Setelah kedua bagian (baris dan kolom keypad) tersebut


diset berbeda, selanjutnya dilakukan proses scanning, yaitu
bagian yang berfungsi sebagai output akan melakukan perubahan
logic dari 1 menjadi 0, dan dilakukan secara bergeser dari
kolom/baris terkecil sampai ke kolom/baris terbesar. Proses
tersebut dilakukan secara terus-menerus, dengan delay waktu
yang sangat singkat sehingga seolah-olah seluruh kolom/baris
yang menjadi output berlogika 0. Pada bagian input baris/kolom
dilakukan proses scanning pengecekan, yaitu jika terdapat
push button yang ditekan, dan menerima logika 0 dari proses
tersebut. Berikut ini gambar 37, tampak keypad yang anda
gunakan.

Gambar 37. Keypad 3x4 Module

Untuk menggunakan keypad pada gambar 37, dilakukan proses


wiring antara keypad dan NodeMCU. Berikut ini tabel 10, yang
menampilkan wiring antara keypad dan NodeMCU yang akan
dilakukan pada percobaan ini.

Tabel 10. Wiring Keypad 3x4 dan NodeMCU


No Keypad 3x4 Pin NodeMCU
1 CLM1 D0
2 CLM2 D1
3 CLM3 D2
4 ROW1 D3
5 ROW2 D4
6 ROW3 D5
7 ROW4 D6

PENTAGO INNOVATECH Page 48


PENGENALAN INTERNET OF THINGS

b. Program
Buatlah program berikut ini dengan menggunakan Arduino
IDE, kemudian upload program tersebut ke dalam perangkat
NodeMCU yang telah terhubung dengan keypad 3x4 sesuai dengan
tabel 10.
int CLM1=16;
int CLM2=5;
int CLM3=4;
int ROW1=0;
int ROW2=2;
int ROW3=14;
int ROW4=12;
int BARIS1,BARIS2,BARIS3,BARIS4;

void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(CLM1, OUTPUT);
pinMode(CLM2, OUTPUT);
pinMode(CLM3, OUTPUT);
pinMode(ROW1, INPUT);
pinMode(ROW2, INPUT);
pinMode(ROW3, INPUT);
pinMode(ROW4, INPUT);
}

void loop() {
// put your main code here, to run repeatedly:
digitalWrite(CLM1, LOW);
digitalWrite(CLM2, HIGH);
digitalWrite(CLM3, HIGH);
BARIS1=digitalRead(ROW1);
BARIS2=digitalRead(ROW2);
BARIS3=digitalRead(ROW3);
BARIS4=digitalRead(ROW4);
if (BARIS1==0)

PENTAGO INNOVATECH Page 49


PENGENALAN INTERNET OF THINGS

{Serial.println("1");delay(500);};
if (BARIS2==0)
{Serial.println("4");delay(500);};
if (BARIS3==0)
{Serial.println("7");delay(500);};
if (BARIS4==0)
{Serial.println("*");delay(500);};
delay(1);
digitalWrite(CLM1, HIGH);
digitalWrite(CLM2, LOW);
digitalWrite(CLM3, HIGH);
BARIS1=digitalRead(ROW1);
BARIS2=digitalRead(ROW2);
BARIS3=digitalRead(ROW3);
BARIS4=digitalRead(ROW4);
if (BARIS1==0)
{Serial.println("2");delay(500);};
if (BARIS2==0)
{Serial.println("5");delay(500);};
if (BARIS3==0)
{Serial.println("8");delay(500);};
if (BARIS4==0)
{Serial.println("0");delay(500);};
delay(1);
digitalWrite(CLM1, HIGH);
digitalWrite(CLM2, HIGH);
digitalWrite(CLM3, LOW);
BARIS1=digitalRead(ROW1);
BARIS2=digitalRead(ROW2);
BARIS3=digitalRead(ROW3);
BARIS4=digitalRead(ROW4);
if (BARIS1==0)
{Serial.println("3");delay(500);};
if (BARIS2==0)
{Serial.println("6");delay(500);};
if (BARIS3==0)
{Serial.println("9");delay(500);};

PENTAGO INNOVATECH Page 50


PENGENALAN INTERNET OF THINGS

if (BARIS4==0)
{Serial.println("#");delay(500);};
delay(1);
}
Setelah program tersebut anda upload, bukalah serial
terminal dan set baudrate yang digunakan sesuai dengan yang
terdapat pada program. Tekanlah salah satu pushbutton,
kemudian perhatikanlah keluaran tampilan pada serial monitor
yang digunakan.

c. Latihan Program
Buatlah sebuah program input username dan password dengan
menggunakan keypad 3x4.

PENTAGO INNOVATECH Page 51


PENGENALAN INTERNET OF THINGS

Modul 3
Input Analog

Perangkat NodeMCU saat ini telah dilengkapi dengan fitur


analog port yang mampu membaca nilai tegangan dengan range
tegangan 0 s/d 3,3 volt. Port tersebut hanya terdapat 1 buah,
yaitu pada pin A0. Pembacaan tegangan analog yang dilakukan
oleh port analog NodeMCU akan dikonversikan dalam bentuk data
digital 10 bit, yaitu ditampilkan dalam nilai desimal antara
0 s/d 1023.
Pada pemakaian analog port yang terkoneksi lebih dari
satu perangkat sensor sebagai inputnya, maka diperlukan
sebuah rangkaian tambahan. Rangkaian yang diperlukan agar
NodeMCU mampu membaca lebih dari satu perangkat sensor analog,
yaitu dengan rangkaian multiplexer. Proses pengaturan saluran
data dengan menggunakan rangkaian tersebut, adalah melalui
digital output NodeMCU.

PENTAGO INNOVATECH Page 52


PENGENALAN INTERNET OF THINGS

Modul 3.1. Sliding Potensiometer


a. Dasar Teori
Variabel resistor adalah komponen resistor yang nilai
resistansinya dapat disesuaikan nilai resistansinya, dengan
cara digeser ataupun diputar. Banyak jenis variabel resistor
yang terdapat di pasaran saat ini dengan beragam bentuk,
diantaranya potensiometer, trimpot, sliding potensiometer,
dll. Resistor variabel sangat cocok digunakan untuk
mempelajari dasar input analog pada sebuah kontroler apapun,
terutama pada percobaan ini digunakan NodeMCU sebagai
kontroler. Berikut ini gambar 38, tampak sliding
potensiometer yang akan gunakan.

Gambar 38. Sliding Potensiometer Module

Untuk menggunakan sliding potensiometer pada gambar 38,


dilakukan proses wiring antara keypad dan NodeMCU. Berikut
ini tabel 11, yang menampilkan wiring antara sliding
potensiometer dan NodeMCU yang akan dilakukan pada percobaan
ini.

Tabel 11. Wiring Sliding Potensiometer dan NodeMCU


Sliding
No Pin NodeMCU
Potensiometer
1 VCC VU
2 GND GND
3 DATA A0

b. Program
Buatlah program berikut ini dengan menggunakan Arduino IDE,
kemudian upload program tersebut ke dalam perangkat NodeMCU
yang telah terhubung dengan sliding potensiometer sesuai
dengan tabel 11.

PENTAGO INNOVATECH Page 53


PENGENALAN INTERNET OF THINGS

int Potensiometer=A0;
int Data_Sensor;
void setup() {
// put your setup code here, to run once:
pinMode(Potensiometer, INPUT);
Serial.begin(115200);
}
void loop() {
// put your main code here, to run repeatedly:
Data_Sensor=analogRead(Potensiometer);
Serial.println(Data_Sensor);
}

Setelah program tersebut anda upload, bukalah serial


terminal. Geserlah tuas yang terdapat pada potensiometer,
kemudian perhatikanlah keluaran tampilan pada serial monitor
yang digunakan.

c. Latihan Program
Buatlah sebuah program pada Arduino Ide dan aplikasi Blynk
yang memungkinkan data analog dari komponen sliding
potensiometer yang digunakan mampu ditampilkan pada
aplikasi Blynk.

PENTAGO INNOVATECH Page 54


PENGENALAN INTERNET OF THINGS

Modul 3.2. LDR Light Sensor


a. Dasar Teori
Light Dependent Resistor atau disingkat dengan LDR adalah
jenis Resistor yang nilai hambatan atau nilai resistansinya
dipengaruhi oleh intensitas cahaya yang diterimanya. Nilai
Hambatan LDR akan menurun pada saat cahaya terang dan nilai
Hambatannya akan menjadi tinggi jika dalam kondisi gelap.
Naik turunnya nilai Hambatan akan sebanding dengan jumlah
cahaya yang diterimanya. Pada umumnya, Nilai Hambatan LDR
akan mencapai 200 Kilo Ohm (kΩ) pada kondisi gelap dan menurun
menjadi 500 Ohm (Ω) pada Kondisi Cahaya Terang.
LDR (Light Dependent Resistor) yang merupakan Komponen
Elektronika peka cahaya ini sering digunakan atau
diaplikasikan dalam Rangkaian Elektronika sebagai sensor pada
Lampu Penerang Jalan, Lampu Kamar Tidur, Rangkaian Anti
Maling, Shutter Kamera, Alarm dan lain sebagainya. Pada
percobaan ini, akan digunakan LDR module seperti tampak pada
gambar 39 berikut ini.

Gambar 39. LDR Sensor Module

Berdasarkan gambar 39, tampak bahwa pada module tersebut


terdapat pin D0 dan A0. Fungsi dari pinout D0 yaitu sebagai
output digital, yaitu LDR sensor module akan mengeluarkan
logika 1 (LED indikator tidak aktif) pada saat kondisi gelap,
dan akan mengeluarkan logika 0 (LED indikator aktif) pada
saat kondisi terang. Pinout A0 berfungsi sebagai output
analog, yaitu LDR sensor akan mengeluarkan tegangan sesuai
PENTAGO INNOVATECH Page 55
PENGENALAN INTERNET OF THINGS

dengan intensitas cahaya yang diterimanya, dengan range ouput


tegangan yang dihasilkan antara 0 s/d 5V.
Pada percobaan ini, akan digunakan LDR sensor module
dengan output berupa data analog yang digunakan. Berikut
adalah tabel 12 yang digunakan sebagai wiring antara LDR
sensor module dan NodeMCU.

Tabel 12. Wiring LDR sensor module dan NodeMCU


No LDR Sensor Pin NodeMCU
1 VCC VU
2 GND GND
3 D0 -
4 A0 A0

b. Program
Buatlah program berikut ini dengan menggunakan Arduino IDE,
kemudian upload program tersebut ke dalam perangkat NodeMCU
yang telah terhubung dengan LDR sensor module sesuai dengan
tabel 12.
int LDR=A0;
int Data_Sensor;
void setup() {
// put your setup code here, to run once:
pinMode(LDR, INPUT);
Serial.begin(115200);
}

void loop() {
// put your main code here, to run repeatedly:
Data_Sensor=analogRead(LDR);
Serial.println(Data_Sensor);
}

Setelah program tersebut anda upload, bukalah serial


terminal. Arahkan bagian sensor LDR yang digunakan pada sumber
cahaya, kemudian hindari sumber cahaya tersebut.
perhatikanlah keluaran tampilan pada serial monitor yang
PENTAGO INNOVATECH Page 56
PENGENALAN INTERNET OF THINGS

digunakan saat perubahan intensitas cahaya yang dilakukan


tersebut pada LDR sensor.

c. Latihan Program
Buatlah sebuah program “Lampu Cerdas”, yaitu saat kondisi
ruangan gelap, lampu akan menyala dan jika kondisi ruangan
terang, lampu tidak aktif.

PENTAGO INNOVATECH Page 57


PENGENALAN INTERNET OF THINGS

Modul 3.3. Flame Sensor


a. Dasar Teori
Flame sensor merupakan sebuah sensor yang berfungsi
mendeteksi api. Sensor ini digunakan untuk mendeteksi
keberadaan api, bukan panas. Prinsip kerja dari flame sensor
adalah mendeteksi api berdasarkan spectrum cahaya infra red
maupun ultraviolet yang terdapat pada cahaya api.
Terdapat beberapa jenis sensor yang digunakan untuk
mendeteksi api, namun pada modul yang akan digunakan pada
percobaan ini adalah dengan menggunakan photodiode sebagai
sensornya. Photodiode digunakan sebagai sensor deteksi api,
dikarenakan kemampuannya yang mampu mendeteksi frekuensi
tertentu, seperti ultraviolet serta infrared. Berikut ini
gambar 40, yaitu flame sensor module yang akan digunakan pada
percobaan.

Gambar 40. Flame Sensor Module

Berdasarkan gambar 40, tampak bahwa sensor yang digunakan


memiliki dua buah pin data, yaitu D0 jika output data yang
akan digunakan berupa data digital dan A0 jika output data
yang akan digunakan berupa data analog. Pada percobaan ini,
akan digunakan pin A0 yang akan terhubung pada perangkat
NodeMCU.

Tabel 13. Wiring flame sensor module dan NodeMCU


No Flame Sensor Pin NodeMCU
1 VCC VU
2 GND GND
3 D0 -
4 A0 A0

PENTAGO INNOVATECH Page 58


PENGENALAN INTERNET OF THINGS

b. Program
Buatlah program berikut ini dengan menggunakan Arduino
IDE, kemudian upload program tersebut ke dalam perangkat
NodeMCU yang telah terhubung dengan flame sensor module sesuai
dengan tabel 13.
int Flame=A0;
int Data_Sensor;
void setup() {
// put your setup code here, to run once:
pinMode(Flame, INPUT);
Serial.begin(115200);
}

void loop() {
// put your main code here, to run repeatedly:
Data_Sensor=analogRead(Flame);
Serial.println(Data_Sensor);
}

Setelah program tersebut anda upload, bukalah serial


terminal. Arahkan bagian sensor yang digunakan pada api,
kemudian hindari sumber cahaya tersebut. perhatikanlah
keluaran tampilan pada serial monitor yang digunakan saat
perubahan jarak terhadap sumber api tersebut.

c. Latihan Program
Buatlah sebuah program alarm pendeteksi kebakaran dengan
menggunakan aplikasi blynk dan komponen buzzer sebagai
tampilan outputnya

PENTAGO INNOVATECH Page 59


PENGENALAN INTERNET OF THINGS

Modul 4
Inter Integrated Circuit(I2C) Protocol

Perangkat NodeMCU memiliki berbagai fungsi pada setiap


pinnya, jika di bandingkan dengan versi pertamanya yang hanya
dilengkapi oleh 2 buah pin GPIO, maka pada saat ini perangkat
NodeMCU telah berkembang. Salah satu pengembangan dari
perangkat ini adalah telah tersedianya protokol komunikasi
inter integrated circuit (I2C) pada salah satu pin. I2C
merupakan salah satu jenis protokol yang saat ini banyak
digunakan sebagai protokol komunikasi data antar device. Hal
ini di sebabkan oleh kemudahan yang diberikan, yaitu hanya
memerlukan 2 buah pin data, SDA dan SCL.

Perangkat NodeMCU yang digunakan saat ini adalah dengan


menggunakan chip ESP12. Berdasarkan datasheet ESP12,
komunikasi I2C yang terdapat pada ESP12 adalah pada GPIO14
sebagai SCL dan GPIO2 sebagai SDA. Namun dalam
pengaplikasiannya dari protokol ini, dengan menggunakan
Arduino IDE, pin SDA dan SCL yang digunakan tidak lagi pada
GPIO14 dan GPIO2.

PENTAGO INNOVATECH Page 60


PENGENALAN INTERNET OF THINGS

Modul 4.1. LCD DISPLAY I2C


a. Dasar Teori
Saat ini terdapat beberapa pilihan LCD Display yang dapat
digunakan, diantaranya LCD karakter, LCD grafik, LCD TFT, LCD
OLED, dll. Pada umumnya, pemakaian LCD display digunakan
sebagai perangkat output yang mampu menampilkan data dari
sebuah atau beberapa input sensor yang terkoneksi pada sebuah
mikrokontroler.
Pada percobaan ini akan digunakan sebuah LCD karakter
dengan kemampuan menampilkan data karakter sebanyak 16x02,
yaitu 16 kolom dan 2 baris. Pemakaian LCD karakter pada
umumnya memerlukan 7 buah pin I/O yang terkoneksi pada
perangkat mikrokontroler, sehingga cukup menghabiskan I/O
port mikrokontroler yang jumlahnya terbatas. Namun saat ini
terdapat sebuah IC yang memiliki fungsi untuk mengkonversikan
data pada LCD karakter menjadi bentuk data I2C, sehingga mampu
mengurangi jumlah I/O port yang terhubung pada mikrokontroler
dari 7 buah pin menjadi 2 buah pin. Pada percobaan ini akan
digunakan IC tersebut untuk mengakses dan menampilkan display
LCD karakter. Berikut ini gambar dari LCD karakter yang
digunakan.

Gambar 41. Display LCD Karakter 1602 menggunakan I2C

Berdasarkan Gambar 41, tampak bahwa dalam penggunaan LCD


ini cukup menggunakan 2 buah pin data, serta pin catu daya
(VCC dan GND). Berikut ini tabel 14, yang menampilkan wiring
antara NodeMCU dengan display LCD yang digunakan.

PENTAGO INNOVATECH Page 61


PENGENALAN INTERNET OF THINGS

Gambar 14. Wiring NodeMCU dengan LCD I2C


No LCD I2C Pin NodeMCU
1 VCC VU
2 GND GND
3 D1 SCL
4 D2 SDA

b. Program
Buatlah program berikut ini dengan menggunakan Arduino IDE,
kemudian upload program tersebut ke dalam perangkat NodeMCU
yang telah terhubung dengan display LCD sesuai dengan tabel
14.
#include <LiquidCrystal_I2C.h>
// Ganti 0x3F sesuai dengan alamat I2C modul kalian
// Jika tidak tahu dapat menggunakan LCD I2C Scanner
LiquidCrystal_I2C lcd(0x3F, 16, 2);

void setup() {
// jumlah kolom dan baris sesuai dengan LCD yang digunakan
lcd.begin(16,2);
lcd.init();
// Nyalakan backlight
lcd.backlight();
// Pindahkan kursor ke kolom 0 dan baris 0
lcd.setCursor(0, 0);
lcd.print("HELLO WORLD!");
// Pindahkan kursor ke baris berikutnya dan cetak lagi
lcd.setCursor(0, 1);
lcd.print("TES LCD I2C");
}

void loop() {
//Kode loop silahkan disesuaikan
//...

PENTAGO INNOVATECH Page 62


PENGENALAN INTERNET OF THINGS

Jika setelah proses upload dilakukan,tetap tidak tampak


tulisan pada LCD yang digunakan. Cek kembali alamat I2C yang
digunakan, dengan meng-upload program cek alamat berikut ini.
#include <Wire.h>

void setup()
{
Wire.begin();
Serial.begin(115200);
}

void loop()
{
byte error, address;
int nDevices;
Serial.println("Memindai...");
nDevices = 0;
for(address = 1; address < 127; address++ )
{
Wire.beginTransmission(address);
error = Wire.endTransmission();

if (error == 0)
{
Serial.print("I2C terbaca pada alamat 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");
nDevices++;
}
else if (error==4)
{
Serial.print("Ada error yang tidak diketahui pada alamat
0x");
if (address<16)
Serial.print("0");

PENTAGO INNOVATECH Page 63


PENGENALAN INTERNET OF THINGS

Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println("Tidak ada satupun alamat I2C yang
ditemukan\n");
else
Serial.println("selesai\n");

delay(5000);
}
Setelah proses upload dilakukan, bukalah serial monitor
yang digunakan. Gantilah alamat I2C yang digunakan pada
program LCD sesuai dengan hasil pengecekan alamat yang telah
dilakukan.

c. Latihan Program
Buatlah sebuah program input username dan password dengan
menggunakan keypad 3x4. Tampilkan data tersebut melalui
display LCD.

PENTAGO INNOVATECH Page 64

Anda mungkin juga menyukai