2016
Praktikum 1
Digital Input/Output
I. Dasar Teori
Digital
berarti sinyal yang dikirimkan/diterima bernilai 1 atau 0, on atau off,
HIGH atau LOW. Berbeda dengan sinyal analog yang nilainya bersifat
kontinyu, yakni nilai antara 0 dan 1 dipertimbangkan atau terdapat rentangan
nilai dari 0 sampai 1. Secara umum pin pada Arduino dapat dikonfigurasi ke
dalam dua mode, yaitu mode input dan output. Mode input berarti mengeset pin
agar dapat digunakan untuk menerima masukan sinyal dari komponen yang terhubung ke board arduino. Mode output
berarti mengeset pin agar dapat mengirimkan sinyal dari arduino ke komponen
lain atau ke rangkaian digital. Untuk mengeset mode pin, kita gunakan fungsi pinMode(). Fungsi ini biasanya
digunakan di dalam fungsi setup().
fungsi ini memerlukan dua parameter, pinMode([nomorPin], [mode]). Parameter pertama diisi oleh nomor pin,
dan parameter kedua diisi oleh konstanta INPUT atau OUTPUT,
sesuai dengan mode yang ingin kita gunakan. Sebagai contoh, jika ingin membuat
LED berkedip, LED tersebut bisa dipasang pada salah satu pin digital dari
arduino dan ground. Karena kita ingin membuat led menyala berkedip jadi kita
konfigurasi pin yang terhubung ke LED menjadi output.
Gambar
1. Board Arduino Uno R3
Pada
gambar diatas dapat dilihat untuk pin yang berwarna hijau tua (dari pin 0
sampai pin ke 13) merupakan digital pin dari board arduino uno. Sedangkan untuk
yang berwarna hijau muda merupakan ground (GND).
Dan beberapa
pin juga memiliki fungsi khusus :
- Serial,
terdiri dari 2 pin : pin 0 (RX) dan pin 1 (TX) yang digunakan untuk
menerima (RX) dan mengirim (TX) data serial.
- External
Interrups, yaitu pin 2 dan pin 3. Kedua pin tersebut dapat
digunakan untuk mengaktifkan interrups. Gunakan fungsi attachInterrupt()
- PWM: Pin
3, 5, 6, 9, 10, dan 11 menyediakan output PWM 8-bit dengan menggunakan
fungsi analogWrite()
- SPI : Pin
10 (SS), 11 (MOSI), 12 (MISO), dan 13 (SCK) mendukung komunikasi SPI
dengan menggunakan SPI Library
- LED : Pin
13. Pada pin 13 terhubung built-in led yang dikendalikan oleh digital pin
no 13.
- TWI : Pin
A4 (SDA) dan pin A5 (SCL) yang mendukung komunikasi TWI dengan menggunakan
Wire Library
II. Alat dan Bahan
Alat
dan bahan percobaan diperlihatkan pada Tabel 2:
Tabel 2. Alat dan
Bahan Praktikum
No
|
Alat dan Bahan
|
Jumlah
|
1
|
Board Arduino Uno R3
|
1
|
2
|
Modul/Rangkaian Percobaan
|
1
|
3
|
Kabel USB
|
1
|
4
|
Kabel jumper
|
Secukupnya
|
III. Langkah Percobaan
III.1 Percobaan Blink LED
a.
Koneksi Hardware
Dengan
menggunakan kabel jumper, koneksikan Led pada mudul (rangkaian) ke pin-pin Arduino Uno R3 dengan konfigurasi sebagai berikut:
- Menghubungkan
salah satu kaki resistor dengan pin 13 dari Arduino
- Menghubungkan
kaki resistor yang lagi satu dengan kaki anoda dari led
- Menghubungkan
kaki katoda led dengan ground pada arduino
Gambar 2. Skematik
Percobaan Blink Led
Gambar 3. Breadboard
Percobaan Blink Led
b.
Pemrograman Pada Arduino
Sketch program pada arduino dapat dilihat dibawah ini:
int Led1 =
13;
void setup() {
pinMode(Led1,
OUTPUT); // konfigurasi atau
mensetting pin 13 sebagai output
}
void loop() {
digitalWrite(Led1, HIGH); //
Untuk menghidupkan LED
delay(1000); //
waktu tunda
digitalWrite(Led1, LOW); //
untuk mematikan LED
delay(1000); //
tunda waktu
}
|
III.2 Percobaan PushButton
ON/OFF
a.
Koneksi Hardware
Dengan
menggunakan kabel jumper, koneksikan Led dan Pushbutton pada mudul(rangkaian) ke pin-pin Arduino Uno R3 dengan konfigurasi sebagai berikut:
- Menghubungkan kaki Anoda Led1 ke pin 13 Arduino
- Menghubungkan Pushbutton1 ke pin 2 Arduino
Gambar 4. Skematik
Percobaan Pushbutton ON/OFF
Gambar 5. Breadboard
Percobaan Pushbutton ON/OFF
b.
Pemrograman Pada Arduino
Sketch program pada arduino dapat dilihat dibawah ini:
int pushButton = 2;
int LedPin = 13;
void setup() {
pinMode(pushButton, INPUT);
pinMode(LedPin,OUTPUT);
}
void loop() {
digitalRead(pushButton);
if (pushButton == HIGH) {
digitalWrite(LedPin,HIGH);
}
else
digitalWrite(LedPin,LOW);
}
|
III.3 Percobaan Kombinasi Multi Pushbutton Dan Multi Led
a.
Koneksi Hardware
Dengan
menggunakan kabel jumper, koneksikan Led dan Pushbutton pada
mudul(rangkaian) ke pin-pin Arduino Uno R3 dengan konfigurasi sebagai berikut:
- Menghubungkan kaki Anoda Led1 ke pin 13 Arduino
- Menghubungkan kaki Anoda Led2 ke pin 12 Arduino
- Menghubungkan kaki Anoda Led3 ke pin 11 Arduino
- Menghubungkan kaki Anoda Led4 ke pin 10 Arduino
- Menghubungkan Pushbutton1 ke pin 2 Arduino
- Menghubungkan Pushbutton2 ke pin 3 Arduino
Gambar 6. Skematik
Percobaan Kombinasi
Multi Pushbutton Dan Multi Led
Gambar 7. Breadboard
Percobaan Kombinasi
Multi Pushbutton Dan Multi Led
b.
Pemrograman Pada Arduino
Sketch program pada arduino dapat dilihat dibawah ini:
const
int buttonPin1 = 2;
const
int buttonPin2 = 3;
const
int ledPin1 = 13;
const
int ledPin2 = 12;
const
int ledPin3 = 11;
const
int ledPin4 = 10;
void
setup() {
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
}
void
loop() {
digitalRead(buttonPin1);
digitalRead(buttonPin2);
if (buttonPin1 == HIGH) {
// jalan kanan
digitalWrite(ledPin1,HIGH);
digitalWrite(ledPin2,LOW);
digitalWrite(ledPin3,LOW);
digitalWrite(ledPin4,LOW);
delay (1000);
digitalWrite(ledPin1,LOW);
digitalWrite(ledPin2,HIGH);
digitalWrite(ledPin3,LOW);
digitalWrite(ledPin4,LOW);
delay (1000);
digitalWrite(ledPin1,LOW);
digitalWrite(ledPin2,LOW);
digitalWrite(ledPin3,HIGH);
digitalWrite(ledPin4,LOW);
delay (1000);
digitalWrite(ledPin1,LOW);
digitalWrite(ledPin2,LOW);
digitalWrite(ledPin3,LOW);
digitalWrite(ledPin4,HIGH);
delay (1000);
}
else {
digitalWrite(ledPin1,LOW);
digitalWrite(ledPin2,LOW);
digitalWrite(ledPin3,LOW);
digitalWrite(ledPin4,LOW);
delay (1000);
}
}
|
IV. Hasil dan Pembahasan
Pada
percobaan kali ini menggunakan pin-pin digital dari arduino,
dimana pin- pin tersebut akan dipakai baik sebagai input
maupun output. Seperti percobaan diatas Pushbutton dipakai sebagai input dan
Led dipakai sebagai output. Dan jika kita ingin membuat pin digital arduino
sebagai input, maka pada program di arduino.ide kita dapat menulis “ pinMode
(pushbutton1,INPUT); “ , dan untuk membaca hasil inputan dari pushbuttonnya
dapat digunakan “digitalRead (pushbutton); “ . Kemudian jika kita ingin membuat
pin arduino sebagai output maka untuk pin mode kita dapat tuliskan “pinMode
(Led1,OUTPUT); “
Praktikum 2
Analog Input/Output
I. Dasar Teori
Secara teori
suatu analog output akan mengeluarkan output tegangan bervariasi sesuai dengan
nilai yang dikehendaki, maka seharusnya pin output analog Arduino seharusnya
mampu mengeluarkan tegangan output dengan kisaran tegangan dari 0 V sampai 5V.
Akan tetapi tidak demikian adanya, karena pin-pin Arduino yang difungsikan
sebagai output sebenarnya hanya mampu sebagai digital output yaitu hanya mampu
mengeluarkan tegangan 0V atau 5V. Lalu bagaimana Arduino menangani Analog
Output tersebut. Arduino menggunakan cara Pulsa Wide Modulasi (PWM) atau
modulasi lebar pulsa untuk menghasilkan analog output yang dikehendaki. Metode
PWM ini menggunakan pendekatan perubahan lebar pulsa untuk menghasilkan nilai
tegangan analog yang diinginkan. Pin yang difungsikan sebagai PWM analog output
akan mengeluarkan sinyal pulsa digital dengan frekwensi 490 Hz dimana nilai
tegangan analog diperoleh dengan merubah Duty Cycle atau perbandingan lamanya
pulsa HIGH terhadap periode (T) dari sinyal digital tersebut. Jika pulsa HIGH
muncul selama setengah dari periode sinyal maka akan menghasilkan duty cycle
5o% yang berarti sinyal analog yang dihasilkan sebesar setengah dari tegangan
analog maksimal yaitu 1/2 dari 5 V atau sama dengan 2,5 V begitu juga halnya
jika pulsa HIGH hanya seperempat bagian dari periode sinyal maka tegangan
analog identik yang dihasilkan adalah 1/4 dari 5V = 1,25 V dan seterusnya.
Perintah yang digunakan untuk output
analog adalah analogWrite (pin,value), dimana:
- Pin:
nomor pin Arduino yang akan digunakan sebagai analog output
- value:
nilai duty cycle yang diinginkan dengan nilai 0-255, yang berarti nilai 0
untuk 0Volt dan 255 untuk tegangan keluaran maksimum atau 5Volt.
Pada
gambar diatas dapat dilihat untuk pin yang biru
(dari pin 0 sampai pin ke 5) merupakan analog pin dari board arduino uno.
Sedangkan untuk yang berwarna coklat tua
merupakan VCC, dan yang berwarna coklat muda merupakan ground (GND).
II. Alat dan Bahan
Alat
dan bahan percobaan diperlihatkan pada Tabel 2:
Tabel 2. Alat dan
Bahan Praktikum
No
|
Alat dan Bahan
|
Jumlah
|
1
|
Arduino Uno R3
|
1
|
2
|
Modul /Rangkaian percobaan
|
1
|
3
|
Kabel USB
|
1
|
4
|
Kabel jumper
|
Secukupnya
|
III. Langkah Percobaan
III.1 Percobaan Input Potensiometer
a.
Koneksi Hardware
Dengan
menggunakan kabel jumper, koneksikan Potensiometer yang ada pada
mudul(rangkaian) ke pin-pin Arduino Uno R3 dengan konfigurasi sebagai berikut:
Ø Menghubungkan kaki 1 potensiometer dihubungkan ke sumber
tegangan (VCC)
Ø Menghubungkan kaki 2 potensiometer dihubungkan ke pin A1
dari arduino uno
Ø Menghubungkan kaki 3 potensiometer dihubungkan ke groun
(GND)
Gambar 2. Skematik
Percobaan Input
Potensiometer
Gambar 3. Breadboard
Percobaan Input
Potensiometer
b.
Pemrograman Pada Arduino
Sketch program pada arduino dapat
dilihat dibawah ini:
int
pinPot = A2;//pin untuk menerima sinyal analog dari potensiometer
int
val = 0;//variabel untuk menyimpan nilai konversi analog ke digital
void
setup() {
Serial.begin(9600);//setup koneksi serial
}
void
loop() {
val = analogRead(pinPot); //baca nilai
analog dari potensiometer
Serial.println(val); //kirim nilai val ke
koneksi serial
delay(100);//jeda waktu
}
|
III.2 Percobaan Input Potensiometer Output Led
a.
Koneksi Hardware
Dengan
menggunakan kabel jumper, koneksikan Potensiometer dan Led yang ada pada
mudul(rangkaian) ke pin-pin Arduino Uno R3 dengan konfigurasi sebagai berikut:
Pemrograman
pada Arduino diperlihatkan sebagai berikut:
Ø Menghubungkan kaki 1 potensiometer dihubungkan ke sumber
tegangan (VCC)
Ø Menghubungkan kaki 2 potensiometer dihubungkan ke pin A1
dari arduino uno
Ø Menghubungkan kaki 3 potensiometer dihubungkan ke groun
(GND)
Ø Menghubungkan Led ke pin 13 dari arduino
Gambar 2. Skematik
Percobaan Input
Potensiometer Out Led
Gambar 3. Breadboard
Percobaan Input
Potensiometer Out Led
b.
Pemrograman Pada Arduino
Sketch program pada arduino dapat
dilihat dibawah ini:
int
led = 13;//memilih pin digital untuk lampu led
int
pinPot = A2;//pin untuk menerima sinal analog
int
potVal = 0;//variabel untuk menyimpan nilai konversi analog ke digital
void
setup() {
pinMode(led,OUTPUT);
}
void
loop() {
potVal=analogRead(pinPot);//baca nilai
analog dari potensiometer
potVal=map(potVal,0,1023,0,255);//ubah
nilai (0-1023) menjadi (0-255)
analogWrite(led,potVal);//ubah nilai vR
untuk mengatur kecerahan led
}
|
IV. Hasil dan Pembahasan
Pada
percobaan kali ini menggunakan pin-pin analog dari arduino yaitu dari pin
A0 sampai dengan pin A5, dimana pin- pin tersebut akan dipakai sebagai analog
input. Seperti percobaan diatas Potensiometer dipakai sebagai input dan Led
dipakai sebagai output. Dan jika kita ingin membuat pin analog arduino sebagai
input, maka pada program di arduino.ide kita dapat menulis “ pinMode
(Potensiometer,INPUT); “ , dan untuk membaca hasil inputan dari potensiometer
dapat digunakan “analogRead (Potensiometer); “ dan “int Val;” dipakai untuk
menyimpan nilai konversi analog ke digital. Kemudian
“potVal=map(potVal,0,1023,0,255);” dipakai untuk mengubah nilai dari (0-1023)
menjadi (0-255). Dan jika kita ingin mengatur nyala Led dengan potensiometer
maka pada program arduino dapat ditulis sebagai berikut
“analogWrite(Led,potVal); “ .
Praktikum 3
Statement Control
I. Dasar Teori
Pada dasarnya setiap bahasa
pemrograman terdiri dari:
a . Ekspresi
b . Statement
c . Blok Statement
d . Blok Fungsi
Pada praktikum kali ini saya mempraktekan
tentang statement control dimana
statement control ini merupakan sebuah statement
yang terdiri dari kondisi-kondisi yang dimana jika kondisi tersebut terpenuhi
program akan melakukan suatu instruksi tertentu. Jadi dapat di katakan statement control merupakan
penunjuk arah bagi urutan suatu program.
Dalam bahasa C++ ada
beberapa jenis statement control sebagai berikut :
1. Kontruksi if
Pada konstruksi if sebuah
konstruktur program hanya memiliki sebuah kondisi, artinya dimana suatu
instruksi atau beberapa instruksi akan di jalankan apabila sebuah kondisi
tersebut di penuhi, namun apabila kondisi tersebut tidak terpenuhi maka
instruksi yang ada tidak akan di jalankan.
Berikut
sintaks dari konstruksi if :
if (kondisi)
{
Instruksi/statement;
}
|
2.
Konstruksi if – else
Pada
konstruksi if else sedikit berbeda dengan konstruksi if karena pada konstruksi if
else . jika sebuah kondisi tidak terpenuhi maka program akan mencari kondisi
lain yang ada atau menjalankan instruksi yang berada di luar bagian dari
kondisi yang tidak terpenuhi.
Berikut sintaks dari konstruksi if-else :
if (kondisi)
{
Statement/instruksi;
}
else
{
Statement/instruksi;
}
|
3.
Konstruksi if – else
bersarang
Pada konstruksi ini
terdapat lebih dari satu buah kondisi jadi pabila sebuah kondisi tidak
terpenuhi maka akan berlanjut ke kondisi berikutnya tergantung berapa banyak
kondisi yang ada.
Berikut sintaks konstruksi if –else bersarang :
if (kondisi)
{
Statement/instruksi;
}
else if (kondisi)
{
Statement/instruksi;
}
else
{
Statement/instruksi;
}
|
4.
Konstruksi switch –
case
Konstruksi switch –
case sedikit berbeda dengan konstruksi if – else, di mana konstruksi switch –
case lebih menguntungkan digunakan pada program yang memiliki banyak
pilihan kondisi dalam satu step dan jumlah kondisi sudah pasti.jadi
berbeda dengan statement if else yang hanya memiliki 2 pilihan kondisi
pada satu step.
Berikut
sintaks konstruksi switch – case :
Switch (variabel)
{
Case konstanta1
{
Statement;
Break;
}
Case
konstanta ke-n
{
Statement;
Break;
}
}
|
II. Alat dan Bahan
Alat
dan bahan percobaan diperlihatkan pada Tabel 2:
Tabel 2. Alat dan
Bahan Praktikum
No
|
Alat dan Bahan
|
Jumlah
|
1
|
Arduino Uno R3
|
1
|
2
|
Modul /Rangkaian percobaan
|
1
|
3
|
Kabel USB
|
1
|
4
|
Kabel jumper
|
Secukupnya
|
III. Langkah Percobaan
III.1 Percobaan For Control (Kombinasi nyala Led
berdasarkan button yang ditekan)
a.
Koneksi Hardware
Dengan menggunakan kabel jumper, koneksikan Led dan
Pushbutton pada mudul(rangkaian) ke pin-pin Arduino Uno R3 dengan konfigurasi sebagai berikut:
Ø Menghubungkan kaki Anoda Led1 ke pin 7 Arduino
Ø Menghubungkan kaki Anoda Led2 ke pin 8 Arduino
Ø Menghubungkan kaki Anoda Led3 ke pin 9 Arduino
Ø Menghubungkan kaki Anoda Led4 ke pin 10 Arduino
Ø Menghubungkan Pushbutton1 ke pin 3 Arduino
Ø Menghubungkan Pushbutton2 ke pin 4 Arduino
Ø Menghubungkan Pushbutton3 ke pin 5 Arduino
Ø Menghubungkan Pushbutton4 ke pin 6 Arduino
Gambar 1. Skematik
Percobaan For Controll
Gambar 2. Breadboard
Percobaan For Controll
b.
Pemrograman Pada Arduino
Sketch program pada arduino dapat
dilihat dibawah ini:
int tombol1=3;
int tombol2=4;
int tombol3=5;
int tombol4=6;
int led1=7;
int led2=8;
int led3=9;
int led4=10;
void setup() {
pinMode (tombol1,INPUT);
pinMode (tombol2,INPUT);
pinMode (tombol3,INPUT);
pinMode (tombol4,INPUT);
pinMode (led1,OUTPUT);
pinMode (led2,OUTPUT);
pinMode (led3,OUTPUT);
pinMode (led4,OUTPUT);
}
void loop() {
if (digitalRead(tombol1)==LOW)
{digitalWrite(7,HIGH);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
}
else if (digitalRead(tombol2)==LOW)
{digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
}
else if (digitalRead(tombol3)==LOW)
{digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
digitalWrite(10,LOW);
}
else if (digitalRead(tombol4)==LOW)
{digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
}
delay (30);
}
|
IV. Hasil dan Pembahasan
Pada
praktikum kali ini menggunakan fungsi if-else dimana program akan berjalan
ketika kondisinya terpenuhi, dan ketika kondisi pertama tidak terpenuhi maka
program akan mencari kondisi yang lain, kemudian jika kondisinya terpenuhi
program akan terus berjalan. Dalam hal ini program akan memeriksa kondisi dari
pushbutton yang ditekan. Ketika pushbutton 1 ditekan maka hanya satu Led yang
akan menyala, kemudian ketika pushbutton 2 ditekan maka dua Led yang akan
menyala, terus ketika pushbutton 3 ditekan maka tiga Led yang akan menyala,
terakhir ketika pushbutton 4 ditekan maka empat Led akan menyala.
Praktikum 4
Sensor Interfacing
I. Dasar Teori
Interface atau
dalam istilah Indonesianya Antar Muka dapat diartikan sebagai sebuah titik, di
mana dua komponen atau benda berbeda bertemu. Dalam hubungannya dengan
perangkat lunak, interface dapat diartikan sebagai sarana atau medium atau
sistem operasi yang digunakan untuk menghubungkan antara perangkat
mikroprosesor agar dapat berkomunikasi dengan pengguna (user). Sedangkan pada
konteks perangkat keras interface berarti komponen elektronika yang menghubungkan
atau mengkomunikasikan prosesor dengan komponen atau perangkat lain dalam suatu
sistem. Dalam praktikum kali ini saya akan mempraktekan tentang interfacing
arduino dengan sensor. Dan untuk menampilkan hasil pembacaan dari sensor yang
dipakai saya akan mengggunakan sebuah LCD.
Pertama saya akan bahas mengenai sensor. Sensor adalah jenis transduser (mengubah
suatu energi menjadi energi yang lain) seperti mengubah variasi mekanis,
magnetis, panas, sinar dan kimia menjadi tegangan dan arus listrik. Ada banyak
sensor yang ada, namun pada praktikum kali ini saya akan menggunakan sensor
Flowmeter (sensor aliran) dan sensor suhu (DS18B20).
Flowmeter merupakan alat yang berfungsi untuk mengukur
kecepatan aliran dan volume fluida liquid
maupun gas. Kerja dari flowmeter ini
yaitu fluida berupa gas menggerakkan kincir yang dihubungkan dengan motor
sehingga saat kincir berputar maka motor juga
ikut berputar dan dapat menghasilkan ggl induksi. Pengkondisi sinyal membuat
sinyal tegangan ggl induksi dari motor dapat terbaca oleh arduino, lalu LCD
dapat manampilkan hasil pengukuran dari flow meter tersebut.
Gambar
1. Sensor Flowmeter
Keterangan:
Pada gambar sensor flowmeter diatas untuk babel berwarna
merah untuk VCC, kemudian kabel yang berwarna hitam untuk grunding (GND), dan
kabel berwarna kuning untuk data.
DS1820 adalah sensor suhu yang dikeluarkan oleh Dallas
Semiconductor. Untuk membacanya menggunakan protokol 1 wire communication.
Dimana hanya ada tiga kabel yang terdiri dari +5V, GND dan DQ (Data
Input/Output). Keunggulan dari DS1820 adalah, output berupa data digital dengan
nilai ketelitian 0,5 derajat Celcius sehingga mempermudah pembacaan oleh
mikrokontroller.
Gambar
2. Sensor DS18B20
Dan
komponen yang dipakai untuk menampilkan hasil pembacaan sensor yaitu LCD. LCD
atau Liquid Crystal Display adalah suatu jenis media tampilan yang menggunakan
kristal cair sebagai penampil utama. Dan pada percobaan kali ini saya
menggunakan LCD 16x2 yang artinya LCD tersebut terdiri dari 16 kolom dan 2
baris karakter (tulisan).
Gambar
3. LCD (Liquid Crystal Display)
II. Alat dan Bahan
Alat
dan bahan percobaan diperlihatkan pada Tabel 2:
Tabel 2. Alat dan
Bahan Praktikum
No
|
Alat dan Bahan
|
Jumlah
|
1
|
Arduino Uno R3
|
1
|
2
|
Modul /Rangkaian percobaan
|
1
|
3
|
Kabel USB
|
1
|
4
|
Sensor Suhu (
|
1
|
5
|
Sensor Aliran (Flow Meter)
|
1
|
6
|
Kabel jumper
|
Secukupnya
|
III. Langkah Percobaan
III.1 Percobaan Interfacing Arduino Dan Sensor
a.
Koneksi Hardware
Dengan
menggunakan kabel , koneksikan Sensor Flowmeter dan Sensor Suhu (DS18B20) pada
pin-pin Arduino Uno R3 dengan
konfigurasi sebagai berikut:
Ø Menghubungkan kabel merah dari sensor Flowmeter ke sumber
tegangan (VCC).
Ø Menghubungkan kabel hitam dari sensor Flowmeter ke ground
(GND).
Ø Menghubungkan kabel kuning dari sensor Flowmeter ke pin 2
Arduino.
Ø Menghubungkan kabel merah dari sensor DS18B28 ke sumber
tegangan (VCC).
Ø Menghubungkan kabel hitam dari sensor DS18B28 ke sumber
ground (GND).
Ø Menghubungkan kabel kuning dari sensor DS18B28 ke pin 7
Arduino.
Ø Menghubungkan pin RS LCD ke pin 12 Arduino
Ø Menghubungkan pin E LCD ke pin 11 Arduino
Ø Menghubungkan pin D4 LCD ke pin 5 Arduino
Ø Menghubungkan pin D5 LCD ke pin 4 Arduino
Ø Menghubungkan pin D6 LCD ke pin 3 Arduino
Ø Menghubungkan pin D7 LCD ke pin 6 Arduino
Ø Menghubungkan pin RW LCD ke Ground (GND) Arduino
Ø Menghubungkan pin VSS LCD ke Ground (GND) Arduino
Ø Menghubungkan pin VCC LCD ke sumber tegangan (VCC)
Arduino
Gambar 2. Skematik
Percobaan Interfacing Sensor Dan Arduino
Gambar 3. Breadboard
Percobaan Interfacing Sensor Dan Arduino
- Pemrograman Pada Arduino
Pemrograman
pada Arduino diperlihatkan sebagai berikut:
// include the library code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 6);
volatile int flow_frequency; //
Measures flow sensor pulses
unsigned int l_hour; // Calculated
litres/hour
unsigned char flowsensor = 2;
// Sensor Input
unsigned long currentTime;
unsigned long cloopTime;
void flow () // Interrupt
function
{
flow_frequency++;
}
void setup()
{
pinMode(flowsensor, INPUT);
digitalWrite(flowsensor,
HIGH); // Optional Internal Pull-Up
Serial.begin(9600);
attachInterrupt(0, flow,
RISING); // Setup Interrupt
sei(); // Enable interrupts
currentTime = millis();
cloopTime = currentTime;
// set up the LCD's number of
columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("SUHU: BELUM
ADA");
}
void loop ()
{
currentTime = millis();
// Every second, calculate
and print litres/hour
if(currentTime >=
(cloopTime + 1000))
{
cloopTime = currentTime;
// Updates cloopTime
// Pulse frequency (Hz) =
7.5Q, Q is flow rate in L/min.
l_hour = (flow_frequency
* 60 / 7.5); // (Pulse frequency x 60 min) / 7.5Q = flowrate in L/hour
flow_frequency =0; //
Reset Counter
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print("Flow:
");
lcd.print(l_hour); //
Print litres/hour
lcd.setCursor(12, 1);
lcd.print("L/H");
//lcd.clear();
}
}
|
IV. Hasil dan Pembahasan
Pada
praktikum kali ini saya belajar tentang interfacing sensor dengan
arduino,dimana pada praktikum ini sensor akan terhubung dengan arduino sehingga
sensor dapat mengirim data hasil pengukuran suhu dan aliran kemudian data
tersebut diterima oleh arduino untuk seterusnya ditampilkan pada LCD. Pada
program untuk menampilkan hasil pembacaan sensor pada LCD dapat dituliskan ‘’ lcd.print
( “ sensor terpasang” ) ; ‘’ . Kemudian
program untuk mengatur letak penampilan tulisan ( hasil pembacaan sensor ) yaitu
‘’ lcd.setCursor (0,1); ‘’ . maksud dari
lcd.setCursor (0,1); ini adalah kita akan menulis di LCD pada number colom ke 0,
number baris ke 1.
Daftar Pustaka
http://kusumawardana.web.id/materikuliah/