0% menganggap dokumen ini bermanfaat (0 suara)
383 tayangan70 halaman

Jobsheet Praktek Sensor Dan Transduser

Jobsheet ini membahas tentang sensor suhu dan kelembaban DHT11/DHT22. Sensor ini digunakan untuk mengukur suhu dan kelembaban lingkungan secara digital. Program Arduino dapat membaca nilai yang dihasilkan sensor secara berkala dan menampilkannya pada monitor serial.

Diunggah oleh

Yuli Adhaning Tyas
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
383 tayangan70 halaman

Jobsheet Praktek Sensor Dan Transduser

Jobsheet ini membahas tentang sensor suhu dan kelembaban DHT11/DHT22. Sensor ini digunakan untuk mengukur suhu dan kelembaban lingkungan secara digital. Program Arduino dapat membaca nilai yang dihasilkan sensor secara berkala dan menampilkannya pada monitor serial.

Diunggah oleh

Yuli Adhaning Tyas
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

Jobsheet Praktikum

Sensor dan Transduser

Oleh:
Team Teaching

Program Studi Pendidikan Vokasional Mekatronika


Fakultas Teknik
Universitas Negeri Makasar
2020
Kata Pengantar
Puji dan syukur kita panjatkan kehadirat Allah SWT atas nikmat yang senntiasa
diberikan kepada kita semua sehingga segala bentuk aktivitas yang menjadi tugas dan
tanggungjawab dapat dilaksanakan dengan baik termasuk penulis dapat
menyelesaikan pembuatan jobsheet ini.

Sebagai penunjang proses belajar mengajar praktek sensor dan transduser, perlu ada
petunjuk yang mendasari terlaksananya proses belajar mengajar tersebut. Oleh
karena itu jobsheet praktek ini dibuat dan menyertai peserta didik dan pengajar
dalam melaksanakan praktikum di laboratorium.

Namun demikian, para pengguna trainer "Sensor dan Transduser" diharapkan telah
mempunyai latar belakang pengetahuan tentang pemrograman Arduino, jenis dan
rinsip kerja Sensor dan Transduser.

Tentu saja penulis dengan penuh kesadaran dan keterbatasannya, sangat


membutuhkan masukan berupa saran yang dapat digunakan untuk perbaikan dan
pengembangan jobsheet ini.

Penulis,

Muhammad Akil
Daftar Isi

PST 001--- Sensor Suhu dan Kelembaban DHT11/DHT22…………………………………………… 1


PST 002--- Sensor Cahaya LDR dan Photodioda…………………………………………………………. 7
PST 003--- Sensor Jarak Ultrasonik HC-SR04……………………………………………………………… 13
PST 004--- Sensor Hujan FC-37 atau YL-83………………………………………………………………… 18
PST 005--- Sensor Kelembaban Tanah YL-69 or HL-69………………………………………………. 22
PST 006--- Real Time Clock (RTC) DS1307 atau DS3231……………………………………………. 26
PST 007--- Sensor Gas / Asap MQ-2…………………………………………………………………………. 31
PST 008--- Sensor Gerak PIR…………………………………………………………………………………….. 35
PST 009--- Sensor Suara Microphone………………………………………………………………………. 38
PST 010--- Sensor Reed Switch………………………………………………………………………………… 41
PST 011--- Modul Relay…………………………………………………………………………………………… 45
PST 012--- Modul NRF24L01……………………………………………………………………….…………… 49
PST 013--- 433 MHz Transmitter/Receiver…………………………………………………..………….. 55
PST 014--- Sensor warna TCS3200…………………………………………………………………………… 59
Praktik Sensor Sensor Suhu dan Kelembaban
& Transduser PST 001
DHT11/DHT22

I. Tujuan
Setelah melaksanakan percobaan ini mahasiswa diharapkan dapat:
1. Memahami prinsip kerja sensor suhu dan kelembaban DHT11/DHT22
2. Membuat program pembacaan sensor suhu dan kelembaban DHT11/DHT22
menggunakan Arduino
3. Melakukan simulasi rangkaian pembacaan sensor suhu dan kelembaban
DHT11/DHT22

II. Pendahuluan
Sensor DHTXX merupakan jenis sensor yang paling umum digunakan oleh penggiat
arduino. Sensor jenis ini murah dan dapat digunakan untuk mengukur suhu dan
kelembaban. Sensor ini mengandung chip yang melakukan konversi analog ke digital
dan mengeluarkan sinyal digital dengan bentuk suhu dan kelembaban. Sinyal-sinyal ini
mudah dibaca dengan mikrokontroller (MCU) jenis apapun.

Gambar 1. Hubungan rangkaian sensor DHT11 dan Mikrokontroller

Spesifikasi Sensor DHT11 vs DHT22

Terdapat dua jenis sensor DHT yaitu:

DHT11

 Range: 20-90%
 Absolute accuracy: ±5%
 Repeatability: ±1%
 Long term stability: ±1% per year
 Price: $1 to $5

DHT22

 Range: 0-100%
 Absolute accuracy: ±2%
 Repeatability: ±1%
 Long term stability: ±0.5% per year
 Price: $4 to $10

Sensor Suhu dan Kelembaban DHT11/DHT22 | 1


Praktik Sensor Sensor Suhu dan Kelembaban
& Transduser PST 001
DHT11/DHT22

Berdasarkan spesifikasi yang telah disebutkan, terlihat bahwa sensor DHT22 memiliki
tingkat akurasi yang lebih tinggi dibandingkan dengan sensor DHT11.

III. Buku Bacaan dan Referensi Lainnya


Terdapat beberapa referensi untuk menambah pengetahuan tentang materi pada
percobaan ini, anda disarankan membaca buku:
1. Santos, Rui and Santos, Sara. Ultimate Guide for Arduino Sensors/Moduls.
2. https://github.com/RuiSantosdotme/Random-Nerd-Tutorials/tree/master/Projects
3. https: //Arduino.cc

IV. Alat dan Bahan

V. Gambar Rangkaian
Gambar berikut ini memperlihatkan koneksi kabel antara sensor dengan arduino.

Gambar 2. Rangkaian Sensor DHT11

2 | Sensor Suhu dan Kelembaban DHT11/DHT22


Praktik Sensor Sensor Suhu dan Kelembaban
& Transduser PST 001
DHT11/DHT22

Gambar 3. Rangkaian Sensor DHT11 dengan Arduino serial dan LCD

VI. Langkah Kerja


Berikut ini merupakan langkah untuk mencari kode program standar yang dibutuhkan
dalam projek ini, namun sebelumnya anda harus menginstall library sensor DHT
terlebih dahulu.
1. Download library sensor DHT11 untuk Arduino IDE
2. Unzip library DHT11
3. Ganti nama folder yang telah diekstrak ke DHT dan hapus tanda “-“. Apabila tidak
maka Arduino IDE tidak mengenal library tadi.
4. Install DHT11 kedalam Arduino IDE. Sketch > Include Library > Add . Masukkan
library yang barusaja di dowanload
5. Restart Arduino IDE
6. Arahkan ke File > Examples > DHT sensor library > DHTtester
7. Upload program tersebut kedalam Arduino

Sensor Suhu dan Kelembaban DHT11/DHT22 | 3


Praktik Sensor Sensor Suhu dan Kelembaban
& Transduser PST 001
DHT11/DHT22

Kode Program
// Example testing sketch for various DHT humidity/temperature sensors
// Written by ladyada, public domain

#include "DHT.h"

#define DHTPIN 2 // what digital pin we're connected to

// Uncomment whatever type you're using!


#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)

// Connect pin 1 (on the left) of the sensor to +5V


// NOTE: If using a board with 3.3V logic like an Arduino Due connect
pin 1
// to 3.3V instead of 5V!
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the
sensor

// Initialize DHT sensor.


// Note that older versions of this library took an optional third
//parameter to
// tweak the timings for faster processors. This parameter is no
longer //needed
// as the current DHT reading algorithm adjusts itself to work on
faster //procs.
DHT dht(DHTPIN, DHTTYPE);

void setup() {
Serial.begin(9600);
Serial.println("DHTxx test!");

dht.begin();
}

void loop() {
// Wait a few seconds between measurements.
delay(2000);
// Reading temperature or humidity takes about 250
milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a
very slow sensor)
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Failed to read from DHT sensor!");

4 | Sensor Suhu dan Kelembaban DHT11/DHT22


Praktik Sensor Sensor Suhu dan Kelembaban
& Transduser PST 001
DHT11/DHT22

return;
}
// Compute heat index in Fahrenheit (the default)
float hif = dht.computeHeatIndex(f, h);
// Compute heat index in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *F\t");
Serial.print("Heat index: ");
Serial.print(hic);
Serial.print(" *C ");
Serial.print(hif);
Serial.println(" *F");
}

Uji Coba System


Pada projek kali ini Arduino akan membaca nilai suhu dan kelembaban. Kedua
parameter ini akan ditampilkan nilainya ke serial monitor. Berikut ini adalah tampilan
serial monitor dari pembacaan suhu dan kelembaban menggunakan sensor DHT11.

Gambar 4. Tampilan Serial Monitor Pembacaan Sensor DHT11

Sensor Suhu dan Kelembaban DHT11/DHT22 | 5


Praktik Sensor Sensor Suhu dan Kelembaban
& Transduser PST 001
DHT11/DHT22

VII. Pertanyaan Praktikum


1. Modifikasi Program sebelumnya agar dapat membaca 4 buah sensor DHT11 dan
tampilkan pada serial monitor!
2. Ubahlah program agar nilai suhu dan kelembaban dapat ditampilkan ada layar LCD
16x2!
3. Buatlah analisis berdasarkan program dan hasil simulasi yang didapatkan!

6 | Sensor Suhu dan Kelembaban DHT11/DHT22


Praktik Sensor Sensor Cahaya
& Transduser PST 002
LDR dan Photodioda

I. Tujuan
Setelah melaksanakan percobaan ini mahasiswa diharapkan dapat:
1. Memahami prinsip kerja sensor cahaya LDR dan Photodioda
2. Membuat program pembacaan sensor cahaya LDR dan Photodioda menggunakan
Arduino
3. Melakukan simulasi rangkaian pembacaan sensor cahaya LDR dan Photodioda

II. Pendahuluan
Sensor cahaya merupakan sensor yang dapat membaca kondisi kecerahan sebuah
ruangan. Intensitas cahaya dalam ruangan dapat bersumber dari lampu atau pantulan
cahaya matahari dari luar melalui jendela. Jenis sensor cahaya yang paling banyak
digunakan adalah sensor LDR, Photodioda dan Phototransistor. Meskipun bentuk dari
kedua sensor ini berbeda namun keduaya memiliki fungsi yang sama. Kedua sensor ini
sering digunakan pada robot line follower (robot pengikut garis).

Gambar 1. Jenis Sensor Cahaya


Prinsip Keja Sensor Cahaya

Gambar 2. Prinsip kerja sensor Cahaya

 Berdasarkan gambar di atas, dapat kita lihat bahwa sensor akan menerima lebih
banyak cahaya jika bila obstacle mendekati warna putih.

Gambar 3. Perbedaan warna permukaan yang dideteksi sensor

Sensor Cahaya LDR dan Photodioda | 7


Praktik Sensor Sensor Cahaya
& Transduser PST 002
LDR dan Photodioda

 Apabila Garis terang, maka sinyal LED dapat dipantulkan. Bila cahaya LED memantul
pada garis dan diterima oleh basis fototransistor maka phototransistor menjadi
saturasi (on) sehingga tegangan output (Vout) menjadi sama dengan VCE saturasi
atau mendekati 0 Volt. Sebaliknya jika tidak terdapat pantulan maka basis
phototransistor tidak mendapat arus bias sehingga fototransistor menjadi cut-off
(C-E Open). dengan demikian nilai Vout sama dengan VCC (5 Volt).

Gambar 4. Rangkaian elektronik sensor

 Agar dapat diinterfacekan ke mikrokontroler, tegangan output harus selalu berada


pada level 0 atau VCC. Output rangkaian gambar di atas masih memiliki
kemungkinan tidak pada kondisi ideal bila intensitas pantulan cahaya LED pada
garis lemah, misalnya karena perubahan warna atau lintasan yang kotor. Untuk
mengatasi hal tersebut ditambahkan rangkaian pembanding yang membandingkan
output sensor dengan suatu tegangan threshold yang dapat diatur dengan
memutar trimmer potensio (10 K). Rangkaian lengkapnya seperti pada gambar 5.
LED pada output berguna sebagai indikator logika output sehingga kerja sensor
mudah diamati.

Gambar 5. Rangkaian interface sensor dengan driver

III. Buku Bacaan dan Referensi Lainnya


Terdapat beberapa referensi untuk menambah pengetahuan tentang materi pada
percobaan ini, anda disarankan membaca buku:
1. Santos, Rui and Santos, Sara. Ultimate Guide for Arduino Sensors/Moduls.
2. https://github.com/RuiSantosdotme/Random-Nerd-Tutorials/tree/master/Projects
3. https: //Arduino.cc

8 | Sensor Cahaya LDR dan Photodioda


Praktik Sensor Sensor Cahaya
& Transduser PST 002
LDR dan Photodioda

IV. Alat dan Bahan


1. Arduino Uno 1 buah
2. Sensor Cahaya LDR 6 buah
3. Breadboard
4. Resistor 10K 6 buah
5. Kabel Jumper Secukupnya
6. Software Simulasi Elektronik
7. Arduino IDE
V. Gambar Rangkaian
Gambar berikut ini memperlihatkan koneksi kabel antara sensor dengan arduino.

Gambar 6. Rangkaian Sensor Cahaya Menggunakan Op-Amp

Gambar 7. Rangkaian Sensor Cahaya dengan Arduino serial dan LCD

Sensor Cahaya LDR dan Photodioda | 9


Praktik Sensor Sensor Cahaya
& Transduser PST 002
LDR dan Photodioda

VI. Langkah Kerja


1. Buatlah rangkaian simulasi seperti pada gambar 6 dan gambar 7
2. Simpan file tersebut sesuai nama gambar
3. Buka Aplikasi Arduino IDE
4. Buatlah program pembacaan sensor cahaya seperti pada listing program di bawah
5. Lakukan compile pada program yang telah di buat dan pastikan tidak ada yang
error
6. Upload program tersebut kedalam Arduino melalui simulasi rangkaian elektronika
#include <LiquidCrystal.h>
LiquidCrystal lcd(13,12,11,10,9,8);
#define LDR1 A0
#define LDR2 A1
#define LDR3 A2
#define LDR4 A3
#define LDR5 A4
#define LDR6 A5
unsigned int Low=100;
unsigned int High=500;
unsigned int Mid=300;
unsigned int sensor[6],ref[6],S[6],Nilai[6];

void baca_sensor()
{
lcd.setCursor (0,0);
lcd.print("Pembacaan Sensor");
sensor[0]=analogRead(A0); sensor[1]=analogRead(A1);
sensor[2]=analogRead(A2);
sensor[3]=analogRead(A3); sensor[4]=analogRead(A4);
sensor[5]=analogRead(A5);
ref[0]=200;ref[1]=200;ref[2]=200;ref[3]=200;ref[4]=200;ref[5]=200;
if (sensor[0]>ref[0]) {Nilai[0]=Low;} if (sensor[0]<ref[0])
{Nilai[0]=High;}
if (sensor[1]>ref[1]) {Nilai[1]=Low;} if (sensor[1]<ref[1])
{Nilai[1]=High;}
if (sensor[2]>ref[2]) {Nilai[2]=Low;} if (sensor[2]<ref[2])
{Nilai[2]=High;}
if (sensor[3]>ref[3]) {Nilai[3]=Low;} if (sensor[3]<ref[3])
{Nilai[3]=High;}
if (sensor[4]>ref[4]) {Nilai[4]=Low;} if (sensor[4]<ref[4])
{Nilai[4]=High;}
if (sensor[5]>ref[5]) {Nilai[5]=Low;} if (sensor[5]<ref[5])
{Nilai[5]=High;}

lcd.setCursor(5,1);
if (Nilai[0]>Mid) {S[0]=1; lcd.print('1');} if (Nilai[0]<Mid) {S[0]=0;
lcd.print('0');}
if (Nilai[1]>Mid) {S[1]=1; lcd.print('1');} if (Nilai[1]<Mid) {S[1]=0;
lcd.print('0');}
if (Nilai[2]>Mid) {S[2]=1; lcd.print('1');} if (Nilai[2]<Mid) {S[2]=0;
lcd.print('0');}
if (Nilai[3]>Mid) {S[3]=1; lcd.print('1');} if (Nilai[3]<Mid) {S[3]=0;
lcd.print('0');}

10 | Sensor Cahaya LDR dan Photodioda


Praktik Sensor Sensor Cahaya
& Transduser PST 002
LDR dan Photodioda

if (Nilai[4]>Mid) {S[4]=1; lcd.print('1');} if (Nilai[4]<Mid) {S[4]=0;


lcd.print('0');}
if (Nilai[5]>Mid) {S[5]=1; lcd.print('1');} if (Nilai[5]<Mid) {S[5]=0;
lcd.print('0');}
}
void setup() {
lcd.begin(16,2);
pinMode (LDR1, INPUT);pinMode (LDR2, INPUT);pinMode (LDR3, INPUT);
pinMode (LDR4, INPUT);pinMode (LDR5, INPUT);pinMode (LDR6, INPUT);
lcd.setCursor(0,0); lcd.print("Program Sensor");
lcd.setCursor(0,1); lcd.print("Cahaya");
delay(1000);
lcd.clear();
}

void loop() {
baca_sensor();
}

Uji Coba System


Pada projek kali ini Arduino akan membaca nilai sensor cahaya secara analog
kemudian dikonversi ke digital melalui program dan ditampilkan ke LCD. Berikut ini
adalah tampilan program pembacaan sensor cahaya LDR.

Sensor Cahaya LDR dan Photodioda | 11


Praktik Sensor Sensor Cahaya
& Transduser PST 002
LDR dan Photodioda

Gambar 8. Tampilan Simulasi Pembacaan Sensor Cahaya

VII. Pertanyaan Praktikum


1. Modifikasi Program sebelumnya agar dapat menampilkan data pembacaan analog
pada serial monitor!
2. Lakukan analisis terhadap pogram dan hasil simulasi yang anda dapatkan!

12 | Sensor Cahaya LDR dan Photodioda


Praktik Sensor Sensor Jarak Ultrasonik
& Transduser PST 003
HC-SR04

I. Tujuan
Setelah melaksanakan percobaan ini mahasiswa diharapkan dapat:
1. Memahami prinsip kerja sensor jarak ultrasonik HC-SR04
2. Membuat program pembacaan sensor jarak ultrasonik HC-SR04 menggunakan
Arduino
3. Melakukan simulasi rangkaian pembacaan sensor jarak ultrasonik HC-SR04

II. Pendahuluan
Sensor ultrasonik HC-SR04 menggunakan sonar untuk menentukan jarak ke objek
seperti yang dilakukan kelelawar. Sensor ini menawarkan proses pendeteksian non-
kontak yang sangat baik dengan akurasi tinggi dan pembacaan yang stabil dalam
bentuk modul yang mudah digunakan. Sensor ini mampu membaca jarak dari 2 cm
sampai 400 cm atau 1” sampai 13 kaki. Modul sensor ini dilengkapi dengan modul
pemancar dan penerima ultrasonik.

Sensor ultrasonik HC-SR04 dapat dilihat pada gambar di bawah ini:

Gambar 1. Sensor Ultrasonic HC-SR04

Fitur Sensor Ultrasonik HC-SR04:


 Power Supply :+5V DC
 Arus Stand by : <2mA
 Arus kerja: 15mA
 Sudut Efektif: <15°
 Range jarak : 2cm – 400 cm/1″ – 13ft
 Resolusi : 0.3 cm
 Sudut pengukuran: 30 degree
 Lebar pulsa trigger: 10uS
 Dimensi modul: 45mm x 20mm x 15mm

Sensor Jarak Ultrasonik HC-SR04 | 13


Praktik Sensor Sensor Jarak Ultrasonik
& Transduser PST 004
HC-SR04

Arduino dan Sensor HC – SR04


Percobaan ini, sensor ultrasonik akan membaca dan menulis jarak secara serial monitor.
terdapat sebuah Library yang mempermudah kita dalam memprogram sensor ultrasonik
yaitu library NewPing.

Berikut ini dalah fitur library NewPing:

 Bekerja dengan berbagai model sensor ultrasonik: SR04, SRF05, SRF06, DYP-
ME007 & Parallax PING))) ™.
 Opsi untuk berinteraksi dengan semua sensor kecuali sensor SRF06 hanya
menggunakan satu pin Arduino.
 Tidak ketinggalan selama satu detik penuh jika tidak ada ping gema diterima
seperti semua library ultrasonik lainnya.
 Kompatibel dengan seluruh line-up Arduino (dan klon), keluarga Teensy (termasuk
$ 19,80 96Mhz 32 bit Teensy 3.2) dan mikrokontroler non-AVR.
 Sensor Ping konsisten dan andal hingga 30 kali per detik.
 Metode timer interupt.
 Built-in digital filter method ping_median() untuk koreksi kesalahan yang mudah.
 Menggunakan register port ketika mengakses pin untuk eksekusi yang lebih cepat
dan ukuran kode yang lebih kecil.
 Mengizinkan pengaturan jarak maksimum ketika pembacaan ping di luar jarak.
 Kemudahan menggunakan beberapa sensor (misalnya rangkaian dengan 15
sensor).
 Penghitungan jarak yang lebih akurat (cm, inci).
 Tidak menggunakan pulsaIn yang lambat dan memberikan hasil yang salah dengan
beberapa model sensor ultrasonik.
 Dikembangkan secara aktif dengan fitur yang ditambahkan dan bug / masalah
ditangani.

III. Buku Bacaan dan Referensi Lainnya


Terdapat beberapa referensi untuk menambah pengetahuan tentang materi pada
percobaan ini, anda disarankan membaca buku:
1. Santos, Rui and Santos, Sara. Ultimate Guide for Arduino Sensors/Moduls.
2. https://github.com/RuiSantosdotme/Random-Nerd-Tutorials/tree/master/Projects
3. https: //Arduino.cc

IV. Alat dan Bahan


1. Arduino Uno 1 buah
2. Sensor Ultrasonik HC-SR04 4 buah
3. Breadboard 1 buah
4. Kabel Jumper Secukupnya
5. Software Simulasi Elektronik

14 | Sensor Jarak Ultrasonik HC-SR04


Praktik Sensor Sensor Jarak Ultrasonik
& Transduser PST 003
HC-SR04

6. Arduino IDE

V. Gambar Rangkaian
Gambar berikut ini memperlihatkan koneksi kabel antara sensor dengan arduino.

Gambar 2. Rangkaian Sensor Ultrasonik menggunakan Fritsing

Gambar 3. Rangkaian Sensor Ultrasonik HC-SR04 dengan Arduino serial dan LCD

Sensor Jarak Ultrasonik HC-SR04 | 15


Praktik Sensor Sensor Jarak Ultrasonik
& Transduser PST 004
HC-SR04

VI. Langkah Kerja


1. Buatlah rangkaian simulasi seperti pada gambar 2 dan gambar 3 menggunakan
software Proteus
2. Simpan file tersebut sesuai nama gambar
3. Buka Aplikasi Arduino IDE dan masukkan library NewPing seperti pada penjelasan
sebelumnya
4. Buatlah program pembacaan sensor ultrasonik seperti pada listing program di
bawah
5. Lakukan compile pada program yang telah di buat dan pastikan tidak ada yang
error
6. Upload program tersebut kedalam Arduino melalui simulasi rangkaian elektronika.
7. Lakukan perubahan nilai pembacaan sensor ultrasonik pada simulasi proteus
untuk mendapatkan nilai yang dinamis pada serial monitor.
Kode Program:

int TrigPin = 9;
int EchoPin = 12:
long duration, cm, inches;

void setup() {
//Serial Port begin
Serial.Begin (9600);
//Define inputs and outputs
pinMode(Trigpin, OUTPUT);
pinMode(Echopin, INPUT);
}
void loop()
{
// The sensor is triggered by a HIGH pulse of 10 or more microseconds.
// Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(100);
digitalWrite(trigPin, LOW);
// Read the signal from the sensor: a HIGH pulse whose
// duration is the time (in microseconds) from the sending
// of the ping to the reception of its echo off of an object.
pinMode(echoPin, INPUT);
duration = pulseIn(echoPin, HIGH);
// convert the time into a distance
Cm = (duration/2) / 29.1;
inches = (duration/2) / 74;
Serial.print(inches);
Serial.print(‘in, ‘);
Serial.print(Cm);
Serial.print(cm’);
Serial.print();
delay(250);
}
Kode Program menggunakan library NewPing:
#include <NewPing.h>
#define TRIGGER_PIN 9

16 | Sensor Jarak Ultrasonik HC-SR04


Praktik Sensor Sensor Jarak Ultrasonik
& Transduser PST 003
HC-SR04

#define ECHO_PIN 12
#define MAX_DISTANCE 200
// NewPing setup of pins and maximum distance.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
Serial.begin(5400);
}
void loop() {
delay(50);
unsigned int Sensor = sonar.ping_cm();
Serial.Print(Sensor);
Serial.Println(‘‘cm’’ );
}

VII. Pertanyaan Praktikum


1. Jelaskan Prinsip Kerja Sensor Ultrasonik!
2. Lakukan compiler kedua porgam dan Perbaiki sintaks program apabila terdapat
error (sengaja diberikan kesalahan sebagai proses pembelajaran dalam
mengangani error program).
3. Modifikasi kedua Program sebelumnya agar dapat menampilkan data pembacaan
sensor Ultrasonik pada LCD 16x2!
4. Buatlah program pembacaan 3 buah sensor Ultrasonik dan ditampilkan secara
serial dan LCD!
5. Lakukan simulasi hasil praktikum dan masukkan gambarnya kedalam dokumen
tugas.
6. Buatlah analisis kedua program sensor ultrasonik berdasarkan hasil yang
diperoleh.
7. Jelaskan fungsi penggalan Program berikut:
 NewPing sonar(TRIGGER_PIN, ECHO_PIN,
MAX_DISTANCE);
 sonar.ping_cm();

Sensor Jarak Ultrasonik HC-SR04 | 17


Praktik Sensor Sensor Hujan
& Transduser PST 004
FC-37 atau YL-83

I. Tujuan
Setelah melaksanakan percobaan ini mahasiswa diharapkan dapat:
1. Memahami prinsip kerja sensor Hujan FC-37 atau YL-83
2. Membuat program pembacaan sensor Hujan FC-37 atau YL-83 menggunakan
Arduino
3. Melakukan simulasi rangkaian pembacaan sensor Hujan FC-37 atau YL-83

II. Pendahuluan
Sensor hujan digunakan untuk mendeteksi air bahkan sensor ini dapat mendeteksi air
melebihi kemampuan sensor kelembaban. Sensor hujan FC-37 (atau versi lain seperti
YL-83) diatur oleh dua potongan: papan elektronik (di sebelah kiri) dan papan kolektor
(di sebelah kanan) yang mengumpulkan tetesan air, seperti yang Anda lihat pada
gambar berikut:

Gambar 1. Sensor Hujan

Sensor hujan memiliki potensiometer internal untuk mnyesuaikan sensitivitas output


digital (D0). Sensor ini juga memiliki LED daya yang menyala ketika sensor aktif dan
mengeluarkan output digital.

Gambar 2. Modul sensor hujan

18 | Sensor Hujan
Praktik Sensor Sensor Hujan
& Transduser PST 004
FC-37 atau YL-83

Prinsip Kerja Sensor Hujan


Secara sederhana, Nilai resistansi papan kolektor bervariasi sesuai dengan jumlah air
di permukaannya.
Ketika papan kolektor:
 Basah: Nilai resistansi meningkat, dan tegangan output menurun.
 Kering: Nilai resitansi mengecil, dan output tegangan meningkat.

Gambar 3. Prinsip kerja sensor hujan

III. Buku Bacaan dan Referensi Lainnya


Terdapat beberapa referensi untuk menambah pengetahuan tentang materi pada
percobaan ini, anda disarankan membaca buku:
1. Santos, Rui and Santos, Sara. Ultimate Guide for Arduino Sensors/Moduls.
2. https://github.com/RuiSantosdotme/Random-Nerd-Tutorials/tree/master/Projects
3. https: //Arduino.cc

IV. Alat dan Bahan

Sensor Hujan| 19
Praktik Sensor Sensor Hujan
& Transduser PST 004
FC-37 atau YL-83

V. Gambar Rangkaian
Buatlah gambar rangkaian berikut ini menggunakan software simulasi rangkaian
elektronika:

Gambar 4. Skematik simulasi rangkaian sensor hujan


VI. Langkah Kerja
1. Download Library sensor hujan (Rain Sensor) yang support pada software Proteus
pada link berikut ini:
https://www.theengineeringprojects.com/2018/07/rain-sensor-library-for-proteus.html
2. Extract file tersebut sampai menghasilkan 3 buah file yaitu:
 RainSensorsTEP.LIB
 RainSensorsTEP.IDX
 RainSensorsTEP.HEX
3. Copy ketiga file tersebut ke dalam folder LIBRARY Proteus
4. Berikut ini link lengkap untuk mencari folder Library Proteus:
C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY.
Pada beberapa proteus 8, kita juga mendapatkan folder LIBRARY lainnya pada:
C:\ProgramData\Labcenter Electronics\Proteus 8 Professional\LIBRARY.

20 | Sensor Hujan
Praktik Sensor Sensor Hujan
& Transduser PST 004
FC-37 atau YL-83

Atau pada link berikut:


C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\DATA\LIBRARY
5. Buatlah rangkaian simulasi seperti pada gambar 4 menggunakan software Proteus
6. Simpan file tersebut dengan nama gambar 4
7. Buka software Arduino IDE
8. Buatlah program pembacaan sensor hujan seperti pada listing program di bawah
9. Lakukan compile pada program yang telah di buat dan pastikan tidak ada yang
error
10. Upload program tersebut kedalam Arduino melalui simulasi rangkaian elektronika.
11. Lakukan perubahan nilai pembacaan sensor hujan pada simulasi proteus untuk
mendapatkan nilai yang dinamis pada serial monitor.
Kode Program:

int rainPin = A0;


int greenLED = 6;
int yellowLED = 7;
// you can adjust the threshold value

void setup(){
pinMode(rainPin, INPUT);
pinMode(greenLED, OUTPUT);
pinMode(yellowLED, OUTPUT);
digitalWrite(greenLED, LOW);
digitalWrite(yellowLED, LOW);
Serial.begin(9600);
}

void loop() {
// read the input on analog pin 0:
int sensorValue = digitalRead(rainPin);
if(sensorValue == LOW){
Serial.println(" Permukaan Basah --- Hujan ");
digitalWrite(greenLED, LOW);
digitalWrite(yellowLED, HIGH);
}
else {
Serial.println(" Permukaan Kering --- Cuaca Cerah");
digitalWrite(greenLED, HIGH);
digitalWrite(yellowLED, LOW);
}
delay(50);
}

VII. Pertanyaan Praktikum


1. Jelaskan Prinsip Kerja Sensor Hujan!
2. Modifikasi kedua Program sebelumnya agar dapat menampilkan data pembacaan
sensor hujan pada LCD 16x2!
3. Lakukan simulasi hasil praktikum dan masukkan gambarnya kedalam dokumen
tugas!
4. Buatlah analisis program sensor hujan berdasarkan hasil yang diperoleh!

Sensor Hujan| 21
Praktik Sensor Sensor Kelembaban Tanah
& Transduser PST 005
YL-69 or HL-69

I. Tujuan
Setelah melaksanakan percobaan ini mahasiswa diharapkan dapat:
1. Memahami prinsip kerja sensor kelembaban tanah
2. Membuat program pembacaan sensor kelembaban tanah menggunakan Arduino
3. Melakukan simulasi rangkaian pembacaan sensor kelembaban tanah

II. Pendahuluan
Sensor kelembaban tanah atau hygrometer biasanya digunakan untuk mendeteksi
kelembaban tanah. Jadi, sangat cocok untuk membangun sistem penyiraman otomatis
atau untuk memantau kelembaban tanah tanaman Anda. Sensor diatur oleh dua
bagian: papan elektronik (di kanan), dan probe dengan dua bantalan, yang mendeteksi
kadar air (di sebelah kiri).

Gambar 1. Sensor Kelembaban Tanah


Sensor ini memiliki potensiometer bawaan untuk menyesuaikan sensitivitas output
digital (D0), LED daya, dan LED output digital, seperti yang Anda lihat pada gambar
berikut.

Gambar 2. Fungsi Pin pada modul Sensor Kelembaban Tanah

Prinsip Kerja Sensor


Tegangan yang dihasilkan sensor berubah sesuai dengan kadar air di tanah. Ketika
tanah:
 Basah: tegangan output berkurang
 Kering: tegangan output meningkat

22 | Sensor Kelembaban Tanah


Praktik Sensor Sensor Kelembaban Tanah
& Transduser PST 005
YL-69 or HL-69

Gambar 3. Prinsip Kerja Sensor Kelembaban


Output sensor bisa berupa sinyal digital (D0) RENDAH atau TINGGI, tergantung pada
kadar air. Jika kelembaban tanah melebihi nilai ambang yang telah ditentukan
sebelumnya, modul menghasilkan RENDAH, jika tidak, output TINGGI. Nilai ambang
untuk sinyal digital dapat disesuaikan menggunakan potensiometer. Outputnya juga
bisa berupa sinyal analog sehingga Anda akan mendapatkan nilai antara 0 dan 1023.

III. Buku Bacaan dan Referensi Lainnya


Terdapat beberapa referensi untuk menambah pengetahuan tentang materi pada
percobaan ini, anda disarankan membaca buku:
1. Santos, Rui and Santos, Sara. Ultimate Guide for Arduino Sensors/Moduls.
2. https://github.com/RuiSantosdotme/Random-Nerd-Tutorials/tree/master/Projects
3. https: //Arduino.cc

IV. Alat dan Bahan

Sensor Kelembaban Tanah| 23


Praktik Sensor Sensor Kelembaban Tanah
& Transduser PST 005
YL-69 or HL-69

V. Gambar Rangkaian
Untuk melengkapi rangkaian, ikuti gambar rangkaian berikut ini:

Gambar 4. Gambar Rangkaian Sensor Kelembaban Tanah


VI. Langkah Kerja
1. Buatlah rangkaian simulasi seperti pada gambar 4
2. Buka Aplikasi Arduino IDE
3. Buat program seperti pada lampiran kode pogram berikut ini:
4. Upload kode program tersebut ke dalam Arduino
5. Simulasikan kemudian laporkan hasil praktikumnya

Kode Program
int rainPin = A0;
int greenLED = 6;
int redLED = 7;
// you can adjust the threshold value
int thresholdValue = 800;
void setup(){
pinMode(rainPin, INPUT);
pinMode(greenLED, OUTPUT);
pinMode(redLED, OUTPUT);
digitalWrite(greenLED, LOW);
digitalWrite(redLED, LOW);
Serial.begin(9600);
}
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(rainPin);
Serial.print(sensorValue);
if(sensorValue < thresholdValue){
Serial.println(" - Doesn't need watering");

24 | Sensor Kelembaban Tanah


Praktik Sensor Sensor Kelembaban Tanah
& Transduser PST 005
YL-69 or HL-69

digitalWrite(redLED, LOW);
digitalWrite(greenLED, HIGH);
}
else {
Serial.println(" - Time to water your plant");
digitalWrite(redLED, HIGH);
digitalWrite(greenLED, LOW);
}
delay(500);
}

Buka serial monitor Arduino IDE untuk melihat nilainya. Kemudian, coba sensor Anda
di tanah yang basah dan kering dan lihat apa yang terjadi. Ketika nilai analog
melampaui batas tertentu, LED merah akan menyala (menunjukkan bahwa tanaman
perlu disiram), dan ketika nilainya berada di bawah ambang batas tertentu, LED hijau
akan menyala (menunjukkan bahwa tanaman tersebut ok).

Sensor kelembaban memungkinkan untuk memantau kadar air di tanah. Ini berguna
jika Anda ingin membangun sistem penyiraman otomatis. Anda juga dapat
menggunakannya untuk memantau kelembaban tanah tanaman Anda.
VII. Pertanyaan Praktikum
1. Modifikasi program pembacaan sensor kelembaban agar dapat ditampilkan hasil
pembacaannya pada LCD 16x2!
2. Buatlah program untuk dapat membaca 5 buah sensor kelembaban!
3. Lakukan analisis terhadap program di atas!

Sensor Kelembaban Tanah| 25


Praktik Sensor Real Time Clock (RTC)
& Transduser PST 006
DS1307 atau DS3231

I. Tujuan
Setelah melaksanakan percobaan ini mahasiswa diharapkan dapat:
1. Memahami prinsip kerja Real Time Clock (RTC)
2. Membuat program pembacaan Real Time Clock (RTC) menggunakan Arduino
3. Melakukan simulasi rangkaian Real Time Clock (RTC)

II. Pendahuluan
Modul Real Time Clock (RTC) seperti yang ditunjukkan pada gambar di bawah ini
(tampilan depan dan belakang).

Gambar 1. Modul RTC


Ketika pertama kali menggunakan modul ini, Anda perlu menyolder beberapa pin
header. Seperti yang Anda lihat pada gambar di atas, modul ini memiliki baterai
cadangan yang terpasang. Betari tersebut memungkinkan modul untuk
mempertahankan waktu, bahkan ketika powernya tidak didukung oleh Arduino.
Dengan cara ini, setiap kali Anda menghidupkan dan mematikan modul Anda, waktu
tidak akan diatur ulang. Modul ini menggunakan komunikasi I2C. Hal ini berarti bahwa
modul tersebut berkomunikasi dengan Arduino hanya menggunakan 2 pin.
Hubungan PIN dengan Arduino.

Jika Anda menggunakan papan Arduino selain Arduino Uno, perhatikan posisi PIN SDA
dan SCL dari Arduino tersebut:
 Nano: SDA (A4); SCL (A5)
 MEGA: SDA (20); SCL (21)
 Leonardo: SDA (20); SCL (21)

26 | Real Time Clock (RTC)


Praktik Sensor Real Time Clock (RTC)
PST 006
& Transduser DS1307 atau DS3231

III. Buku Bacaan dan Referensi Lainnya


Terdapat beberapa referensi untuk menambah pengetahuan tentang materi pada
percobaan ini, anda disarankan membaca buku:
1. Santos, Rui and Santos, Sara. Ultimate Guide for Arduino Sensors/Moduls.
2. https://github.com/RuiSantosdotme/Random-Nerd-Tutorials/tree/master/Projects
3. https: //Arduino.cc

IV. Alat dan Bahan


1. Arduino Uno 1 buah
2. Modul RTC 1 buah
3. Breadboard 1 buah
4. Kabel Jumper Secukupnya
5. Software Simulasi Elektronik
6. Arduino IDE
V. Gambar Rangkaian
Hubungkan modul Real Time Clock Anda ke Arduino seperti dalam skema di bawah
ini.

Gambar2. Rangkaian RTC


VI. Langkah Kerja
1. Bekerja dengan RTC membutuhkan dua langkah penting yaitu:
 Atur waktu sekarang, sehingga RTC tahu jam berapa sekarang
 Mempertahankan waktu, sehingga RTC selalu memberikan waktu yang tepat,
bahkan ketika dimatikan
2. Untuk mengatur waktu saat ini, Anda perlu mengubah kode yang disediakan. Setel
waktu saat ini dalam fungsi setDS3231time ()

Real Time Clock (RTC) | 27


Praktik Sensor Real Time Clock (RTC)
& Transduser PST 006
DS1307 atau DS3231

3. Lakukan pengaturan Parameter dalam fungsi yang berada dalam tanda warna
merah: detik, menit, jam, hari minggu, tanggal, bulan dan tahun (secara
berurutan). Minggu adalah hari ke-1 dalam seminggu dan Sabtu adalah hari ke-7.
4. Jika Anda tidak ingin mengatur ulang waktu setiap kali RTC dimatikan, Anda harus
melakukan hal-hal berikut ini: Anda harus mengomentari fungsi yang ditetapkan
waktu dan unggah kode lagi ke dalam Arduino. Ini adalah langkah yang sangat
penting untuk mengatur waktu di RTC Anda.

Jika Anda tidak melakukan ini, setiap waktu RTC Anda akan diatur ulang, maka
waktu yang telah kita atur sebelumnya akan tampil sebagai waktu sekarang.
5. Upload program ke dalam Arduino IDE
6. Buatlah rangkaian simulasi seperti pada gambar 2.
7. Laukan simulasi dan lakukan analisis berdasarkan program yang anda buat beserta
hasilnya.

Kode Program
// Written by John Boxall from http://tronixstuff.com

#include "Wire.h"
#define DS3231_I2C_ADDRESS 0x68
// Convert normal decimal numbers to binary coded decimal
byte decToBcd(byte val){
return( (val/10*16) + (val%10) );
}
// Convert binary coded decimal to normal decimal numbers
byte bcdToDec(byte val){
return( (val/16*10) + (val%16) );
}
void setup(){
Wire.begin();
Serial.begin(9600);
// set the initial time here:
// DS3231 seconds, minutes, hours, day, date, month, year
setDS3231time(30,42,16,5,13,10,16);
}
void setDS3231time(byte second, byte minute, byte hour, byte dayOfWeek, byte
dayOfMonth, byte month, byte year){
// sets time and date data to DS3231
Wire.beginTransmission(DS3231_I2C_ADDRESS);
Wire.write(0); // set next input to start at the seconds register
Wire.write(decToBcd(second)); // set seconds
Wire.write(decToBcd(minute)); // set minutes
Wire.write(decToBcd(hour)); // set hours
Wire.write(decToBcd(dayOfWeek)); // set day of week (1=Sunday, 7=Saturday)
Wire.write(decToBcd(dayOfMonth)); // set date (1 to 31)
Wire.write(decToBcd(month)); // set month

28 | Real Time Clock (RTC)


Praktik Sensor Real Time Clock (RTC)
PST 006
& Transduser DS1307 atau DS3231

Wire.write(decToBcd(year)); // set year (0 to 99)


Wire.endTransmission();
}
void readDS3231time(byte *second,
byte *minute,
byte *hour,
byte *dayOfWeek,
byte *dayOfMonth,
byte *month,
byte *year){
Wire.beginTransmission(DS3231_I2C_ADDRESS);
Wire.write(0); // set DS3231 register pointer to 00h
Wire.endTransmission();
Wire.requestFrom(DS3231_I2C_ADDRESS, 7);
// request seven bytes of data from DS3231 starting from register 00h
*second = bcdToDec(Wire.read() & 0x7f);
*minute = bcdToDec(Wire.read());
*hour = bcdToDec(Wire.read() & 0x3f);
*dayOfWeek = bcdToDec(Wire.read());
*dayOfMonth = bcdToDec(Wire.read());
*month = bcdToDec(Wire.read());
*year = bcdToDec(Wire.read());
}
void displayTime(){
byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
// retrieve data from DS3231
readDS3231time(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month,
&year);
// send it to the serial monitor
Serial.print(hour, DEC);
// convert the byte variable to a decimal number when displayed
Serial.print(":");
if (minute<10){
Serial.print("0");
}
Serial.print(minute, DEC);
Serial.print(":");
if (second<10){
Serial.print("0");
}
Serial.print(second, DEC);
Serial.print(" ");

Serial.print(dayOfMonth, DEC);
Serial.print("/");
Serial.print(month, DEC);
Serial.print("/");
Serial.print(year, DEC);
Serial.print(" Day of week: ");
switch(dayOfWeek){
case 1:
Serial.println("Sunday");
break;
case 2:
Serial.println("Monday");
break;
case 3:
Serial.println("Tuesday");
break;
case 4:
Serial.println("Wednesday");
break;
case 5:

Real Time Clock (RTC) | 29


Praktik Sensor Real Time Clock (RTC)
& Transduser PST 006
DS1307 atau DS3231

Serial.println("Thursday");
break;
case 6:
Serial.println("Friday");
break;
case 7:
Serial.println("Saturday");
break;
}
}
void loop(){
displayTime(); // display the real-time clock data on the Serial Monitor,
delay(1000); // every second
}

VII. Pertanyaan Praktikum


1. Modifikasi Program sebelumnya agar dapat menampilkan data pembacaan waktu
pada LCD 16x2!
2. Lakukan analisis berdasarkan program dan hasil yang anda peroleh!

30 | Real Time Clock (RTC)


Praktik Sensor
Sensor Gas / Asap MQ-2 PST 007
& Transduser

I. Tujuan
Setelah melaksanakan percobaan ini mahasiswa diharapkan dapat:
1. Memahami prinsip kerja sensor Gas / Asap MQ-2
2. Membuat program pembacaan sensor Gas / Asap MQ-2 menggunakan Arduino
3. Melakukan simulasi rangkaian pembacaan sensor Gas / Asap MQ-2

II. Pendahuluan
Panduan ini menunjukkan cara membuat detektor asap yang berbunyi bip saat
terdeteksi gas atau asap yang mudah terbakar. Sensor asap MQ-2 ditunjukkan pada
gambar berikut:

Gambar 1. Sensor Gas


Sensor asap MQ-2 sensitif terhadap asap dan terhadap gas yang mudah terbakar
seperti: LPG, butana, propana, metana, alkohol, dan hidrogen. Nilai resistansi sensor
berbeda tergantung pada jenis gas. Sensor asap memiliki potensiometer yang
memungkinkan anda untuk mengatur nilai ambang keluaran digital (D0) sensor. Nilai
ambang ini dijadikan sebagai acuan pembacaan nilai yang apabila lebih besar dari nilai
ambang maka pin akan mengeluarkan output sinyal HIGH.

Gambar 2. Penjelasan Pin Modul Sensor Gas


Prinsip Kerja Sensor Gas
Tegangan yang dihasilkan sensor berubah sesuai dengan asap / gas yang ada di
atmosfer. Sensor mengeluarkan tegangan yang proporsional dengan konsentrasi
asap / gas.

Sensor Gas / Asap MQ-2 | 31


Praktik Sensor
Sensor Gas / Asap MQ-2 PST 007
& Transduser

Dengan kata lain, hubungan antara tegangan dan konsentrasi gas yaitu:
 Semakin besar konsentrasi gas, semakin besar tegangan output
 Semakin rendah konsentrasi gas, semakin rendah tegangan output

Output dapat berupa sinyal analog (A0) yang dapat dibaca dengan input analog dari
Arduino atau output digital (D0) yang dapat dibaca dengan input digital dari Arduino.

III. Buku Bacaan dan Referensi Lainnya


Terdapat beberapa referensi untuk menambah pengetahuan tentang materi pada
percobaan ini, anda disarankan membaca buku:
1. Santos, Rui and Santos, Sara. Ultimate Guide for Arduino Sensors/Moduls.
2. https://github.com/RuiSantosdotme/Random-Nerd-Tutorials/tree/master/Projects
3. https: //Arduino.cc

IV. Alat dan Bahan

32 | Sensor Gas / Asap MQ-2


Praktik Sensor
Sensor Gas / Asap MQ-2 PST 007
& Transduser

V. Gambar Rangkaian

Gambar 3. Rangkaian Sensor Gas


VI. Langkah Kerja
1. Buatlah rangkaian simulasi seperti pada gambar 3
2. Buatlah rogram Arduino pembacaan Sensor Gas sebagaimana ditampilkan pada
kode program di bawah ini
3. Compile program dan pastikan tidak ada kesalahan program
4. Upload program ke dalam Arduino
5. Lakukan simulasi dan catat hasilnya
6. Lakukan analisis program yang telah dibuat.
Kode Program
int redLed = 12;
int greenLed = 11;
int buzzer = 10;
int smokeA0 = A5;
// Your threshold value
int sensorThres = 400;
void setup() {
pinMode(redLed, OUTPUT);
pinMode(greenLed, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(smokeA0, INPUT);
Serial.begin(9600);
}

void loop() {
int analogSensor = analogRead(smokeA0);

Sensor Gas / Asap MQ-2 | 33


Praktik Sensor
Sensor Gas / Asap MQ-2 PST 007
& Transduser

Serial.print("Pin A0: ");


Serial.println(analogSensor);
// Checks if it has reached the threshold value
if (analogSensor > sensorThres)
{
digitalWrite(redLed, HIGH);
digitalWrite(greenLed, LOW);
tone(buzzer, 1000, 200);
}
else
{
digitalWrite(redLed, LOW);
digitalWrite(greenLed, HIGH);
noTone(buzzer);
}
delay(100);
}

VII. Pertanyaan Praktikum


1. Modifikasi Program sebelumnya agar dapat menampilkan data pembacaan analog
pada LCD 16x2!
2. Buatlah program untuk membaca 3 buah sensor gas!
3. Lakukan analisis terhadap program dan hasil yang diperoleh!

34 | Sensor Gas / Asap MQ-2


Praktik Sensor
Sensor Gerak PIR PST 008
& Transduser

I. Tujuan
Setelah melaksanakan percobaan ini mahasiswa diharapkan dapat:
1. Memahami prinsip kerja sensor gerak PIR
2. Membuat program pembacaan sensor gerak PIR menggunakan Arduino
3. Melakukan simulasi rangkaian pembacaan sensor gerak PIR

II. Pendahuluan
Sensor gerak PIR sangat ideal untuk mendeteksi gerakan. PIR adalah singkatan dari "
Pasif Infrared". Pada dasarnya, sensor gerak PIR mengukur cahaya inframerah dari
objek dalam range cakupan sensor tersebut. Jadi, sensor ini dapat mendeteksi
gerakan berdasarkan perubahan cahaya inframerah di lingkungan. Sensor ini sangat
ideal untuk mendeteksi apakah manusia telah bergerak masuk atau keluar dari
rentang sensor.

Gambar 1. Sensor PIR

Sensor pada gambar di atas memiliki dua potensiometer bawaan untuk menyesuaikan
waktu tunda (potensiometer di sebelah kiri) dan sensitivitas (potensiometer di
sebelah kanan).

III. Buku Bacaan dan Referensi Lainnya


Terdapat beberapa referensi untuk menambah pengetahuan tentang materi pada
percobaan ini, anda disarankan membaca buku:
1. Santos, Rui and Santos, Sara. Ultimate Guide for Arduino Sensors/Moduls.
2. https://github.com/RuiSantosdotme/Random-Nerd-Tutorials/tree/master/Projects
3. https: //Arduino.cc

IV. Alat dan Bahan

Deteksi Pergerakan dengan Sensor gerak PIR


Pada contoh ini sebuah LED akan menyala ketika sensor mendeteksi adanya
pergerakan. Berikut ini alat dan bahan yang dibutuhkan:

Sensor Gerak PIR | 35


Praktik Sensor
Sensor Gerak PIR PST 008
& Transduser

V. Gambar Rangkaian

Gambar 2. Rangkaian Sensor PIR

VI. Langkah Kerja


1. Buatlah rangkaian simulasi seperti pada gambar 2
2. Buatlah program Arduino IDE untuk pembacaan sensor PIR seperti contoh berikut:
3. Lakukan kompile pda program dan pastikan tidak ada error
4. Upload progam tersebut ke dalam arduino
5. Lakukan simulasi menggunakan software simulasi elektronika
6. Analisis hasil dan program yang anda buat
Kode Program
int led = 13; // the pin that the LED is atteched to
int sensor = 2; // the pin that the sensor is atteched to
int state = LOW; // by default, no motion detected

36 | Sensor Gerak PIR


Praktik Sensor
Sensor Gerak PIR PST 008
& Transduser

int val = 0; // variable to store the sensor status


(value)

void setup() {
pinMode(led, OUTPUT); // initalize LED as an output
pinMode(sensor, INPUT); // initialize sensor as an input
Serial.begin(9600); // initialize serial
}

void loop(){
val = digitalRead(sensor); // read sensor value
if (val == HIGH) { // check if the sensor is HIGH
digitalWrite(led, HIGH); // turn LED ON
delay(100); // delay 100 milliseconds

if (state == LOW) {
Serial.println("Motion detected!");
state = HIGH; // update variable state to HIGH
}
}
else {
digitalWrite(led, LOW); // turn LED OFF
delay(200); // delay 200 milliseconds

if (state == HIGH){
Serial.println("Motion stopped!");
state = LOW; // update variable state to LOW
}
}
}

VII. Pertanyaan Praktikum


1. Modifikasi Program sebelumnya agar dapat menampilkan data pembacaan pada
LCD 16x2!
2. Buatlah program agar dapat membaca 3 buah sensor PIR!
3. Lakukan analisis terhadap program dan hasil yang anda peroleh!

Sensor Gerak PIR | 37


Praktik Sensor
Sensor Suara Microphone PST 009
& Transduser

I. Tujuan
Setelah melaksanakan percobaan ini mahasiswa diharapkan dapat:
1. Memahami prinsip kerja sensor suara microphone
2. Membuat program pembacaan sensor suara microphone menggunakan Arduino
3. Melakukan simulasi rangkaian pembacaan sensor suara microphone

II. Pendahuluan
Panduan ini menunjukkan cara menggunakan sensor suara mikrofon dengan Arduino.
Sensor suara mikrofon, dapat mendeteksi suara dengan ukuran seberapa keras suatu
suara.
Ada berbagai macam sensor suara. Gambar di bawah ini memperlihatkan jenis sensor
suara yang paling umum digunakan dengan Arduino.

Gambar 1. Modul Sensor Suara


Di sebelah kiri Anda dapat melihat KY-038 dan di sebelah kanan sensor suara mikrofon
LM393. Kedua modul sensor memiliki potensiometer internal untuk menyesuaikan
sensitivitas pin keluaran digital.

Hubungan Pin Arduino

Apabila anda menggunakan modul LM393 maka anda harus menghubungkan pin OUT
ke pin digital Arduino.
Contoh: Led indikator sensitivitas Suara
Dalam contoh ini, sensor mikrofon akan mendeteksi intensitas suara di sekitar Anda
dan akan menyalakan LED jika intensitas suara di atas ambang tertentu.

38 | Sensor Suara Microphone


Praktik Sensor
Sensor Suara Microphone PST 009
& Transduser

Anda dapat memodifikasi proyek ini dengan menambahkan lebih banyak LED. Anda
juga dapat menyesuaikan sensitivitas sensor Anda sehingga LED yang dinyalakan atau
dimatikan sesuai dengan irama musik.

III. Buku Bacaan dan Referensi Lainnya


Terdapat beberapa referensi untuk menambah pengetahuan tentang materi pada
percobaan ini, anda disarankan membaca buku:
1. Santos, Rui and Santos, Sara. Ultimate Guide for Arduino Sensors/Moduls.
2. https://github.com/RuiSantosdotme/Random-Nerd-Tutorials/tree/master/Projects
3. https: //Arduino.cc

IV. Alat dan Bahan


Untuk contoh ini, Anda memerlukan komponen berikut.

V. Gambar Rangkaian
Buatlah gambar rangkaian seperti pada gambar berikut:

Gambar 2. Rangkaian Sensor Suara

Sensor Suara Microphone | 39


Praktik Sensor
Sensor Suara Microphone PST 009
& Transduser

VI. Langkah Kerja


1. Buatlah rangkaian simulasi seperti pada gambar 2
2. Buatlah program Arduino IDE untuk pembacaan sensor suara seperti contoh
berikut:
3. Lakukan kompile pda program dan pastikan tidak ada error
4. Upload progam tersebut ke dalam arduino
5. Lakukan simulasi menggunakan software simulasi elektronika
6. Analisis hasil dan program yang anda buat
Kode Program
int ledPin=13;
int sensorPin=7;
boolean val =0;

void setup(){
pinMode(ledPin, OUTPUT);
pinMode(sensorPin, INPUT);
Serial.begin (9600);
}

void loop (){


val =digitalRead(sensorPin);
Serial.println (val);
// when the sensor detects a signal above the threshold value, LED
flashes
if (val==HIGH) {
digitalWrite(ledPin, HIGH);
}
else {
digitalWrite(ledPin, LOW);
}
}

I. Pertanyaan Praktikum
1. Modifikasi Program sebelumnya agar dapat menampilkan data pembacaan pada
LCD 16x2!
2. Lakukan analisis terhadap program dan hasil yang anda peroleh!

40 | Sensor Suara Microphone


Praktik Sensor
Sensor Reed Switch PST 010
& Transduser

I. Tujuan
Setelah melaksanakan percobaan ini mahasiswa diharapkan dapat:
1. Memahami prinsip kerja sensor reed switch
2. Membuat program pembacaan sensor reed switch menggunakan Arduino
3. Melakukan simulasi rangkaian pembacaan sensor reed switch

II. Pendahuluan
Saklar kontak magnetik pada dasarnya adalah sakelar buluh yang terbungkus dalam
selubung plastik sehingga Anda dapat dengan mudah mengaplikasikannya di pintu,
jendela, atau laci untuk mendeteksi apakah pintu terbuka atau tertutup.
Saklar yang akan kita gunakan memiliki dua bagian: sakelar itu sendiri, yang biasanya
terbuka dan magnet. Saat Anda membeli sakelar ini, ia juga dilengkapi dengan 4
sekrup, sehingga Anda dapat memasangnya di pintu Anda.

Gambar 1. Reed Switch dan Magnet

Prinsip Kerja
Prinsip kerja reed switch sangat sederhana. Rangkaian listrik terhubung ketika magnet
berada di dekat sakelar (berjarak kurang dari 13 mm (0,5 ')). Ketika magnet jauh dari
sakelar, sirkuit rangkaian listrik akan terbuka. Lihat gambar di bawah ini.

Sensor Reed Switch | 41


Praktik Sensor
Sensor Reed Switch PST 010
& Transduser

Gambar 2. Prinsip kerja reed switch


Contoh Project
Pada contoh ini, kita akan menyalakan LED Merah jika pintu terbuka dan LED hijau
menyala apabila pintu tertutup.

III. Buku Bacaan dan Referensi Lainnya


Terdapat beberapa referensi untuk menambah pengetahuan tentang materi pada
percobaan ini, anda disarankan membaca buku:
1. Santos, Rui and Santos, Sara. Ultimate Guide for Arduino Sensors/Moduls.
2. https://github.com/RuiSantosdotme/Random-Nerd-Tutorials/tree/master/Projects
3. https: //Arduino.cc

IV. Alat dan Bahan

42 | Sensor Reed Switch


Praktik Sensor
Sensor Reed Switch PST 010
& Transduser

V. Gambar Rangkaian
Ikutilah gambar rangkaian berikut ini untuk melengkapi project yang kita buat.

Gambar 3 Rangkaian Project Reed Switch


VI. Langkah Kerja
1. Buatlah rangkaian simulasi seperti pada gambar 3
2. Buatlah program Arduino IDE untuk pembacaan sensor reed switch seperti contoh
berikut:
3. Lakukan kompile pda program dan pastikan tidak ada error
4. Upload progam tersebut ke dalam arduino
5. Lakukan simulasi menggunakan software simulasi elektronika
6. Analisis hasil dan program yang anda buat
Kode Program
int ledOpen=8;
int ledClose=10;
int switchReed=6;

void setup(){
pinMode(ledOpen, OUTPUT);
pinMode(ledClose, OUTPUT);
pinMode(switchReed, INPUT);
Serial.begin(9600);
}

void loop(){

if (digitalRead(switchReed)==HIGH){
digitalWrite(ledOpen, LOW);
digitalWrite(ledClose, HIGH);
Serial.println("Your Door is Closed");
}

Sensor Reed Switch | 43


Praktik Sensor
Sensor Reed Switch PST 010
& Transduser

else {
digitalWrite(ledOpen, HIGH);
digitalWrite(ledClose, LOW);
Serial.println("Your Door is Open");
}
delay(1);
}

VII. Pertanyaan Praktikum


1. Modifikasi Program sebelumnya agar dapat menampilkan data pembacaan pada
LCD 16x2!
2. Buatlah program pembacaan agar dapat membaca 3 buah sensor reed switch!
3. Lakukan analisis terhadap program dan hasil yang anda peroleh!

44 | Sensor Reed Switch


Praktik Sensor
Modul Relay PST 011
& Transduser

I. Tujuan
Setelah melaksanakan percobaan ini mahasiswa diharapkan dapat:
1. Memahami prinsip kerja Modul Relay
2. Membuat program pengendalian Modul Relay menggunakan Arduino
1. Melakukan simulasi rangkaian pengendalian Modul Relay

II. Pendahuluan
Relay adalah saklar tegangan listrik yang dioperasikan secara listrik. Relay bisa
dinyalakan atau dimatikan, dengan membiarkan arus mengalir atau tidak. Modul relay
ditunjukkan pada gambar di bawah ini. Relay ini memiliki dua channel berdasarkan
jumlh relay yang digunakannya.

Gambar 1. Modul Relay

Koneksi Tegangan Listrik


Cara menghubungkan ke sumber tegangan, relay memiliki 3 buah soket koneksi yaitu:

Gambar 2. Koneksi sumber tegangan relay

Modul Relay | 45
Praktik Sensor
Modul Relay PST 011
& Transduser

 COM: pin umum


 NO: biasanya terbuka - tidak ada kontak antara pin umum dan pin yang biasanya
terbuka. Jadi, ketika Anda memicu relai maka pin NO terhubung dengan pin COM dan
daya akan diberikan ke beban (lampu desktop, dalam kasus kami).
 NC: biasanya tertutup - ada kontak antara pin umum dengan pin yang biasanya
tertutup. Selalu ada koneksi antara pin COM dan NC, bahkan ketika relay dimatikan.
Saat Anda memicu relai, sirkuit ini terbuka dan tidak ada pasokan yang disediakan
untuk beban.

Apabila kita ingin membuat pengendalian lampu, lebih menggunakan Normally-Open,


karena kita hanya akan menyalakan lampu apabila secara berkala.

Koneksi Pin
Koneksi in antara arduino dengan modul relay sangat sederhana:

Gambar 3. Koneksi pin arduino dengan modul relay

 GND: terhubung ke Ground


 IN1: kontrol relay pertama. Harus terhubung ke Pin Digital Arduino
 IN2: kontrol relay kedua. Harus terhubung ke Pin Digital Arduino apabila
digunakan relay kedua ini, akan tetapi apabila tidak digunakan maka tidak perlu
dihubungkan ke Arduino
 VCC: terhubung ke 5V.

Mengontrol Lampu dengan Modul Relai dan PIR


Sensor gerak
Pada contoh kali ini anda akan membuat lampu yang diaktifkan dengan sensor gerak.
Lampu akan menyala selama 10 detik setiap adanya pergerakan yang dideteksi.
Gerakan dapat dideteksi dengan menggunakan sensor gerak PIR.

III. Buku Bacaan dan Referensi Lainnya


Terdapat beberapa referensi untuk menambah pengetahuan tentang materi pada
percobaan ini, anda disarankan membaca buku:
1. Santos, Rui and Santos, Sara. Ultimate Guide for Arduino Sensors/Moduls.
2. https://github.com/RuiSantosdotme/Random-Nerd-Tutorials/tree/master/Projects

46 | Modul Relay
Praktik Sensor
Modul Relay PST 011
& Transduser

3. https: //Arduino.cc

IV. Alat dan Bahan

V. Gambar Rangkaian
Pasang semua bagian dengan mengikuti diagram skematik di bawah ini. Berhati-
hatilah dengan koneksi voltase listrik. Pastikan Anda memiliki relai yang dicabut dari
tegangan listrik saat memasang sirkuit.

Gambar 4. Rangkaian Sensor Gerak


VI. Langkah Kerja
1. Buatlah rangkaian simulasi seperti pada gambar 4
2. Buatlah program Arduino IDE untuk pembacaan sensor gerak seperti contoh
berikut:
3. Lakukan kompile pda program dan pastikan tidak ada error

Modul Relay | 47
Praktik Sensor
Modul Relay PST 011
& Transduser

4. Upload progam tersebut ke dalam arduino


5. Lakukan simulasi menggunakan software simulasi elektronika
6. Analisis hasil dan program yang anda buat
Kode Program
int relay = 8;
volatile byte relayState = LOW;

// PIR Motion Sensor is connected to D2.


int PIRInterrupt = 2;

// Timer Variables
long lastDebounceTime = 0;
long debounceDelay = 10000;

void setup() {
// Pin for relay module set as output
pinMode(relay, OUTPUT);
digitalWrite(relay, HIGH);
// PIR motion sensor set as an input
pinMode(PIRInterrupt, INPUT);
// Triggers detectMotion function on rising mode to turn the relay on,
if thecondition is met
attachInterrupt(digitalPinToInterrupt(PIRInterrupt),detectMotion,
RISING);
// Serial communication for debugging purposes
Serial.begin(9600);
}

void loop() {
// If 10 seconds have passed, the relay is turned off
if((millis() - lastDebounceTime) > debounceDelay && relayState ==
HIGH){
digitalWrite(relay, HIGH);
relayState = LOW;
Serial.println("OFF");
}
delay(50);
}

void detectMotion() {
Serial.println("Motion");
if(relayState == LOW){
digitalWrite(relay, LOW);
}
relayState = HIGH;
Serial.println("ON");
lastDebounceTime = millis();
}
VII. Pertanyaan Praktikum
1. Modifikasi Program sebelumnya agar dapat menampilkan data pembacaan pada
LCD 16x2!
2. Lakukan analisis terhadap program yang anda buat!

48 | Modul Relay
Praktik Sensor
Modul NRF24L01 PST 012
& Transduser

I. Tujuan
Setelah melaksanakan percobaan ini mahasiswa diharapkan dapat:
1. Memahami prinsip kerja Modul NRF24L01
2. Membuat program pembacaan Modul NRF24L01 menggunakan Arduino
1. Melakukan simulasi rangkaian pembacaan Modul NRF24L01

II. Pendahuluan
Modul RF ini sangat populer di kalangan penggiat Arduino. NRF24L01 digunakan pada
berbagai aplikasi yang membutuhkan kontrol nirkabel. Aplikasi tersebut berupa
transceiver yang berarti bahwa setiap modul dapat mengirim dan menerima data.

Modul-modul ini sangat murah dan Anda dapat menggunakannya dengan


mikrokontroler (MCU) apa pun.

Gambar 1. Modul NRF24L01

Spesifikasi dari nRF24L01 – 2.4GHz RF Transceiver adalah:

 Low cost single-chip 2.4GHz GFSK RF transceiver IC


 Range with Antenna: 250Kb rate (Open area) >1000 meter
 Power: Ultra low power consumption
 Input Voltage: 3.3V
 Pins: 5V tolerant
 Price: $2

III. Buku Bacaan dan Referensi Lainnya


Terdapat beberapa referensi untuk menambah pengetahuan tentang materi pada
percobaan ini, anda disarankan membaca buku:
1. Santos, Rui and Santos, Sara. Ultimate Guide for Arduino Sensors/Moduls.
2. https://github.com/RuiSantosdotme/Random-Nerd-Tutorials/tree/master/Projects
3. https: //Arduino.cc

Modul NRF24L01 | 49
Praktik Sensor
Modul NRF24L01 PST 012
& Transduser

IV. Alat dan Bahan


Anda akan membutuhkan komponen berikut ini untuk melengkapi project yang akan
dibuat:

PinOut
Berikut ini adalah gambar tampak atas dari NRF24L01

Gambar 2. Tampilan atas modul NRF24L01

50 | Modul NRF24L01
Praktik Sensor
Modul NRF24L01 PST 012
& Transduser

V. Gambar Rangkaian
Gambar rangakian Klien

Gambar 3. Rangkaian client

Rangkaian Server

Gambar 4. Rangkaian Server


VI. Langkah Kerja
Pada projek ini anda akan membutuhkan library RadioHead
1. Klik link berikut untuk mendownload library RadioHead
http://www.airspayce.com/mikem/arduino/RadioHead/RadioHead-1.46.zip
2. Unzip folder .zip dan kamu akan menndapatkan folder RadioHead-1.46.
3. Rename folder dari RadioHead-1.46 menjadi RadioHead.
4. Pindahkan folder RadioHead ke folder Instalasi Arduino IDE
5. Terakhir, Restar Arduino IDE

Modul NRF24L01 | 51
Praktik Sensor
Modul NRF24L01 PST 012
& Transduser

Library RadioHead sangat bagus dan berfungsi dengan hampir semua modul RF di
pasaran.
Ikuti gambar rangkaian 3 untuk arduino client. Kemudian upload program di bawah ini
ke dalam Arduino anda (pastikan bahwa anda telah menginstall library RadioHead).

Masuk ke menu File > Examples > RadioHead > nrf24 > nrf24_client.

// nrf24_client
#include <SPI.h>
#include <RH_NRF24.h>

// Singleton instance of the radio driver


RH_NRF24 nrf24;
// RH_NRF24 nrf24(8, 7); // use this to be electrically compatible
with Mirf
// RH_NRF24 nrf24(8, 10);// For Leonardo, need explicit SS pin
// RH_NRF24 nrf24(8, 7); // For RFM73 on Anarduino Mini

void setup()
{
Serial.begin(9600);
while (!Serial)
; // wait for serial port to connect. Needed for Leonardo only
if (!nrf24.init())
Serial.println("init failed");
// Defaults after init are 2.402 GHz (channel 2), 2Mbps, 0dBm
if (!nrf24.setChannel(1))
Serial.println("setChannel failed");
if (!nrf24.setRF(RH_NRF24::DataRate2Mbps,
RH_NRF24::TransmitPower0dBm))
Serial.println("setRF failed");
}

void loop()
{
Serial.println("Sending to nrf24_server");
// Send a message to nrf24_server
uint8_t data[] = "Hello World!";
nrf24.send(data, sizeof(data));

nrf24.waitPacketSent();
// Now wait for a reply
uint8_t buf[RH_NRF24_MAX_MESSAGE_LEN];
uint8_t len = sizeof(buf);

if (nrf24.waitAvailableTimeout(500))
{
// Should be a reply message for us now
if (nrf24.recv(buf, &len))
{
Serial.print("got reply: ");
Serial.println((char*)buf);
}
Else
{

52 | Modul NRF24L01
Praktik Sensor
Modul NRF24L01 PST 012
& Transduser

Serial.println("recv failed");
}
}
else
{
Serial.println("No reply, is nrf24_server running?");
}
delay(400);
}

Ikuti gambar rangkaian 4 di atas untuk arduino server. Kemudian upload program di
bawah ini ke dalam Arduino anda (pastikan bahwa anda telah menginstall library
RadioHead).

Masuk ke menu File > Examples > RadioHead > nrf24 > nrf24_server.

// nrf24_server

#include <SPI.h>
#include <RH_NRF24.h>

// Singleton instance of the radio driver


RH_NRF24 nrf24;
// RH_NRF24 nrf24(8, 7); // use this to be electrically compatible
with Mirf
// RH_NRF24 nrf24(8, 10);// For Leonardo, need explicit SS pin
// RH_NRF24 nrf24(8, 7); // For RFM73 on Anarduino Mini

void setup()
{
Serial.begin(9600);
while (!Serial)
; // wait for serial port to connect. Needed for Leonardo only
if (!nrf24.init())
Serial.println("init failed");
// Defaults after init are 2.402 GHz (channel 2), 2Mbps, 0dBm
if (!nrf24.setChannel(1))
Serial.println("setChannel failed");
if (!nrf24.setRF(RH_NRF24::DataRate2Mbps,
RH_NRF24::TransmitPower0dBm))
Serial.println("setRF failed");
}

void loop()
{
if (nrf24.available())
{
// Should be a message for us now
uint8_t buf[RH_NRF24_MAX_MESSAGE_LEN];
uint8_t len = sizeof(buf);
if (nrf24.recv(buf, &len))
{
// NRF24::printBuffer("request: ", buf, len);
Serial.print("got request: ");
Serial.println((char*)buf);

Modul NRF24L01 | 53
Praktik Sensor
Modul NRF24L01 PST 012
& Transduser

// Send a reply
uint8_t data[] = "And hello back to you";
nrf24.send(data, sizeof(data));
nrf24.waitPacketSent();
Serial.println("Sent a reply");
}
else
{
Serial.println("recv failed");
}
}
}

VII. Pertanyaan Praktikum


1. Modifikasi Program sebelumnya agar dapat menampilkan data pembacaan pada
LCD 16x2!
2. Lakukan simulasi terhadap program yang anda buat!
3. Lakukan analisis terhadap hasil dan program yang anda dapatkan!

54 | Modul NRF24L01
Praktik Sensor
433 MHz Transmitter/Receiver PST 013
& Transduser

I. Tujuan
Setelah melaksanakan percobaan ini mahasiswa diharapkan dapat:
1. Memahami prinsip kerja Modul RF 433 MHz Transmitter/Receiver
2. Membuat program pembacaan Modul RF 433 MHz Transmitter/Receiver
menggunakan Arduino
1. Melakukan simulasi rangkaian pembacaan Modul RF 433 MHz Transmitter/Receiver

II. Pendahuluan
Modul RF ini sangat populer di kalangan penggiat Arduino. Modul 433MHz digunakan
pada berbagai aplikasi yang membutuhkan kontrol nirkabel.

Gambar 1. Modul RF 433 MHz Transmitter/Receiver

Modul-modul ini sangat murah, dan Anda dapat menggunakannya dengan


mikrokontroler (MCU) apa saja.

Spesifikasi RF 433MHz Receiver

 Frequency Range: 433.92 MHz


 Modulation: ASK
 Input Voltage: 5V
 Price: $1 to $2

Spesifikasi RF 433MHz Transmitter

 Frequency Range: 433.92MHz


 Input Voltage: 3-12V
 Price: $1 to $2
III. Buku Bacaan dan Referensi Lainnya
Terdapat beberapa referensi untuk menambah pengetahuan tentang materi pada
percobaan ini, anda disarankan membaca buku:
1. Santos, Rui and Santos, Sara. Ultimate Guide for Arduino Sensors/Moduls.
2. https://github.com/RuiSantosdotme/Random-Nerd-Tutorials/tree/master/Projects
3. https: //Arduino.cc

433 MHz Transmitter/Receiver| 55


Praktik Sensor
433 MHz Transmitter/Receiver PST 013
& Transduser

IV. Alat dan Bahan


1. Arduino Uno 1 buah
2. 433 MHz Transmitter/Receiver 1 buah
3. Breadboard 1 buah
4. Resistor 10K 6 buah
5. Kabel Jumper Secukupnya
6. Software Simulasi Elektronik
7. Arduino IDE
V. Gambar Rangkaian
Rangkaian Penerima RF

Gambar 2. Rangkaian penerima RF


Rangkaian Pemancar

Gambar 3. Rangkaian pemancar RF

56 | Sensor Warna TCS3200


Praktik Sensor
433 MHz Transmitter/Receiver PST 013
& Transduser

VI. Langkah Kerja


1. Buatlah rangkaian simulasi seperti pada gambar 2 dan 3
2. Unduh library pada link berikut
http://www.airspayce.com/mikem/arduino/RadioHead/RadioHead-1.50.zip
3. Buka zip library RadioHead
4. Instal library RadioHead di Arduino IDE Anda
5. Mulai ulang IDE Arduino Anda
6. Buatlah program Arduino IDE untuk pembacaan modul RF
7. Lakukan kompile pada program dan pastikan tidak ada error
8. Upload progam tersebut ke dalam arduino
9. Lakukan simulasi menggunakan software simulasi elektronika
10. Analisis hasil dan program yang anda buat

Kode Rangkaian Penerima:


#include <RH_ASK.h>
#include <SPI.h> // Not actualy used but needed to compile

RH_ASK driver;

void setup()
{
Serial.begin(9600); // Debugging only
if (!driver.init())
Serial.println("init failed");
}

void loop()
{
uint8_t buf[12];
uint8_t buflen = sizeof(buf);
if (driver.recv(buf, &buflen)) // Non-blocking
{
int i;
// Message with a good checksum received, dump it.
Serial.print("Message: ");
Serial.println((char*)buf);
}
}

Kode Rangkaian pemancar:


#include <RH_ASK.h>
#include <SPI.h> // Not actually used but needed to compile

RH_ASK driver;

void setup()
{
Serial.begin(9600); // Debugging only
if (!driver.init())
Serial.println("init failed");
}

void loop()

433 MHz Transmitter/Receiver| 57


Praktik Sensor
433 MHz Transmitter/Receiver PST 013
& Transduser

{
const char *msg = "Hello World!";
driver.send((uint8_t *)msg, strlen(msg));
driver.waitPacketSent();
delay(1000);
}

Simulasi
Dalam proyek ini pemancar mengirim pesan "Hello World!" ke penerima melalui RF.
Pesan-pesan itu ditampilkan di serail monitor dari receiver. Inilah yang harus Anda
lihat di monitor serial Arduino IDE Anda.

Anda perlu memiliki harapan yang realistis saat menggunakan modul ini. Modul RF
ini bekerja dengan sangat baik ketika penerima dan pemancar saling berdekatan. Jika
Anda memisahkannya terlalu jauh, Anda akan kehilangan komunikasi.
Rentang komunikasi akan bervariasi. Tergantung pada seberapa banyak tegangan
yang Anda berikan ke modul pemancar Anda, kebisingan RF di lingkungan Anda dan
jika Anda menggunakan antena eksternal.
VII. Pertanyaan Praktikum
1. Modifikasi Program sebelumnya agar dapat menampilkan data pembacaan pada
LCD 16x2!
2. Buatlah program pembacaan agar dapat mengirim dan menerima data dari
sensor!
3. Lakukan analisis terhadap program dan hasil yang anda peroleh!

58 | Sensor Warna TCS3200


Praktik Sensor
Sensor warna TCS3200 PST 014
& Transduser

I. Tujuan
Setelah melaksanakan percobaan ini mahasiswa diharapkan dapat:
1. Memahami prinsip kerja Sensor warna TCS3200
2. Membuat program pembacaan Sensor warna TCS3200 menggunakan Arduino
3. Melakukan simulasi rangkaian pembacaan Sensor warna TCS3200

II. Pendahuluan
Sensor warna TCS3200 dapat mendeteksi berbagai macam warna berdasarkan panjang
gelombangnya. Sensor ini sangat berguna untuk proyek pengenalan warna seperti
pencocokan warna, penyortiran warna, pembacaan strip tes dan banyak lagi.

Sensor warna TCS3200 - ditunjukkan pada gambar di bawah ini - menggunakan chip
sensor TAOS TCS3200 RGB untuk mendeteksi warna. Sensor ini juga berisi empat LED
putih yang menerangi objek di depannya.

Gambar 1. Sensor Warna

Spesifikasi

 Power: 2.7V to 5.5V


 Size: 28.4 x 28.4mm (1.12 x 1.12″)
 Interface: digital TTL
 High-resolution conversion of light intensity to frequency
 Programmable color and full-scale output frequency
 Communicates directly to microcontroller

Prinsip Kerja Sensor warna TCS3200

TCS3200 memiliki serangkaian fotodioda dengan 4 filter berbeda. Sebuah fotodioda


hanyalah perangkat semikonduktor yang mengubah cahaya menjadi arus. Sensor ini
memiliki:

 16 fotodioda dengan filter merah - peka terhadap panjang gelombang merah


 16 fotodioda dengan filter hijau - peka terhadap panjang gelombang hijau

Sensor Warna TCS3200| 59


Praktik Sensor
Sensor warna TCS3200 PST 014
& Transduser

 16 fotodioda dengan filter biru - peka terhadap panjang gelombang biru


 16 fotodioda tanpa filter

Jika Anda melihat lebih dekat pada chip TCS3200 Anda dapat melihat berbagai filter.

Gambar 2. Filter Photo dioda


Dengan memilih secara selektif pembacaan filter fotodioda, Anda dapat mendeteksi
intensitas berbagai warna. Sensor ini memiliki konverter arus ke frekuensi yang
mengubah pembacaan fotodioda menjadi gelombang persegi dengan frekuensi yang
sebanding dengan intensitas cahaya dari warna yang dipilih. Frekuensi ini kemudian,
dibaca oleh Arduino – prinsip kerja ini ditunjukkan pada gambar di bawah ini.

Gambar 3. Prinsip Kerja Sensor Warna

Hubungan Pin Arduino


Berikut adalah pin sensor

60 | Sensor Warna TCS3200


Praktik Sensor
Sensor warna TCS3200 PST 014
& Transduser

Pilihan Filter
Untuk memilih warna yang dibaca oleh fotodioda, Anda menggunakan pin kontrol S2
dan S3. Karena fotodioda terhubung secara paralel, pengaturan S2 dan S3 RENDAH
dan TINGGI dalam kombinasi yang berbeda memungkinkan Anda untuk memilih
fotodioda yang berbeda. Lihat tabel di bawah ini:

Penskalaan Frekuensi
Pin S0 dan S1 digunakan untuk menentukan skala frekuensi output. Frekuensi output
dapat diskalakan ke nilai preset berikut: 100%, 20% atau 2%. Penskalaan frekuensi
keluaran berguna untuk mengoptimalkan pembacaan sensor untuk berbagai
penghitung frekuensi atau mikrokontroler. Gunakan tabel di bawah ini:

Umum bagi Arduino untuk menggunakan penskalaan frekuensi 20%. Jadi, Anda
mengatur pin S0 ke TINGGI dan pin S1 ke RENDAH.

Sensor Warna TCS3200| 61


Praktik Sensor
Sensor warna TCS3200 PST 014
& Transduser

III. Buku Bacaan dan Referensi Lainnya


Terdapat beberapa referensi untuk menambah pengetahuan tentang materi pada
percobaan ini, anda disarankan membaca buku:
1. Santos, Rui and Santos, Sara. Ultimate Guide for Arduino Sensors/Moduls.
2. https://github.com/RuiSantosdotme/Random-Nerd-Tutorials/tree/master/Projects
3. https: //Arduino.cc

IV. Alat dan Bahan

V. Gambar Rangkaian
Pemasangan kabel sensor TCSP3200 ke Arduino sangatlah mudah. Cukup ikuti
diagram skematik berikut ini.

Gambar 4. Rangkaian Sensor Warna

62 | Sensor Warna TCS3200


Praktik Sensor
Sensor warna TCS3200 PST 014
& Transduser

Hubungan Pin Arduino


Berikut ini adalah hubungan pin antara TCSP3200 dan Arduino:

VI. Langkah Kerja


1. Buatlah rangkaian simulasi seperti pada gambar 4
2. Buatlah program Arduino IDE untuk pembacaan sensor warna seperti contoh
program berikut
3. Lakukan kompile pada program dan pastikan tidak ada error
4. Upload progam tersebut ke dalam arduino
5. Lakukan simulasi menggunakan software simulasi elektronika
6. Analisis hasil dan program yang anda buat

1. Membaca Output Frekuensi


Upload kode program berikut ini ke dalam Arduino anda:
#define S0 4
#define S1 5
#define S2 6
#define S3 7
#define sensorOut 8

// Stores frequency read by the photodiodes


int redFrequency = 0;
int greenFrequency = 0;
int blueFrequency = 0;

void setup() {
// Setting the outputs
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);

Sensor Warna TCS3200| 63


Praktik Sensor
Sensor warna TCS3200 PST 014
& Transduser

// Setting the sensorOut as an input


pinMode(sensorOut, INPUT);

// Setting frequency scaling to 20%


digitalWrite(S0,HIGH);
digitalWrite(S1,LOW);

// Begins serial communication


Serial.begin(9600);
}
void loop() {
// Setting RED (R) filtered photodiodes to be read
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);

// Reading the output frequency


redFrequency = pulseIn(sensorOut, LOW);

// Printing the RED (R) value


Serial.print("R = ");
Serial.print(redFrequency);
delay(100);

// Setting GREEN (G) filtered photodiodes to be read


digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);

// Reading the output frequency


greenFrequency = pulseIn(sensorOut, LOW);

// Printing the GREEN (G) value


Serial.print(" G = ");
Serial.print(greenFrequency);
delay(100);

// Setting BLUE (B) filtered photodiodes to be read


digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);

// Reading the output frequency


blueFrequency = pulseIn(sensorOut, LOW);
// Printing the BLUE (B) value
Serial.print(" B = ");
Serial.println(blueFrequency);
delay(100);
}

Buka serial monitor dengan kecepatan baud 9600. Tempatkan benda biru di
depan sensor pada jarak yang berbeda. Anda harus menyimpan dua pengukuran:
ketika objek ditempatkan jauh dari sensor dan ketika objek dekat dengan sensor.

64 | Sensor Warna TCS3200


Praktik Sensor
Sensor warna TCS3200 PST 014
& Transduser

Gambar 5. Posisi jarak sensor dengan objek

Periksa nilai yang ditampilkan pada serial monitor. Frekuensi biru (B) harus
menjadi yang terendah dibandingkan dengan pembacaan frekuensi merah (R) dan
hijau (G) - lihat gambar di bawah ini.

Ketika kita menempatkan objek biru di depan sensor, nilai frekuensi biru (B)
berosilasi antara 59 dan 223 (lihat nilai yang disorot).

Catatan: Anda tidak dapat menggunakan nilai frekuensi ini (59 dan 223) dalam
kode Anda, Anda harus mengukur warna untuk objek spesifik dengan sensor
warna Anda sendiri. Lalu, simpan batas frekuensi atas dan bawah untuk warna
biru, karena Anda akan membutuhkannya nanti. Ulangi proses ini dengan benda
hijau dan merah dan tulis batas frekuensi atas dan bawah untuk setiap warna.

2. Bedakan antara warna yang berbeda


Sketsa berikutnya memetakan nilai frekuensi ke nilai RGB (yaitu antara 0 dan 255).
Pada langkah sebelumnya frekuensi maksimum untuk biru adalah 233 dan nilai
minimum adalah 59. Jadi, frekuensi 59 sesuai dengan 255 (dalam RGB) dan 223

Sensor Warna TCS3200| 65


Praktik Sensor
Sensor warna TCS3200 PST 014
& Transduser

dalam frekuensi ke 0 (dalam RGB). Kami akan melakukan ini dengan fungsi
Arduino map(). Dalam fungsi map() Anda perlu mengganti parameter XX dengan
nilai Anda sendiri.

#define S0 4
#define S1 5
#define S2 6
#define S3 7
#define sensorOut 8
// Stores frequency read by the photodiodes
int redFrequency = 0;
int greenFrequency = 0;
int blueFrequency = 0;
// Stores the red. green and blue colors
int redColor = 0;
int greenColor = 0;
int blueColor = 0;

void setup() {
// Setting the outputs
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);

// Setting the sensorOut as an input


pinMode(sensorOut, INPUT);

// Setting frequency scaling to 20%


digitalWrite(S0,HIGH);
digitalWrite(S1,LOW);

// Begins serial communication


Serial.begin(9600);
}

void loop() {
// Setting RED (R) filtered photodiodes to be read
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);

// Reading the output frequency


redFrequency = pulseIn(sensorOut, LOW);
// Remaping the value of the RED (R) frequency from 0 to 255
// You must replace with your own values. Here's an example:
// redColor = map(redFrequency, 70, 120, 255,0);
redColor = map(redFrequency, XX, XX, 255,0);

// Printing the RED (R) value


Serial.print("R = ");
Serial.print(redColor);
delay(100);

// Setting GREEN (G) filtered photodiodes to be read


digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);

// Reading the output frequency

66 | Sensor Warna TCS3200


Praktik Sensor
Sensor warna TCS3200 PST 014
& Transduser

greenFrequency = pulseIn(sensorOut, LOW);


// Remaping the value of the GREEN (G) frequency from 0 to 255
// You must replace with your own values. Here's an example:
// greenColor = map(greenFrequency, 100, 199, 255, 0);
greenColor = map(greenFrequency, XX, XX, 255, 0);

// Printing the GREEN (G) value


Serial.print(" G = ");
Serial.print(greenColor);
delay(100);

// Setting BLUE (B) filtered photodiodes to be read


digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);

// Reading the output frequency


blueFrequency = pulseIn(sensorOut, LOW);
// Remaping the value of the BLUE (B) frequency from 0 to 255
// You must replace with your own values. Here's an example:
// blueColor = map(blueFrequency, 38, 84, 255, 0);
blueColor = map(blueFrequency, XX, XX, 255, 0);

// Printing the BLUE (B) value


Serial.print(" B = ");
Serial.print(blueColor);
delay(100);
// Checks the current detected color and prints
// a message in the serial monitor
if(redColor > greenColor && redColor > blueColor){
Serial.println(" - RED detected!");
}
if(greenColor > redColor && greenColor > blueColor){
Serial.println(" - GREEN detected!");
}
if(blueColor > redColor && blueColor > greenColor){
Serial.println(" - BLUE detected!");
}
}

Untuk membedakan antara warna yang berbeda, kami memiliki tiga kondisi:
 Ketika R adalah nilai maksimum (dalam parameter RGB) kita tahu bahwa kita
memiliki benda merah
 Ketika G adalah nilai maksimum, kita tahu bahwa kita memiliki objek hijau
 Ketika B adalah nilai maksimum, kita tahu bahwa kita memiliki objek biru
Sekarang, tempatkan sesuatu di depan sensor. Seharusnya tampil pada serial
monitor Anda warna yang terdeteksi: merah, hijau atau biru. Sensor Anda juga
dapat mendeteksi warna lain dengan pernyataan if lebih banyak.
VII. Pertanyaan Praktikum
1. Modifikasi Program sebelumnya agar dapat menampilkan data pembacaan pada
LCD 16x2!
2. Lakukan analisis terhadap program dan hasil yang anda peroleh!

Sensor Warna TCS3200| 67

Anda mungkin juga menyukai