ARDUINO
2.1 Pendahuluan
2.1.1 Latar Belakang
Dengan semakin berkembangnya zaman diikuti dengan semakin majunya
teknologi, para mahasiswa teknik mesin memerlukan suatu perkembangan yang
berkelanjutan, karena kita tidak bisa jauh dari teknologi atau peralatan - peralatan
canggih yang ada di sekitar kita. Dengan semakin canggihnya peralatan yang digunakan
kita tentu harus bias mengoperasikannya. Pada zaman sekarang sebagian besar
peralatan sudah dioperasikan menggunakan program yang dijalankan di komputer.
Maka dari itu penting bagi kita para mahasiswa teknik mesin untuk memahami
pemrograman komputer. Dalam praktikum ini kita akan mempelajari tentang program
Arduino UNO.
Arduino adalah pengendali mikro single-board yang bersifat open-source diturunkan
dari wiring platform, dirancang untuk memudahkan penggunaan peralatan elektronik dalam
berbagai bidang. Perangkat lunaknya memiliki bahasa pemrograman sendiri.
Arduino yang kita pakai pada praktikum kali ini adalah Arduino UNO. Jenis Arduino
ini adalah yang paling banyak digunakan, terutama untuk pemula sangat disarankan untuk
menggunakan Arduino UNO. Versi yang terakhir adalah Arduino UNO R3 (revisi 3),
menggunakan ATMEGA328 sebagai mikrokontrolernya memiliki 14 pin I/O digital dan 6
pin input analog. Untuk pemrograman cukup menggunakan koneksi USB (Universal Serial
Bus) tipe A ke tipe B, sama seperti yang digunakan pada USB printer.
Bagian-bagian arduino :
1. Quartz Crystal Oscillator (Q1 – Kristal)
Jika microcontroller dianggap sebagai sebuah otak, maka kristal adalah
jantungnya karena komponen ini menghasilkan detak-detak yang dikirim kepada
microcontroller agar melakukan sebuah operasi untuk setiap detak-nya. Kristal ini
menghasilkan detak 16 juta kali per detik (16MHz).
2. Power Jack (Sumber Daya Eksternal)
Jika hendak dihubungkan dengan sumber daya ekternal, papan Arduino Uno
dapat diberikan tegangan DC antar 9-12V.
3. Pin RESET
Digunakan untuk menambahkan komponen pengganti reset button secara
eksternal kepada Arduino.
4. Pin 3,3V
Pin yang menghasilkan keluaran berupa tegangan 3,3 volt.
5. Pin 5V
Pin yang menghasilkan keluaran berupa tegangan 5 volt. Sebagaian besar
komponen yang digunakan papan Arduino bekerja dengan baik pada tegangan 3.3
volt dan 5 volt.
6. Pin GND (Ground)
Ada beberapa pin GND pada Arduino yang digunakan untuk menghubungkan
ground rangkaian. Untuk komponen sederhana atau hanya memiliki 2 kaki
merupakan tempat terhubungnya kaki minus.
7. Pin VIn
Pin yang digunakan untuk menghubungkan sumber daya eksternal pada papan
Arduino Uno (DC 9-12V).
8. 6 Pin Input Analog (A0-A5)
Pin ini digunakan 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.
9. Microcontroller ATMega (IC)
Komponen utama dari papan Arduino Uno. Di dalamnya terdapat CPU, ROM,
dan RAM.
10. 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.
11. Reset Button
Untuk memulai ulang papan sehingga program akan mulai lagi dari awal.
Perhatikan bahwa tombol reset ini bukan untuk menghapus program atau
mengosongkan microcontroller.
12. 14 pin I/O digital (0-13)
Berfungsi sebagai input atau output, yang 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.
13. Pin AREF
AREF merupakan singkatan dari Analog Reference. AREF kadanag-kadang
digunakan untuk mengatur tegangan referensi eksternal (antar 0 dan 5 Volts)
sebagai batas atas untuk pin input analog input.
14. TX dan RX LED
Pada papan Arduino, kita akan menemukan label: TX (transmit) dan RX
(receive). TX dan RX muncul di dua tempat pada papan Arduino Uni. Pertama, di pin
digital 0 dan 1, Untuk menunjukkan pin yang bertanggung jawab untuk komunikasi
serial. Kedua, TX dan RX led (13). TX led akan berkedip dengan kecepatan yang
berbeda saat mengirim data serial. Kecepatan kedip tergantung pada baud rate yang
digunakan oleh papan arduino. RX berkedip selama menerima proses.
15. USB
Berfungsi untuk memuat program dari komputer ke dalam papan, jalur
komunikasi serial antara papan dan komputer, serta sebagai sumber daya listrik
papan arduino.
2.2.2 LCD
LCD (Liquid Cristal Display) adalah salah satu jenis display elektronik yang dibuat
dengan teknologi CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi
memantulkan cahaya yang ada di sekelilingnya terhadap front-lit atau mentransmisikan
cahaya dari back-lit. LCD (Liquid Cristal Display) berfungsi sebagai penampil data
baik dalam bentuk karakter, huruf, angka ataupun grafik. Penjelasan pin yang ada di lcd
16x2 :
2.2.3 Sensor LM35
LM35 merupakan IC sensor suhu dengan bentuk yang mirip dengan transistor, kaki
IC ini hanya ada tiga, yaitu VCC, Output, dan GND.
Karakteristik dari sensor ini yaitu setiap kenaikan 10 mV pada kaki output,
menandakan kenaikan suhu 1° celcius. Konversi suhu pada output LM35 juga
tergantung pada tegangan referensi yang digunakan.
2. Operator Perbandingan
Operator perbandingan adalah merupakan suatu operator yang menyatakan suatu
kondisi itu benar atau salah. Operator perbandingan dapat dilihat pada tabel berikut ini.
Tabel 2.3
Operator Perbandingan
Operator Fungsi
!= Tidak sama dengan
< Lebih kecil
> Lebih besar
>= Lebih besar sama dengan
<= Lebih kecil sama dengan
= Ciri yang sama
Sumber : Dokumentasi pribadi (2018)
3. Operator Logika
Operator logika adalah merupakan suatu operator yang dapat membandingkan
dua ekspresi atau lebih data logika (Boolean) dan menghasilkan data logika
(Boolean) baru. Operator logika dapat dilihat pada tabel berikut ini.
Tabel 2.4
Operator Logika
Operator Fungsi
! Tidak
&& Dan
|| Atau
Sumber : Dokumentasi pribadi (2018)
4. Operator Penugasan
Operator penugasan adalah merupakan operator yang bertugas untuk
menentukan nilai yang dikeluarkan oleh suatu variabel terhadap kondisi tertentu.
Operator penugasan dapat dilihat pada tabel berikut ini.
Tabel 2.5
Operator Penugasan
Operator Fungsi
= Sama dengan
Sumber : Dokumentasi pribadi (2018)
5. Operator Penggabungan
Operator penggabungan adalah merupakan suatu operator yang dapat digunakan
untuk menggabungkan dua buah string atau lebih. Operator penggabungan dapat
dilihat pada tabel berikut ini.
Tabel 2.6
Operator Penggabungan
Operator Fungsi
+= Penjumlahan
-= Pengurangan
*= Perkalian
/= Pembagian
%= Sisa hasil integer
Sumber : Dokumentasi pribadi (2018)
2.2.5 Kontrol Pemrograman
2.2.5.1 Pengertian Kontrol Pemrograman
Kontrol pemrograman adalah perintah dengan struktur tertentu yang digunakan
untuk mengatur jalannya program yang tujuannya untuk mengatur arah eksekusi
program.
B. If / Else
If/ Else memungkinkan kontrol yang lebih besar aliran kode daripada dasar
jika pernyataan, dengan memungkinkan beberapa tes yang harus dikelompokkan
bersama. Sebagai contoh, input analog dapat diuji dan satu tindakan yang diambil
jika
input kurang dari 500, dan tindakan lain yang diambil jika input adalah 500 atau lebih
besar. Kode akan terlihat seperti ini:
if(pinFiveInput < 500)
{ // action
A } Else
{ // action B }
Selain dapat melanjutkan perintah lain saat testing, sehingga beberapa tes secara
eksklusif dapat dijalankan pada waktu yang sama.
Setiap tes akan melanjutkan ke yang berikutnya sampai nilai didapatkan true.
Ketika nilai true ditemukan, blok yang terkait kode dijalankan, dan program
kemudian melompat ke baris berikut seluruh jika / lain. Jika ada tes bernilai true,
maka default blok kode lain dijalankan, dan menetapkan perilaku default.
if(pinFiveInput < 500)
{ // do thing A }
Elseif (pinFiveInput >=1000)
{ // do thing
B } Else
{ // do thing C }
Perhatikan bahwa lain halnya jika blok dapat digunakan dengan atau tanpa
mengakhiri blok lain dan sebaliknya. Jumlah yang tidak terbatas seperti yang lain
dapat dilakukan jika cabang diperbolehkan.
C. For Statement
Untuk pernyataan digunakan untuk mengulang blok pernyataan yang diapit oleh
kurung keriting. Counter kenaikan biasanya digunakan untuk peningkatan dan
mengakhiri loop. Untuk pernyataan ini berguna untuk setiap operasi berulang, dan
sering digunakan dalam kombinasi dengan array untuk beroperasi pada koleksi data /
pin. Ada tiga bagian dalam looping yaitu :
For (initialization;condition;increment)
{//statement(s);}
Inisialisasi terjadi pertama kali dan harus tepat. Setiap kali melalui loop, kondisi
ini diuji; jika itu bernilai true, blok pernyataan dan kenaikan dijalankan, ketika kondisi
diuji lagi. Ketika kondisi menjadi salah, loop berakhir. Contoh :
// Dim an LED using a PWM pin
int PWMpin = 10; // LED in series with 470 ohm
resistor on pin 10 void setup()
{ // no setup
needed } void loop()
{ for (int i=0; i <= 255; i++){ analogWrite(PWMpin,
i); delay(10); }}
D. While Loop
Loop akan loop terus menerus, dan tak terhingga, sampai ekspresi dalam kurung,
() menjadi bernilai false. Sesuatu harus mengubah variabel yang diuji, atau loop
sementara tidak akan pernah keluar. Hal ini bisa terjadi dalam kode Anda, seperti
penambahan variabel atau kondisi eksternal seperti pengujian sensor. Syntax :
While(expression)
{ // statement(s) }
2. LCD 16x2
Menampilkan text “Hello World”
Sketch/circuits examples :