tugas mikrokontroler.docx
DESCRIPTION
Fisika InstrumentasiTRANSCRIPT
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
1.2. Tujuan
1. Mengetahui cara kerja komunikasi antar Arduino dan Komputer
2. Mendesaian Simulasi Projek Komunikasi Serial berbasis Arduino
2
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
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
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
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
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
Gambar (4). Arduino Development Environment
Berikut ini adalah tombol-tombol toolbar serta fungsinya:
8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
//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
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
Gambar (16). Keadaan saat Logika Low (tombol 0 ditekan, LED mati)
Gambar (17). Keadaan saat karakter lain selain 1 dan nol ditekan
29
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
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
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
void draw()
background(2,3,brightness);
void serialEvent (Serial port)
brightness = float(port.readStringUntil('\n'));
Gambar(21). Listing Program pada Processig IDE
33
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
Gambar(21). Tampilan pada Serial Monitor Processing ketika Potensiometer bernilai
10 KΩ
35
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