Anda di halaman 1dari 11

WIRELESS NETWORK PROJECT

JTD - POLINEMA

MODUL I
ARDUINO PROGRAMMING

1. PENGANTAR
Board minimum sistem dari Arduino Nano mempunyai konfigurasi dan fungsi pin
sebagai berikut:

Gambar 1. Board Arduino Nano


Untuk dapat mengakses pin-pin tersebut sedemikian rupa sehingga dihasilkan sebuah
sistem fungsional berbasis uC, maka diperlukan sebuah perangkat lunak pemrograman.
Secara umum kerangka pemrograman dalam Arduino digambarkan sebagai berikut
WIRELESS NETWORK PROJECT
JTD - POLINEMA

#include xxxxx

// Definisi Variabel Global


int yyyy;
char zzzz;

void setup()
{
// coding untuk Setup
}

void loop()
{
// Main Program
}

// Blok fungsi atau subrutin


int subrutin_1_nama()
{
// Coding Sub rutin
}

Dalam pemrograman Arduino tipe-tipe variabel yang umum digunakan adalah


sebagai berikut:
Tabel 1 Tipe variabel
No Tipe Lebar
1 char -128 --- 127
2 unsigned char 0 --- 255
3 byte 0 --- 255 (biner)
4 int, unsigned int
5 word 16 bit
6 long, unsigned long 32 bit
7 float 32 bit scientific
8 Array

Sedangkan operator-operator yang umum digunakan dapat dilihat pada table berikut :
Operator Perintah
Kendali if (logika) { code }
if (logika) { code1} else { code2 }
for (awal; akhir; increment/decrement)
{ code }
WIRELESS NETWORK PROJECT
JTD - POLINEMA

switch(variable) {
case konstanta1 : { code ; break ; }
case konstanta2 : { code ; break ; }
default : { code; break; }
while (logika) { code ; code_kendali }

Matematika a. +, -, /, *, =, % (sisa pembagian integer)


b. min(x, y) : nilai min dari x dan y
c. max(x,y) : nilai max dari x dan y
d. abs(x) : absolute dari x
e. pow(base, eksponen) : pangkat dari bilangan
f. sqrt(x) : akar dari x
g. sin(x)
h. cos(x)
i. tan(x)
Logika a. ==, !=, >, <, <=, >=
b. &&, ||, !

2. AKSES PORT DIGITAL


Untuk membaca data biner dari sebuah pin/port ataupun mengeluarkan data biner
ke suatu port, maka langkah yang harus dilakukan adalah sebagai berikut :
a. Definisikan tipe port yang akan diakses pada blok setup. Tipe port yang dimaksud
adalah tipe OUTPUT atau tipe INPUT dengan perintah:
pinMode( nomor_port, INPUT/OUTPUT )
b. Lakukan akses port tersebut pada blok loop dengan perintah berikut:
digitalWrite( nomor_port, HIGH/LOW); operasi OUTPUT
bool Data = digitalRead( nomor_port); operasi INPUT
WIRELESS NETWORK PROJECT
JTD - POLINEMA

LATIHAN I
1. Langkah latihan
a. Rangkai Arduino dan LED sebagai berikut:

b. Ketik dan downloadkan program berikut :


int D2 = 2;
int D3 = 3;
int D4 = 4;
int D5 = 5;

void setup()
{
pinMode( D2, OUTPUT);
pinMode( D3, OUTPUT);
pinMode( D4, OUTPUT);
pinMode( D5, OUTPUT);
}

void loop()
{
digitalWrite( D2, HIGH);
digitalWrite( D3, LOW);
digitalWrite( D4, HIGH);
digitalWrite( D5, LOW);
}

2. Pengamatan Port
Tabel 3. Pengamatan Port
Data
WIRELESS NETWORK PROJECT
JTD - POLINEMA

3. Tugas Mandiri

3. KOMUNIKASI SERIAL
Untuk dapat menggunakan port serial Asinkron (UART) maka langkah yang harus
dilakukan adalah :
a. Mendefinisikan parameter komunikasi serial pada blok setup. Umumnya setting
dilakukan pada parameter kecepatan transfer data saja (Baut rate). Perintah
yang harus diketikkan adalah:
Serial. Begin( Baut_rate )
b. Melakukan aksi menulis data lewat komunikasi serial pada blok loop. Berikut ini
perintah yang umum digunakan dalam akses komunikasi serial.

Tabel 4. Perintah dalam Komunikasi Serial


No Serial.xxxx Fungsi
1 available() Pengecekan Buffer
2 read() Membaca Data dari Stream
3 readBytes(buffer, length) Membaca Stream dengan panjang Length
4 write(val) Mengirim val / buffer ke saluran serial
write(buffer, length)
5 print(val) Mengirim Ascii dari val
println(val , tipe) Mengirim Ascii dari val dengan format tipe
(HEX, BIN, DEC) dan diakhiri dengan CR
(Carriage Return)

LATIHAN II
1. Langkah Latihan
a. Ketik dan downloadkan program berikut

int Data;

void setup()
{
Serial.begin(9600);
Data = 123;
Serial.println(Data);
Serial.println(Data, BIN);
Serial.println(Data, HEX);
}
WIRELESS NETWORK PROJECT
JTD - POLINEMA

void loop()
{

b. Amati pada layar Serial Monitor (Menu Tool Serial Monitor)

2. Hasil Pengamatan
Tabel 5. Latihan Pengiriman Data Serial
Tipe Data Hasil Pengamatan

3. Tugas Mandiri

LATIHAN II
1. Langkah Latihan
a. Ketik dan downloadkan program berikut

char Text[20];
int n = 0;
boolean Tanda = false;

void setup()
{
Serial.begin(9600);
}

void loop()
{
if (Tanda)
{ Serial.println(Text);
Tanda = false;
}
}
WIRELESS NETWORK PROJECT
JTD - POLINEMA

void serialEvent()
{
while (Serial.available())
{
char data = (char)Serial.read();
Text[n] = data; n++;
if (data == '_') { Tanda = true; n=0; }
}
}
b. Amati pada layar Serial Monitor (Menu Tool Serial Monitor)

2. Hasil Pengamatan
Tabel 6. Latihan Pengiriman Data Serial
Data Hasil Pengamatan

3. Tugas Mandiri

4. ADC
Pin input ADC dalam Arduino ditandai dengan nama A0 sampai A7. Setiap tegangan
Analog DC tertancap pada pin A0 sampai A7 tersebut akan dikonversi menjadi data
digital dengan lebar data 10 bit ( 0 1023D) . Hubungan antara level tegangan Input
Analaog (Vi) dengan Tegangan Referensi (Vref dalam Gambar 1 ditunjukkan
dengan pin Aref) dapat dinyatakan dengan table berikut ini:
Tabel 6. Konversi Vi menjadi Data Digital 10 bit
Vref Data Keterangan
5V Vi * 204.6 Vi max = 5V
3.3 V Vi * 310 Vi max = 3.3V
1.1V Vi * 930 Vi max = 1.1V
Vx (Vi / Vx) * 1023
WIRELESS NETWORK PROJECT
JTD - POLINEMA

Untuk membaca data analog melalui ADC, maka hal-hal yang perlu dilakukan adalah:
a. Menetapkan nilai Vref sebesar 5V, 3.3 V atau 1.1V secara perangkat keras (pin
Aref ) maupun coding (lihat kembali Gambar 1.)
analogReferensi(5 atau 3.3 atau 1.1 atau EXT)
b. Lakukan proses pembacaan dengan perintah:
int Data = analogRead( A0 sampai A7 );

LATIHAN IV
1. Langkah Latihan
a. Ketik dan downloadkan program berikut:

char Text[20];
int n = 0;
boolean Tanda = false;

void setup()
{
Serial.begin(9600);
}

void loop()
{
if (Tanda)
{
int Data = analogRead(A0);
Serial.print(Data);
Serial.println('_');
Tanda = false;
}
}
WIRELESS NETWORK PROJECT
JTD - POLINEMA

void serialEvent()
{
while (Serial.available())
{
char data = (char)Serial.read();
Text[n] = data; n++;
if (data == '_') { Tanda = true; n=0; }
}
}

b. Amati pada layar Serial Monitor (Menu Tool Serial Monitor)


WIRELESS NETWORK PROJECT
JTD - POLINEMA

2. Hasil Pengamatan
Tabel 7. Latihan ADC dan Pengiriman Data Serial
Vin Hasil Pengamatan

3. Tugas Mandiri

LATIHAN V
1. Langkah Latihan
a. Ketik dan downloadkan program berikut
char Text[20];
int n = 0;
boolean Tanda = false;
int Data = 0;

void setup()
{
Serial.begin(9600);
}

void loop()
{
if (Tanda)
{
Baca();
Serial.print(Data);
Serial.println('_');
Tanda = false;
}
}

void Baca()
{
int Tempo=0;
Data = 0;
for (int k=0; k <= 4; k++)
{
Tempo = analogRead(A0);
delay(40);
Data = Tempo + Data;
}
Data /= 5;
}
WIRELESS NETWORK PROJECT
JTD - POLINEMA

void serialEvent()
{
while (Serial.available())
{
char data = (char)Serial.read();
Text[n] = data; n++;
if (data == '_') { Tanda = true; n=0; }
}

}
b. Amati pada layar Serial Monitor (Menu Tool Serial Monitor)
2. Hasil Pengamatan

Tabel 8. Latihan Smothing Data


Vin Hasil Pengamatan Vi hitung

3. Tugas Mandiri

Anda mungkin juga menyukai