Kamis, 03 Oktober 2013

Penjelasan Praktek MIKRO 2

Laporan praktikum mikrokontroler 2
11.       Percobaan pertama:
Program yang digunakan sebagai berikut:
void setup() {        \\ untuk penginisialisasi program
pinMode(8, OUTPUT);   \\ pin8 sebagai output
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 .

 
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

digitalWrite(12, HIGH);  \\jika A0 bernilai low maka pinmode 12 akan bernilai high
}
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