0% menganggap dokumen ini bermanfaat (0 suara)
23 tayangan

Dasar Pemrograman IO Arduino

Diunggah oleh

ajisetiawanbantul
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
23 tayangan

Dasar Pemrograman IO Arduino

Diunggah oleh

ajisetiawanbantul
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 11

Fast Robotic Tema: Tanggal:

Materi 1 Dibuat Oleh: Aji ST


Kelas Arduino/Robot Arduino
Arduino

A. Tujuan:
Setelah belajar siswa dapat:
1. Melakukan instalasi software Arduino IDE.
2. Mengetahui fungsi port pada arduino.
3. Melakukan pemrograman led.
4. Melakukan pemrograman push button.
5. Melakukan pemrograman lcd.
6. Melakukan pemrograman ADC.
7. Melakukan pemrograman motor DC.
8. Melakukan pemrograman sensor ultrasonik.

B. Materi

Arduino merupakan papan-tunggal mikrokontroler serba guna yang bisa


diprogram dan bersifat open-source. Tidak seperti kebanyakan papan sirkuit
pemrograman sebelumnya, Arduino tidak lagi membutuhkan perangkat keras
terpisah (disebut programmer atau downloader) untuk memuat atau meng-upload
kode baru ke dalam mikrokontroler. Cukup dengan menggunakan kabel USB untuk
mulai menggunakan Arduino.Selain itu, Arduino IDE menggunakan bahasa
pemrograman C++ dengan versi yang telah disederhanakan, sehingga lebih mudah
dalam belajar pemrograman.

Fitur Arduino:

 Microcontroller : ATmega328
 Tegangan Operasi : 5 V
 Tegangan Input : 7 – 12V
 Digital I/O : 14 pin
 PWM : 6 channel
 Analog Input : 6 channel
 16 MHz Clock

Modul pembelajaran Arduino www.fastrobotic.com Page 1


Gambar 1. Pin Arduino

C. Dasar Pemrograman Arduino

Stucture pada pemrograman arduino sangat sederhana hanya terdiri dari dua
bagian:

void setup
{
//statement Setup dijalankan sekali
} dalam program, sedangkan
loop dilakukan berulang -
ulang
void loop
{
//statement
}

Modul pembelajaran Arduino www.fastrobotic.com Page 2


Fungsi setup hanya dipanggil sekali dalam program dan harus disertakan. Ini
digunakan untuk mendefinisikan PIN atau memulai komunikasi.

void setup(){

pinMode(13, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, INPUT);

Loop merupakan fungsi perulangan pada program. Fungsi ini mengeksekusi


perintah pada program.

void loop()
{
digitalWrite(2,HIGH);
digitalWrite(3 HIGH);
digitalWrire(4, HIGH);
digitalWrite(13,LOW); //menyalakan lampu
delay(1000);
digitalWrite(2,LOW);
digitalWrite(3 LOW
digitalWrire(4, LOW);
digitalWrite(13,LOW); //mematikan lampu
delay(1000);
}

Curly Brace Mendefinisikan awal dan akhir dari blok sebuah fungsi.

Blok Komentar Untuk menghentikan eksekusi pada stetement tertentu.

//statement

/*
statement
statement
*/

Modul pembelajaran Arduino www.fastrobotic.com Page 3


D. PEMROGRAMAN LED

Dalam melakukan pemrograman arduino yang kita lakukan pertama kali adalah
menentukan objek yang akan kita program berupa Input atau Output. Lampu led
adalah katagori output.

1. Program menghidupkan led

void setup(){
pinMode(3, OUTPUT); //setting pin +LED
pinMode(4, OUTPUT); //setting pin - LED

void loop(){

digitalWrite(3, HIGH);
digitalWrite(4, LOW);
}

2. Program led berkedip

void setup(){

pinMode(3, OUTPUT); //setting pin +LED


pinMode(4, OUTPUT); //setting pin - LED
}

void loop(){

digitalWrite(3, HIGH); //led hidup


digitalWrite(4, LOW);
delay(500); //tunda500mS
digitalWrite(3, LOW); //led mati
digitalWrite(4, LOW);
delay(500); //tunda500mS

Modul pembelajaran Arduino www.fastrobotic.com Page 4


3. Program Push Button

const int button= A1; //pin push button


int buttonState=1;

void setup(){
pinMode(A1, INPUT);
pinMode(3, OUTPUT); //setting pin +LED
pinMode(4, OUTPUT); //setting pin - LED
digitalWrite(button, HIGH);
}

void loop(){

buttonState= (digitalRead(button)); //baca tombol

if buttonState(LOW){ //led hidup jika tombol ditekan


digitalWrite(3, HIGH);
digitalWrite(4, LOW);

else{

digitalWrite(3, LOW);
digitalWrite(4, LOW);
}

4. Display LCD

#include <LiquidCrystal.h>

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;


LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hello, world!");
}

Modul pembelajaran Arduino www.fastrobotic.com Page 5


void loop() {
// Turn off the display:
lcd.noDisplay();
delay(500);
// Turn on the display:
lcd.display();
delay(500);
}

5. Program ADC

include <LiquidCrystal.h>

int data;

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;


LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
pinMode(A0, INPUT);
}

void(loop){

data=analogRead(A0);
lcd.Setcursor(0,0);
lcd.print(data);
delay(100);
lcd.clear();
}

Modul pembelajaran Arduino www.fastrobotic.com Page 6


6. Program Motor DC

int pin1=3;
int pin2=4;

void setup(){

pinMode(pin1, OUTPUT);
pinMode(pin2, OUTPUT);
}

void loop(){

digitalWrite(pin1, HIGH); //motor berputar


digitalWrite(pin2, LOW);
}

7. Program Motor DC dengan PWM

int pin1=9;
int pin2=10;

void setup(){

pinMode(pin1, OUTPUT);
pinMode(pin2, OUTPUT);
}

void loop(){

analogWrite(pin1, 128); //motor berputar dengan duty cycle 50%


digitalWrite(pin2, LOW);
}

Modul pembelajaran Arduino www.fastrobotic.com Page 7


8. Program Sensor Ultrasonik

#define echoPin 2 //Echo Pin


#define trigPin 4 //Trigger Pin

long duration, distance; //waktu untuk kalkulasi jarak

void setup() {
Serial.begin (9600); //inisialiasasi komunikasi serial
//deklarasi pin
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(LEDPin, OUTPUT);
}

void loop() {
/* Berikut siklus trigPin atau echo pin yang digunakan
untuk menentukan jarak objek terdekat dengan memantulkan
gelombang suara dari itu. */
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
//perhitungan untuk dijadikan jarak
distance = duration/58.2;
Serial.println(distance);

//waktu tunda 50mS


delay(50);

Modul pembelajaran Arduino www.fastrobotic.com Page 8


1. Program Led

AREF
Lampiran Skematik

13
PB5/SCK
12
PB4/MISO
RESET 11
AREF ~PB3/MOSI/OC2A
10

2. Program Push Button

Modul pembelajaran Arduino


~ PB2/SS/OC1B
13 9
PB5/SCK ~ PB1/OC1A
12 8
PB4/MISO PB0/ICP1/CLKO
RESET 11

1121
~PB3/MOSI/OC2A 7
10 PD7/AIN1

APK-TECH | techno-apk.blogspot.com
D1

~ PB2/SS/OC1B 6
9 A0 ~ PD6/AIN0
~ PB1/OC1A PC0/ADC0 5
8 A1 ~ PD5/T1

ATMEGA328P-PU
PB0/ICP1/CLKO PC1/ADC1 4
A2 PD4/T0/XCK
PC2/ADC2 3

1121
A3 ~ PD3/INT1

ANALOG IN
7 PC3/ADC3 2
PD7/AIN1

APK-TECH | techno-apk.blogspot.com
A4 PD2/INT0

D1
6 PC4/ADC4/SDA 1
390

DIGITAL (~PWM)

A0 A5 TX PD1/TXD
R1

~ PD6/AIN0 PC5/ADC5/SCL
PC0/ADC0 5 0
A1 ~ PD5/T1 RX PD0/RXD

ATMEGA328P-PU
PC1/ADC1 4
A2 PD4/T0/XCK
PC2/ADC2 3
A3 ~ PD3/INT1

ANALOG IN
PC3/ADC3 2
A4 PD2/INT0
PC4/ADC4/SDA 1

390
R1

DIGITAL (~PWM)
A5 TX PD1/TXD
PC5/ADC5/SCL 0
RX PD0/RXD

www.fastrobotic.com
DUINO1
ARDUINO UNO R3

DUINO1
ARDUINO UNO R3

Page 9
3. Display LCD dan ADC

Modul pembelajaran Arduino


1
VSS
LM016L

2
LCD1

VDD
3
VEE

R1 2.2k
4
RS
5
RW
6
E
AREF 7
D0
13 8
PB5/SCK D1
12 9
PB4/MISO D2
RESET 11 10
~PB3/MOSI/OC2A D3
10 11
~ PB2/SS/OC1B D4
50% 12

www.fastrobotic.com
9 D5
~ PB1/OC1A 13
8 D6

50k
PB0/ICP1/CLKO 14
D7

1121

RV1
7
PD7/AIN1

APK-TECH | techno-apk.blogspot.com
6
A0 ~ PD6/AIN0
PC0/ADC0 5
A1 ATMEGA328P-PU ~ PD5/T1
PC1/ADC1 4
A2 PD4/T0/XCK
PC2/ADC2 3
A3 ~ PD3/INT1

ANALOG IN
PC3/ADC3 2
A4 PD2/INT0
PC4/ADC4/SDA 1
DIGITAL (~PWM)

A5 TX PD1/TXD
PC5/ADC5/SCL 0
RX PD0/RXD
DUINO1

Page 10
ARDUINO UNO R3
4. Program Motor DC

9 4 U1
5
IN1 VCC VS
7 2
IN2 OUT1
10
IN3
12 3
13
12
11
10
IN4 OUT2
9
8

7
6
5
4
3
2
1
0
6
ENA
11 13
DUINO1 ENB OUT3
PB5/SCK

PD4/T0/XCK
PB0/ICP1/CLKO
AREF

TX PD1/TXD
RX PD0/RXD
PD7/AIN1
~ PD6/AIN0
PD5/T1

~ PD3/INT1
PD2/INT0
~PB3/MOSI/OC2A
~ PB2/SS/OC1B
~ PB1/OC1A
PB4/MISO

ARDUINO UNO
1 R3 14
SENSA OUT4
15
~ SENSB GND

8 L298
DIGITAL (~PWM)

ATMEGA328P-PU
1121

APK-TECH | techno-apk.blogspot.com
PC4/ADC4/SDA
PC5/ADC5/SCL

ANALOG IN
PC0/ADC0
PC1/ADC1
PC2/ADC2
PC3/ADC3
RESET

A0
A1
A2
A3
A4
A5

5. Program Sensor Ultrasonik

***Salam Robotika***

Modul pembelajaran Arduino www.fastrobotic.com Page 11

Anda mungkin juga menyukai