47
BAB I PENDAHULUAN 1.1. Latar Belakang Maraknya perkembangan teknologi didasari oleh munculnya mikroprocesor. Sebagai suatu unit proses, mikroprocesor telah mendukung jalannya industri di dunia, sebagai otak dalam mengendalikan kerja mekanik. Dengan skala yang bervariasi, dan dengan tujuan khusus, mikroprocesor menjadi ciri khas tersendiri sebagai unit proces. Sebagai unit proses, mikroprocesor berkembang menjadi sebuah modul yang memiliki bagian-bagian tertentu. Arinya, untuk mengontrol sesuatu, mikroprocesor harus dilengkapi dengan Unit tambahan seperti RAM dlln, sehingga jika digabungkan maka akan membentuk satu kesatuan unit yang menjalankan tugas yang kompleks. Dengan adanya satu kesatuan unti, maka munculah sebuah pengontrol/pengendali yang berukuran lebih kecil, di mana di kenal sebagai sebuah mikrokontroler yang merupakan sebuah IC yang sudah dilengkapi dengan unit- unit yang disesuaikan dengan kebutuhan, dan berfungsi untuk pengolahan data berkapasitas kecil. Perkembangan mikrokontroler berlangsung lama seiring berkembangnya kebutuhan akan teknologi. Ditengah maraknya perkembangan akan ukuran dan jenis-jenis mikrokontroler, lahirlah sebuah modul proces dengan fungsi dan jenis yang 1

Tugas Mikrokontroler.docx

Embed Size (px)

DESCRIPTION

Fisika Instrumentasi

Citation preview

Page 1: Tugas Mikrokontroler.docx

BAB I

PENDAHULUAN

1.1. Latar Belakang

Maraknya perkembangan teknologi didasari oleh munculnya mikroprocesor.

Sebagai suatu unit proses, mikroprocesor telah mendukung jalannya industri di

dunia, sebagai otak dalam mengendalikan kerja mekanik. Dengan skala yang

bervariasi, dan dengan tujuan khusus, mikroprocesor menjadi ciri khas tersendiri

sebagai unit proces. Sebagai unit proses, mikroprocesor berkembang menjadi

sebuah modul yang memiliki bagian-bagian tertentu. Arinya, untuk mengontrol

sesuatu, mikroprocesor harus dilengkapi dengan Unit tambahan seperti RAM dlln,

sehingga jika digabungkan maka akan membentuk satu kesatuan unit yang

menjalankan tugas yang kompleks.

Dengan adanya satu kesatuan unti, maka munculah sebuah

pengontrol/pengendali yang berukuran lebih kecil, di mana di kenal sebagai sebuah

mikrokontroler yang merupakan sebuah IC yang sudah dilengkapi dengan unit-unit

yang disesuaikan dengan kebutuhan, dan berfungsi untuk pengolahan data

berkapasitas kecil. Perkembangan mikrokontroler berlangsung lama seiring

berkembangnya kebutuhan akan teknologi. Ditengah maraknya perkembangan akan

ukuran dan jenis-jenis mikrokontroler, lahirlah sebuah modul proces dengan fungsi

dan jenis yang kompleks ysng dikenal dengan Nama Arduino. Munculnya Arduino

memberikan suatu kemudahan untuk menciptakan sebuah inovasi teknologi, bukan

hanya dalam kalangan bisnis tetapi juga dalam kalangan pelajar.

Banyak projek telah dicoba dengan menggunakan Aduino, karena telah memiliki

desain minimunm sistem dan menggunakan bahasa pemrograman C++, yang sudah

sangat lazim digunakan oleh kaum pelajar karna lebih mudah ketimbang dahasa

Assembler.

Salah satu contoh projek sangat menarik jika dijalankan dengan Arduino yaitu

komunikas serial. Arduino Uno juga menyediakan fasilitas untuk melakukan

komunikasi dua arah melalui serial monitor, sehingga kita dapat mengirim data

aantara komputer dan arduino secara timbal balik.

1

Page 2: Tugas Mikrokontroler.docx

1.2. Tujuan

1. Mengetahui cara kerja komunikasi antar Arduino dan Komputer

2. Mendesaian Simulasi Projek Komunikasi Serial berbasis Arduino

2

Page 3: Tugas Mikrokontroler.docx

BAB II

DASAR TEORI

Arduino Uno merupakan salah satu produk berlabel Arduino yang sebenarnya

adalah salah satu papan elektronik yang mengandung mikrokontroler Atmega328

(sebuah keping yang scara fungsional bertindak seperti sebuah komputer). Piranti ini

dapat dimanfaatkan untuk mewujudkan rangkaian elektronik dari yang sederhana

hingga yang kompleks. Pengendalian LED hingga pengontrolan robotdapat

diimplementasikan menggunkana papan yang berukuran relatif kecil ini (lihat gambar

1). Bahkan dengan penambahan komponen tertentu, piranti ini bisa dipakai untuk

pemantauan jarak jauh melalui internet, misalnya pemantauan kondisi sistem di rumah

sakit dan pengendalian alat-alat dirumah.

Arduino Uno mengandung mikroprosesor (berupa Atmel AVR) dan dilengkapi

dengan oscilator 16MHz (yang memungkinkan operasi berbasis waktu dilaksanakan

dengan tepat), dan regulator (pembangkit tegangan) 5 volt. Sejumlah pin tersedia di

papan. Pin 0 hingga 13 digunakan untuk isyarat digital, yang hanya bernilai 1 atau 0.

Pin A0 hingga A5 digunakan untuk isyarat analog.

Arduino Uno dilengkapi dengan static random-access memory (SRAM) berukuran

2 KB untuk memegan data, flash memory berukuran 32 KB, dan erasable programable

read-only memory (EEPROM) untuk menyimpan program.

Berikut adalah gambar Arduino Uno.

Gambar (1). Papan Arduino Uno

3

Page 4: Tugas Mikrokontroler.docx

Komponen utama di dalam papan Arduino adalah sebuahmicrocontroller 8 bit

dengan merk Atmega yang dibuat oleh perusahaan Atmel Corporation. Berbagai papan

Arduino menggunakan tipe ATmega yang berbeda-beda tergantung dari spesifikasinya,

sebagai contoh Arduino Uno menggunakan ATmega328 sedangkan Arduino Mega

2560 yang lebih canggih menggunakan ATmega2560.

Untuk memberikan gambaran mengenai apa saja yang terdapat di dalam sebuah

microcontroller, pada gambar berikut ini diperlihatkan contoh diagram blok sederhana

dari microcontroller ATmega328 (dipakai pada Arduino Uno).

Gambar (2). Gambar diagram blok sederhana Arduino Uno

Blok-blok di atas dijelaskan sebagai berikut:

Universal Asynchronous Receiver/Transmitter (UART)adalah antar muka yang

digunakan untuk komunikasi serial seperti pada RS-232, RS-422dan RS-485.

2KB RAM pada memory kerja bersifat volatile(hilang saat daya dimatikan),

digunakan oleh variable-variabel di dalam program.

32KB RAM flash memory bersifat non-volatile, digunakan untuk menyimpan

program yang dimuat dari komputer. Selain program, flash memory juga

menyimpan bootloader.

4

Page 5: Tugas Mikrokontroler.docx

Bootloader adalah program inisiasi yang ukurannya kecil, dijalankan oleh CPU saat

daya

dihidupkan. Setelah bootloader selesai dijalankan, berikutnya program di dalam

RAM

akan dieksekusi.

1KB EEPROM bersifat non-volatile, digunakan untuk menyimpan data yang tidak

boleh

hilang saat daya dimatikan. Tidak digunakan pada papan Arduino.

Central Processing Unit (CPU), bagian dari microcontroller untuk menjalankan

setiap

instruksi dari program.

Port input/output, pin-pin untuk menerima data (input) digital atau analog, dan

mengeluarkan data (output) digital atau analog.

A. Bagian-bagian Arduino

Dengan mengambil contoh sebuah papan Arduino tipe USB, bagian-bagiannya

dapat dijelaskan sebagai berikut.

Gambar (3). Bagian-bagian Arduino

14 pin input/output digital (0-13)

Berfungsi sebagai input atau output, dapat diatur oleh program.

5

Page 6: Tugas Mikrokontroler.docx

Khusus untuk 6 buah pin 3, 5, 6, 9, 10 dan 11, dapat juga berfungsi sebagai pin

analog output dimana tegangan output-nya dapat diatur. Nilai sebuah pin output

analog dapat diprogram antara 0 – 255, dimana hal itu mewakili nilai tegangan 0 –

5V.

USB

Berfungsi untuk:

Memuat program dari komputer ke dalam papan

Komunikasi serial antara papan dan komputer

Memberi daya listrik kepada papan

Sambungan SV1

Sambungan atau jumperuntuk memilih sumber daya papan, 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.

Q1 – Kristal (quartz crystal oscillator)

Jika microcontroller dianggap sebagai sebuah otak, maka kristal adalah jantung-nya

karena komponen ini menghasilkan detak-detak yang dikirim kepada

microcontroller agar melakukan sebuah operasi untuk setiap detak-nya. Kristal ini

dipilih yang berdetak 16 juta kali per detik (16MHz).

Tombol Reset S1

Untuk me-reset papan sehingga program akan mulai lagi dari awal. Perhatikan

bahwa tombol

reset ini bukan untuk menghapus program atau mengosongkan microcontroller.

In-Circuit Serial Programming (ICSP)

Port ICSP memungkinkan pengguna untuk memprogram microcontroller secara

langsung, tanpa

6

Page 7: Tugas Mikrokontroler.docx

melalui bootloader. Umumnya pengguna Arduino tidak melakukan ini sehingga

ICSP tidak terlalu

dipakai walaupun disediakan.

IC 1 – Microcontroller Atmega

Komponen utama dari papan Arduino, di dalamnya terdapat CPU, ROM dan RAM.

X1 – sumber daya eksternal

Jika hendak disuplai dengan sumber daya eksternal, papan Arduino dapat diberikan

tegangan DC antara 9-12V

6 pin input analog (0-5)

Pin ini sangat berguna untuk membaca tegangan yang dihasilkan oleh sensor analog,

seperti sensor suhu. Program dapat membaca nilai sebuah pininput antara 0 – 1023,

dimana hal itu mewakili nilai tegangan 0 – 5V.

B. Arduino Development Environment

Arduino Development Environment terdiri dari editor teks untuk menulis kode,

sebuah area pesan, sebuah konsol, sebuah toolbar dengan tomol-tombol untuk fungsi

yang umum dan beberapa menu. Arduino Development Environment terhubung ke

arduino board untuk meng-upload program dan juga untuk berkomunikasi dengan

arduino board. Perangkat lunak yang ditulis menggunakan Arduino Development

Environment disebut sketch. Sketch ditulis pada editor teks. Sketch disimpan dengan

file berekstensi .ino. Area pesan memberikan memberikan informasi dan pesan error

ketika kita menyimpan atau membuka sketch. Konsol menampilkan output teks dari

Arduino Development Environment dan juga menampilkan pesan error ketika kita

mengkompile sketch. Pada sudut kanan bawah dari jendela Arduino Development

Environment menunjukkan jenis board dan port seriak yang sedang digunakan. Tombol

toolbar digunakan utuk mengecek dan mengupload sketch, membuat, membuka atau

menyimpan sketch, dan menampilkan serial

7

Page 8: Tugas Mikrokontroler.docx

Gambar (4). Arduino Development Environment

Berikut ini adalah tombol-tombol toolbar serta fungsinya:

8

Page 9: Tugas Mikrokontroler.docx

Dalam lingkungan arduino digunakan sebuah konsep yang disebut sketchbook,

yaitu tempat standar untuk menumpan program (sketch). Sketch yang ada pada

sketchbook dapat dibuka dari menu File > Sketchbook atau dari tombol open pada

toolbar. Ketika pertama kali menjalankan arduino development environment, sebuah

direktori akan dibuat secara otomatis untuk tempat penyimpana sketchbook. Kita dapat

melihat atau mengganti lokasi dari direktori tersebut dari menu File > Preferences.

Serial monitor menampilkan data serial yang sedang dikirim dari arduino board.

Untuk mengirim data ke board, masukkan teks dan klik tombol send atau tekan enter

pada keyboard.

Sebelum meng-upload program, kita perlu mensetting jenis board dan port serial yang

sedang kita gunakan melalui menu Tools > Board dan Tools > Serial Port. Pemilihan

board berguna untuk mengeset parameter (contohnya: kecepatan mikrokontroler dan

baud rate) yang digunakan ketika meng-compile dan mengupload sketch.

Setelah memilih board dan port serial yang tepat, tekan tombol upload pada toolbar

atau pilih menu File > Upload. Arduino board akan me-reset secara otomatis dan proses

upload akan dimulai. Pada kebanyakan board, LED RX dan TX akan berkedip ketika

program sedang di-upload. Arduino development environment akan menampilkan

pesan ketika proses upload telah selesai, atau

menampilkan pesan error.

Ketika sedang meng-upload program, arduino bootloader sedang digunakan,

Arduinp bootloader adalah sebuah program kecil yang telah ditanamkan pada

mikrokontroler yang berada pada arduino board. Bootloader ini mengijinkan kita

meng-upload program tanpa menggunakan perangkat keras

tambahan.

C. Hubungan ke PC

Hubungan ke PC dilakukan melalui kabel USB (gambar 2). Dalam hal ini,

kebutuhan listrik dipasok oleh PC. Namun, jika Arduino Uno diakai berdiri sendiri,

diperlukan sumber tegangan eksternal sebesar 9 volt.

Apabila Arduino Uno sudah terhubung ke PC dan PC telah dinyalakan, ada dua

indikator yang menyatakan bahwa papan ini tidak bermasalah.

Indikator pertama berupa lampu kecil berlabel ON yang akan menyala.

9

Page 10: Tugas Mikrokontroler.docx

Indikator kedua berupa lampu kecil yang terhubung ke pin 13 yang akan berkedip-

kedip.

Namun keadaan tersebut bukan berarti bahwa Arduino Uno sudah bisa digunakan.

Kita masih perlu memasang driver.

D. Komunikasi Arduino Uno dan Komputer

Komunikasi antara Arduino Uno dal komputer dapat dilakukan melalui port serial

(via USB). Dalam hal ini arduino uno tidak hanya bisa membaca data dari komputer

yang ada di port serial, melainkan juga dapat mengirimkan data ke komputer. Jadi,

komunikasi yang dilakukan bersifat dua arah.

Beruntung sekali Arduino IDE menyediakan fasilitas untuk melakukan komunikasi

dua arah tersebut melalui Serial Monitor. Dengan menggunakan fasilitas ini, lita bisa

mengirim data ke Arduino Uno dan sebaliknya bisa membaca kiriman dari Arduino

Uno. Tentu saja hal ini bisa memungkinkan kita untuk mengontrol Arduino Uno melalui

komputer dan memantau sesuatu yang sedang terjadi di Arduino Uno. Sebagai contoh,

kita bisa mengirimkan isyarat untuk menghidupkan lampu atau memeriksa suhu yang

terdeteksi oleh sensor suhu di Serial Monitor.

E. Perintah untuk Komunikasi Serial

Perintah yang berhubungan dengan komunikasi serial ditangani oleh objek bernama

serial. Objek tersebut adalah sebagai berikut :

Serial. Begin(kecepatan)

Berguna untuk menentukan kecepatan pengiriman dan penerimaan data melalui port

serial. Kecepatan yang umum dugunakan adalah 9600 bit per detik (9600 bps).

Namun, kecepatan hingga 115.200 didukung oleh Arduino Uno.

Contoh :

Serial.begin(9600)

Digunakan untuk menentukan kecepatan sebesar 9600 bps.

Serial.end()

Digunakan untuk menghentikan komunikasi serial

Serial.read()

10

Page 11: Tugas Mikrokontroler.docx

Berguna untuk membaca satu byte data yang terdapat di port serial. Setelah

pemanggilan Serial.read(), jumlah data di port serial berkurang satu . Untuk

membaca selluruh data , diperlukan perintah sebagai berikut:

Int data ;

While (Serial.available())

data = Serial.read();

...

Serial.available()

Berguna untuk menghasilkan jumlah byte di port serial yang masih nelum terbaca.

Jka port serial dalam keadaan kosong, Serial.available() menghasilkan nilai nol.

Serial.print(data) dan Serial.print(data, format)

Serial.print() berguna untuk mengirimkan data ke port serial. Apabila argumen

format disertakan, data yang dikirim akan menyesuaikan dengan format tersebut.

Dalam hal ini, format yang digunakan bisa berupa:

DEC (format desimal atau basis 10)

HEX (format heksadesilmal atau basis 16)

OCT (format oktal atau basis 8)

BIN (format biner atau basis 2)

Jika argumen hanya satu, hasilnya dalam bentuk string.

Contoh:

Serial.print(65); //Menghasilkan 65

Serial.print(65, DEC) //Menghasilkan 65

Serial.print(65, OCT) //Menghasilkan 101

Serial.print(65, BIN) //Menghasilkan 1000001

Serial.print() memberikan nilai baik berupa jumlah karakter yang dikirim.

Serial.println(data) dan Serial.println(data, format)

11

Page 12: Tugas Mikrokontroler.docx

Perintah ini secara prinsip sama dengan Serial.print(). Bedanya, Serial.println()

menambahkan “\r\n” (carriage return dan linefeed) yang meberi efek perpindahan

baris di dalam tampilan

Serial.print() memberikan nilai balik berupa jumlah karakter yang dikirim.

Serial.flush()

Sesungguhnya data yang ada di port ditaruh di suatu penyangga (buffer) di Arduino

Uno. Nah, untuk mengosongkan isi penyangga dan hendak membaca data terbaru,

perlu dilakukan pemanggilan dahulu seperti berikut:

Serial.flush();

Serial.parselnt()

Menghasilkan bilangan bulat yang terdapat di port serial.

Serial.parseFloat()

Menghasilkan bilangan titik mengambang (real) yang terdapat di port serial.

12

Page 13: Tugas Mikrokontroler.docx

BAB III

DESAIN PROJEK KOMUNIKASI SERIAL

1. Format bilangan

Alat dan bahan

1 Arduino

1 PC dengan Sistem Operasi Windows 7

Software Arduino

Tujuan dari komunkasi serial ini yaitu untuk melihat format ASCII, Otal, Heksa,

dan Biner dari sebuah karakter.

Sketch programnya seperti berikut.

// format - Contoh pembacaan data dari port serial

// dan menampilkan hasil dalam berbagai

// basis bilangan.

// TANPA rangkaian

void setup()

Serial.begin(9600);

void loop()

while (Serial.available() != 0)

char data = Serial.read();

// Kirim ke port serial

Serial.print("Karakter: ");

Serial.print(data);

Serial.print(", ASCII: ");

Serial.print(data, DEC);

Serial.print(", Oktal: ");

Serial.print(data, OCT);

13

Page 14: Tugas Mikrokontroler.docx

Serial.print(", Heksa: ");

Serial.print(data, HEX);

Serial.print(", Biner: ");

Serial.println(data, BIN);

delay(20); // Tunda sebentar untuk menyiapkan

// pembacaan data berikutnya

Sketch di atas menunjukan contoh pembacaaan data bilangan dari port serial,

kemudian mengirim ke komputer. Pengaturan kecepatan komunikasi dilakukan di

fungsi setup(), berupa:

Serial.begin(9600);

Kecepatan pertukaran data yang digunakan adalah 9600 bps.

Penanganan pembacaan data dan pengiriman data yang rutin ditangani di fungsi

loop(). Pembacaan data di port serial dilakukan melalui:

while (Serial.available() := 0)

char data = serial.read();

..

delay(20) ; // Tunda sebendar untuk menyiapkan

// pembacaan data berikutnya

Penambahan delay(20) untuk setiap pembacaan data dilakukan agar data bisa

dibaca dengan sempurna. Pada setiap pembacaan, karakter yang terbaca disimpan di

variabel data. Selanjutnya, informasi mengenai karakter tersebut disajikan dalam bentuk

karakter, nilai ASCII, format dalam desimal, oktal, dan heksadesimal ditampilkan

melalui Serial.print() dan Serial.println().

Sketch program di atas akan ditulis pada Arduino IDE, seperti gambar(1).

14

Page 15: Tugas Mikrokontroler.docx

Gambar (1). Penulisan Sketch program pada Arduino IDE

Setelah sketch ditulis pada arduino IDE, sketch perlu diverifikasi dengan mengklik

pada tanda centang. Jika sketch yang ditulis sudah benar (tanpa ada kesalahan) maka

akan muncul tulisan seperti berikut;

15

Page 16: Tugas Mikrokontroler.docx

Gambar (2). Hasil Verifikasi sketch pada Arduino IDE

Setelah itu sketch perlu diunggah ke arduino dengan mengklik pada icon →, namun

sebelum diunggah, sketch dapat disimpan dengan menklik file – Save As, maka akan

muncul tampilan seperti berikut;

16

Page 17: Tugas Mikrokontroler.docx

Gambar (3). Hasil Upload Sketch ke Serial Port Arduino

Langkah terakhir adalah dengan mengklik Serial Monitor pada pojok kanan atas,

maka akan muncul tampilan seperti gambar (4);

17

Page 18: Tugas Mikrokontroler.docx

Gambar (4). Serial monitor untuk mencoba komunikasi serial

Setelah muncul serial monitor, maka kita bisa langsung menginput karakter.

Sebagai Contoh kita input kata ‘Mikrokontroler’. Maka setelah ditekan tombol enter

pada keyboard akan muncul hasil seperti pada gambar (5):

18

Page 19: Tugas Mikrokontroler.docx

Gambar (5). Hasil tanggapan dari Arduino Uno yang diterima Oleh Komputer

Perlu diketahui, pengiriman string ke port serial dapat diatur dengan

tanpa tambahan apapun (No line ending)

tambahan carriage return

tambahan newline

tambahan newline dan carriage return

Penentuannya melalui bagian berikut:

19

Page 20: Tugas Mikrokontroler.docx

Gambar (6). Pngaturan string ke port serial

2. Konversi input Tegangan Analog menjadi Tegangan Digital

Alat dan bahan

Potensiometer 10 KΩ

Kabel jumper

1 Arduino

1 PC dengan Sistem Operasi Windows 7

Software Arduino

Tujuan komunikasi serial ini yaitu untuk mengkonversi input analog dari 10 bit

data menjadi nilai tegangan dengan rentang (0-5)Volt. Di mana nilai tegangan digital

yang dihasilkan dari setiap skala pada potensiometer dinyatakan dengan :

float voltage = sensorValue * (5.0 / 1023.0);

Hasil konversi nilai tegangan akan dikirimkan ke komputer melalui port serial

COM 3, sehingga nilai tegangan digitalnya akan ditampilkan pada serial monitor

pada komputer.

20

Page 21: Tugas Mikrokontroler.docx

Gambar rangkaian

Gambar (7). Bagan Konversi tegangan analog ke digital

Gambar (8). Gambar rangkaian Analog read

Sketch program seperti berikut:

/*

Membaca Tegangan Analog

Membaca Tegangan Analog dari pin 0,

Mengkonversinya menjadi tegangan,

21

Page 22: Tugas Mikrokontroler.docx

dan menulis hasi konversi pada serial monitor.

Pin tengah pada potensiometer duhubungkan ke pin A0,

Sedangkan pin kiri dan kanan berturut-turut

dihubungkan ke VCC dan ground.

*/

// Pembacaan data komunikasi seerial akan terulang

// ketika tombol reset pada arduino ditekan.:

void setup()

// Menginisial komunikasi serial dengan kecepatan

// 9600 bits per second:

Serial.begin(9600);

// Terjadi pengulangan secara Kontinu:

void loop()

// Membaca input analog dari pin 0:

int sensorValue = analogRead(A0);

// Mengkonversi input analog dari 10 bit data yang telah terbaca

// (dengan rentang dari 0 - 1023) menjadi tegangan

// dengan rentang 0 - 5V:

float voltage = sensorValue * (5.0 / 1023.0);

// Menulis nilai yang terbaca pada serial monitor:

Serial.println(voltage);

22

Page 23: Tugas Mikrokontroler.docx

Gambar (9). Gambar Hasil Verifikasi dan Upload sketch analog read pada Arduino

IDE

Setelah diruning pada serial monitor maka akan tampak seperti gambar berikut.

23

Page 24: Tugas Mikrokontroler.docx

Gambar (10). Keadaan saat potensiometer dalam kondisi 0 KΩ

Gambar (11). Keadaan saat potensiometer dalam kondisi 10KΩ

3. Menghidupkan dan mematikan LED dari PC

Alat dan bahan

2 Led (Meraah dan Hijau)

Protoboard

Kabel Jumper

24

Page 25: Tugas Mikrokontroler.docx

Multimeter

Resistor 333 Ω

1 Arduino

1 PC dengan Sistem Operasi Windows 7

Software Arduino

Tujuan dari komuikasi serial ini yaitu mengubah data digital dari komputer

berupa input high(1) dan low(0) menjadi sinyal listrik untuk menyalakan dua buah

led dari pin 8 pada papan Arduino Uno. Cara kerjanya, ketika tombol 1 pada keyboar

ditekan, maka komputer akan memberikan logika high ke arduino melalui port serisl

COM 3, sehingga LED merah dan hijau akan menyala dan pada serial monitor akan

ditampilkan komentar “Led Menyala”. Jika tombol 0 pada keyboard ditekan maka

Logika Low akan diterima Arduino yang menyebabkan LED merah dan hijau mati

dan pada serial monitor akan ditampilkan komentar “Led Mati”. Ketika karakter lain

selain 1 dan 0 diinput, maka pada serial monitor akan ditampilkan komentar

“Invalid”.

Gambar Rangkaian

Gambar (12). Bagan proses menghidupkan dan mematikan LED dari Komputer

25

Page 26: Tugas Mikrokontroler.docx

Gambar (12). Rangkaian proses menghidupkan dan mematikan LED dari Komputer

Gmbar (13). proses menghidupkan dan mematikan LED dari Komputer

Sketch program dapat dilihat di bawah ini.

// Menyalakan dan mematikan led dengan menekan

// tombol 1 dan 0 pada keyboard

int ledPin = 8;

void setup ()

26

Page 27: Tugas Mikrokontroler.docx

//Pemunculan Objek Serial

Serial.begin(9600);

pinMode(ledPin, OUTPUT);

void loop ()

//Proses penerimaan input pada arduino

while (Serial.available() == 0);

//membaca input

int val = Serial.read ()-'0';

if (val == 1)

Serial.println("Led Menyala !");

digitalWrite(ledPin, HIGH);

else if (val == 0)

Serial.println("Led Mati !");

digitalWrite(ledPin, LOW);

else

Serial.println("Invalid !");

27

Page 28: Tugas Mikrokontroler.docx

Gambar (14). Gambar Hasil Verifikasi dan Upload sketch pada Arduino IDE

Setelah Serial monitor diklik, maka akan muncul tampilan seperti berikut;

Gambar (15). Keadaan saat Logika high (tombol 1 ditekan, LED nyala)

28

Page 29: Tugas Mikrokontroler.docx

Gambar (16). Keadaan saat Logika Low (tombol 0 ditekan, LED mati)

Gambar (17). Keadaan saat karakter lain selain 1 dan nol ditekan

29

Page 30: Tugas Mikrokontroler.docx

Arduino hanya membaca input 1 dan 0 untuk menyatakan logika high dan low.

Selain kedua karakter input tersebut, maka pada serial monitor akan muncuk

kutipan’invalid’.

4. Stel Kontras Processsing

Alat dan bahan

Protoboard

Kabel Jumper

Potensiometer 10 KΩ

1 Arduino

1 PC dengan Sistem Operasi Windows 7

Softwahare Arduino

Softwhare Processing

Tujuan komunikasi serial ini yaitu untuk mengkonversi Nilai bit (10 bit) pada

arduino yang diatur dari potensiometer menjadi kontras warna (8 bit) yang ditampilkan

pada serial monitor dengan rentang intensitas (0-255). Di mana, nilai tersebut

dinyatakan dengan :

int val = map(analogRead(potPin), 0, 1023, 0, 255);

Serial.println(val);

Gambar rangkaian :

Gambar (18). Bagan Analog input

30

Page 31: Tugas Mikrokontroler.docx

Gambar(19). Gambar rangkaian analog raed

Sketch programnya dapat dilihat di bawah ini.

a. Sketch program pada Arduino IDE

int potPin = 0;

void setup()

Serial.begin(9600);

void loop()

int val = map(analogRead(potPin), 0, 1023, 0, 255);

Serial.println(val);

delay(50);

31

Page 32: Tugas Mikrokontroler.docx

Gambar(20). Hasil Upload Program pada Arduino IDE

b. Sketch program pada Processing IDE

import processing.serial.*;

Serial port;

float brightness = 0;

void setup()

size(500,500);

port = new Serial(this, "COM3", 9600);

port.bufferUntil('\n');

32

Page 33: Tugas Mikrokontroler.docx

void draw()

background(2,3,brightness);

void serialEvent (Serial port)

brightness = float(port.readStringUntil('\n'));

Gambar(21). Listing Program pada Processig IDE

33

Page 34: Tugas Mikrokontroler.docx

Setelah Button run pada processing diklik, maka akan muncul tampilan seperti

berikut:

Gambar(21). Tampilan pada Serial Monitor Processing ketika Potensiometer bernilai

0 KΩ

34

Page 35: Tugas Mikrokontroler.docx

Gambar(21). Tampilan pada Serial Monitor Processing ketika Potensiometer bernilai

10 KΩ

35

Page 36: Tugas Mikrokontroler.docx

BAB IV

PENUTUP

1. Kesimpulan

Komunikasi antara Arduino dan komputer dapat dilakukan melalui port serial via

USB. Dalam hal ini Arduino tidak hanya bisa membaca data dari komputeryang

ada di port serial, melainkan juga dapat menirim data ke komputer (komunikasi

yang dilakukan bersifat dua arah)

Beberapa projek yang telah didesain berbasis Arduino Uno yaitu;

Format bilangan

Di mana cara kerja dari projek ini yaitu mengubah karakter input menjadi

format ASCII, Otal, Heksa, dan Biner.

Mengkonversi input analog dari potensiometer menjadi tegangan analog

Di mana cara kerja dari komunikasi serial ini yaitu untuk mengkonversi input

analog dari potensiometer dengan perbandingan rentang (0-1023) byte : (0-5)

Volt

Menghidupkan dan mematikan LED dari PC

Di mana cara kerja dari komuikasi serial ini yaitu mengubah data digital dari

komputer berupa input high(1) dan low(0) menjadi sinyal listrik untuk

menyalakan dua buah led dari pin 8 pada papan Arduino Uno. Ketika tombol

1 pada keyboar ditekan, maka komputer akan memberikan logika high ke

arduino sehingga LED merah dan hijau akan Menyala dan jika tombol 0 pada

keyboard ditekan maka Logika Low akan diterima Arduino yang

menyebabkan LED merah dan hijau mati.

Stel Kontras Processsing

Tujuan komunikasi serial ini yaitu untuk mengkonversi input analog dari

potensiometer Menjadi konrtas warna pada serial monitor Processing. Jika

Potensiometer bernilai 0 KΩ, maka serial monitor processing akan

menampilkan warnah biru dengan kontras yang tinggi sedangkan jika

potensiometer bernilai 10 KΩ maka Serial monitor processing akan layar

menampilkan dengan warnah gelap/kontras rendah.

36