Laporan
praktikum mikrokontroler 2
11.
Percobaan pertama:
Program yang digunakan sebagai berikut:
void setup() { \\ untuk penginisialisasi program
pinMode(9, OUTPUT); \\ pin9 sebagai output
pinMode(10,
OUTPUT); \\ pin10 sebagai output
pinMode(11, 1); \\ pin 11 berlogika high
pinMode(12, 1); \\ pin 12 berlogika high
pinMode(13, 1); \\ pin 13 berlogika high
}
void loop() { \\ perintah untuk melakukan
intruksi-intruksi berulang-ulang
digitalWrite(8, HIGH); digunakan
untuk mengset pin digital(high).
digitalWrite(9, HIGH); digunakan
untuk mengset pin digital(high).
digitalWrite(10, 1);digunakan untuk mengset pin digital(high,karena
1bisa diartikan dengan high).
digitalWrite(11, LOW); digunakan
untuk mengset pin digital(low).
digitalWrite(12, LOW); digunakan
untuk mengset pin digital(low).
digitalWrite(13, 0);
digunakan untuk mengset pin digital(low,karna 0
bisa diartikan dengan low).
}
Hasil keluaran pada LED arduino:
pin (8.9.10) = HIDUP
pin (11.12.13) = MATI
void setup() {
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, 1);
pinMode(12, 1);
pinMode(13, 1);
}
void loop() {
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(10, 1);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, 0);
}
Memiliki
fungsi yaitu hanya satu kali eksekusi ketika awal program berjalan. Biasanya
berisikan inisialisasi fungsi-fungsi yang digunakan dalam program. seperti
inisialisasi penggunaan kaki-kaki IC arduino. Void setup ini merupakan fungsi
wajib yang harus disertakan dalam memprogram arduino, jika tidak disertakan
maka program akan error. isi void setup bisa juga kosong.
2.2
Pemrograman Digital Output Menggunakan Konfigurasi Register
void setup() {
DDRB=0x3F;
}
DDRB=0x3F, output adalah 3F dalam bentuk heksa atau
0111111 dalam betuk
biner. Pada keadaan ini semua pin arduino (
8.9.10.11.12.13) berlogika HIGH
void loop() {
PORTB=0x07;
}
PortB=0x07,
nilai output PortB adalah 7 dalam bentuk Heksa atau 0111 dalam bentuk biner. Pada
keadaan ini pin arduino ( 8.9.10 ) berlogika HIGH dan pin arduino (11.12.13)
berlogika LOW .
sehingga pin arduino (8.9.10) akan berlogika HIGH dan pin arduino (11.12.13) berlogika LOW .
sehingga pin arduino (8.9.10) akan berlogika HIGH dan pin arduino (11.12.13) berlogika LOW .
1.
Jelaskan
perbedaan penggunaan fungsi Arduino dan konfigurasi register pada pengaksesan
digital Output?
Penggunaan konfigurasi register lebih memudahkan kita
dalam inisialisasi pin dalam jumlah banyak daripada menggunakan pinMode. Sebab
pinMode hanya bisa inisialisasi pin per pin.
2.
Menurut
anda, program menggunakan konfigurasi register lebih tepat ditujukan untuk
aplikasi apa? Jelaskan!
Penggunaan konfigurasi register lebih tepat dalam
penggunaan inisialisasi pin dalam jumlah yang banyak , karena jika menggunakan
pinMode kita akan lebih kesulitan karena akan inisialisasi pin per pin .
2.3 Penggunaan Fungsi Delay
void setup()
{ \\ untuk penginisialisasi program
pinMode(12, OUTPUT); \\ mengeset pin 12 sebagai output
}
void loop()
{ \\ program akan dijalan kan
berulang-ulang kali
digitalWrite(12,
HIGH); \\ mengeset pin 12 bernilai high
delay(1000); \\ memberi jedah sebanyak 1 detik
digitalWrite(12,
LOW); \\ mengeset pin 12 bernilai low
delay(1000); \\ memberi jedah sebanyak 1 detik
}
1.
Gantilah
parameter masukan untuk fungsi delay dengan 300, 1000, 1500, dan 2000,
kemudian amati
perubahan suara buzzer. Jelaskan fungsi parameter masukan dari
fungsi delay !
=jika delay dibarikan
sebanyak 300 maka ini kan memberikan jedah 0,3 detik untuk bersuara kemudian
0,3 kemudian mati.
=jika delay delay
dibarikan sebanyak 1000 maka ini kan memberikan jedah 1 detik untuk bersuara
kemudian 1 kemudian mati.
= jika delay delay dibarikan
sebanyak 1500 maka ini kan memberikan jedah 1,5 detik untuk bersuara kemudian
1,5 kemudian mati.
= jika delay delay dibarikan
sebanyak 2000 maka ini kan memberikan jedah 2 detik untuk bersuara kemudian 2
kemudian mati.
2.4 Pemrograman Digital Input Menggunakan
Fungsi Arduino
void setup() { \\ untuk penginisialisasi
program
pinMode(A0, INPUT);
\\ mengeset pinmode analog A0 sebagai input
digitalWrite(A0, HIGH); \\ mengeset A0 bernilai high
pinMode(12, OUTPUT) \\
mengeset pinmode 12 sebagai output
}
void loop() { \\ program akan dijalan kan
berulang-ulang kali
if(digitalRead(A0)==LOW) {
\\mengeset A0 bernilai low
}
else{ \\
jika tidak
digitalWrite(12, LOW);\\ maka pinmode 12 akan bernilai low
}
}
2. Perhatikan pada fungsi setup()
void setup()
{ pinMode(A0,INPUT);
digitalWrite(A0, HIGH); pinMode(12, OUTPUT); }
Setelah
pin A0 dikonfigurasi menjadi input, kemudian pin A0 diperintahkan untuk
berlogika high. Apa yang akan terjadi pada pin A0 setelah baris program
diatas dieksekusi ? Jelaskan !
= pertama pin
A0 akan diset untuk menjadi input kemudian nilai A0 pada input ini akan diberi
nilai high.
2.5 Pemrograman Digital Input
Menggunakan Konfigurasi Register
void setup() { \\ untuk penginisialisasi program
DDRC = 0x00; \\
mnegeset pin c0 sebagai input
PORTC = 0x01; \\
mengeset pin c0 bernilai high
DDRB = 0x10; \\
jika diubah kebilangan decimal akan menjadi 00010000 ,dan pinmode 12 akan
menjadi output.
}
void loop() { \\ program
akan dijalan kan berulang-ulang kali
if(bit_is_clear(PINC,0)) { \\
jika PINC bernilai 0.
PORTB = 0x10; \\ maka pinmode 12 akan bernilai high
}
else { \\ jika tidak
PORTB = 0x00; \\ maka pinmode 12 akan bernilai low
}
}
1. Jelaskan
perbedaan penggunaan fungsi Arduino dan konfigurasi register untuk penggunaan periperal masukan digital !
=pada fungsi register akan d ubah dalam bentuk hexa decimal.
0 komentar:
Posting Komentar