NAMA :
NIM :
1. 18/426329/SV/15471
2. 18/426331/SV/15473
(Serial Komunikasi)
INPUT/OUTPUT
Input/output digital atau digital pin adalah pin pin untuk menghubungkan
arduino dengan komponen atau rangkaian digital. contohnya , jika ingin
membuat LED berkedip, LED tersebut bisa dipasang pada salah satu pin
input atau output digital dan ground. komponen lain yang menghasilkan
output digital atau menerima input digital bisa disambungkan ke pin pin
ini.
Input analog atau analog pin adalah pin pin yang berfungsi untuk
menerima sinyal dari komponen atau rangkaian analog. contohnya ,
potensiometer, sensor suhu, sensor cahaya, dll.
Catu Daya
pin pin catu daya adalah pin yang memberikan tegangan untuk komponen
atau rangkaian yang dihubungkan dengan arduino. Pada bagian catu daya
ini pin Vin dan Reset. Vin digunakan untuk memberikan tegangan
langsung kepada arduino tanpa melalui tegangan pada USB atau adaptor,
sedangkan Reset adalah pin untuk memberikan sinyal reset melalui tombol
atau rangkaian eksternal.
Baterai Adaptor
Soket baterai atau adaptor digunakan untuk menyuplai arduino dengan
tegangan dari baterai/adaptor 9V pada saat arduino sedang tidak
disambungkan kekomputer. Jika arduino sedang disambungkan
kekomputer dengan USB, Arduino mendapatkan suplai tegangan dari
USB, Jika tidak perlu memasang baterai/adaptor pada saat memprogram
arduino.
PROSEDUR PERCOBAAN
pinMode ()
pinMode Berfungsi untuk mengkonfigurasi pin tertentu agar dapat
digunakan sebagai input atau output, pada program ini outputnya di alamatkan
sesuai dengan fungsi pin yang dibutuhkan.
pinMode(I, OUTPUT);
Int ()
int() adalah variable yang difungsikan sebagai sebuah penyimpan nilai
yang dapat di gunakan dalam program. Variable dapat di rubah sesuai dengan
instruksi yang kita buat. Ketika mendeklarisikan variable harus di ikut sertakan
type variable serta nilai awal variable.
int I;
int I, pattern;
digitalWrite ()
digitalWrite() Berfungsi untuk memberi nilai HIGH atau LOW ke pin
digital. Jika pin telah dikonfigurasi sebagai OUTPUT.
digitalWrite(I, LOW);
digitalWrite(I, HIGH);
analogRead ()
analogRead berfungsi untuk membaca nilai dari pin analog yang
ditentukan, pada arduino mega 2560 berisi konverter multichannel, 10-bit analog
ke digital, ini berarti bahwa arduino akan memetakan tegangan input antara 0 dan
tegangan operasi (5V atau 3.3V) ke dalam nilai integer antara 0 dan 1023.
pattern = analogRead(13) / 2.0479; //rumus untuk menentukan
berapa derajat temperature yang terbaca
pattern = analogRead(12) / 4; //Rumus untuk menentukan nilai
PWM dari putaran potensiometer (12 = A12 pin analog)
for
for digunakan untuk mengulangi blok pernyataan yang dilampirkan dalam
kurung kurawal, penghitung kenaikan biasanya digunakan untuk menambah dan
mengakhiri loop, pernyataan for berguna untuk operasi berulang.
int I;
for(I = 14; I <=17; I++) {
pinMode(I, OUTPUT);
digitalWrite(I, LOW);
}
for(I = 0; I <= 7; I++)
pinMode(I, OUTPUT);
for(I = 10; I <= 12; I++)
pinMode(I, INPUT);
}
for(I = 14; I <=17; I++) {
pinMode(I, OUTPUT);
digitalWrite(I, LOW);
}
pinMode(8, OUTPUT); //Pin 8 untuk Motor Dc
for(I = 0; I <= 7; I++)
pinMode(I, OUTPUT);
for(I = 10; I <= 12; I++)
pinMode(I, INPUT);
}
Serial.begin
Serial.begian merupakan fungsi serial yang digunakan untuk komunikasi
antara papan Arduino dan komputer atau perangkat lain yang ditambah kan fungsi
begin, fungsi begin di sini berfungsi untuk mengatur kecepatan data dalam bit per detik
(baud) untuk transmisi data serial dan dapat di tampilkan pada serial monitor.
Serial.begin(9600);
Serial.println
Serial.println merupakan fungsi serial yang digunakan untuk komunikasi
antara papan Arduino dan komputer atau perangkat lain yang ditambah kan fungsi
println, fungsi println di sini berfungsi untuk mencetak data ke port serial sebagai teks
ASCII yang dapat dibaca manusia yang diikuti oleh karakter carriage return (ASCII 13,
atau '\ r') dan karakter baris baru (ASCII 10, atau '\ n') dan dapat di tampilkan pada serial
monitor. Pada program ini menampilkan nilai dari perhitungan pada variable pattern.
Serial.println(pattern);
Serial.print
Serial.print merupakan fungsi serial yang digunakan untuk komunikasi
antara papan Arduino dan komputer atau perangkat lain yang ditambah kan fungsi print,
fungsi print pada program ini berfungsi untuk mencetak data ke port serial sebagai teks
ASCII yang dapat dibaca manusia. Perintah ini dapat mengambil banyak bentuk. Angka
dicetak menggunakan karakter ASCII untuk setiap digit. Mengapung juga dicetak sebagai
angka ASCII, default ke dua tempat desimal. Bytes dikirim sebagai karakter tunggal.
Karakter dan string dikirim apa adanya. Parameter kedua opsional menentukan basis
(format) yang akan digunakan; nilai yang diizinkan adalah BIN (biner, atau basis 2), OCT
(oktal, atau basis 8), DEC (desimal, atau basis 10), HEX (heksadesimal, atau basis 16).
Untuk angka floating point, parameter ini menentukan jumlah tempat desimal yang
akan digunakan dan dapat ditampilkan pada serial monitor.
Serial.print("Iki Suhune Lur");
Serial.print("\t");
Salah satu jenis penampil yang sering digunakan ialah LCD (Liquid
Crystal Display), yang memiliki banyak kelebihan dibandingkan seven
segment display. Salah satu kelebihan LCD ialah menampilkan pesan text.
Jenis LCD yang banyak digunakan untuk project microcontroller
sederhana ialah LCD 16x2, 16 kolom dengan 2 baris.
KETERANGAN :
Fungsi void setup () dalam sebuah program arduino adalah semua perintah
yang akan di baca sekali.
Fungsi void loop () dalam sebuah program arduino adalah semua perintah
yang akan di baca berulang-ulang.
begin()
Untuk begin() digunakan dalam inisialisasi interface ke LCD dan mendefinisikan
ukuran kolom dan baris LCD. Pemanggilan begin() harus dilakukan terlebih
dahulu sebelum memanggil instruksi lain dalam library LCD. Untuk syntax
penulisan instruksi begin() ialah sebagai berikut.
lang.begin(cols, rows)
Dengan lang ialah nama variable, cols jumlah kolom LCD, dan rows jumlah baris
LCD.
setCursor()
Instruksi ini digunakan untuk memposisikan cursor awal pesan text di LCD.
Penulisan syntax setCursor() ialah sebagai berikut.
lang.setCursor(col, row)
Dengan lang ialah nama variable, col kolom LCD, dan row baris LCD.
print()
Sesuai dengan namanya, instruksi print() ini digunakan untuk mencetak,
menampilkan pesan text di LCD. Penulisan syntax print() ialah sebagai berikut.
lang.print(data)
Dengan lang ialah nama variable, data ialah pesan yang ingin ditampilkan.
scrollDisplayLeft()
Merupakan salah satu function dalam library LCD yang berfungsi untuk
menggulung tampilan text yang ditampilkan di LCD ke kiri. Sehingga tampilan
text di LCD akan terlihat bergeser ke kiri dan seolah-olah bisa menghilang.
Banyaknya jumlah pergeseran ditentukan oleh perulangan for() yang digunakan.
scrollDisplayRight()
Merupakan salah satu function dalam library LCD yang berfungsi untuk
menggulung tampilan text yang ditampilkan di LCD ke kanan. Sehingga tampilan
text di LCD akan terlihat bergeser ke kanan dan seolah-olah bisa menghilang.
Banyaknya jumlah pergeseran ditentukan oleh perulangan for() yang digunakan.
createChar()
Dengan menggunakan funtion pada library LiquidCrystal, yakni createChar(),
memungkinkan untuk membuat tampilan karakter unik pada LCD. Tampilan dari
setiap karakter tersebut ditentukan oleh array dari data 8 bit untuk setiap barisnya.
Dengan lima bit paling belakang terkecil (LSB), dari setiap data menentukan pixel
pada baris tersebut. Sementara function write() digunakan untuk menampilkan
karakter unik tersebut di LCD.
Untuk penulisan function createChar() ialah sebagai berikut.
lang.createChar(num, data)
Dengan lang ialah variable terkait LCD yang dideklarasikan sebelumnya, num
nomor karakter dari 0 hingga 7, dan data merupakan nama untuk karakter unik
tersebut.
write()
Sementara itu cara penggunaan function write(), ialah sebagai berikut.
lang.write(byte(num))
Dengan lang ialah variable terkait LCD yang dideklarasikan sebelumnya, num
ialah nomor karakter dari 0 hingga 7 yang telah dibuat sebelumnya.
Perbedaan antara function print() dengan write() terletak pada apa yang
ditampilkannya. Untuk function print() digunakan dalam mencetak text ke LCD.
Sedangkan untuk function write() digunakan untuk mencetak sebuah karakter
unik yang berupa data byte
KESIMPULAN