Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
INPUT OUTPUT
1.1 Tujuan
1. Mahasiswa dapat memahami fungsi input output.
2. Mahasiswa dapat membuat rangkaian dan memprogram
arduino dengan fungsi input output.
1.2 Landasan Teori
1. Inisialisasi variabel
Struktur dasar dari bahasa pemrograman arduino itu
sederhana hanya terdiri dari dua bagian.
void setup( )
{
// Statement;
}
void loop( )
{
// Statement;
}
Dimana setup() bagian untuk inisialisasi yang hanya dijalankan
sekali diawal program, sedangkan loop() untuk mengeksekusi
bagian program yang akan dijalankan berulang-ulang untuk
selamanya.
Fungsi setup() hanya di panggil satu kali ketika program
pertama kali di jalankan. Ini digunakan untuk pendefinisian mode
pin atau memulai komunikasi serial. Fungsi setup() harus di ikut
sertakan dalam program walaupun tidak ada statement yang di
jalankan
void setup()
{
// nyalakan pin 13
// pause selama 1
detik
digitalWrite(13, LOW);
delay(1000);
// matikan pin 13
/// pause selama 1
detik
}
Variable adalah 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.
Type variableName = 0;
Contoh :
Int inputVariable = 0;
// mendefinisikan sebuah
(fungsi)
adalah
blok
pemrograman
yang
analogRead(pot);
//
baca
harga
potentiometer
v /= 4; // konversi 0-1023 ke 0-255
return v; // return nilai v
}
Apabila
ketika
memprogram
dan
progremer
lupa
//
output
digitalWrite(pin, HIGH); //
mengset
pin
pin
sebagai
sebagai
source
voltagedigitalRead()
3. digitalWrite()
Digunakan untuk mengset pin digital. Pin digital Arduino
mempunyai 14 ( 0 13 ).
digitalWrite (pin, HIGH);
4. digitalRead()
Membaca nilai dari pin yang kita kehendaki dengan hasil
High atau Low.
Value = digitalRead(pin);
//
mengset
value
6. if(
If Operator if mengetes sebuah kondisi seperti nilai analog
sudah berada di bawah nilai yang kita kehendaki atau belum,
apabila terpenuhi maka akan mengeksekusi baris program yang
ada
dalam
brackets
kalau
tidak
terpenuhi
maka
akan
D1
AREF
PC0/ADC0
PC1/ADC1
PC2/ADC2
PC3/ADC3
PC4/ADC4/SDA
PC5/ADC5/SCL
ARDUINO UNO R3
DIGITAL (~PWM)
ANALOG IN
A0
A1
A2
A3
A4
A5
1121
ATMEGA328P-PU
RESET
PB5/SCK
PB4/MISO
~PB3/MOSI/OC2A
~ PB2/SS/OC1B
~ PB1/OC1A
PB0/ICP1/CLKO
PD7/AIN1
~ PD6/AIN0
PD5/T1
~
PD4/T0/XCK
~ PD3/INT1
PD2/INT0
TX PD1/TXD
RX PD0/RXD
13
12
11
10
9
8
7
6
5
4
3
2
1
0
LED-BLUE
R2
470R
R1
470R
R4
470R
R5
470R
program
pada
softwre
arduino
sesuai
dengan
program berikut,
int led1 = 8;
int led2 = 9;
int b1 = 2;
int b2 = 3;
int valueb1;
int valueb2;
void setup()
{
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(b1,INPUT);
pinMode(b2,INPUT);
}
void loop()
{
valueb1 = digitalRead(b1);
digitalWrite(led1,valueb1);
valueb2 = digitalRead(b2);
digitalWrite(led2,valueb2);
}
3. Simulasikan dan berilah analisis beserta kesimpulannya.
1.5
Pembahasan
Arduino adalah sebuah board mikrokontroler yang didasarkan pada IC
Atmega328 (datasheet ATmega328). Salah satu contoh yang akan dibahas kali ini
yaitu Arduino Uno. Arduino UNO mempunyai 14 pin digital input/output (6 di
antaranya dapat digunakan sebagai output PWM), 6 input analog, sebuah osilator
Kristal 16 MHz, sebuah koneksi USB, sebuah power jack, sebuah ICSP header,
dan sebuat tombol reset. Arduino UNO memuat semua yang dibutuhkan untuk
menunjang mikrokontroler, mudah menghubungkannya ke sebuah computer
dengan sebuah kabel USB atau mensuplainya dengan sebuah adaptor AC ke DC
atau menggunakan baterai untuk memulainya.
Arduino Uno adalah board mikrokontroler berbasis ATmega328. Uno
memiliki 14 pin digital input / output (dimana 6 dapat digunakan sebagai output
PWM), 6 input analog, resonator keramik 16 MHz, koneksi USB, jack listrik,
header ICSP, dan tombol reset. Uno dibangun berdasarkan apa yang diperlukan
untuk mendukung mikrokontroler, sumber daya bisa menggunakan power USB
(jika terhubung ke komputer dengan kabel USB) dan juga dengan adaptor atau
baterai. Arduino Uno berbeda dari semua papan sebelumnya dalam hal tidak
menggunakan FTDI chip driver USB-to-serial. Sebaliknya, fitur Atmega16U2
(Atmega8U2 sampai versi R2) diprogram sebagai konverter USB-to-serial. Revisi
2 dari Uno memiliki resistor pulling 8U2 HWB yang terhubung ke tanah,
sehingga lebih mudah untuk menggunakan mode DFU.
Pada praktikum pertama, percobaan yang dilakukan adalah analisis tentang
rangkaian input output pada arduino. Tujuan dari praktikum ini adalah agar
mahasiswa
dapat
memahami
fungsi
input
output
serta
void
setup()
Fungsi sintak
pinMode(led1,OUTPUT);pinMode(led2,OUTPUT);pinMode(b1,IN
PUT); pinMode(b2,INPUT); adalah difungsikan sebagai keluaran pada
LED 1 dan LED 2. Sedangkan untuk masukannya difungsikan pada b1 dan b2
pada push button.
8
sebuah
masukan
dan
keluaran.
valueb1
digitalRead(b1);digitalWrite(led1,valueb1);valueb2
digitalRead(b2); digitalWrite(led2,valueb2);
Hasil analisa pada saat simulasi dijalankan dengan keadaan kedua push
button tidak ditekan, LED yang terhubung dengan pin 8 akan menyala atau dalam
kondisi high. Sedangkan LED yang terhubung dengan pin 9 akan padam atau
dalam kondisi low. Saat push button yang terhubung dengan pin 2 ditekan, maka
kedua LED akan padam atau dalam kondisi low. Saat push button yang terhubung
dengan pin 3 ditekan, maka kedua LED akan menyala atau dalam kondisi high.
Saat kedua push button ditekan, maka LED yang terhubung dengan pin 9 akan
menyala atau dalam kondisi high. Sedangkan LED yang terhubung dengan pin 8
akan padam atau dalam kondisi low.
1.6
Kesimpulan
Dari praktikum ketiga, dapat diketahui bahwa kesimpulan
Lampiran
10
11
12
2.1 Tujuan
1. Mahasiswa dapat memahami cara kerja LCD.
2. Mahasiswa
dapat
membuat
rangkaian
LCD
dan
memprogramnya.
2.2 Landasan Teori
1. Inisialisasi LCD
Merupakan inisialisasi LCD.
2. LiquidCrystal lcd()
Menciptakan variabel jenis LiquidCrystal. Layar dapat dikontrol
dengan menggunakan 4 atau 8 jalur data.
Sintaksis:
LiquidCrystal (rs, mengaktifkan, d4, d5, d6, d7)
LiquidCrystal (rs, rw, mengaktifkan, d4, d5, d6,
d7)
LiquidCrystal (rs, mengaktifkan, d0, d1, d2, d3,
d4, d5, d6, d7)
LiquidCrystal (rs, rw, mengaktifkan, d0, d1, d2,
d3, d4, d5, d6, d7)
3. lcd.begin()
Berfungsi menginisialisasi antarmuka ke layar LCD, dan menentukan
dimensi (lebar dan tinggi) dari layar. begin() bisa disebut awal perintah yang
diberikan pada LCD.
Sintaksis :
lcd.begin (cols, baris)
Parameter :
LCD: variabel jenis LiquidCrystal
cols: menunjukkan jumlah kolom layar LCD
baris: jumlah baris pada LCD
4. lcd.setCursor()
Artinya, lokasi di mana ditulis dengan teks LCD akan
ditampilkan.
Sintaksis:
lcd.setCursor (col, row)
Parameter :
LCD: variabel jenis LiquidCrystal
13
col:
kolom
di
mana
posisi
posisi
kursor
kursor
(dengan
(dengan
byte,
int,
RS
RW
E
D0
D1
D2
D3
D4
D5
D6
D7
7
8
9
10
11
12
13
14
1
2
3
ARDUINO
4
5
6
VSS
VDD
VEE
LM016L
AREF
DIGITAL (~PWM)
ANALOG IN
A0
A1
A2
A3
A4
A5
1121
ATMEGA328P-PU
RESET
PB5/SCK
PB4/MISO
~PB3/MOSI/OC2A
~ PB2/SS/OC1B
~ PB1/OC1A
PB0/ICP1/CLKO
13
12
11
10
9
8
7
6
5
4
3
2
1
0
PD7/AIN1
~ PD6/AIN0
PD5/T1
~
PD4/T0/XCK
~ PD3/INT1
PD2/INT0
TX PD1/TXD
RX PD0/RXD
14
#include <LiquidCrystal.h>
LiquidCrystal lcd(13,12,11,10,9,8);
void setup() {
lcd.begin(16, 2);
lcd.print("hello, world!");
delay(1000);
}
void loop() {
lcd.setCursor(0, 0);
lcd.print("Elektro UNEJ");
lcd.setCursor(0, 1);
lcd.print(millis()/1000);
}
3. Simulasikan dan berilah analisisnya.
2.5 Pembahasan
LCD adalah lapisan dari campuran organik antara lapisan kaca bening
dengan elektroda transparan indium oksida dalam bentuk tampilan seven-segment
dan lapisan elektroda pada kaca belakang. Lapisan sandwich memiliki polarizer
cahaya vertikal depan dan polarizer cahaya horisontal belakang yang diikuti
dengan lapisan reflektor. Cahaya yang dipantulkan tidak dapat melewati molekulmolekul yang telah menyesuaikan diri dan segmen yang diaktifkan terlihat
menjadi gelap dan membentuk karakter data yang ingin ditampilkan.
Pin LCD nomor 4 (RS) merupakan Register Selector yang berfungsi untuk
memilih Register Control atau Register Data. Register Control digunakan untuk
mengkonfigurasi LCD. Register Data digunakan untuk menulis data karakter ke
memori display LCD. Pin LCD nomor 5 (R/W) digunakan untuk memilih aliran
data apakah READ ataukah WRITE. Karena kebanyakan fungsi hanya untuk
membaca data dari LCD dan hanya perlu menulis data saja ke LCD, maka kaki ini
dihubungkan ke GND (WRITE). Pin LCD nomor 6 (ENABLE) digunakan untuk
mengaktifkan LCD pada proses penulisan data ke Register Control dan Register
Data LCD.
Pada praktikum kedua yang membahas mengenai LCD ini menggunakan
aplikasi Proteus sebagai pembuatan rangkaian dan simulator. Sedangkan aplikasi
Arduino digunakan sebagai pengolah program yang akan dimasukkan dalam
Arduino pada Proteus. Jenis Arduino yang digunakan pada Proteus ialah Arduino
15
Uno. Kompnen lain yang akan dirangkai pada Proteus yaitu sebuah LCD 2x16
yang mempunyai 14 pin. Dalam rangkaian terdapat sebuah terminal ground.
Langkah kerja yang dilakukan yaitu memilih komponen yang akan
digunakan pada menu component mode aplikasi Proteus. Lalu menyambungkan
komponen-komponen seperti pada gambar rangkaian pada modul. Setelah itu
membuat program pada aplikasi Arduino seperti yang tertulis pada modul.
Kemudian memberi program pada komponen Arduino di Proteus. Setelah itu
menjalankan simulasi dari rangkaian dengan menekan tombol play pada apilkasi
Proteus.
Untuk rangkaiannya, pin 4 pada LCD dihubungkan dengan pin 13 pada
Arduino. Pin 6 pada LCD dihubungkan dengan pin 12 pada Arduino. Pin 11 pada
LCD dihubungkan dengan pin 11 pada Arduino. Pin 12 pada LCD dihubungkan
dengan pin 10 pada Arduino. Pin 13 pada LCD dihubungkan dengan pin 9 pada
Arduino. Pin 14 pada LCD dihubungkan dengan pin 8 pada arduino. Pin 5 pada
LCD dihubungkan dengan ground.
Selanjutnya adalah pembahasan tentang masing-masing
listing program yang digunakan dalam analisis rangkaian LCD
pada Arduino. Listing LiquidCrystal lcd(13,12,11,10,9,8);
merupakan pin yang digunakan pada kaki Arduino pada pin 13, 12, 11, 10, 9, dan
8 yang disambungkan pada kaki pin LCD yaitu 4, 6, 11, 12, 13, dan 14. Untuk
listing lcd.begin(16,2); adalah fungsi dari LCD yang terdiri dari 2 baris
dan 16 kolom. Lalu program ditampilkan pertama pada LCD adalah dengan
sebuah karakter dengan sintak program lcd.print("hello, world!");.
Tulisan tersebut hanya tampil dalam waktu satu detik dengan sintak program
delay(1000);.
Setelah program tersebut menampilkan karakter pertama, selanjutnya LCD
akan tampil dengan karakter baru dengan listing program void loop(){ yang
digunakan sebagi fungsi perputaran program pada proses pencacahan angka.
Fungsi lcd.setCursor(0,0); adalah menentukan koordinat 0,0 sebagai
awal tempat penulisan karakter pertama LCD. Pada LCD baris pertama, LCD
akan muncul tulisan "Elektro UNEJ", dan karakter tersebut tidak berubah.
Karakter
tersebut
ditampilkan
menggunakan
sintak
program
16
dengan sintak
yang
delay(1000);
digunakan
adalah
lcd.clear
();
setelah
sintak
praktikum
kedua,
dapat
diketahui
bahwa
pada
sintak
program
berfungsi
untuk
dengan
karakter
17
Lampiran
18
19
BAB 3. ADC
3.1 Tujuan
1. Mahasiswa dapat memahami cara kerja ADC.
2. Mahasiswa
dapat
membuat
rangkaian
ADC
dan
memprogramnya.
3.2 Landasan Teori
1. analogRead()
Membaca nilai pin analog yang memiliki resolusi 10-bit.
Fungsi ini hanya dapat bekerja pada analog pin (0-5). Hasil dari
pembacaan berupa nilai integer dengan range 0 sampai 1023.
Value = analogRead(pin); //
mengset
value
sama
20
D0
D1
D2
D3
D4
D5
D6
D7
RS
RW
E
7
8
9
10
11
12
13
14
1
2
3
ARDUINO
4
5
6
VSS
VDD
VEE
LM016L
AREF
PC0/ADC0
PC1/ADC1
PC2/ADC2
PC3/ADC3
PC4/ADC4/SDA
PC5/ADC5/SCL
DIGITAL (~PWM)
1k
A0
A1
A2
A3
A4
A5
ANALOG IN
0%
RV1
1121
ATMEGA328P-PU
RESET
PB5/SCK
PB4/MISO
~PB3/MOSI/OC2A
~ PB2/SS/OC1B
~ PB1/OC1A
PB0/ICP1/CLKO
PD7/AIN1
~ PD6/AIN0
PD5/T1
~
PD4/T0/XCK
~ PD3/INT1
PD2/INT0
TX PD1/TXD
RX PD0/RXD
13
12
11
10
9
8
7
6
5
4
3
2
1
0
D1
LED-BLUE
R1
470R
ARDUINO UNO R3
lcd.print(ValueADC0);
lcd.setCursor(2,1);
lcd.print(" ");//2 spasi
}
if(ValueADC0 <= 9){
lcd.setCursor(0,1);
lcd.print(ValueADC0);
lcd.setCursor(1,1);
lcd.print("
");//3 spasi
}
}
3. Simulasikan dan berilah analisisnya.
3.5 Pembahasan
Analog To Digital Converter (ADC) adalah pengubah analog input
menjadi kode kode digital. ADC banyak digunakan sebagai pengatur proses
industri, komunikasi digital dan rangkaian pengukuran/pengujian. Umumnya
ADC digunakan sebagai perantara antara sensor yang kebanyakan analog dengan
sistim komputer seperti sensor suhu, cahaya, tekanan/berat, aliran dan sebagainya
kemudian diukur dengan menggunakan sistim digital (komputer).
Sintak analogRead() berfungsi untuk membaca nilai pin analog yang
memiliki resolusi 10-bit. Fungsi ini hanya dapat bekerja pada analog pin (0-5).
Hasil dari pembacaan berupa nilai integer dengan range 0 sampai 1023. Contoh
sintak program adalah sebagai berikut : Value = analogRead(pin); //
mengset value sama dengan nilai analog pin
Sedangkan sintak analogWrite()berfungsi untuk mengirimkan nilai
analog pada pin analog. Contoh sintak program adalah sebagai berikut :
analogWrite(pin, value); // menulis ke pin analog
22
praktikum.
Setelah
membuat
rangkaian,
membuat
pin
Arduino
lcd(13,12,11,10,9,8);
A0.
Pada
sintak
LiquidCrystal
terletak pada pin Arduino 13, 12, 11, 10, 9, dan 8 yang disambungkan pada pin
LCD 4, 6, 11, 12, 13, dan 14. Untuk LED indikator pada Arduino diletakan di pin
3 yang dijalankan pada sintak int LED = 3;. Pada LCD ini, menggukan
karakter tampilan yaitu 2 x 16. Program untuk menampilkan karakter LCD 2 x 16
menggunkan sintak lcd.begin(16,2);, yaitu 16 sebagai kolom dan 2
sebagai baris.
Untuk nilai ADC sendiri yang ditampilkan pada LCD menggunakan sintak
program ValueADC0 = analogRead(SensorPin1); yang berfungsi
untuk membaca nilai pin analog dari hasil dari pembacaan berupa nilai
integer dengan range 0 sampai 1023 yang ditampilkan pada
output berupa LCD dengan letaknya menggunakan sintak
lcd.setCursor(0,0);.
23
menampilkan
karakter
Nilai
ADC0
dengan
sintak
lcd.print("Nilai ADC0");.
Untuk sintak program analogWrite(LED,ValueADC0/4);,
difungsikan untuk mengirimkan nilai analog pada pin analog pada
hasil
nilai
integer.
Pengaruh
pada
LCD
adalah
untuk
ditampilkan
pada
LCD
menggunakan
sintak
ditampilkan
pada
baris
kedua.
Sintak
program
24
25
3.6 Kesimpulan
Dari praktikum ketiga, dapat diketahui bahwa kesimpulan
dari percobaan ini adalah sebgaia berikut :
1. Besar nilai ADC yang ditampilkan pada LCD ditentukan oleh
input pada potensiometer.
2. Jika potensiometer tahanannya semakin besar, maka nilai
ADC yang ditampilkan pada LCD akan semakin kecil.
3. Jika potensiometer tahanannya semakin kecil, maka nilai ADC
yang ditampilkn pada LCD akan semakin besar.
4. Nilai ADC paling kecil yang digunakan pada praktikum ini
adalah sebesar 0, sedangkan nilai yang terbesar adalah
sebesar 1023.
5. Fungsi ADC pada praktikum ini
data analog menjadi data digital. Hal ini dapat dilihat pada
saat kita menggunakan potensiometer sebagai input untuk
data analog yang dikonversikan menjadi data digital yang
ditampilkan pada output LCD.
6. Besar nilai
analog ini akan berbanding terbalik dengan tahanan
di potensiometer. Besar tahanan potensiometer sendiri dapat berubah sesuai
dengan posisinya.
26
BAB 4. AKTUATOR
4.1 Tujuan
1. Mahasiswa dapat memahami cara kerja aktuator.
2. Mahasiswa dapat membuat rangkaian aktuator
dan
memprogramnya.
4.2 Landasan Teori
1. inisialisasi servo
Untuk menginisialisasi servo yang digunakan.
2. Servo myservo
Merupakan bentuk inisialisasi servo pada arduino.
3. myservo.attach()
Berfungsi memasang variabel Servo ke pin yang dipakai.
Sintak :
servo.attach (pin)
servo.attach (pin, min, max)
Parameter :
Servo: variabel jenis Servo
pin: jumlah pin servo yang dipakai
min
(opsional):
lebar
pulsa,
mikrodetik,
sesuai
dengan
minimum
dalam
(0
dalam
satuan
derajat)
satuan
27
RS
RW
E
D0
D1
D2
D3
D4
D5
D6
D7
7
8
9
10
11
12
13
14
4
5
6
1
2
3
VSS
VDD
VEE
LM016L
ARDUINO
AREF
PC0/ADC0
PC1/ADC1
PC2/ADC2
PC3/ADC3
PC4/ADC4/SDA
PC5/ADC5/SCL
DIGITAL (~PWM)
1k
A0
A1
A2
A3
A4
A5
ANALOG IN
100%
RV1
1121
ATMEGA328P-PU
RESET
PB5/SCK
PB4/MISO
~PB3/MOSI/OC2A
PB2/SS/OC1B
~
~ PB1/OC1A
PB0/ICP1/CLKO
PD7/AIN1
~ PD6/AIN0
PD5/T1
~
PD4/T0/XCK
~ PD3/INT1
PD2/INT0
TX PD1/TXD
RX PD0/RXD
13
12
11
10
9
8
7
6
5
4
3
2
1
0
+88.8
ARDUINO UNO R3
void setup()
{
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print("Posisi");
myservo.attach(3);
}
void loop()
{
value = analogRead(AnalogIn);
value = map(value, 0, 1023, 0, 179);
myservo.write(value);
if(value > 100){
lcd.setCursor(0,1);
lcd.print(value);
}
if(value < 100){
lcd.setCursor(0,1);
lcd.print(value);
lcd.setCursor(2,1);
lcd.print(" ");
}
if(value < 10){
lcd.setCursor(0,1);
lcd.print(value);
lcd.setCursor(1,1);
lcd.print(" ");
}
delay(15);
}
3. Simulasikan dan berilah analisisnya.
4.5 Pembahasan
29
oleh
media
pengontrol
otomatis
yang
terprogram
di
dapat
membuat
rangkaian
aktuator
dan
memprogramnya.
Langkah percobaan yang dilakukan awal adalah menyiapkan aplikasi
Proteus dan Arduino. Lalu membuat rangkaian pada aplikasi Proteus sesuai
30
program
untuk
bertindak
selanjutnya,
#include
9,
myservo adalah
lcd.begin(16,
2),
lcd.setCursor(0,0),
value
0, 1023,
analogRead(AnalogIn);
value
myservo.write(value);
if(value
lcd.print(value);}
lcd.setCursor(0,1);
>
100)
untuk
myservo akan ditulis pada kolom 0 dan baris 1, if(value < 100)
{
lcd.setCursor(0,1);
lcd.print(value);
31
<
10){
lcd.setCursor(0,1);
");}
praktikum
keempat,
dapat
diketahui
bahwa
Motor
PWM_SERVO
menggunakan
2
nilai
pada
-90,
saat
dan
potensiometer
saat
pada
pada
kondisi
kondisi
low
high
tidak 180.
Fungsi potensiometer
pada
simulasi
ini
adalah
untuk
pesawat atau mobil RC, untuk lengan robot, untuk pengarah sensor dan untuk
keperluan lain yang membutuhkan gerakan.
32
}
2. Serial.print
Mencetak data ke port serial sebagai teks ASCII yang dapat
dipahami dengan mudah oleh manusia. Perintah ini dapat
mengambil
banyak
bentuk.
Nomor
dicetak
menggunakan
karakter ASCII untuk setiap digit. Byte yang dikirim sebagai satu
karakter.
3. Serial.println
33
// mengirimkan 100
AREF
PC0/ADC0
PC1/ADC1
PC2/ADC2
PC3/ADC3
PC4/ADC4/SDA
PC5/ADC5/SCL
DIGITAL (~PWM)
RV2
1k
A0
A1
A2
A3
A4
A5
ANALOG IN
61%
RV1
1121
ATMEGA328P-PU
RESET
PB5/SCK
PB4/MISO
~PB3/MOSI/OC2A
~ PB2/SS/OC1B
~ PB1/OC1A
PB0/ICP1/CLKO
PD7/AIN1
~ PD6/AIN0
PD5/T1
~
PD4/T0/XCK
~ PD3/INT1
PD2/INT0
TX PD1/TXD
RX PD0/RXD
13
12
11
10
9
8
7
6
5
4
3
2
1
0
51%
ARDUINO UNO R3
P1
1
6
2
7
3
8
4
9
DCD
DSR
RXD
RTS
TXD
CTS
DTR
RI
1k
ERROR
COMPIM
34
5.5 Pembahasan
Semua board Arduino
memiliki
sedikitnya
satu
buah
kontroller komunikasi serial. Beberapa board malah memiliki lebih dari satu,
seperti Mega dan Due.
Hal
ini
menyebabkan
komunikasi
serial
mengaktifkan komunikasi serial dan meng-set baud rate pada 9600 bps. Pada
program ValueADC0 = analogRead(SensorPin1); ini dimaksudkan
bahwa nilai dari ADC0 tergantung dari masukan sensor pin 1 atau dari nilai RV1
yang diberikan, sedangkan ValueADC1 = analogRead(SensorPin2);
nilai ADC1 tergantung dari masukan sensor pin 2 atau nilai dari RV2 yang
diberikan.
Serial.print("ADC0
");
dan
untuk
program
Serial.print("\t
ADC1
");
dan
36
5.6 Kesimpulan
Dari praktikum kelima, dapat diketahui bahwa kesimpulan dari percobaan
ini adalah sebgaia berikut :
1. Pemrograman sketch arduino menggunakan gaya bahasa C tapi pada
pembuatan library-nya menggunakan C++ yang menerapkan pemrograman
Objek (Class).
2. Pada potensiometer kita beri VCC pada salah satu kaki dan ground pada kaki
lainnya. Begitu juga pada potensiometer yang kedua kita sambungkan pada
VCC di salah satu kakinya dan ground pada kaki lainnya
3. Kita dapat memilih port yang akan digunakan dalam simulasi misalkan com 1
dan com2. Jadi untuk port serial pada simulasi kita rubah port-nya dengan
klik dua kali menjadi com.
4. Pada Saat kita rubah nilai dari potensiometer 1 terlihat nilai dari ADC 0
berubah seperti perubahan dari potensiometer, saat potensiometer tersebut
dirubah pada titik maksimal, terlihat nilai ADC yang terbaca pada serial
monitor adalah sebesar 1023 dan saat dirubah pada titik terbawah nilai dari
ADC terbaca sebesar 0.
5. Jadi kita dapat mengerti dan mengetahui bahwa nilai ADC yang terbaca saat
maksimal pada masukan analog adalah 1023 dan pada saat minimal nilai
analog yang terbaca pada serial monitor adalah 0. Nilai-nilai ini adalah
sebuah ketetapan dari bit. 1023 yang terbaca maka dapat kita ketahui bahwa
Arduino tersebut merupakan 10 bit
6. Port serial monitor hanya bias dipasang pada Arduino pin 0 dan pin 1. Karena
fungsi pin 0 adalah RXD yaitu sebagai penerima data dan pin 1 adalah TXD
sebagai penyalur data.
37