Anda di halaman 1dari 21

NAMA: Hotlan Sampe Tua Sianturi

NIM :C010321005
PRODI : Teknik Listrik
PRAKTIKUM 2
PENGENALAN ARDUINO DAN
MENULISKAN OUTPUT PADA PORT

I. Tujuan

1. Mengetahui perbedaan mikrokontroller, AVR dan Arduino


2. Mengetahui nama Port pada Arduino Nano, Uno dan Promini
3. Mampu menggunakan IDE arduino untuk memprogram
4. Mengerti kerangka program Arduino yang terdiri dari void setup( ) dan void loop( )
5. Mengerti mengirimkan output dengan perintah arduino : pinMode dan digitalWrite
6. Mengerti mengirimkan output dengan C dasar : DDRX=0bxxxxxxxx, PORTX = 0bxxxxxxx

II. Teori Dasar

Pengenalan Arduino

Arduino adalah suatu open-source patform elektronik yang berbasis kemudahan


penggunaan (easy to use) baik hardware maupun software. Dengan kata lain Arduino
merupakan sebuah system dasar yang terdiri dari hardware dan software yang
mengutamakan kemudahan penggunaannya. Core dari Arduino adalah mikrokontroller dari
bermacam-macam tipe.

Jenis-jenis Arduino

Ada banyak nama jenis Arduino, diantaranya adalah sebagai berikut:

7
NAMA: Hotlan Sampe Tua Sianturi
NIM :C010321005
PRODI : Teknik Listrik

Gambar 1.1 Jenis-jenis Arduino

Pada gambar 1.1 dapat dilihat berbagai nama jenis arduino berdasarkan level para
penggunanya dan tingkat kerumitan sistemnya.
Pada buku ini hanya akan menggunakan Arduino jenis Uno, Nano dan ProMini. Ketiga
jenis Arduino ini menggunakan mikrokontroller AVR yang sama yaitu AT Mega 328p.
Perbedaannya terletak pada ada tidaknya rangkaian penyearah dan chip CH-340 sebagai
pengubah serial ke USB

Jenis Arduino Penyearah CH-340


Uno Ada Ada
Nano Tidak Ada Ada
Pro Mini Tidak Ada Tidak ada

Berdasarkan tabel di atas dapat disimpulkan dari ketiga jenis arduino tersebut maka
Arduino Uno mempunyai sepesifikasi tertinggi sehingga harganya pun yang termahal.

8
NAMA: Hotlan Sampe Tua Sianturi
NIM :C010321005
PRODI : Teknik Listrik

Gambar 1.2.a Arduino Uno

Gambar 1.2.b Arduino Nano

Gambar 1.2.c Arduino Pro Mini

Keunggulan dan Kelemahan Arduino

Arduino mempunyai keunggulan dibandingkan dengan sistem mikrokontroller lainnya,


berikut ini:
- Banyak library yang sudah tersedia sehingga pemrogram dengan level awal pun dapat
menggunakannya dengan mudah. Library tersedia banyak di internet, open source dan free.
Disertai dengan contoh-contoh menggunakannya.
- Harganya sangat murah. Karena pengawatan Arduino berlisesi free maka banyak perusahaan
yang mencopy pengawatannya dan memproduksinya sehingga dipasaran harganya bersaing.

9
NAMA: Hotlan Sampe Tua Sianturi
NIM :C010321005
PRODI : Teknik Listrik
- Mudah digunakan. Disertai dengan program IDE Arduino yang dapat di download di internet
dengan gratis. Banyak IDE untuk mikrokontroller AVR, tapi untuk versi full harus bayar
- Langsung bisa dapat diprogram hanya dengan menggunakan kabel USB biasa.
- Tidak memerlukan power yang besar, bahkan hanya dengan menggunakan power dari port
USB komputer sistem arduino sudah dapat diprogram dan run.

Mesikipun begitu banyaknya keunggulan Arduino, namun dari pengalaman, Penulis


mendapati ada beberapa kekurangan, yaitu:
- Program yang dihasilkan lebih lambat dan lebih besar
- Tidak mengetahui lebih dalam mengenai arsitektur mikrkontroller AVR.

Peta kaki Arduino dan kesetaraannya dengan kaki AVR

Sistem arduino memberikan nama alias untuk penamaan kaki AVR. Nama alias ini hanya
dikenali pada IDE arduino, sehingga jika diterapkan apada editor program AVR yang lain
maka akan menghasilkan sintax error. Gambar berikit meperlihatkan peta dan penamaan
pin arduino untuk nano yang juga sama dengan penamaan Uno.

PortB PB.0 PB.1 PB.2 PB.3 PB.4 PB.5


ArduinoPin 8 9 10 11 12 13

PortC PC.0 PC.1 PC.2 PC.3 PC.4 PC.5


ArduinoPin 14 15 16 17 18 19

PortD PD.0 PD.1 PD.2 PD.3 PD.4 PD.5 PD.6 PD.7


ArduinoPin 0 1 2 3 4 5 6 7

Untuk PORTC.4 dan PORTC.5 jika dijadikan sebagai input maka nilai logikanya terkunci pada
kondisi LOW. Sedangkan untuk PORTB.5 terkunci pada mode OUTPUT, karena pin 13 untuk
ardiuno terhubung dengan indicator led.
Port input output pada Arduino dapat dialamati sebagai bit maupun sebagai byte. Untk
pengalamatan secara bit dapat menggunakan perintah Arduino dengan perintah
digitalWrite, digitalRead dan pinMode. Sedangkan untuk pengalamatan byte dapat
menggunakan instruksi assignment Bahasa C. Dengan mengirim output secara byte pada

10
NAMA: Hotlan Sampe Tua Sianturi
NIM :C010321005
PRODI : Teknik Listrik
register PORTx dan DDRx, atau membaca register PINx. Contoh DDRD=0xff, PORTD=0xB4,
inData=PIND.

Gambar 1.3 Peta pin Arduino Nano

Perintah Dasar Arduino

pinMode
pinMode adalah perintah untuk mensetting pin Arduio sebagai Input atau Output.
Penentuan pin Arduino pada software sebagai input/output dapat dilihat pin tersebut
secara hardware terhubung ke peralatan apa. Di set sebagai input jika terhubung ke
peralatan input seperti berbagai jenis saklar (push button, limit switch, swtch toggle, dll) ,
sensor, keypad dll. Sebaliknya diset sebagai output jika pin tersebut terhubung ke peralatan
output seperti led, relay, LCD, motor dll.
Contoh:
pinMode (LED_BUILTIN, OUTPUT) ; // menjadikan pin 13 sebagai output
pinMode (13, 1);
pinMode (A1, INPUT); // menjadikan pin A1 atau pin 14 menjadi input

11
NAMA: Hotlan Sampe Tua Sianturi
NIM :C010321005
PRODI : Teknik Listrik
pinMode (14, 0);
pinMode (0, INPUT_PULLUP) // menjadikan pin A1 atau pin 0 menjadi input pull up.

digitalWrite
digitalWrite adalah perintah untuk mengirimkan data digital ke pin output.
Contoh :
digitalWrite (1,HIGH); // mengirimkan data logika HIGH(1) ke pin no 1
digitalWrite (1,1);
digitalWrite (2,LOW); // mengirimkan data logika LOW(0) ke pin no 2
digitalWrite (2,0);

delay( int )
delay adalah perintah tundaan selama milidetik.
Contoh
delay(1000) // berarti melakukan tundaan selama 1000ms atau 1 detik

Perintah native C
Perintah native C adalah perintah dengan menggunakan sintaks asli C untuk AVR.
DDRx
DDRx adalah perintah untuk mensetting pin apakah sebagai input output. Perintah ini
adalah perintah 1 byte (8 bit), jadi seklai menjalankan perintah maka 8 bit akan diset.
Setting bisa sebagai input atau output secara simultan. Untuk menjadikan pin tersebut
sebagai input maka harus diberi nilai 0, sedangakan output diberi nilai 1. Perintah ini
berfungsi sama seperti pinMode. Bedanya pinMode adalah perintah 1bit.
Contoh
DDRD= 0b11110000 // berarti PIND0, PIND1,PIND2,PIND3 (pin 0-3)menjadi input, sedangkan
// PIND4,PIND5,PIND6 dan PIND7 (pin 4-7) menjadi output.

PORTx
PORTx adalah perintah adalah perintah untuk mengirimkan nilai digital ke PORT. Perintah ini
mirip dengan perintah digitalWrite, bedanya ini adalah perintah 8 bit.
Contoh
PORTD=0b11110000 // berarti PIND0 sd PIND3 diberi nilai 0, sedangakan PIND4 sd PIND7
// diberi nilai logika 1

12
NAMA: Hotlan Sampe Tua Sianturi
NIM :C010321005
PRODI : Teknik Listrik
III. Daftar Alat dan Bahan

1. Komputer yang mempunyai dengan program Proteus dan IDE Arduino


2. Arduino Uno
3. Bread board
4. Led
5. Kabel konektor

IV. Keselamatan Kerja

Untuk melaksanakan praktikum Mikrokontroler ini diperlukan langkah-langkah untuk


keselamatan:
a. Sebelum praktikum dimulai, masing-masing praktikan menyiapkan jobsheet.
b. Pastikan hubungan kabel power pada komputer / laptop sudah tersambung dan tidak
ada kabel yang terbuka, kemudian hidupkan (turn on) MCB panel pada meja praktikum.
c. Pastikan hubungan komputer dengan peralatan lainnya, seperti keyboard dan mouse
sudah terhubung.
d. Hidupkan komputer, dan tunggu sampai sistem operasi selesai loading dan sudah dapat
digunakan.

V. Langkah Kerja

Aktifitas 1a: program Blink satu buah led

1. Buatlah rangkaian pada berikut pada proteus

13
NAMA: Hotlan Sampe Tua Sianturi
NIM :C010321005
PRODI : Teknik Listrik

Gambar 1.4
2. Ketik Program berikut Pada Arduino
void setup() {
// put your setup code here, to run once:
pinMode(0,OUTPUT);
}

void loop() {
digitalWrite(0,HIGH);
delay(500);
digitalWrite(0,LOW);
delay(500);
}

2. Compile program Arduino. Copy alamat file .hex yang dihasilkan.

3. Paste file.hex dari Arduino ke proteus, kemudian jalankan simulasi.

4. Jika semuanya benar maka simulasi akan memperlihatkan led hidup dan mati bergantian
(blink).

Aktifitas 1b: Program Blink 4 buah led – 4 buah led

1. Buatlah rangkaian berikut pada proteus

2. Buatlah program pada Arduino sehingga simulasi akan memperlihatkan tampilan urutan
sbg berikut

- Led 1 sd led 4 menyala sedangkan led 5 sd led 8 padam

- Led 1 sd led 4 padam sedangkan led 5 sd led 8 nyala

14
NAMA: Hotlan Sampe Tua Sianturi
NIM :C010321005
PRODI : Teknik Listrik

Gambar 1.5

// code prk2_1b by Hotlan S.T Sianturi


void setup() {
// put your setup code here, to run once:
for(int i=0; i<8; i++)
pinMode(i,OUTPUT);
}

byte led=0;
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(0,HIGH);
digitalWrite(1,HIGH);
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
delay(500);
}

15
NAMA: Hotlan Sampe Tua Sianturi
NIM :C010321005
PRODI : Teknik Listrik
Aktifitas 2a: Running led dengan satu led menyala

1. Menggunakan rangkaian yang sama pada aktifitas 1b

2. Buatlah program sehingga simulasi akan memperlihatkan satu buah led akan menyala
bergerak dari kanan ke kiri (dari led 1 menuju led 8 kemudian kembali ke led 1 dan
seterusnya).
// code prk2_2a by Hotlan S.T Sianturi
void setup() {
// put your setup code here, to run once:
for(int i=0; i<8; i++)
pinMode(i,OUTPUT);
}

byte led=0;
void loop() {
// put your main code here, to run repeatedly:

digitalWrite(0,HIGH);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,HIGH);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,HIGH);

16
NAMA: Hotlan Sampe Tua Sianturi
NIM :C010321005
PRODI : Teknik Listrik
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
delay(500);

17
NAMA: Hotlan Sampe Tua Sianturi
NIM :C010321005
PRODI : Teknik Listrik

Gambar 1.6

Aktifitas 2b: Running led dengan dua led menyala


1. Menggunakan rangkaian yang sama pada aktifitas 2a
2. Buatlah program sehingga simulasi akan memperlihatkan dua buah led akan menyala
bergerak dari kanan ke kiri (dari led 1 menuju led 8 kemudian kembali ke led 1 dan
seterusnya).

Gambar 1.7
// code prk2_2b by Hotlan S.T Sianturi
void setup() {
// put your setup code here, to run once:
for(int i=0; i<8; i++)
pinMode(i,OUTPUT);

18
NAMA: Hotlan Sampe Tua Sianturi
NIM :C010321005
PRODI : Teknik Listrik
}

byte led=0;
void loop() {
// put your main code here, to run repeatedly:

digitalWrite(0,HIGH);
digitalWrite(1,HIGH);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
delay(500);
}

Aktifitas 2c: Running led bolak balik dengan satu led menyala
1. Menggunakan rangkaian yang sama pada aktifitas 1b

19
NAMA: Hotlan Sampe Tua Sianturi
NIM :C010321005
PRODI : Teknik Listrik
2. Buatlah program sehingga simulasi akan memperlihatkan satu buah led akan menyala
bergerak dari kanan ke kiri kemudian memantul kembali ke kanan (dari led 1 menuju led 8
kemudian kembali ke led 7, led 6 dan seterusnya).

// code prk2_2c by Hotlan S.T Sianturi


void setup() {
// put your setup code here, to run once:
for(int i=0; i<8; i++)
pinMode(i,OUTPUT);
}

byte led=0;
void loop() {
// put your main code here, to run repeatedly:

digitalWrite(0,HIGH);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,HIGH);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(4,LOW);

20
NAMA: Hotlan Sampe Tua Sianturi
NIM :C010321005
PRODI : Teknik Listrik
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
delay(500);
21
NAMA: Hotlan Sampe Tua Sianturi
NIM :C010321005
PRODI : Teknik Listrik
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,LOW);
digitalWrite(1,HIGH);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);
digitalWrite(0,HIGH);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
22
NAMA: Hotlan Sampe Tua Sianturi
NIM :C010321005
PRODI : Teknik Listrik
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
delay(500);

Gambar 1.8
Aktifitas 3a: Menggunakan instruksi dasar C

1. Menggunakan rangkaian yang sama dengan aktifitas 1a


2. Tuliskan program berikut ini.
void setup() {
// put your setup code here, to run once:
DDRD=0b11111111;
PORTD=0b00000000;
}

void loop() {
// put your main code here, to run repeatedly:
PORTD=0b00000001;
delay(500);
PORTD=0b00000000;
delay(500);
}
3. Jalankan simulasi pada proteus. Jika semuanya benar maka simulasi akan memperlihatkan
led1 akan berkedip.
4. Tugas: Dengan rangkaian yang sama, buatlah program-program dengan perintah dasar C
( bukan dengan perintah digitalWrite) sehingga hasil simulasi persis sama seperti aktifitas
1b, 2a, 2b, dan 2c.

23
NAMA: Hotlan Sampe Tua Sianturi
NIM :C010321005
PRODI : Teknik Listrik

Gambar 1.9

// code prk2_3.1b by Hotlan S.T Sianturi


void setup() {
// put your setup code here, to run once:
DDRD=0b11111111;
PORTD=0b00000000;
}

void loop() {
// put your main code here, to run repeatedly:
PORTD=0b00001111;
delay(500);
PORTD=0b11110000;
delay(500);

24
NAMA: Hotlan Sampe Tua Sianturi
NIM :C010321005
PRODI : Teknik Listrik
Gambar 1.10

// code prk2_3.2a by Hotlan S.T Sianturi


void setup() {
// put your setup code here, to run once:
DDRD=0b11111111;
PORTD=0b00000000;
}

void loop() {
// put your main code here, to run repeatedly:
PORTD=0b00000001;
delay(500);
PORTD=0b00000010;
delay(500);
PORTD=0b00000100;
delay(500);
PORTD=0b00001000;
delay(500);
PORTD=0b00010000;
delay(500);
PORTD=0b00100000;
delay(500);
PORTD=0b01000000;
delay(500);
PORTD=0b10000000;
delay(500);

Gambar 1.11
// code prk2_3.2b by Hotlan S.T Sianturi
25
NAMA: Hotlan Sampe Tua Sianturi
NIM :C010321005
PRODI : Teknik Listrik
void setup() {
// put your setup code here, to run once:
DDRD=0b11111111;
PORTD=0b00000000;
}

void loop() {
// put your main code here, to run repeatedly:
PORTD=0b00000011;
delay(500);
PORTD=0b00000000;
delay(500);
PORTD=0b00001100;
delay(500);
PORTD=0b00000000;
delay(500);
PORTD=0b00110000;
delay(500);
PORTD=0b00000000;
delay(500);
PORTD=0b11000000;
delay(500);
}

Gambar 1.12
// code prk2_3.2c by Hotlan S.T Sianturi
void setup() {
// put your setup code here, to run once:
DDRD=0b11111111;
PORTD=0b00000000;
}

26
NAMA: Hotlan Sampe Tua Sianturi
NIM :C010321005
PRODI : Teknik Listrik
void loop() {
// put your main code here, to run repeatedly:
PORTD=0b00000001;
delay(500);
PORTD=0b00000010;
delay(500);
PORTD=0b00000100;
delay(500);
PORTD=0b00001000;
delay(500);
PORTD=0b00010000;
delay(500);
PORTD=0b00100000;
delay(500);
PORTD=0b01000000;
delay(500);
PORTD=0b10000000;
delay(500);
PORTD=0b01000000;
delay(500);
PORTD=0b00100000;
delay(500);
PORTD=0b00010000;
delay(500);
PORTD=0b00001000;
delay(500);
PORTD=0b00000100;
delay(500);
PORTD=0b00000010;
delay(500);
PORTD=0b00000001;
delay(500);

VI. Evaluasi

1) Jelaskan fungsi perintah digitalWrite, PinMode


Jawab :
digitalWrite adalah perintah untuk mengirimkan data digital ke pin output.
pinMode adalah perintah untuk mensetting pin Arduio sebagai Input atau Output
2) Sebutkan nomor pin untuk PORT D, PORTB dan PORTC pada arduino Uno/nano
Jawab :
- PORT D = 0,1,2,3,4,5,6,7
- PORT B = 8,9,10,11,12,13
- PORT C = 14,15,16,17,18,19

27

Anda mungkin juga menyukai