Anda di halaman 1dari 15

REVIEW PEMROGRAMAN ARDUINO BOARD

 Penggunaan mikrokontroller untuk pengukuran

o membaca sensor

 membaca
 mengatur timing pembacaan beberapa sensor
 jenis sensor
 analog (kebanyakan berupa tegangan dari 0-5

V)

 digital

o mengubah data analog ke digital (internal ADC,

analog to digital conversion)

o manajemen data

 mengirimkan data ke piranti lain


 lewat data bus: I2C, SPI

Review pemrograman Arduino 1


 lewat radio

 menuliskan data di piranti penyimpan


o o Untuk melaksanakan semua proses itu, perlu

dibuatkan programnya.

 Pemrograman Arduino

o dikembangkan dari bahasa C/C++, sangat mirip

o bisa menggunakan library C/C++

o Struktur program

 include <library> : berisi eksternal library yang


akan digunakan seperti
 mcp3202.h

 wire.h

 SPI.h

==> bisa dicari di GitHub.com

Review pemrograman Arduino 2


 definisi variabel: berisi definisi variabel yang akan
digunakan baik itu berupa nomor pin atau variabel
lainnya
 setup: berisi perintah-perintah yang akan
dilaksanakan hanya SATU kali saja, seperti
 setting komunikasi serial

 setting LCD



 loop: berisi perintah yang dilakukan secara


berulang-ulang, seperti
 membaca sensor

 membaca data dari piranti lain (arduino yang

lain)

 mengolah data hasil pengukuran

 mengirimkan data

 fungsi yang dibuat sendiri yang dijalankan di


dalam bagian SETUP maupun LOOP

Review pemrograman Arduino 3


 tampilan secara umum
/************************************
* Keterangan tentang program
*
*************************************/

#include <wire.h>
#include <mcp3202.h>

// definisi variabel int pinLED=14;


int pinSensor1=A0;

setup()
{
Serial.begin(9500);
-
}

loop()
{
int nilaiSensor=0;

// baca sensor
nilaiSensor=analogRead(pinSensor1);
-
-
}

fungsi1(arg1, arg2 )
{
unsigned long nila1=0;
-
-
}

Review pemrograman Arduino 6


 Contoh
/**************************************************************
Membaca analog Input dari sensor analog

**************************************************************/

int sensorPin = A9;


int ledPin = 13;
int sensorValue = 0;

void setup() {

pinMode(ledPin, OUTPUT);
Serial.begin(9600);
Serial.println("Pengecekan Sensor");

void loop() {
// baca nilai analog dari sensor

sensorValue = analogRead(sensorPin);
//cetak ke serial monitor
Serial.println(sensorValue);

digitalWrite(ledPin, HIGH);
delay(500);

digitalWrite(ledPin, LOW);
// program berhenti
delay(500);
}

Review pemrograman Arduino 7


 Library eksternal

o digunakan untuk mempermudah pembuatan

program terutama yang berkaitan langsung

dengan hardware

o Contoh:

 untuk menuliskan data ke LCD dengan koneksi


I2C diperlukan library
 wire.h --> umum utk koneksi dengan I2C

 LiquidCrystal_I2C.h --> khusus utk LCD

o Struktur external library

 ada dua file


 header file --> dengan ekstensi .h

 implementation file --> dengan ekstensi .cpp

Review pemrograman Arduino 8


 header file berisi nama-nama fungsi yang bisa
dipanggil di dalam program
 implementation file berisi detail bagaimana fungsi
yang telah disebutkan dilaksanakan
 contoh
 LiquidCrystal_I2C.h

 LiquidCrystal_I2C.cpp

 dari header file kita bisa tahu fungsi apa yang bisa
dipanggil dan digunakan dalam program Arduino.

Review pemrograman Arduino 9


Menggunakan LCD I2C

o LCD 16x2

Review pemrograman Arduino 10


o koneksi parallel

 koneksi parallel memungkinkan transfer data yang


sangat cepat
 apakah perlu cepat sekali ?
 pin yang digunakan banyak sekali
 kalau sensor yang akan digunakan cukup banyak,
mungkin pin yang tersisa tidak cukup

Review pemrograman Arduino 11


o Koneksi dengan I2C

 transfer data relatif lambat


 pin yang digunakan lebih sedikit (2 utk data, 2 utk
Vcc dan GND)
 memungkinkan pemanfaatan pin untuk yang lain

o adapter I2C

o Pin untuk I2C pada Arduino Board


UNO MEGA NANO
SDA A4 20 A4
SCL A5 21 A5

Review pemrograman Arduino 12


o Pin Arduino UNO

Review pemrograman Arduino 13


o Koneksi pin dengan Arduino UNO

Review pemrograman Arduino 14


o kerangka program

#include <wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C
identifier(alamat,jkolom,jbris);

void setup()
{
identifier.begin(); // inisiasi LCD
---
}

void loop()
{
identifier.setCursor(-,-);
identifier.print(---, ---);
delay(500);
-- dst
}

Review pemrograman Arduino 15


 alamat (address):

 default: 0x27

 bisa dideteksi dengan program khusus yang

akan menyebutkan alamatnya dalam bilangan

heksadesimal

 bila dipasang lebih dari satu LCD, maka nomor

2, 3 dst harus diubah dulu alamatnya dengan

mengatur Select I2C address

 berikut ini adalah tabel penentuan alamatnya

A0 A1 A2 HEX Address
1 1 1 0x27
0 1 1 0x26
1 0 1 0x25
0 0 1 0x24
1 1 0 0x23
0 1 0 0x22
1 0 0 0x21
0 0 0 0x20

Review pemrograman Arduino 16


-

Review pemrograman Arduino 15

Anda mungkin juga menyukai