- praktikan dapat menerapkan sebuah sistem menggunakan mikrokontroller.
- praktikan dapat mengkombinasikan berbagai macam output, akumulator, display, dan berbagai media output lainnya menjadi sebuah alat.
- praktikan dapat merancang suatu sistem menjadi sebuah alat.
2. Daftar Komponen[back]
2. LCD 16 X
3. LED
4.Resistor
5.Jumper
6. motor servo
7.LM 35
8. Rain sensor
1. Universal Asynchronous
Receiver Transmitter (UART)
UART (Universal Asynchronous
Receiver-Transmitter) adalah bagian perangkat keras komputer yang menerjemahkan
antara bit-bit paralel data dan bit-bit serial. UART biasanya berupa sirkuit terintegrasi
yang digunakan untuk komunikasi serial pada komputer atau port serial perangkat
periperal.
Cara Kerja Komunikasi UART
Data dikirimkan secara paralel dari data bus ke UART1. Pada UART1 ditambahkan start bit, parity bit, dan stop bit kemudian dimuat dalam satu paket data. Paket data ditransmisikan secara serial dari Tx UART1 ke Rx UART2. UART2 mengkonversikan data dan menghapus bit tambahan, kemudia di transfer secara parallel ke data bus penerima.
a. Arduino
Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang
di dalamnya terdapat komponen
utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari
perusahaan Atmel.
Arduino yang kita gunakan dalam praktikum ini adalah Arduino Uno yang
menggunakan chip AVR ATmega 328P. Dalam memprogram Arduino, kita bisa
menggunakan komunikasi serial agar Arduino dapat berhubungan dengan komputer
ataupun perangkat lain.
Adapun spesifikasi dari Arduino Uno ini adalah sebagai berikut :
Microcontroller
ATmega328P |
Operating
Voltage
5
V |
Input
Voltage
(recommended)
7 – 12 V |
Input
Voltage
(limit)
6 – 20 V |
Digital
I/O
Pins
14 (of which 6 provide PWM output) |
PWM Digital
I/O
Pins
6 |
Analog
Input
Pins
6 |
DC
Current per I/O
Pin
20 mA |
DC
Current for 3.3V
Pin
50 mA |
Flash Memory
32
KB of which 0.5 KB used by bootloader |
SRAM
2 KB |
EEPROM
1 KB |
Clock
Speed
16 MHz |
Berikut merupakan fungsi masing-masing komponen yang ada pada
arduino. yaitu:
1) USB Soket/Power USB
USB
Soket/Power USB digunakan untuk memberikan catu daya ke Papan Arduino menggunakan
kabel USB dari komputer. Selain menjadi port catu daya, USB juga memiliki
berfungsi untuk:
i. Memuat program dari
komputer ke dalam board Arduino.
ii. Komunikasi serial
antara papan Arduino dan komputer begitu juga sebaliknya.
Pada
versi lebih lama Arduino terdapat sambungan SV1 Sambungan atau jumper untuk
memilih sumber daya yang digunakan, apakah dari sumber eksternal atau
menggunakan USB. Sambungan ini tidak diperlukan lagi pada papan Arduino versi
terakhir karena pemilihan sumber daya eksternal atau USB dilakukan secara
otomatis.
2) Power (Barrel
Jack)
Papan
Arduino dapat juga diberikan colokan catu daya secara langsung dari sumber daya
AC dengan menghubungkannya ke Barrel Jack yang tersedia. Tegangan maksimal yang
dapat diberikan kepada Arduino maksimal 12volt dengan range arus maksimal 2A
(Agar regulator tidak panas).
3) Voltage Regulator
Fungsi
dari voltage regulator adalah untuk mengendalikan atau menurunkan tegangan yang
diberikan ke papan Arduino dan menstabilkan tegangan DC yang digunakan oleh
prosesor dan elemen-elemen lain.
4) Crystal Oscillator
Kristal
(quartz crystal oscillator), jika mikrokontroler dianggap sebagai sebuah
otak, maka kristal adalah jantung-nya karena komponen ini menghasilkan
detak-detak yang dikirim kepada mikrokontroler agar melakukan sebuah operasi
untuk setiap detak-nya. Kristal ini dipilih yang berdetak 16 juta kali per detik
(16MHz).
Crystal
oscillator membantu Arduino dalam hal yang berhubungan dengan waktu. Bagaimana
Arduino menghitung waktu? Jawabannya adalah, dengan menggunakan crystal
oscillator. Angka yang tertulis pada bagian atas crystal 16.000H9H berarti
bahwa frekuensi dari oscillator tersebut adalah 16.000.000 Hertz atau 16 MHz.
5) 5, 17 Arduino Reset
Kita
dapat mereset papan arduino, misalnya memulai program dari awal. Terdapat dua
cara untuk mereset Arduino Uno. Pertama, dengan menggunakan reset button (17)
pada papan arduino. Kedua, dengan menambahkan reset eksternal ke pin Arduino
yang berlabel RESET (5). Perhatikan bahwa tombol reset ini bukan untuk
menghapus program atau mengosongkan mikrokontroler.
6) 3.3V (6) − Supply
3.3 output volt
7) 5V (7) − Supply 5
output volt
Sebagaian besar komponen yang
digunakan papan Arduino bekerja dengan baik pada tegangan 3.3 volt dan 5 volt.
8) GND (8)(Ground) –
Ada beberapa pin GND pada Arduino, salah satunya dapat digunakan untuk menghubungkan
ground rangkaian.
9) Vin (9) – Pin ini
juga dapat digunakan untuk memberi daya ke papan Arduino dari sumber daya
eksternal, seperti sumber daya AC.
10) 10 Analog pins
Papan
Arduino Uno memiliki enam pin input analog A0 sampai A5. Pin-pin ini dapat
membaca tegangan dan sinyal yang dihasilkan oleh sensor analog seperti sensor
kelembaban atau temperatur dan mengubahnya menjadi nilai digital yang dapat
dibaca oleh mikroprosesor. Program dapat membaca nilai sebuah pin input antara
0 – 1023, dimana hal itu mewakili nilai tegangan 0 – 5V.
11) Main microcontroller
Setiap
papan Arduino memiliki Mikrokontroler (11). Kita dapat menganggapnya sebagai
otak dari papan Arduino. IC (integrated circuit) utama pada Arduino sedikit
berbeda antara papan arduino yang satu dengan yang lainnya. Mikrokontroler yang
sering digunakan adalah ATMEL. Kita harus mengetahui IC apa yang dimiliki oleh
suatu papan Arduino sebelum memulai memprogram arduino melalui Arduino IDE.
Informasi tentang IC terdapat pada bagian atas IC. Untuk mengetahui kontruksi
detai dari suatu IC, kita dapat melihat lembar data dari IC yang bersangkutan.
12) 12 ICSP pin
Kebanyakan,
ICSP (12) adalah AVR, suatu programming header kecil untuk Arduino yang berisi
MOSI, MISO, SCK, RESET, VCC, dan GND. Hal ini sering dirujuk sebagai SPI
(Serial Peripheral Interface), yang dapat dipertimbangkan sebagai “expansion”
dari output. Sebenarnya, kita memasang perangkat output ke master bus SPI.
In-Circuit Serial Programming (ICSP)Port ICSP memungkinkan
pengguna untuk memprogram microcontroller secara langsung, tanpa melalui
bootloader. Umumnya pengguna Arduino tidak melakukan ini sehingga ICSP tidak
terlalu dipakai walaupun disediakan.
13) Power LED indicator
LED
ini harus menyala jika menghubungkan Arduino ke sumber daya. Jika LED tidak
menyala, maka terdapat sesuatu yang salah dengan sambungannya.
14) 14 TX dan RX LEDs
Pada
papan Arduino, kita akan menemukan label: TX (transmit) dan RX (receive). TX
dan RX muncul di dua tempat pada papan Arduino Uni. Pertama, di pin digital 0
dan 1, Untuk menunjukkan pin yang bertanggung jawab untuk komunikasi serial.
Kedua, TX dan RX led (13). TX led akan berkedip dengan kecepatan yang berbeda
saat mengirim data serial. Kecepatan kedip tergantung pada baud rate yang
digunakan oleh papan arduino. RX berkedip selama menerima proses.
15) Digital I/O
Papan Arduino Uno memiliki 14
pin I/O digital (15), 6 pin output menyediakan PWM (Pulse Width Modulation).
Pin-pin ini dapat dikonfigurasikan sebagai pin digital input untuk membaca
nilai logika (0 atau 1) atau sebagai pin digital output untuk mengendalikan
modul-modul seperti LED, relay, dan lain-lain. Pin yang berlabel “~” dapat
digunakan untuk membangkitkan PWM.
16) AREF
AREF merupakan singkatan
dari Analog Reference. AREF kadanag-kadang digunakan untuk mengatur
tegangan referensi eksternal (antar 0 dan 5 Volts) sebagai batas atas untuk pin
input analog input.
B. Liquid Crystal Display(LCD)
Liquid Crystal Display (LCD) adalah sebuah peralatan
elektronik yang berfungsi untuk
menampilkan output sebuah sistem dengan cara membentuk suatu
citra atau gambaran pada sebuah layar. Secara garis besar komponen penyusun LCD
terdiri dari kristal cair (liquid crystal) yang diapit oleh 2 buah elektroda
transparan dan 2 buah filter polarisasi (polarizing filter).
C .Sensor Kelembapan (Rain Sensor)
Sensor Kelembapan adalah jenis sensor
yang berfungsi untuk mendeteksi terjadinya hujan atau tidak, yang dapat
difungsikan dalam segala macam aplikasi dalam kehidupan sehari – hari.
Dipasaran sensor ini dijual dalam bentuk module sehingga hanya perlu
menyediakan kabel jumper untuk dihubungkan ke mikrokontroler atau Arduino.
Prinsip kerja dari module
sensor ini yaitu pada saat ada air hujan turun dan mengenai panel sensor maka
akan terjadi proses elektrolisasi oleh air hujan. Dan karena air hujan termasuk
dalam golongan cairan elektrolit yang dimana cairan tersebut akan menghantarkan
arus listrik.
Pada sensor hujan ini terdapat ic komparator yang dimana output
dari sensor ini dapat berupa logika high dan low (on atau off). Serta pada
modul sensor ini terdapat output yang berupa tegangan pula.
Sehingga dapat dikoneksikan ke pin khusus Arduino yaitu Analog Digital
Converter.
Dengan singkat kata, sensor ini dapat digunakan untuk memantau
kondisi ada tidaknya hujan di lingkungan luar yang dimana output dari sensor
ini dapat berupa sinyal analog maupun sinyal digital.
·
Spesifikasi sensor Kelembapan:
1.
Sensor ini bermaterial dari FR-04
dengan dimensi 5cm x 4cm berlapis nikel dan dengan kualitas tinggi pada kedua
sisinya
2.
Pada lapisan module mempunyai sifat
anti oksidasi sehingga tahan terhadap korosi
3.
Tegangan kerja masukan sensor 3.3V –
5V
4.
Menggunakan IC comparator LM393 yang
stabil
5.
Output dari modul comparator dengan
kualitas sinyal bagus lebih dari 15mA
6.
Dilengkapi lubang baut untuk instalasi
dengan modul lainnya
7.
Terdapat potensiometer yang
berfungsi untuk mengatur sensitifitas sensor
8.
Terdapat 2 Output yaitu digital (0 dan
1) dan analog (tegangan)
9.
Dimensi PCB yaitu 3.2 cm x 1.4 cm
D. Motor Servo
Motor servo adalah sebuah perangkat atau
aktuator putar (motor) yang dirancang dengan sistem kontrol umpan balik loop
tertutup (servo), sehingga dapat di set-up atau di atur untuk menentukan dan
memastikan posisi sudut dari poros output motor. motor servo merupakan
perangkat yang terdiri dari motor DC, serangkaian gear, rangkaian kontrol dan
potensiometer. Serangkaian gear yang melekat pada poros motor DC akan
memperlambat putaran poros dan meningkatkan torsi motor servo, sedangkan
potensiometer dengan perubahan resistansinya saat motor berputar berfungsi
sebagai penentu batas posisi putaran poros motor servo.
Motor
servo dikendalikan dengan memberikan sinyal modulasi lebar pulsa (Pulse Wide
Modulation / PWM) melalui kabel kontrol. Lebar pulsa sinyal kontrol yang
diberikan akan menentukan posisi sudut putaran dari poros motor servo. Sebagai
contoh, lebar pulsa dengan waktu 1,5 ms (mili detik) akan memutar poros motor
servo ke posisi sudut 90⁰. Bila pulsa lebih pendek dari 1,5 ms maka akan
berputar ke arah posisi 0⁰ atau ke kiri (berlawanan dengan arah jarum jam),
sedangkan bila pulsa yang diberikan lebih lama dari 1,5 ms maka poros motor
servo akan berputar ke arah posisi 180⁰ atau ke kanan (searah jarum jam).
e. Sensor LM 35
Pada Gambar diatas ditunjukan bentuk dari LM35 tampak depan dan tampak bawah. 3 pin LM35 menujukan
fungsi masing-masing pin diantaranya, pin 1 berfungsi sebagai sumber tegangan
kerja dari LM35, pin 2 atau tengah digunakan sebagai tegangan keluaran atau
Vout dengan jangkauan kerja dari 0 Volt sampai dengan 1,5 Volt dengan tegangan
operasi sensor LM35 yang dapat digunakan antara 4 Volt sampai 30 Volt. Keluaran
sensor ini akan naik sebesar 10 mV setiap derajad celcius sehingga diperoleh
persamaan sebagai berikut :
VLM35 = Suhu* 10 mV
Secara
prinsip sensor akan melakukan penginderaan pada saat perubahan suhu setiap suhu
1 ºC akan menunjukan tegangan sebesar 10 mV. Pada penempatannya LM35 dapat
ditempelkan dengan perekat atau dapat pula disemen pada permukaan akan tetapi
suhunya akan sedikit berkurang sekitar 0,01 ºC karena terserap pada suhu
permukaan tersebut. Dengan cara seperti ini diharapkan selisih antara suhu
udara dan suhu permukaan dapat dideteksi oleh sensor LM35 sama dengan suhu
disekitarnya, jika suhu udara disekitarnya jauh lebih tinggi atau jauh lebih
rendah dari suhu permukaan, maka LM35 berada pada suhu permukaan dan suhu udara
disekitarnya .
Berikut ini adalah
karakteristik dari sensor LM35:
- Memiliki sensitivitas suhu,
dengan faktor skala linier antara tegangan dan suhu 10 mVolt/ºC, sehingga
dapat dikalibrasi langsung dalam celcius.
- Memiliki ketepatan atau
akurasi kalibrasi yaitu 0,5ºC pada suhu 25 ºC
- Memiliki jangkauan
maksimal operasi suhu antara -55 ºC sampai +150 ºC.
- Bekerja pada tegangan 4
sampai 30 volt.
- Memiliki arus rendah
yaitu kurang dari 60 µA.
- Memiliki pemanasan
sendiri yang rendah (low-heating) yaitu kurang dari 0,1 ºC pada udara
diam.
- Memiliki impedansi
keluaran yang rendah yaitu 0,1 W untuk beban 1 mA.
- Memiliki
ketidaklinieran hanya sekitar ± ¼ ºC.
4. Simulasi Rangkaian[back]
int pinLm35 = A0;
int pinRain = A1;
float suhuC, hujan;
void setup()
{
pinMode (pinLm35, INPUT);
pinMode (pinRain, INPUT);
Serial.begin(9600);
}
void loop()
{
hujan=digitalRead(pinRain);
suhuC =analogRead((pinLm35)/2.04);
if
(suhuC<=25 && hujan==1)
{
Serial.write('1');
}
else
{
Serial.write('2');
}
delay (500);
}
#SLAVE
#include <Servo.h>
#include <Servo.h>
#include <LiquidCrystal.h>
#define ledgreen 13
#define ledyellow 12
#define servo 9;
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
Servo myservo;
int output;
int suhuC;
void setup()
{
Serial.begin(9600);
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
lcd.begin(16,2);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("PENDETEKSI HUJAN");
lcd.setCursor(0,1);
lcd.print("KELOMPOK 5");
myservo.attach(9);
delay(200);
}
void loop()
{
if (Serial.available() > 0)
{
char data = Serial.read();
if (data == '1')
{
output = map(suhuC, 0,1023, 0,255);
analogWrite(ledgreen, output);
digitalWrite(ledgreen, LOW);
digitalWrite(ledyellow, HIGH);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("HUJAN TURUN");
lcd.setCursor(0, 1);
lcd.print("ATAP TERTUTUP");
myservo.write(180);
delay(200);
}
else
{
output = map(suhuC, 0,1023, 0,255);
analogWrite(ledgreen, output);
digitalWrite(ledgreen, HIGH);
digitalWrite(ledyellow, LOW);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("HUJAN TIDAK TURUN");
lcd.setCursor(0, 1);
lcd.print("ATAP TERBUKA");
myservo.write(1);
delay(200);
}
}
}
6. Flowchart[back]
KETERANGAN:
1. TEMPAT JEMURAN
2.
MOTOR PENGONTROL JEMURAN
3. SENSOR HUJAN
4.
BATRAI
5.
SENSOR LM35
6. ARDUINO
7. LAMPU LED
8. LCD
Pada modul 4 yaitu demo project yang berjudul
“JEMURAN OTOMATIS” ini, mengunakan 2 sensor yaitu sensor hujan dan LM35, dimana
prinsip kerja dari kedua sensor tersubut,
Prinsip kerja dari sensor hujan yaitu
pada saat ada air hujan turun dan mengenai panel sensor maka akan terjadi
proses elektrolisasi oleh air hujan. Dan karena air hujan termasuk dalam
golongan cairan elektrolit yang dimana cairan tersebut akan menghantarkan arus
listrik.
Sedangkan prinsip kerja dari sensor LM35
yaitu Secara prinsip sensor akan melakukan penginderaan pada saat perubahan
suhu setiap suhu 1 ºC akan menunjukan tegangan sebesar 10 mV. Pada
penempatannya LM35 dapat ditempelkan dengan perekat atau dapat pula disemen
pada permukaan akan tetapi suhunya akan sedikit berkurang sekitar 0,01 ºC
karena terserap pada suhu permukaan tersebut. Dengan cara seperti ini
diharapkan selisih antara suhu udara dan suhu permukaan dapat dideteksi oleh
sensor LM35 sama dengan suhu disekitarnya, jika suhu udara disekitarnya jauh
lebih tinggi atau jauh lebih rendah dari suhu permukaan, maka LM35 berada pada
suhu permukaan dan suhu udara disekitarnya.
Selanjutnya prinsip kerja dari demo project
ini adalah pertama komunikasi yang dipakai pada project demo ini yaitu UART ,
dimana menggunakan 2 buah arduino sebagai master dan slave, untuk sensor hujan
dan LM35 dihubungkan ke master sedang kan untuk LCD,LED, dan motor servo
dihubungkan ke slave.
Dan apabila sensor hujan diberi logika “0” dan LM35 menunjukan suhu>25 maka master akan mengirim data “2” kepada slave dimana hal ini menunjukan hujan tidak turun dan LCD akan menampilkan “HUJAN TIDAK TURUN”, “ATAP TERTUTUP” kemudian LED hijau akan menyala sebagai penanda hujan sudah reda atau tidak turun dan MOTOR SERVO akan berputar kearah semula.