Modul Arduino Uno SMK NEGERI 7 SAROLANGUN
Modul Arduino Uno SMK NEGERI 7 SAROLANGUN
ESP82866
NodeMCU pada dasarnya adalah pengembangan dari ESP 8266 dengan firmware berbasis e-
Lua. Pada NodeMcu dilengkapi dengan micro usb port yang berfungsi untuk pemorgaman
maupun power supply. Selain itu juga pada NodeMCU di lengkapi dengan tombol push button
yaitu tombol reset dan flash. NodeMCU menggunakan bahasa pemorgamanan Lua yang
merupakan package dari esp8266. Bahasa Lua memiliki logika dan susunan pemorgaman yang
sama dengan c hanya berbeda syntax. Jika menggunakan bahasa Lua maka dapat menggunakan
tool Lua loader maupun Lua uploder.
Selain dengan bahasa Lua NodeMCU juga support dengan sofware Arduino IDE dengan
melakukan sedikit perubahan board manager pada Arduino IDE.
Sebelum digunakan Board ini harus di Flash terlebih dahulu agar support terhadap tool yang
akan digunakan. Jika menggunakan Arduino IDE menggunakan firmware yang cocok yaitu
firmware keluaran dari Ai-Thinker yang support AT Command. Untuk penggunaan tool loader
Firmware yang di gunakan adalah firmware NodeMCU.
Dalam Modul IOT ini kita akan menggunakan board Arduino Uno dan NodeMcu v3
(Gambar 1.2 dan Gambar 2.1). Board Arduino dan NodeMcu v3 terdiri dari hardware / modul
mikrokontroller yang siap pakai dan software IDE yang digunakan untuk memprogram sehingga
kita bisa belajar dengan mudah. Kelebihan dari Arduino yaitu kita tidak direpotkan dengan
rangkaian minimum sistem dan programmer karena sudah built in dalam satu board. Oleh sebab
itu kita bisa fokus ke pengembangan sistem.
Untuk praktek, kita akan menggunakan project board (ada yang menyebutnya dengan istilah bread
board) dan beberapa kabel jumper untuk menghubungkan antara komponen dan Arduino (Gambar
2.3). Dengan project board kita tidak perlu menyolder rangkaian sehingga relatif mudah dan cepat
dalam merangkai. Project board memungkinkan kita untuk membangun dan membongkar
rangkaian dengan cepat 3 sehingga sangat cocok untuk eksperimen. Tapi jika kita ingin membuat
rangkaian yang permanen, maka kita harus menggunakan PCB.
Yang terpenting adalah, kita harus memahami jalur-jalur pada project board. Project board terdiri
dari jalur vertikal dan jalur horisontal. Jalur vertikal ada di bagian tengah yang terdiri dari 2 x 64
jalur. Masing-masing jalur terdiri dari 5 titik vertikal, misal jalur 1A-1B-1C-1D-1E dan jalur 1F-
1G-1H-1I-1J yang kedua tidak saling tersambung. Jalur horisontal sebanyak 8 jalur, 4 jalur ada di
bagian atas dan 4 jalur lagi di bagian bawah. Jalur ini bisa digunakan untuk power supply (VCC
PRKATIK
A. Instalasi Arduino IDE
1. Menuju website arduino untuk mendownload File Software Arduino IDE untuk
Windows https://www.arduino.cc/en/Main/Software
10
5. pastikan koneksi internet tersedia karena untuk mendownload dan install paket yang
dibutuhkan, jika sudah maka akan muncul tulisan Installed pada esp8266
11
12
8. Jika berhasil maka akan muncul tulisan Done Uploading dan papan NodeMCU akan
berkedip tiap detik sesuai kode example blink
13
Verify : pada versi sebelumnya dikenal dengan istilah Compile. Sebelum aplikasi diupload
ke board Arduino, biasakan untuk memverifikasi terlebih dahulu sketch yang dibuat. Jika
ada kesalahan pada sketch, nanti akan muncul error. Proses Verify / Compile mengubah
sketch ke binary code untuk diupload ke mikrokontroller.
Upload : tombol ini berfungsi untuk mengupload sketch ke board Arduino. Walaupun kita
tidak mengklik tombol verify, maka sketch akan di-compile, kemudian langsung diupload
ke board. Berbeda dengan tombol verify yang hanya berfungsi untuk memverifikasi source
code saja.
New Sketch : Membuka window dan membuat sketch baru.
Open Sketch : Membuka sketch yang sudah pernah dibuat. Sketch yang dibuat dengan IDE
Arduino akan disimpan dengan ekstensi file .ino
Save Sketch : menyimpan sketch, tapi tidak disertai mengcompile.
Serial Monitor : Membuka interface untuk komunikasi serial.
14
board Arduino.
15
Secara umum, ada tiga tahapan yang harus kamu lakukan hingga program atau sketch-mu
bisa dijalankan di Arduino. Tahapan tersebut antara lain:
Menulis program
Meng-compile program
Meng-upload program
Singkatnya, suatu program bisa dijalankan pada papan sirkuit Arduino ketika telah selesai
ditulis, di-compile, dan di-upload ke papan Arduino dengan menggunakan software
Arduino IDE.
Karakteristik penulisan kode program Arduino sangatlah sederhana. Hanya terdiri atas dua fungsi
utama, yaitu void setup() dan void loop(). Perlu kamu ketahui bahwa fungsi void pada Arduino itu
untuk mendeklarasikan.
void setup( )
{
pernyataan;
}
void loop( )
{
pernyataan;
}
16
Jadi, pastikan untuk menulis kedua fungsi tersebut meskipun salah satunya tak digunakan atau
tak memiliki pernyataan di dalamnya. Mari kita bahas lebih dalam tentang perbedaan fungsi void
setup() dan void loop() pada pemrograman Arduino.
1. Void Setup()
Fungsi void setup pada Arduino adalah sebagai bentuk inisialisasi atau pengenalan dalam program
Arduino dan hanya dieksekusi sekali sejak program dijalankan. Umumnya fungsi ini digunakan
untuk pendefinisian mode pin atau memulai komunikasi serial. Perhatikan contoh fungsi void
setup di bawah ini:
void setup()
{
pinMode(12,OUTPUT);
}
Keterangan :
Dalam perintah tersebut terdapat pernyataan atau statement yang berisi penginisialisasian pin 12
sebagai pin output atau keluaran
2. Void Loop()
Setelah void setup() dijalankan, selanjutnya program akan menjalankan fungsi void loop().
Fungsi ini akan dieksekusi terus-menerus secara berurutan hingga program berhenti dijalankan.
Silahkan lihat contoh fungsi void loop() di bawah ini:
void loop()
{
digitalWrite(13, HIGH);
delay(1000);
}
Untuk beberapa kasus pemrograman yang kompleks, terkadang programmer juga menambahkan
void baru untuk mempermudah pemrograman.
Jadi void baru ini nantinya bisa diletakkan setelah atau sebelum void loop().
17
void loop() {
void Tambahan() {
B. Syntax Arduino
Secara umum, syntax atau sintaks dikenal sebagai seperangkat aturan tata bahasa pada kata
atau klausa dalam membentuk kalimat.Sedangkan dalam bahasa pemrograman, sintaks diartikan
sebagai suatu aturan dalam penulisan kode program agar kode tersebut bisa dimengerti komputer.
Sintaks dalam Arduino bisa juga disebut sebagai aturan karakteristik penulisan kode program
Arduino.
18
Untuk mendeklarasikan nomor pin yang digunakan bisa ditulis dengan format sebagai
berikut:
#define ledPin 3
Keterangan:
ledPin = variabel yang digunakan
3 = nilai(value) atau pin yang sedang digunakan
4. #include
Fungsi include pada Arduino yaitu untuk memasukkan library ke dalam sketch. Dimana
fungsi library Arduino sendiri adalah memudahkan pengguna dalam melakukan
pengodingan.
Cara penggunaan sintaks sangat mudah. Kamu hanya perlu menambahkan nama library
yang ingin di-import ke program di belakang sintaks tersebut. Contohnya seperti di bawah
ini:
#include <OneWire.h>
5. Komentar
Apabila kamu bertanya bagaimana cara untuk memberikan catatan pada program yang kita
buat di Arduino IDE? Maka jawabannya, kamu bisa menggunakan sintaks komentar.
Sintaks komentar pada program Arduino adalah sintaks yang berfungsi menambah
keterangan pada program yang dibuat. Sehingga kata atau kalimat yang diberi sintaks
komentar tak akan terbaca oleh compiler. Setidaknya ada dua macam sintaks komentar
yang perlu kamu tahu, yaitu:
a. Sintaks komentar satu baris
Untuk membuat komentar yang hanya menggunakan satu baris saja, kamu bisa
menggunakan sintaks garis miring dua kali “//”. Contoh penggunaan sintaksnya seperti
ini.
// isi komentar
19
Berikut ini adalah tabel jenis tipe data pada Arduino yang sering digunakan.
Misalkan kamu ingin mendeklarasikan suatu variabel bernama “cobaCoba” dengan tipe data
integer dan menggunakan pin 5. Maka penulisan perintahnya seperti ini:
int Smkiot = 5;
Jadi, fungsi int pada Arduino IDE yang letaknya di awal variabel adalah untuk mendeklarasikan
bahwa variabel tersebut bertipe data integer.
D. Variabel Arduino
Variabel dalam bahasa program Arduino bisa didefinisikan sebagai suatu wadah untuk
menyimpan atau menampung data.Kita dibebaskan memilih nama variabel yang diinginkan,
asalkan sesuai dengan ketentuan berikut:
Tidak menggunakan spasi
Maksimal 32 karakter
20
Sebagai contoh, misalkan kamu ingin mendefinisikan nilai pin 2 dengan variabel “ganteng” dan
menggunakan tipe data integer. Maka contoh penulisannya yaitu:
int Tkj = 2;
2. HIGH/LOW
Variabel konstan HIGH dan LOW umumnya digunakan untuk menentukan kondisi pin saat
membaca dan menulis data di pin digital.
Bila ada yang bertanya tentang pengertian HIGH dan LOW pada Arduino? Kira-kira
penjelasan seperti ini:
HIGH didefinisikan sebagai 1, ON, 5 volt, atau menyala. Sedangkan LOW
didefinisikan sebagai 0, OFF, 0 volt, atau padam.
Sehingga dapat dikatakan bahwa perintah untuk menyalakan/memberikan sinyal ON pada
program Arduino adalah HIGH.
Sedangkan perintah untuk memberikan sinyal OFF pada program Arduino adalah FALSE.
Contoh penulisannya seperti ini :
21
3. INPUT/OUTPUT
Variabel konstan ini sering digunakan pada fungsi pinMode() untuk mendefinisikan pin
digital. Apakah ia berperan sebagai INPUT atau OUTPUT. Contoh penggunaannya
seperti pada perintah di bawah ini.
pinMode(13, OUTPUT);
22
23
Dari dua perintah tersebut, tentu kamu sudah bisa mengidentifikasi perbedaan analogRead() dan
analogWrite() dari segi fungsi. Perintah analogread() untuk membaca data analog Arduino,
sedangkan perintah analogWrite() untuk menuliskan data analog pada pin Arduino.Terkadang ada
juga yang bingung tentang perbedaan analogWrite() dan digitalWrite(). Jadi, analogWrite itu untuk
menulis data analog, sedangkan digitalWrite() untuk menulis data digital. Iya, sesimpel itu
Agar tak salah dalam mengeksekusi perintah, program Arduino butuh yang namanya pengujian
kondisi. Ini sangat penting ketika program berada dalam kondisi percabangan yang
mengharuskannya memilih salah satu diantara beberapa pilihan.Pengujian kondisi merupakan
perintah yang berfungsi memilih satu pernyataan yang paling benar dari beberapa pilihan
pernyataan berdasarkan kriteria penilaian tertentu.Beberapa pengujian kondisi yang umumnya
sering digunakan antara lain :
1. if
Perintah ini digunakan apabila hanya ada satu pernyataan yang ingin dieksekusi. Jadi
apabila kondisinya memenuhi maka pernyataan akan dieksekusi.
Dan jika tak memenuhi maka pernyataan tak dieksekusi. Format penulisan perintahnya
sebagai berikut:
if(kondisi){
pernyataan/perintah;
}
Contohnya seperti ini:
if(x==6) {
a=a+5;
}
2. if ... else
Berbeda dengan if, perintah if ... else digunakan apabila ada dua pilihan pernyataan yang
ingin dieksekusi.
24
25
26
Dalam program Arduino juga sering dikenal ada istilah perulangan. Yaitu suatu perintah yang
memungkinkan kita untuk mengeksekusi suatu pernyataan berdasarkan acuan nilai yang
mengalami perulangan.
Beberapa contoh perintah coding pengulangan Arduino yang biasa digunakan antara lain:
1. while()
Fungsi while pada Arduino yakni memungkinkan terjadinya perulangan tak terbatas selama
kondisi di dalamnya terpenuhi. Format penulisannya seperti ini:
while(kondisi){
//pernyataan/perintah
}
Contohnya seperti ini:
while(a<100){
a++;
}
Keterangan:
Program akan terus melakukan perulangan hingga nilai a mencapai angka 100.
2. do ... while()
Perintah ini berfungsi untuk mengeksekusi suatu pernyataan atau perintah lalu melihat
kondisi di dalam while. Apabila kondisinya sesuai maka pernyataan akan dieksekusi
kembali. Dan jika tidak maka pernyataan tak akan dieksekusi. Format penulisannya yaitu:
do{
pernyataan/perintah
}
while(kondisi);
Contoh program do while Arduino seperti ini:
27
29
30
Ada tiga perintah yang biasa digunakan dalam pemrograman Arduino untuk mengatur waktu,
yaitu
1. millis()
Fungsi milis pada Arduino yaitu menghasilkan nilai waktu dalam satuan milidetik sejak
program Arduino dijalankan. Namun setelah 50 hari dijalankan, nilainya akan kembali lagi
ke nol.
Tipe data yang sering digunakan untuk perintah ini adalah unsigned long.
Jadi, pastikan kamu mendefinisikan variabel yang ingin kamu gunakan sebagai penampung
nilai milis() dengan tipe data unsigned long. Format penulisannya seperti berikut ini:
variabel = millis();
Contoh program milis Arduino seperti ini.
unsigned long waktu;
void setup(){
Serial.print(“Milidetik: “);
waktu = millis();
Serial.println(waktu);
}
2. micros()
Perintah ini berfungsi untuk menghasilkan nilai waktu dalam satuan mikrodetik sejak
program mulai dijalankan. Nilai akan kembali lagi ke nol apabila telah mencapai 70 menit.
Format penulisannya seperti di bawah ini:
variabel = micros();
31
Bagi orang yang masih pemula, kadang kesulitan untuk memasukkan rumus ke dalam
program Arduino.Padahal memasukkan rumus tak sesulit yang dibayangkan. Karena
operator yang digunakan hampir sama dengan operator yang sering kita gunakan pada
32
Operator Keterangan
= Pemberian nilai
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
% Sisa Bagian
Dalam pemrograman Arduino, suatu rumus yang dituliskan harus mempunyai variabel
penampung. Gunanya untuk menampung nilai hasil perhitungan rumus tadi. Cara
penulisannya yaitu:
luasPersegiPanjang = panjang*lebar;
Keterangan:
luasPersegiPanjang = nama variabel penampung
panjang = variabel yang memiliki nilai panjang
luas = variabel yang memiliki nilai luas
Dalam pemrograman Arduino juga terdapat operator perbandingan. Yaitu operator yang
fungsinya membandingkan dua variabel dan akan bernilai 1 atau TRUE jika kondisinya
terpenuhi.
Beberapa operator perbandingan yang biasa digunakan antara lain:
Operator Keterangan
== Persamaan. Jike kedua nilai yang dibandingkan sama maka
hasilnya TRUE
33
Untuk kamu yang belum paham apa itu boolean, jadi boolean itu adalah sejenis tipe data yang
hanya memiliki dua nilai. Yaitu benar atau salah, 1 atau 0, serta TRUE atau FALSE.Tergantung
jenis nilai mana yang digunakan. Namun kadang juga operator boolean ini digunakan untuk
membandingkan atau memanipulasi nilai dalam suatu variabel. Beberapa
operator boolean yang sering digunakan yaitu:
Operator Keterangan
&& AND
|| OR
! NOT
Pada Arduino sendiri, transmitter dan receiver-nya sudah tersedia di pin Rx dan Tx maupun
pada USB. Umumnya, komunikasi serial digunakan untuk menampilkan data hasil
perhitungan Arduino di serial monitor. Apa itu serial monitor pada Arduino IDE? Yaitu suatu
fasilitas untuk mengontrol dan memonitoring apa yang sedang terjadi di papan Arduino
melalui komputer.
Beberapa contoh perintah Arduino yang sering digunakan dalam komunikasi serial antara lain:
1. Serial.begin()
Mungkin kamu pernah mendengar pertanyaan apa itu serial begin 9600?
34
2. Serial.print()
Apa itu Serial.print? yaitu suatu perintah yang berfungsi untuk menampilkan data di serial
monitor untuk satu baris saja.
Jadi, data akan terus bermunculan hanya pada satu baris di serial monitor. Berikut ini
contoh penulisan Serial.print() yang benar dalam program:
Serial.print(Tampil);
Keterangan:
Tampil adalah variabel penampung nilai yang ingin ditampilkan pada serial monitor.
3. Serial.println()
Perintah ini kira-kira fungsinya hampir sama dengan Serial.print(). Hanya saja, data yang
ditampilkan akan terus bermunculan ke bawah. Jadi data yang muncul tak berada dalam
satu baris saja. Ini karena setiap selesai menampilkan data, secara otomatis program akan
memberi perintah enter atau pindah ke baris berikutnya. Contoh penulisannya seperti
berikut ini:
Serial.print(Muncul);
Keterangan:
Muncul adalah variabel penampung yang didalamnya terdapat nilai yang ingin ditampilkan
di serial monitor.
O. Nilai Maksimum dan Minimum Pada Arduino
1. min(x, y)
Fungsi perintah ini adalah untuk membandingkan dua variabel dan akan mengembalikan
nilai yang paling kecil lalu menyimpannya dalam suatu variabel. Format penulisannya
yaitu:
35
2. max(x, y)
Perintah ini berfungsi untuk membandingkan dua nilai variabel lalu mengembalikan nilai
terbesar. Bisa dikatakan bahwa perintah ini adalah kebalikan dari perintah min(x, y).
Format penulisannya yaitu:
baca = max(x, y);
Keterangan:
baca = variabel penampung
x = variabel 1
y = variabel 2
36
Polaritas LED
Logika LED
Ada 2 cara yang dapat digunakan untuk mengakses yaitu dengan “active high” dan “active low“.
Kondisi active high adalah kondisi led akan menyala jika pada pin output arduino jika diberikan
logika 1 atau high.
Alat dan Bahan :
1. Arduino Uno
2. LED 5mm merah
3. Resistor 220 ohm
4. Breadboard
5. Kabel Jumper
6. Komputer + Software IDE Arduino
37
Keterangan
Pin GND Arduino (Warna Hitam) ke GND LED (Warna Hitam)
Pin 4 (Warna Merah) ke Resistor (Warna Merah)
Sisi lain dari Resistor di hubungkan ke Positif LED
Sketch Program :
//membuat berkedip dengan jeda waktu 1 detik (on-off)
void setup() {
pinMode(4, OUTPUT); //Deklarasi PIN 4menjadi output
}
void loop() {
digitalWrite(4, HIGH);
delay(1000); //tunda 1 detik
digitalWrite(4, LOW);
delay(1000);
}
38
Sketch Program :
void setup() {
pinMode(13, OUTPUT); //Deklarasi PIN 13 menjadi output
pinMode(12, OUTPUT); //Deklarasi PIN 12 menjadi output
pinMode(11, OUTPUT); //Deklarasi PIN 11 menjadi output
}
void loop() {
39
40
Jenis – jenis saklar atau switch dibedakan menjadi 6 macam antara lain :
1. Toggle switch : saklar yang sering digunakan pada rangkaian elektronika yang dimana
digunakan sebagai saklar on – off catu daya utama.
2. Push Button terdapt 3 jenis tipe yaitu
NO (Normally Open) : nama lainnya yaitu tombol start dikarenakan kondisi kontak
akan tersambung jika button ditekan dan akan terbuka kembali jika dilepaskan.
Kondisi waktu button ditekan maka terjadi pergeseran kontak yang akan mengenai
kontak tetap yang berakibat aliran arus listrik dalam rangkaian akan mengalir.
NC (Normally Close) : merupakan kebalikan dari NO atau juga disebut dengan
tombol emergency dikarenakan sifat kontak yang akan membuka pada saat ditekan
dan setelah itu akan kembali tertutup pada saat dilepaskan.
Penggabungan antara NO dan NC : pada model tipe ini mempunayi empat buah
terminal kontak, sehingga kondisi waktu button tidak ditekan menyebabkan
sepasang kontak dalam kondisi NC sedangkan 2 kontak lainnya dalam kondisi NO.
Pada saat button ditekan maka akan terjadi sebaliknya dari kondisi awal.
3. SPST merupakan saklar sederhana jenis on dan off, yang biasanya dipakai untuk sakelar
penerangan atau baybuses rumit yang memerlukan sakelar on off. Sakelar jenis ini hanya
memungkinkan untuk mengubah sirkuit antara terbuka dan tertutup.
4. SPDT merupakan jenis switch yang memungkinkan untuk merubah antara dua jenis sirkuit
tertutup dan sirkuit terbuka. Contoh pemakaian switch ini adalah swicth pada kipas angin
yang membutuhkan perbedaan kecepatan.
41
Mengendalikan nyala LED dengan penekanan switch push button. Apabila ditekan LED akan
menyala dan apabila dilepas LED akan mati.
Sketch Program :
// Menyalakan LED dengan Push Button
int pinLed = 3;
int pinBtn = 4;
void setup() {
pinMode(pinLed, OUTPUT);
pinMode(pinBtn, INPUT_PULLUP);
}
void loop() {
42
if(statusBtn == HIGH)
{
digitalWrite(pinLed, LOW);
} else {
digitalWrite(pinLed, HIGH);
}
}
Memahami Sketch program Yaitu :
1. int kondisiPB = digitalRead(PIN_1); > merupakan pembacaan kondisi push button yang
dimana dipasang sebagai pull up (cek disini resistor), apabila ditekan akan aktif berlogika
HIGH atau 1, sedangkan kondisi normal berlogika LOW atau o
2. Pernyataan kondisi “if” yang menentukan output ke LED
if (kondisiPB == HIGH)
digitalWrite(PIN_13, HIGH);
else
digitalWrite(PIN_13, LOW);
Yang artinya apabila kondisiPB berlogika HIGH maka output di PIN_13 berlogika HIGH
juga yang dimana akan ditandai dengan nyalanya LED, sedangkan jika berlogika LOW
maka output di PIN_13 juga berlogika LOW juga
43
44
Sketch Program :
int led = 4; // Posisi pin led di pin 4
void setup()
{
pinMode(led, OUTPUT);
Serial.begin(9600);
Serial.flush();
}
void loop()
{
String input = "";
while (Serial.available() > 0)
{
input += (char) Serial.read();
delay(5); // ini buat jedanya gan satuannya millisecond
}
if (input == "on")
{
digitalWrite(led, HIGH); // menghidupkan led, ini pake aktif high
Serial.println("led 1 nyala");
45
Sesudah terupload, buka serial monitor Tools>Serial Monitor atau melalui shortcut Ctrl+Shift+M
atau bisa juga dengan klik icon di samping kanan.
46
Hal yang perlu diperhatikan yaitu dikarenakan pada software IDE arduino tidak ada library
DHT11 maka perlu ditambahkan dahulu untuk memudahkan dalam pemrogramannya.
Langkah – langkah untuk installing library DHT11 dengan catatan terhubung internet :
1. Buka Software arduino uno IDE
2. Arahkan cursor pada menu sketch -> include libraries -> manage libraries
3. Ketikan “DHT11“
4. Pilih “DHT Sensor Library by Adafruit“
5. Klik install dan closed
48
void setup() {
Serial.begin(9600); //baud komunikasi serial
Serial.println("Pengujian DHT11!"); //penulisan di serial monitor
dht.begin(); //prosedur memulai pembacaan module sensor
}
void loop() {
delay(2000); //menunggu beberapa detik untuk pembacaan
50
LCD 16×2 (Liquid Crystal Display) merupakan modul penampil data yang mepergunakan kristal
cair sebagai bahan untuk penampil data yang berupa tulisan maupun gambar. Pengaplikasian pada
kehidupan sehari – hari yang mudah dijumpai antara lain pada kalkulator, gamebot, televisi, atau
pun layar komputer.
Jenis dari perangkat ini ada yang dan pada postingan ini akan dibahas tentang Tutorial Arduino
mengakses LCD 16×2 dengan mudah, dimana mudah didapatkan ditoko elektronik terdekat.
Spesifikasi dari LCD 16×2
Adapun fitur – fitur yang tersedia antara lain
Terdiri dari 16 kolom dan 2 baris
Dilengkapi dengan back light
Mempunyai 192 karakter tersimpan
Dapat dialamati dengan mode 4-bit dan 8-bit
Terdapat karakter generator terprogram
Keterangan :
52
53
Pin 7 -
Pin 8 -
Pin 9 -
Pin 10 -
54
Sketch Program :
#include <LiquidCrystal.h>
void setup() {
lcd.begin(16, 2);
}
void loop() {
lcd.setCursor(0,0);
lcd.print(" SMK NEGERI 7 ");
lcd.setCursor(0, 1);
lcd.print(" TKJ XI ");
}
Catatan Program:
#include <LiquidCrystal.h> menambahkan library LCD pada program arduino, dengan
library ini pemrograman LCD pada arduino menjadi lebih sederhana dan mudah dipahami.
iquidCrystal lcd(12, 11, 5, 4, 3, 2); serangkaian pin yang digunakan pada arduino yang
dihubungkan dengan LCD, cukup banyak kan dibandingkan dengan menambahkan i2c
yang hanya pin SCL dan SDA aja.
lcd.begin(16, 2); angka 16 dan 2 mengatur bahwa lcd yang kita gunakan adalah ukuran
16×2, jika kamu menggunakan LCD 16×4, kamu tinggal ubah angka 2 nya menjadi angka
4.
lcd.setCursor(0,0); jika ingin menampilkan kata pada baris pertama gunakan kode ini, lalu
selanjutnya gunakanlah lcd.print untuk menampilkan kata pada baris pertama.
lcd.print(” Test LCD Tanpa I2C”); untuk menampilkan kata atau kalimat pada lcd.
55
57
Sketch Program :
/* --- www.smkn7sarolangun.mysch.id/--- */
#include <MQ2.h>
MQ2 mq2(pinAout);
void setup(){
//Set serial monitor pada baut 9600
Serial.begin(9600);
mq2.begin();
}
void loop(){
float* values= mq2.read(true); //jika diset "false" tidak akan dimunculkan di serial monitor
lpg_gas = mq2.readLPG();
co_gas = mq2.readCO();
smoke_gas = mq2.readSmoke();
delay(1000);
}
Latihan :
Modifikasi Sensor Gas Ketika terkena gas lampu led menyala atau pun buzzer menyala.
58
Konsep dasar dari sensor ini yaitu memanfaatkan prinsip pemantulan gelombang suara
yang dapat diaplikasikan untuk menghitung jarak benda dengan frekuensi yang ditentukan sesuai
dengan sumber oscilator. Disebut sebagai sensor ultrasonic dikarenakan sensor ini
mengaplikasikan gelombang ultrasonik sebagai trandusernya. Gelombang ultrasonic merupakan
gelombang suara yang memiliki frekuensi tinggi yaitu pada kisaran 20 kHz. Bunyi ini tidak bisa
di dengar dengan telinga normal manusia, hanya bisa didengar oleh sistem pendengaran pada
kelelawar, anjing, lumba-lumba, dan kucing. Dan sifat dari gelombang ini yaitu hanya bisa
merambat melalui zat cair, padat, dan gas. Reflektivitas gelombang ultrasonik pada permukaan
benda padat hampir sama dengan reflektivitas suara ultrasonik dengan permukan benda cair.
Meskipun begitu pada gelombang bunyi ultrasonik akan mudah diserap oleh bahan – bahan
tertentu seperti bahan dari busa maupun tekstil .
Cara Kerja
Sensor ini dimulai dari gelombang ultrasonik dengan frekuensi tertentu yang dibangkitkan
melewati alat yang disebut juga dengan nama piezoelektrik sebagai transmitter.Alat ini akan
menghasilkan gelombang ultrasonik yang berfrekuensi 40kHz (sesuai dengan osilator yang
terpasang pada sensor). Biasanya alat ini akan memancarkan gelombang pada suatu target dan jika
sudah mengenai permukaan target, maka gelombang tersebut akan terpantulkan kembali.Pantulan
gelombang tersebut akan diterima oleh piezoelektrik (receiver) dan kemudian sensor akan
mengkalkulasi perbedaan antara waktu pengiriman dan waktu gelombang pantul yang diterima.
59
Keterangan :
Pemancar ultrasonik akan memancarkan gelombang dengan frekuensi 40kHz dengan jeda waktu
tertentu. Kecepatan rambat gelombang bunyi yaitu kisaran 340 m/s. Sesudah gelombang pantulan
mengenai alat penerima, gelombang tersebut akan diolah untuk dihitung jarak benda tersebut.
Rumus jarak benda dapat dihitung dengan rumus sebagai berikut :
S = 340.t/2
S = Jarak
t = Selisih waktu dipancarkan dan waktu diterima gelombang
60
Keterangan:
Kabel jumper warna merah terhubung ke pin VCC sensor ultrasonik dan pin 5V Arduino
Kabel jumper warna hitam terhubung ke pin GND sensor ultrasonik dan Arduino
Kabel jumper warna kuning terhubung ke pin Echo sensor ultrasonik dan pin digital 11
Arduino
Kabel jumper warna hijau terhubung ke pin Trigger sesnor ultrasonik dan pin digital 12
Arduino
Sketch Program :
// Mengukur jarak dengan Sensor Ultrasonik HC-SR04
/* www.smkn7sarolangun.mysch.id/ */
void setup() {
Serial.begin (9600); //Berfungsi untuk komunikasi serial dengan komputer
pinMode(trigPin, OUTPUT); //Set varibel trigPin sebagai output
pinMode(echoPin, INPUT); //Set variabel echoPin sebagai input
}
61
Keterangan
Fungsi void setup() di dalam program Arduino adalah sebuah program yang dibaca sekali
saja
Fungsi void loop() di dalam program Arduino adalah sebuah program yang dibaca berulang
kali
Serial.begin() pada program di atas digunakan untuk komunikasi Arduino dengan
komputer
Fungsi digitalWrite() di dalam program Arduino adalah sebuah program untuk memberi
perintah 1 atau 0 (TRUE or FALSE)
Serial.print() di dalam program Arduino adalah sebuah program untuk menampilkan data
di serial monitor tanpa enter
Serial.println() di dalam program Arduino adalah sebuah program untuk menampilkan data
di serial monitor tanpa dengan enter
Latihan :
Modifikasi sensor ultrasonic dengan led sebagai indicator atau menggunakan buzzer !
62
Cara kerja dari Web Server pun cukup sederhana, komunikasi antara server dan client
menggunakan protokol khusus yang disebut Hypertext Transfer Protocol (HTTP). Client
menggunakan URL / Link untuk melakukan request halaman tertentu menggunakan HTTP dan
kemudian server memberikan response berupa konten halaman web atau pesan bila halaman web
tidak tersedia (Seperti pesan 404). Halaman yang dikirim oleh server sebagian besar adalah
dokumen HTML.
NodeMCU sebagai Web Server. Selain harganya yang murah, pengaplikasian ke arah IoT
pun cukup mudah sehingga bagi yang baru pertama kali terjun ke dunia IoT sangat disarankan
untuk menggunakan NodeMCU yang berbasis ESP8266. Pada gambar di atas NodeMCU
63
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
64
delay(1000);
Serial.begin(115200);
WiFi.begin(ssid, password); //begin WiFi connection
Serial.println("");
server.on("/", [](){
server.send(200, "text/html", page);
});
server.on("/LEDOn", [](){
server.send(200, "text/html", page);
digitalWrite(LEDPin, HIGH);
delay(1000);
});
server.on("/LEDOff", [](){
server.send(200, "text/html", page);
digitalWrite(LEDPin, LOW);
delay(1000);
});
server.begin();
Serial.println("Web server started!");
65
void loop(void){
server.handleClient();
}
Hasil Percobaan
Setelah program berhasil kita upload, selanjutnya kita check keberhasilannya pada serial monitor.
66