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

Praktek Arduino Part1

Teks tersebut membahas tentang teori dasar mikrokontroler Arduino Uno. Menguraikan komponen utama Arduino Uno yaitu mikrokontroler ATmega328P dan skemanya, serta menjelaskan konsep physical computing dan pentingnya prototyping dalam proses pengembangan perangkat berbasis mikrokontroler. "

Diunggah oleh

Nangs Nang
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
136 tayangan

Praktek Arduino Part1

Teks tersebut membahas tentang teori dasar mikrokontroler Arduino Uno. Menguraikan komponen utama Arduino Uno yaitu mikrokontroler ATmega328P dan skemanya, serta menjelaskan konsep physical computing dan pentingnya prototyping dalam proses pengembangan perangkat berbasis mikrokontroler. "

Diunggah oleh

Nangs Nang
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 22

BAB I : TEORI MIKROKONTROLER ARDUINO UNO

Tujuan :
1. Mahasiswa mampu memahami board mikrokontroler Arduino
2. Mahasiswa mampu memprogram mikrokontroler Arduino
3. Mahasiswa mampu membuat aplikasi dengan mikrokontroler Arduino

Teori Dasar
Arduino Uno R3 dengan ATmega328P mempunyai 14 digital input/output (6 di antaranya dapat
digunakan untuk PWM output), 6 analog input, 16 Mhz crystal oscillator, USB connection, power jack,
ICSP header, dan reset button. Skema Arduino Uno R3 didasarkan pada blog diagram dari mikrokontroler
jenis AVR ATmega328. Komponen utama di dalam papan Arduino adalah sebuah mikrokontroler 8 bit
dengan merek ATmega yang dibuat oleh perusahaan Atmel Corporation. Skema Arduino Uno R3 dapat
dilihat pada gambar 1.1. dibawah ini.

Gambar 1.1. Skema Arduino Uno R3

Untuk memahami Arduino, terlebih dahulu kita harus memahami terlebih dahulu apa yang
dimaksud dengan physical computing. Physical computing adalah membuat sebuah sistem atau perangkat
fisik dengan menggunakan software dan hardware yang sifatnya interaktif yaitu dapat menerima rangsangan
dari lingkungan dan merespon balik. Physical computing adalah sebuah konsep untuk memahami hubungan
yang manusiawi antara lingkungan yang sifat alaminya adalah analog dengan dunia digital. Pada prakteknya

Institut Bisnis Nusantara


konsep ini diaplikasikan dalam desaindesain alat atau projekprojek yang menggunakan sensor dan
microcontroller untuk menerjemahkan input analog ke dalam sistem software untuk mengontrol gerakan
alat-alat elektro-mekanik seperti lampu, motor dan sebagainya.
Pembuatan prototype atau prototyping adalah kegiatan yang sangat penting di dalam proses
physical computing karena pada tahap inilah seorang perancang melakukan eksperimen dan uji coba dari
berbagai jenis komponen, ukuran, parameter, program komputer dan sebagainya berulang-ulang kali sampai
diperoleh kombinasi yang paling tepat. Dalam hal ini perhitungan angka-angka dan rumus yang akurat
bukanlah satu-satunya faktor yang menjadi kunci sukses di dalam mendesain sebuah alat karena ada banyak
faktor eksternal yang turut berperan, sehingga proses mencoba dan menemukan/mengoreksi kesalahan perlu
melibatkan hal-hal yang sifatnya non-eksakta. Prototyping adalah gabungan antara akurasi perhitungan dan
seni.
Proses prototyping bisa menjadi sebuah kegiatan yang menyenangkan atau menyebalkan, itu
tergantung bagaimana kita melakukannya. Misalnya jika untuk mengganti sebuah komponen, merubah
ukurannya atau merombak kerja sebuah prototype dibutuhkan usaha yang besar dan waktu yang lama,
mungkin prototyping akan sangat melelahkan karena pekerjaan ini dapat dilakukan berulang-ulang sampai
puluhan kali – bayangkan betapa frustasinya perancang yang harus melakukan itu. Idealnya sebuah
prototype adalah sebuah sistem yang fleksibel dimana perancang bisa dengan mudah dan cepat melakukan
perubahan-perubahan dan mencobanya lagi sehingga tenaga dan waktu tidak menjadi kendala berarti.
Dengan demikian harus ada sebuah alat pengembangan yang membuat proses prototyping menjadi mudah.
Pada masa lalu (dan masih terjadi hingga hari ini) bekerja dengan hardware berarti membuat rangkaian
menggunakan berbagai komponen elektronik seperti resistor, kapasitor, transistor dan sebagainya. Setiap
komponen disambungkan secara fisik dengan kabel atau jalur tembaga yang disebut dengan istilah “ hard
wired” sehingga untuk merubah rangkaian maka sambungansambungan itu harus diputuskan dan
disambung kembali. Dengan hadirnya teknologi digital dan microprocessor fungsi yang sebelumnya
dilakukan dengan hired wired digantikan dengan program-program software. Ini adalah sebuah revolusi di
dalam proses prototyping. Software lebih mudah diubah dibandingkan hardware, dengan beberapa
penekanan tombol kita dapat merubah logika alat secara radikal dan mencoba versi ke-dua, ke-tiga dan
seterusnya dengan cepat tanpa harus mengubah pengkabelan dari rangkaian.
Arduino dikatakan sebagai sebuah platform dari physical computing yang bersifat open source.
Pertama-tama perlu dipahami bahwa kata “platform” di sini adalah sebuah pilihan kata yang tepat. Arduino
tidak hanya sekedar sebuah alat pengembangan, tetapi ia adalah kombinasi dari hardware, bahasa
pemrograman dan Integrated Development Environment (IDE) yang canggih. IDE adalah sebuah software
yang sangat berperan untuk menulis program, meng-compile menjadi kode biner dan mengupload ke dalam
memory microcontroller. Ada banyak projek dan alat-alat dikembangkan oleh akademisi dan profesional
dengan menggunakan Arduino, selain itu juga ada banyak modul-modul pendukung (sensor, tampilan,
penggerak dan sebagainya) yang dibuat oleh pihak lain untuk bisa disambungkan dengan Arduino. Arduino
berevolusi menjadi sebuah platform karena ia menjadi pilihan dan acuan bagi banyak praktisi. Salah satu
yang membuat Arduino memikat hati banyak orang adalah karena sifatnya yang open source, baik untuk
hardware maupun software-nya. Diagram rangkaian elektronik Arduino digratiskan kepada semua orang.
Anda bisa bebas men-download gambarnya, membeli komponen-komponennya, membuat PCB-nya dan
merangkainya sendiri tanpa harus membayar kepada para pembuat Arduino. Sama halnya dengan IDE
Arduino yang bisa di-download dan diinstal pada komputer secara gratis. Kita patut berterima kasih kepada
tim Arduino yang sangat dermawan membagi-bagikan kemewahan hasil kerja keras mereka kepada semua
orang. Kita betul-betul kagum dengan desain hardware, bahasa pemrograman dan IDE Arduino yang

Institut Bisnis Nusantara


berkualitas tinggi dan sangat berkelas. Arduino dikembangkan oleh sebuah tim yang beranggotakan orang-
orang dari berbagai belahan dunia. Anggota inti dari tim ini adalah:

 Massimo Banzi Milano, Italy


 David Cuartielles Malmoe, Sweden
 Tom Igoe New York, US
 Gianluca Martino Torino, Italy
 David A. Mellis Boston, MA, USA

Profil mengenai anggota tim tersebut dan kontribusinya bisa diakses


pada situs web http://www.arduino.cc/playground/Main/People.
Saat ini komunitas Arduino berkembang dengan pesat dan dinamis di berbagai belahan dunia. Bermacam-
macam kegiatan yang berkaitan dengan projek-projek Arduino bermunculan dimanamana, termasuk di
Indonesia. Yang membuat Arduino dengan cepat diterima oleh orang-orang adalah karena: Harganya akan
lebih murah dibandingkan dengan modul yang lain, mudah pengoperasiannya, library cukup banyak
diinternet karena bersifat open source, dan koneksi dengan devais yang lain cukup mudah. Dibawah ini
adalah modul Arduino Uno R3.

Gambar 1.2. Modul Arduino Tampak Depan dan Belakang Secara

umum Arduino terdiri dari dua bagian, yaitu:

1. Hardware _ papan input/output (I/O)


2. Software _ Software Arduino meliputi IDE untuk menulis program, driver untuk koneksi dengan
komputer, contoh program dan library untuk pengembangan program. Selanjutnya kita akan mengenal
masing-masing bagian ini lebih jauh.

1. Hardware
Komponen utama di dalam papan Arduino adalah sebuah microcontroller 8 bit dengan merk ATmega yang
dibuat oleh perusahaan Atmel Corporation. Berbagai papan Arduino menggunakan tipe ATmega yang
berbeda-beda tergantung dari spesifikasinya, sebagai contoh Arduino Uno menggunakan ATmega328
sedangkan Arduino Mega 2560 yang lebih canggih menggunakan ATmega2560.

Institut Bisnis Nusantara


Untuk memberikan gambaran mengenai apa saja yang terdapat di dalam sebuah microcontroller, pada
gambar berikut ini diperlihatkan contoh diagram blok sederhana dari microcontroller ATmega328 (dipakai
pada Arduino Uno).

Gambar 1.3. Arsitektur Arduino Uno R3

Spesifikasi Arduino Uno R3


Microcontroller ATmega328 Weight 25 g
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 6
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz
Length 68.6 mm
Width 53.4 mm

Institut Bisnis Nusantara


Blok-blok di atas dijelaskan sebagai berikut:
 Universal Asynchronous Receiver/Transmitter (UART) adalah antar muka yang digunakan
untuk komunikasi serial seperti pada RS-232, RS-422 dan RS-485.
 2KB RAM pada memory kerja bersifat volatile (hilang saat daya dimatikan), digunakan oleh
variable-variabel di dalam program.
 32KB RAM flash memory bersifat non-volatile, digunakan untuk menyimpan program yang
dimuat dari komputer. Selain program, flash memory juga menyimpan bootloader.
Bootloader adalah program inisiasi yang ukurannya kecil, dijalankan oleh CPU saat daya
dihidupkan. Setelah bootloader selesai dijalankan, berikutnya program di dalam RAM akan
dieksekusi.
 1KB EEPROM bersifat non-volatile, digunakan untuk menyimpan data yang tidak boleh hilang
saat daya dimatikan. Tidak digunakan pada papan Arduino.
 Central Processing Unit (CPU), bagian dari microcontroller untuk menjalankan setiap instruksi
dari program.
 Port input/output, pin-pin untuk menerima data (input) digital atau analog, dan mengeluarkan
data (output) digital atau analog.

Setelah mengenal bagian-bagian utama dari microcontroller ATmega sebagai komponen utama,
selanjutnya kita akan mengenal bagian-bagian dari papan Arduino itu sendiri.

Gambar 1.4. Bagian-bagian Utama Arduino

- 14 pin input/output digital (0-13)


Berfungsi sebagai input atau output, dapat diatur oleh program. Khusus untuk 6 buah pin 3, 5, 6, 9, 10
dan 11, dapat juga berfungsi sebagai pin analog output dimana tegangan output-nya dapat diatur. Nilai
sebuah pin output analog dapat diprogram antara 0 – 255, dimana hal itu mewakili nilai tegangan 0 – 5V.

- USB
Berfungsi untuk:
• Memuat program dari komputer ke dalam papan
• Komunikasi serial antara papan dan komputer

Institut Bisnis Nusantara


• Memberi daya listrik kepada papan

- Sambungan SV1
Sambungan atau jumper untuk memilih sumber daya papan, apakah dari sumber eksternal atau
menggunakan USB. Sambungan ini tidak diperlukan lagi pada papan Arduino versi terakhir karena
pemilihan sumber daya eksternal atau USB dilakukan secara otomatis.

- Q1 – Kristal (quartz crystal oscillator)


Jika microcontroller dianggap sebagai sebuah otak, maka kristal adalah jantung-nya karena komponen ini
menghasilkan detak-detak yang dikirim kepada microcontroller agar melakukan sebuah operasi untuk
setiap detak-nya. Kristal ini dipilih yang berdetak 16 juta kali per detik (16MHz).

- Tombol Reset S1
Untuk me-reset papan sehingga program akan mulai lagi dari awal. Perhatikan bahwa tombol reset ini
bukan untuk menghapus program atau mengosongkan microcontroller.

- In-Circuit Serial Programming (ICSP)


Port ICSP memungkinkan pengguna untuk memprogram microcontroller secara langsung, tanpa melalui
bootloader. Umumnya pengguna Arduino tidak melakukan ini sehingga ICSP tidak terlalu dipakai
walaupun disediakan.

- IC 1 – Microcontroller Atmega
Komponen utama dari papan Arduino, di dalamnya terdapat CPU, ROM dan RAM.

- X1 – sumber daya eksternal


Jika hendak disuplai dengan sumber daya eksternal, papan Arduino dapat diberikan tegangan DC antara
9-12V.

- 6 pin input analog (0-5)


Pin ini sangat berguna untuk membaca tegangan yang dihasilkan oleh sensor analog, seperti sensor suhu.
Program dapat membaca nilai sebuah pin input antara 0 – 1023, dimana hal itu mewakili nilai tegangan 0
– 5V.

Institut Bisnis Nusantara


2. Software
Sekalipun sebuah papan Arduino dapat bekerja dengan mendapat asupan daya dari sebuah
komputer, namun hal itu tidak berarti ia dapat berkomunikasi dengan komputer tersebut. Untuk
memastikan Arduino telah terpasang dengan benar dan dapat berkomuniasi dengan interaktif maka ia
perlu diuji.
a. Jalankan IDE Arduino dengan menjalankan sebuah file bernama arduino.exe pada lokasi
software Arduino.

Walaupun tampak seperti program Windows pada umumnya, namun sebetulnya program ini
adalah sebuah program Java. Jika Anda menemukan sebuah pesan kesalahan kemungkinan besar
pada komputer belum terinstal Java Runtime Environment (JRE) atau Java Development Kit
(JDK). Untuk mendapatkan salah satu software tersebut, silakan men-download-nya dari situs
web http://www.oracle.com.

b. Jalankan menu Tools => Board kemudian pilih tipe papan yang sesuai.

c. Jalankan menu File =>Examples =>1.Basic =>Blink. Ini adalah program sederhana yang
fungsinya adalah membuat lampu LED menyala berkedip-kedip seperti yang telah dijelaskan
sebelumnya.

Institut Bisnis Nusantara


Institut Bisnis Nusantara
/*
Blink
Turns on an LED on for one second, then off for one
second, repeatedly. This example code is in the
public domain. */
// Pin 13 has an LED connected on most
Arduino boards. // give it a name: int led
= 13;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is
the voltage level) delay(1000); // wait for a
second
digitalWrite(led, LOW); // turn the LED off by
making the voltage LOW delay(1000); // wait
for a second }

d. Pada toolbar klik tombol Upload untuk memuat sketch tersebut ke dalam papan Arduino.
e. Jika berhasil akan memberikan informasi sebagai berikut

Bahasa Pemrograman Arduino

Institut Bisnis Nusantara


Bahasa pemrograman mikrokontroller Arduino, seperti bahasa pemrograman tingkat menegah pada
umumnya. Arduino pun sama memiliki alur algoritma yang mirip dan yang beda adalah cara penulisan
sintaknya.

Struktur dasar dari bahasa pemrograman arduino itu sederhana hanya terdiri dari dua bagian.

void setup()
{
// Statement;
}

void loop()
{
// Statement;
}
Dimana setup( ) bagian untuk inisialisasi yang hanya dijalankan sekali di awal program, sedangkan loop()
untuk mengeksekusi bagian program yang akan dijalankan berulang-ulang untuk selamanya.

setup()

Fungsi setup() hanya di panggil satu kali ketika program pertama kali di jalankan. Ini digunakan untuk
pendefinisian mode pin atau memulai komunikasi serial. Fungsi setup() harus di ikut sertakan dalam
program walaupun tidak ada statement yang di jalankan.

void setup()
{
pinMode(13,OUTPUT);// mengset ‘pin’ 13 sebagai output }

Loop
Setelah melakukan fungsi setup() maka secara langsung akan melakukan fungsi loop() secara
berurutan dan melakukan instruksi-instruksi yang ada dalam fungsi loop().

void loop() {

digitalWrite(13, HIGH); // nyalakan ‘pin’ 13


delay(1000); // pause selama 1 detik
digitalWrite(13, LOW); // matikan ‘pin’ 13
delay(1000); // pause selama 1 detik
}

Function
Function (fungsi) adalah blok pemrograman yang mempunyai nama dan mempunyai statement yang akan
di eksekusi ketika function di panggil. Fungsi void setup() dan void loop() telah di bahas di atas dan
pembuatan fungsi yang lain akan di bahas selanjutnya.

Cara pendeklarasian function


Institut Bisnis Nusantara
type functionName(parameters)
{
// Statement; }
Contoh:

int delayVal() {

int v; // membuat variable ‘v’ bertipe integer


v =analogRead(pot); // baca harga potentiometer
v/=4; // konversi 0-1023 ke 0-255
return v; // return nilai v
}

Pada contoh di atas fungsi tersebut memiliki nilai balik int (integer), karena kalau tidak menghendaki
adanya nilai balik maka type function harus void.

{ } curly braces

Curly brace mendefinisikan awal dan akhir dari sebuah blok fungsi. Apabila ketika memprogram dan
progremer lupa memberi curly brace tutup maka ketika di compile akan terdapat laporan error.

; Semicolon
Semicolon harus di berikan pada setiap statement program yang kita buat ini merupakan pembatas setiap
statement program yang di buat.

/*…*/ blok comment

Semua statement yang di tulis dalam block comments tidak akan di eksekusi dan tidak akan di compile
sehingga tidak mempengaruhi besar program yang di buat untuk di masukan dalam board arduino.

//Line Comments
Sama halnya dengan block comments, line coments pun sama hanya saja yang di jadikan komen adalh
perbaris..

Variable
Variable adalah sebuah penyimpan nilai yang dapat di gunakan dalam program.Variable dapat di rubah
sesuai dengan instruksi yang kita buat.Ketika mendeklarisikan variable harus di ikut sertakan type
variable serta nilai awal variable.

Type variableName = 0;

Contoh

Int inputVariable = 0;//mendefinisikan sebuah variable bernama inputVariable dengan nilai awal 0
inputVariable = analogRead(2);// menyimpan nilai yang ada di analog pin 2 ke inputVariable

Institut Bisnis Nusantara


Variable scope

Sebuah variable dapat di deklarasikan pada awal program sebelum void setup(), secara local di dalam
sebuah function, dan terkadang di dalam sebuah block statement pengulangan. Sebuah variable global
hanya satu dan dapat di gunakan pada semua block function dan statement di dalam program. Variable
global di deklarasikan pada awal program sebelum fungstion setup(). Sebuah variable local di
deklarasikan di setiap block function atau di setiap block statement pengulangan dan hanya dapat di
gunakan pada block yang bersangkutan saja. Contoh penggunaan:

int value; //‘value’adalah variable global dan dapat di gunakan pada semua block function void setup()
{
// no setup needed
} void
loop() {
for (int i=0; i<20;) // 'i' hanya dapat di gunakan dalam pengulangan saja
{
i++;
}
float f; // 'f' sebagai variable local
}

Tipe Data

Byte type byte dapat menyimpan 8-bit nilai angka bilangan asli tanapa koma. Byte
memiliki range 0 – 255. Byte biteVariable = 180; // mendeklarasikan ‘biteVariable’
sebagai type byte

Integer
Integer adalah tipe data yang utama untuk menyimpan nilai bilangan bulat tanpa koma.Penyimpanan
integer sebesar 16bit dengan range 32.767 sampai -32.768.

Int integerVariable = 1600;//mendeklarasikan‘integerVariable’ sebagai type integer

Long Integer
Perluasan ukuran untuk long integer, penyimpanan long integer sebesar 32-bit dengan range
2.147.483.647 sampai -
2.147.483.648

Long longVariable = 500000; // mendeklarasikan ‘longVariable’ sebagai type long

Float
Float adalah tipe data yang dapat menampung nilai decimal, float merupakan penyimpan yang lebih besar
dari integer dan dapat menyimpan sebesar 32-bit dengan range 3.4028235E+38 sampai -3.4028235E+38

Float floatVariable = 3.14; // mendeklarasikan ‘floatVariable’ sebagai type float

Array
Institut Bisnis Nusantara
Array adalah kumpulan nilai yang dapat di akses dengan index number, nilai yang terdapat dalam array
dapat di panggil dengan cara menuliskan nama array dan index number. Array dengan index 0 merupakan
nilai pertama dari array.Array perlu di deklarasikan dan kalau perlu di beri nilai sebelum di gunakan.

Int arraysName[] = {nilai0, nilai1, nilai2 . . . }

Contoh penggunaan array:

Int arraySaya[] = {2,4,6,8,10}


x = arraySaya[5]; // x sekarang sama dengan 10

Operator Aritmatika
Operator aritmatik terdiri dari penjumlahan, pengurangan, pengkalian, dan pembagian.

y = y + 3; x = x - 8; i = i * 5; r = r / 9;

dalam menggunakan operan aritmatik harus hati-hati dalam menentukan tipe data yang digunakan jangan
sampai terjadi overflow range data.

Compound Assignments

Compound assignments merupakan kombinasi dari aritmatic dengan sebuah variable.Ini biasanya dipakai
pada pengulangan.

x ++; // sama seperti x = x + 1 atau menaikan nilai x sebesar 1 x --; // sama seperti x = x - 1
atau mengurangi nilai x sebesar 1 x += y; // sama seperti x = x + y x -= y; // sama seperti x = x
– y x *= y; // sama seperti x = x * y x /= y; // sama seperti x = x / y

Comparison
Statement ini membadingkan dua variable dan apabila terpenuhi akan bernilai 1 atau true. Statement ini
banyak digunakan dalam operator bersyarat.

x == y; // x sama dengan y x != y; // x tidak sama dengan y


x < y; // x leboh kecil dari y x > y; // x lebih besar dari y x <=
y; // x lebih kecil dari sama dengan y x >= y; // x lebih besar dari sama
dengan y

logic Operator

operator logical digunakan untuk membandingkan 2 expresi dan mengembalikan nilai balik benar atau
salah tergantung dari operator yang di gunakan. Terdapat 3 operator logical AND,OR, dan NOT, yang
biasanya di gunakan pada if statement.

Contoh penggunaan:

Institut Bisnis Nusantara


Logical AND
If ( x> 0 && x < 5) // bernilai benar apabila kedua operator pembanding terpenuhi

Logical OR
If ( x> 0 || y > 0)// bernilai benar apabila salah satu dari operator pembanding terpenuhi
Logical NOT
If ( !x > 0 )// benilai benar apabila ekspresi operator salah

Konstanta
Arduino mempunyai beberapa variable yang sudah di kenal yang kita sebut konstanta.Ini membuat
memprogram lebih mudah untuk di baca.Konstanta di kelasifikasi berdasarkan group.

True/False
Merupakan konstanta Boolean yang mendifinisikan logic level.False mendifinisikan 0 dan True
mendifinisikan 1.

If ( b == TRUE ); {
//doSomething
}

HIGH / LOW
Konstanta ini mendifinisikan aktifitas pin HIGH atau LOW dan di gunakan ketika membaca dan menulis
ke digital pin. HIGH di definisikan sebagai 1 sedangkan LOW sebagai 0.

digitalWrite( 13, HIGH );

Input/Output
Konstanta ini digunakan dengan fungsi pinMode() untuk mendifinisikam mode pin digital, sebagai input
atau output

pinMode( 13, OUTPUT );

Flow Control
If
If Operator if menguji sebuah kondisi seperti nilai analog sudah berada di bawah nilai yang kita
kehendaki atau belum, apabila terpenuhi maka akan mengeksekusi baris program yang ada dalam brackets
kalau tidak terpenuhi maka akan mengabaikan baris program yang ada dalam brackets.

If ( someVariable ?? value )
{
//DoSomething;
}

If…Else
Institut Bisnis Nusantara
Operator if…else mengtest sebuah kondisi apabila tidak sesuai dengan kondisi yang pertama maka akan
mengeksekusi baris program yang ada di else.

If ( inputPin == HIGH )
{
//Laksanakan rencana A;
}
Else
{
//Laksanakan rencana B;
}
For
Operator for digunakan dalam blok pengulangan tertutup.

For ( initialization; condition; expression )


{
//doSomethig;
}

While
Operator while akan terus mengulang baris perintah yang ada dalam bracket sampai ekspresi sebagai
kondisi pengulangan benilai salah.

While ( someVariable ?? value )


{
//doSomething;
}
Do…While
Sama halnya dengan while() hanya saja pada operator Do…while tidak melakukan pengecekan pada awal
tapi di akhir, sehingga otomatis akan melakukan satu kali baris perintah walaupun pada awalnya sudah
terpenuhi.
Do
{
//doSomething;
}
While ( someVariable ?? value );

Digital I/O
Input / Output Digital pada breadboard arduino ada 14, pengalamatnya 0 - 13, ada saat tertentu I/O 0 dan
1 tidak bisa di gunakan karena di pakai untuk komunikasi serial, sehingga harus hati-hati dalam
pengalokasian I/O.

PinMode(pin,Mode)
Digunakan dalam void setup() untuk mengkonfigurasi pin apakah sebagai Input atau Output. Arduino
digital pins secara default di konfigurasi sebagai input sehingga untuk merubahnya harus menggunakan
operator pinMode(pin, mode).

Institut Bisnis Nusantara


pinMode (pin, OUTPUT); // mengset pin sebagai output digitalWrite(pin, HIGH); // pin sebagai source
voltage

digitalRead(pin)

membaca nilai dari pin yang kita kehendaki dengan hasil HIGH atau LOW.

Value = digitalRead(pin);// mengset ‘value’ sama dengan pin

digitalWrite(pin, value)

digunakan untuk mengset pin digital. Pin digital arduino mempunyai 14 ( 0 – 13 ).

digitalWrite ( pin, HIGH ); // set pin to HIGH

Analog I/O
Input / Ouput analog pada breadboard arduino ada 6 pengalamatnya 0 – 5

analogRead(pin)
Membaca nilai pin analog yang memiliki resolusi 10-bit. Fungsi ini hanya dapat bekerja pada analog pin
(0-5). Hasil dari pembacaan berupa nilai integer dengan range 0 sampai 1023.

Value = analogRead(pin); // mengset ‘value’ sama dengan nilai analog pin

analogWrite(pin,value)
mengirimkan nilai analog pada pin
analog.

analogWrite(pin, value); // menulis ke pin analog

Time
delay(ms)
Menghentikan program untuk sesaat sesuai dengan yang di kehendaki, satuanya dalam millisecond.

Delay(1000);// menunggu selama satu detik

millis()

Mengembalikan nilai dalam millisecond dihitung sejak arduino board menyala. Penapungnya harus long
integer.

Value = millis();// set ‘value’ equal to millis()


Math

Min(x,y)
Institut Bisnis Nusantara
Membadingkan 2 variable dan akan mengembalikan nilai yang paling kecil.

value = min(value, 100);// set ‘value’ sebagai nilai yang paling kecil dari kedua nilai max(x,y)

Max merupakan kebalikan dari min.


value = max(value, 100);//set ‘value’ sebagai nilai yang paling besar dari kedua nilai

Serial.begin(rate)

Statement ini di gunakan untuk mengaktifkan komunikasi serial dan mengset baudrate.

void setup()
{
Serial.begin(9600);//open serial port and set baudrate 9600 bps
}

Serial.prinln(data)

Mengirimkan data ke serial port

Serial.println(100); // mengirimkan 100

Institut Bisnis Nusantara


BAB II : PERCOBAAN LED
TUJUAN:
1. Mahasiswa memahami rangkaian mikrokontroller untuk menghidupkan dan mematikan LED.
2. Mahasiswa dapat memahami program Arduino untuk menghidupkan dan mematikan LED.
3. Mahasiswa memahami struktur program Arduino, void setup dan void loop.
4. Mahasiswa memahami beberapa instruksi Arduino dasar pinMode dan digitalWrite.
5. Mahasiswa memahami pembuatan instruksi waktu tunda, delay.

PERALATAN
1. Sebuah Komputer
2. Satu set trainer mikrokontroler

TEORI DASAR
LED (Light Emitting Dioda) adalah dioda yang dapat memancarkan cahaya pada saat mendapat arus bias
maju (forward bias). LED (Light Emitting Dioda) dapat memancarkan cahaya karena menggunakan
dopping galium, arsenic dan phosporus. Jenis doping yang berbeda diata dapat menhasilkan cahaya
dengan warna yang berbeda. LED (Light Emitting Dioda) merupakann salah satu jenis dioda, sehingga
hanya akan mengalirkan arus listrik satu arah saja. LED akan memancarkan cahaya apabil diberikan
tegangan listrik dengan konfigurasi forward bias. Berbeda dengan dioda pada umumnya, kemampuan
mengalirkan arus pada LED (Light Emitting Dioda) cukup rendah yaitu maksimal 20 mA. Apabila LED
(Light Emitting Dioda) dialiri arus lebih besar dari 20 mA maka LED akan rusak, sehingga pada
rangkaian LED dipasang sebuah resistor sebgai pembatas arus. Simbol dan bentuk fisik dari LED (Light
Emitting Dioda) dapat dilihat pada gambar berikut. Simbol Dan Bentuk Fisik LED.

Gambar 2.1. Simbol LED

Dari gambar diatas dapat kita ketahui bahwa LED memiliki kaki 2 buah seperti dengan dioda yaitu kaki
anoda dan kaki katoda. Pada gambar diatas kaki anoda memiliki ciri fisik lebih panjang dari kaki katoda
pada saat masih baru, kemudian kaki katoda pada LED (Light Emitting Dioda) ditandai dengan bagian
body LED yang di papas rata. Kaki anoda dan kaki katoda pada LED (Light Emitting Dioda) disimbolkan
seperti pada gambar diatas. Pemasangan LED (Light Emitting Dioda) agar dapat menyala adalah dengan
memberikan tegangan bias maju yaitu dengan memberikan tegangan positif ke kaki anoda dan tegangan

Institut Bisnis Nusantara


negatif ke kaki katoda. Konsep pembatas arus pada dioda adalah dengan memasangkan resistor secara
seri pada salah satu kaki LED (Light Emitting Dioda). Rangkaian dasar untuk menyalakan LED (Light
Emitting Dioda) membutuhkan sumber tegangan LED dan resistor sebgai pembatas arus seperti pada
rangkaian berikut.

Rangkaian Dasar Menyalakan LED (Light Emitting Dioda)

Gambar 2.2. Rangkaian Dasar LED

Besarnya arus maksimum pada LED (Light Emitting Dioda) adalah 20 mA, sehingga nilai resistor harus
ditentukan. Dimana besarnya nilai resistor berbanding lurus dengan besarnya tegangan sumber yang
digunakan. Secara matematis besarnya nilai resistor pembatas arus LED (Light Emitting Dioda) dapat
ditentukan menggunakan persamaan berikut.

Dimana :
R = resistor pembatas arus (Ohm)
Vs = tegangan sumber yang digunakan untuk mensupply tegangan ke LED (volt)
2 volt = tegangan LED (volt)
0,02 A = arus maksimal LED (20 mA)

Gambar 2.3. Rangkaian Modul LED

Institut Bisnis Nusantara


Percobaan 1.

Percobaan led berkdip dan led berjalan (running led) yang dihubungkan pada Input/0utput board Arduino
diperlihatkan pada gambar 4 dan gambar 5. Led akan menyala bila dikirimkan data HIGH (‘1’) pada pin
10, karena anoda dari led mendapatkan level tegangan mendekati 5V sedangkan katodanya dihubungkan
ke ground (0V).

Gambar 2.4. Rangkaian Percobaan LED Blink

Tuliskan program dibawah ini :


//LED BERKEDIP intledPin =
10;

void setup() { pinMode(ledPin,


OUTPUT);
} void loop() {
digitalWrite(ledPin, HIGH); delay(1000);
digitalWrite(ledPin, LOW); delay(1000);
}

Percobaan 2.
Untuk aplikasi menggeser LED diperlukan beberapa LED untuk dihubungkan dengan pin
mikrokontroler. Rangkaian menggunakan common Katoda, sehingga untuk menyalakan LED
membutuhkan nilai logika 1, sedangkan kalo ingin mematikan diberika nilai logika sebsar 0. Rangkailah
rangkaian LED 4 bit seperti dibawah ini untuk mengaplikasikan LED bergeser dari kiri ke kanan atau
dari kanan ke kiri.

Institut Bisnis Nusantara


Gambar 2.5. Rangkaian 4 Bit LED

Berikut ini program untuk LED Bergeser


//Running LED int
ledPin1 = 10; int
ledPin2 = 11; int
ledPin3= 12; int
ledPin4 = 13;

void setup() { pinMode(ledPin1,


OUTPUT); pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
} void loop() {
digitalWrite(ledPin1, HIGH); digitalWrite(ledPin2
LOW); digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, LOW); delay(1000);
digitalWrite(ledPin1, LOW); digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, LOW); digitalWrite(ledPin4, LOW);
delay(1000);
digitalWrite(ledPin1, LOW); digitalWrite(ledPin2,
LOW); digitalWrite(ledPin3, HIGH);
digitalWrite(ledPin4, LOW); delay(1000);
digitalWrite(ledPin1, LOW); digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW); digitalWrite(ledPin4,
HIGH); delay(1000);
}

LANGKAH-LANGKAH PERCOBAAN
1. Nyalakan computer dengan program Arduino !
2. Sambungkan Trainer mikrokontroler dengan computer menggunakan kabel USB !
3. Sambungkan kabel-kabel jumper sesuai dengan praktikum yang dilaksanakan !
4. Ketiklah program yang diatas pada software Arduino !
5. Lakukan verifikasi terhadap program, apakah terjadi error atau tidak !
6. Jika tidak terjadi error lanjutkan dengan mengupload program ke dalam mikrokontroler !

Institut Bisnis Nusantara


Amati hasilnya apakah sudah sesuai dengan perintah instruktur atau belum, kalau belum lakukan editing
program dan kembali ke langkah 5 !

Institut Bisnis Nusantara

Anda mungkin juga menyukai