Anda di halaman 1dari 26

PEMROGRAMAN

MIKROKONTROLER
ARDUINO UNO
www.inkubator-teknologi.com
SEBENTAR SAJA TENTANG ARDUINO

Arduino merupakan board mikrokontroler yang berbasis pada mikrokontroler tipe ATmega

Terus apa bedanya dengan board mikrokontroler pada umumnya, seperti minimum system atau
development system AVR?
Jika minimum system bisa diprogram dengan bahasa pemrograman apa saja (C, assembly, basic)
maka arduino diprogram dengan bahasa khusus, dengan struktur sama dengan bahasa C
Tipe Arduino Mikrokontroler pin Memori
I/O

UNO ATmega328 14 pin 32K Byte Flash PEROM, 2 K Byte SRAM, 1


K Byte EEPROM

Mega 2560 ATmega2560 54 pin 256 K Byte Flash PEROM, 8K Byte SRAM,
4 K Byte EEPROM

Nano ATmega328 14 pin 32K Byte Flash PEROM, 1 K Byte SRAM,


512 Byte EEPROM

Duemilanove ATmega328 14 pin 32K Byte Flash PEROM, 2 K Byte SRAM,


1 K Byte EEPROM
Spesifikasi Arduino UNO

1. Microcontroller : Atmega328
2. Tegangan operasi :5V
3. Tegangan Input : 7 – 12V
4. Digital I/O : 14 pin
5. PWM : 6 channel
6. Analog Input : 6 channel
7. Memory : 32KB Flash PEROM (0,5 KB
digunakan oleh bootloader), 2KB
SRAM dan 1KB EEPROM
8. Frekuensi Clock : 16 MHz
KONFIGURASI PIN

Jack P. Supply Koneksi USB ke


External komputer

PIN 13
ATmega328 PIN 12
PIN 11
PIN 10
PIN 9
PIN 8
PIN 7
A0 PIN 6
A1 PIN 5
PIN 4
A2
PIN 3
A3
PIN 2
A4
PIN 1
A5
PIN 0
Port input – output Arduino
No Pin Fungsi Fungsi alternatif
0 Digital I/O 0 RX (serial – receiver)
1 Digital I/O 1 TX (serial – transmiter)
2 Digital I/O 2 Interupsi external
3 Digital I/O 3 Interupsi external & PWM
4 Digital I/O 4 -
5 Digital I/O 5 PWM
6 Digital I/O 6 PWM
7 Digital I/O 7 -
8 Digital I/O 8 -
9 Digital I/O 9 PWM
10 Digital I/O 10 SPI – SS & PWM
11 Digital I/O 11 SPI – MOSI & PWM
12 Digital I/O 12 SPI – MISO
13 Digital I/O 13 SPI – SCK & LED
Analog Input
No pin Fungsi Fungsi Alternatif

A0 Analog Input 1 -

A1 Analog Input 2 -

A2 Analog Input 3 -

A3 Analog Input 4 -

A4 Analog Input 5 TWI – SDA

A5 Analog Input 6 TWI – SCL

Pin analog input dapat digunakan sebagai digital I/O


Software Compiler
Upload Open

Verify New Save


Mekanisme pemrograman Arduino

Tulis kode Verify


Upload
program (Compile)
Struktur dasar pemrograman Arduino
Sebuah program Arduino minimal terdiri dari 2 bagian:

1. Inisialisasi
Inisialisasi merupakan proses mengatur hardware seperti port I/O, PWM, serial dan
peripheral lain. Inisialisasi menggunakan struktur setup()

void setup()
{
Serial.begin(9600);
pinMode(buttonPin, INPUT);
}

2. Program utama
Menggunakan struktur void loop()
void loop()
{
//program utama
}
Digital Output
Pada board Arduino UNO terdapat 13 pin I/O dari
namanya kita tahu bahwa fungsinya dapat sebagai pin
input (masukan) maupun pin output (keluaran).

Inisialisasi Fungsi Pin I/O


pinMode(pin, mode);
 pin : nomor pin yang akan dikonfigurasi (nomor pin
pada board Arduino UNO, 0 – 13 atau A0 – A5).
 mode : INPUT atau OUTPUT

Selanjutnya untuk menulis atau mengeluarkan data


digital dengan perintah :
digitalWrite(pin, value);
 pin : nomor pin digital output.
 value : HIGH atau 1 (5 volt) atau LOW atau 0 (0
volt/ground).
Program 1 : menghidupkan LED di pin 13 board Arduino
LED

//Program 1 : menghidupkan LED di pin 13 board Arduino


void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
}
//Program 1 : menghidupkan LED di pin 13 board Arduino  Komentar sifatnya sebagai penjelas saja
void setup() {  Program inisialisasi (hanya ada satu perintah dalam inisialisasi ini)
pinMode(13, OUTPUT);  Pin 13 berungsi sebagai Output
}
void loop() {  Program utama
digitalWrite(13, HIGH);  Pin 13 mengeluarkan logika HIGH

}
//Program 2 : LED berkedip
void setup() {
pinMode(13, OUTPUT);
}
 
void loop() {
digitalWrite(13, HIGH);  pin 13 berlogika ‘1’ sehingga LED akan ON
delay(1000);  fungsi tunda, program akan menunggu disini sampai 1000 ms atau 1 detik
digitalWrite(13, LOW);  pin 13 berlogika ‘0’ sehingga LED akan OFF
delay(1000);
}
// Program 3 : kontrol 8 LED
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT); Arduino LED SW POSISI
pinMode(5, OUTPUT);
Pin 2 1 1 ON
pinMode(6, OUTPUT);
pinMode(7, OUTPUT); 2 OFF
Pin 3 2
pinMode(8, OUTPUT); 3 OFF
pinMode(9, OUTPUT); Pin 4 3 4 OFF
}
Pin 5 4 5 OFF
void loop() { 6 OFF
digitalWrite(2, 0); Pin 6 5
digitalWrite(3, 1); 7 OFF
digitalWrite(4, 0); Pin 7 6 8 OFF
digitalWrite(5, 1); 9 OFF
Pin 8 7
digitalWrite(6, 0);
digitalWrite(7, 1); 10 OFF
Pin 9 8
digitalWrite(8, 0);
digitalWrite(9, 1);
}
// Program 3 : kontrol 8 LED
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT); pin 2 s/d pin 9
pinMode(5, OUTPUT);
sebagai
pinMode(6, OUTPUT); LED 1 LED 8
pinMode(7, OUTPUT); pin OUTPUT
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
}

void loop() {
digitalWrite(2, 0);  pin 2=’0’ sehingga LED 1 padam
digitalWrite(3, 1);  pin 3=’1’ sehingga LED 2 menyala
digitalWrite(4, 0);
digitalWrite(5, 1);
digitalWrite(6, 0);
digitalWrite(7, 1);
digitalWrite(8, 0);
digitalWrite(9, 1);
}
// Program 4 : LED Berjalan digitalWrite(4, LOW);  LED 3 padam
void setup() { digitalWrite(5, HIGH); LED 4 menyala
pinMode(2, OUTPUT); delay(1000);
pinMode(3, OUTPUT); digitalWrite(5, LOW);
pinMode(4, OUTPUT); digitalWrite(6, HIGH);
pinMode(5, OUTPUT); delay(1000);
pinMode(6, OUTPUT); digitalWrite(6, LOW);
pinMode(7, OUTPUT); digitalWrite(7, HIGH);
pinMode(8, OUTPUT); delay(1000);
pinMode(9, OUTPUT); digitalWrite(7, LOW);
} digitalWrite(8, HIGH);
void loop() { delay(1000);
digitalWrite(2, HIGH); LED 1 menyala digitalWrite(8, LOW);
delay(1000); digitalWrite(9, HIGH);
digitalWrite(2, LOW);  LED 1 padam delay(1000);
digitalWrite(3, HIGH); LED 2 menyala digitalWrite(9, LOW);
delay(1000); }
digitalWrite(3, LOW);  LED 2 padam
digitalWrite(4, HIGH); LED 3 menyala
delay(1000);
Traffic light
Step 1 1

4 2

3
Step 2 1

4 2

3
Step 3 1

4 2

3
Step 4 1

4 2

3
Step 8 1

4 2

3
Start

Inisialisasi

Step 1 H1 + M2 + M3 + M4

Tunggu 3 s

Step 2 K1 + M2 + M3 + M4

Tunggu 1 s

Step 3 M1 + H2 + M3 + M4
SW POSISI Koneksi Hardware
1 OFF
2 ON
3 OFF
4 OFF
5 OFF
6 OFF
7 OFF
8 OFF
9 OFF
10 OFF

Arduino Ruas 1 Arduino Ruas 2 Arduino Ruas 3 Arduino Ruas 4


Pin 2 H1 Pin 5 H2 Pin 8 H3 Pin 11 H4
Pin 3 K1 Pin 6 K2 Pin 9 K3 Pin 12 K4
Pin 4 M1 Pin 7 M2 Pin 10 M3 Pin 13 M4
//PROGRAM : TRAFFIC LIGHT
void setup()
{
//============ PIN 2 S/D 13 SEBAGAI DIGITAL OUTPUT
pinMode(2,OUTPUT); pinMode(3,OUTPUT);
pinMode(4,OUTPUT); pinMode(5,OUTPUT);
pinMode(6,OUTPUT); pinMode(7,OUTPUT);
pinMode(8,OUTPUT); pinMode(9,OUTPUT);
pinMode(10,OUTPUT); pinMode(11,OUTPUT);
pinMode(12,OUTPUT); pinMode(13,OUTPUT);
}

void loop()
{ //-----------------Step 1 -> H1+M2+M3+M4 = ON
digitalWrite(2, 1); //H1 = ON
digitalWrite(3, 0); //K1 = OFF
digitalWrite(4, 0); //M1 = OFF
digitalWrite(5, 0); //H2 = OFF
digitalWrite(6, 0); //K2 = OFF
digitalWrite(7, 1); //M2 = ON
digitalWrite(8, 0); //H3 = OFF
digitalWrite(9, 0); //K3 = OFF
digitalWrite(10, 1); //M3 = ON
digitalWrite(11, 0); //H4 = OFF
digitalWrite(12, 0); //K4 = OFF
digitalWrite(13, 1); //M4 = ON
delay(3000);

Anda mungkin juga menyukai