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
Mega 2560 ATmega2560 54 pin 256 K Byte Flash PEROM, 8K Byte SRAM,
4 K Byte EEPROM
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
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 -
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).
}
//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
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);