LAPORAN TUGAS INSTALASI ARDUINO
![]() |
NAMA : MOCHAMMAD
IQBAL KURNIAWAN
KELAS : X-TAV 2
NO.ABSEN : 03
LAPORAN SIMULASI DIGITAL INSTALASI ARDUINO
LAPORAN SIMULASI DIGITAL INSTALASI ARDUINO
1. TEORI
SINGKAT TENTANG ARDUINO, CARA KERJA ARDUINO SENSOR SUHU DENGAN IC LM35
2. GAMBAR
INSTALASI
3. PROGRAM
C++
4. KENDALA
YANG DIHADAPI
5. KESIMPULAN
1.
TEORI SINGKAT TENTANG ARDUINO, CARA KERJA
ARDUINO SENSOR SUHU DENGAN IC LM35

Arduino merupakan sebuah platform
yang dikembangkan dengan tujuan untuk memudahkan pengguna mikrokontroler
dan rangkaian elektronika pada berbagai disiplin ilmu. Dengan adanya arduino,
diharapkan hal teknis tidak lagi menjadi penghalang bagi para individu kreatif
untuk mengembangkan kreasinya di bidang mikrokontroler.

GAMBAR LOGO ARDUINO
Meskipun Arduino ditujukan untuk memudahkan pengguna
mikrokontroler dengan bekal kemampuan teknis yang minimal, hal tersebut bukan
berarti Arduino tidak cocok bagi para praktisi elektronika, khususnya pada
bidang mikrokontroler. Dalam kasustertentu Arduino akan sangat membantu, karena dengan
penggunaan mikrokontroler yang semakin mudah, maka konsentrasi pengerjaan dapat
dialihkan pada perancangan sistem mikrokontroler yang lebih kompleks.
Beberapa fitur yang ditawarkan oleh Arduino
adalah:
•
Multiplatform environment, Arduino IDE dapat berjalan pada
berbagai macam sistem operasi (Windows, Linux, Macintosh).
•
Software Arduino IDE yang mudah digunakan.
•
Open source baik hardware maupun software sehingga pengguna Arduino dapat membuat
ataupun memodifikasi platform Arduino secara mandiri.
•
Investasi
untuk platform Arduino relatif murah apabila
dibandingkan dengan kehandalan dan dukungan yang didapatkan.
•
Sumber
informasi yang luas, karena banyak forum dan artikel yang membahas tentang
penggunaan Arduino.
•
Arduino
dikembangkan dalam lingkungan pendidikan sehingga Arduino cocok digunakan
sebagai langkah awal bagi pemula yang ingin memasuki dunia elektronika.

Berikut adalah deskripsi umum dari sebagian pin pada board Arduino:
• Reset
(active low) – pin untuk mengulang eksekusi program/sketch Arduino dari awal.
• 3V3
– pin untuk jalur
tegangan 3.3 VDC (output dan input).
• 5V –
pin untuk jalur tegangan 5 VDC
(output dan input).
• GND
– pin yang terhubung
dengan jalur ground.
• Vin
– pin yang terhubung dengan
jalur catu daya.
• Analog
In (A0, A1, A2, …) – pin input untuk
tegangan analog. Pin-pin ini
juga dapat difungsikan sebagai pin I/O
digital.
• SDA/SCL
– pin data dan clock yang digunakan untuk komunikasi
serial TWI.
• RX/TX
– pin receiver dan transmitter untuk komunikasi serial
UART.
• Digital
(0, 1, 2, …) – pin I/O
dengan sinyal high/low.
• PWM
– pin digital yang
memiliki fitur output PWM
(sebagai output analog).
• AREF
– pin input tegangan
referensi eksternal untuk acuan pembacaan tegangan analog.
Deskripsi fungsi pin di atas dapat berbeda untuk beberapa board Arduino. Informasi
lebih pasti dapat ditemukan pada
masing-masing panduan board Arduino
yang
digunakan.

Struktur
Setiap program Arduino (biasa disebut sketch) mempunyai dua buah fungsi yang
harus ada.
a. void setup( ) { }
- Semua
kode didalam kurung kurawal akan dijalankan hanya satu kali ketika
program Arduino dijalankan untuk pertama kalinya.
b. void loop( ) { }
a.
Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah
dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi secara terus
menerus sampai catu daya (power)
dilepaskan.
Syntax
Berikut ini adalah elemen bahasa C yang dibutuhkan
untuk format penulisan.
- //(komentar satu baris)
- Kadang
diperlukan untuk memberi catatan pada diri sendiri apa arti dari
kode-kode yang dituliskan. Cukup menuliskan dua buah garis miring dan
apapun yang kita ketikkan dibelakangnya akan diabaikan oleh program.
- /* */(komentar banyak baris)
- Jika
anda punya banyak catatan, maka hal itu dapat dituliskan pada beberapa
baris sebagai komentar. Semua hal yang terletak di antara dua simbol
tersebut akan diabaikan oleh program.
- { }(kurung kurawal)
- Digunakan
untuk mendefinisikan kapan blok program mulai dan berakhir (digunakan juga
pada fungsi dan pengulangan).
- ;(titk koma)
- Setiap
baris kode harus diakhiri dengan tanda titik koma (jika ada titik koma
yang hilang maka program tidak akan bisa dijalankan).
Variabel
Sebuah program secara garis besar dapat didefinisikan
sebagai instruksi untuk memindahkan angka dengan cara yang cerdas. Variabel
inilah yang digunakan untuk memindahkannya.
1.
int (integer)
- Digunakan
untuk menyimpan angka dalam 2 byte (16 bit). Tidak mempunyai angka
desimal dan menyimpan nilai dari -32,768 dan 32,767.
- long (long)
- Digunakan
ketika integer tidak mencukupi lagi. Memakai 4 byte (32 bit) dari memori
(RAM) dan mempunyai rentang dari -2,147,483,648 dan 2,147,483,647.
- boolean (boolean)
- Variabel
sederhana yang digunakan untuk menyimpan nilai TRUE (benar) atau FALSE
(salah). Sangat berguna karena hanya menggunakan 1 bit dari
RAM.
- float (float)
- Digunakan
untuk angka desimal (floating point). Memakai 4 byte (32 bit) dari RAM
dan mempunyai rentang dari -3.4028235E+38 dan 3.4028235E+38.
- char (character)
- Menyimpan
1 karakter menggunakan kode ASCII (misalnya ‘A’ = 65). Hanya memakai 1
byte (8 bit) dari RAM.
Operator Matematika
Operator yang digunakan untuk memanipulasi angka
(bekerja seperti matematika yang sederhana).
- =
- Membuat
sesuatu menjadi sama dengan nilai yang lain (misalnya: x = 10 * 2, x
sekarang sama dengan 20).
- %
- Menghasilkan
sisa dari hasil pembagian suatu angka dengan angka yang lain (misalnya:
12 % 10, ini akan menghasilkan angka 2).
- +
- Penjumlahan
- -
- Pengurangan
- *
- Perkalian
- /
- Pembagian
Operator Pembanding
Digunakan untuk membandingkan nilai logika.
- ==
- Sama
dengan (misalnya: 12 == 10 adalah FALSE (salah) atau 12 == 12 adalah TRUE
(benar))
- !=
- Tidak
sama dengan (misalnya: 12 != 10 adalah TRUE (benar) atau 12 != 12 adalah
FALSE (salah))
- <
- Lebih kecil
dari (misalnya: 12 < 10 adalah FALSE (salah) atau 12 < 12 adalah
FALSE (salah) atau 12 < 14 adalah TRUE (benar))
- >
- Lebih
besar dari (misalnya: 12 > 10 adalah TRUE (benar) atau 12 > 12
adalah FALSE (salah) atau 12 > 14 adalah FALSE (salah))
Struktur Pengaturan
Program sangat tergantung pada pengaturan apa yang
akan dijalankan berikutnya, berikut ini adalah elemen dasar pengaturan (banyak
lagi yang lain dan bisa dicari di internet).
1. if..else,
dengan format seperti berikut ini:
if (kondisi) { }
else if (kondisi) { }
else { }
Dengan struktur seperti diatas program akan
menjalankan kode yang ada di dalam kurung kurawal jika kondisinya TRUE, dan
jika tidak (FALSE) maka akan diperiksa apakah kondisi pada else if dan jika kondisinya FALSE
maka kode pada else yang akan
dijalankan.
2. for,
dengan format seperti berikut ini:
for (int i = 0; i <
#pengulangan; i++) { }
Digunakan bila anda ingin melakukan pengulangan kode
di dalam kurung kurawal beberapa kali, ganti #pengulangan dengan jumlah
pengulangan yang diinginkan. Melakukan penghitungan ke atas dengan i++ atau ke bawah dengan i–.
Digital
1. pinMode(pin, mode)
Digunakan untuk menetapkan mode dari suatu pin, pin adalah nomor pin yang akan
digunakan dari 0-19 (pin analog 0-5 adalah 14-19). Mode yang bisa digunakan
adalah INPUT atau OUTPUT.
2. digitalWrite(pin, value)
Ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut dapat dijadikan HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground).
3. digitalRead(pin)
Ketika sebuah pin ditetapkan sebagai INPUT maka anda
dapat menggunakan kode ini untuk mendapatkan nilai pin tersebut apakah HIGH (ditarik menjadi 5 volts)
atau LOW (diturunkan
menjadi ground).
Analog
Arduino adalah mesin digital tetapi mempunyai
kemampuan untuk beroperasi di dalam alam analog (menggunakan trik). Berikut ini
cara untuk menghadapi hal yang bukan digital.
1. analogWrite(pin, value)
Beberapa pin pada Arduino mendukung PWM (pulse width
modulation) yaitu pin 3, 5, 6, 9, 10, 11. Ini dapat merubah pin hidup (on)atau mati (off) dengan sangat cepat sehingga membuatnya dapat berfungsi
layaknya keluaran analog. Value
(nilai) pada format kode tersebut adalah angka antara 0 ( 0% duty cycle ~ 0V)
dan 255 (100% duty cycle ~ 5V).
2. analogRead(pin)
Ketika pin analog ditetapkan sebagai INPUT anda dapat
membaca keluaran voltase-nya. Keluarannya berupa angka antara 0 (untuk 0 volts)
dan 1024 (untuk 5 volts).

Tentang IC LM335
IC LM335 adalah salah satu sensor untuk mengukur suhu.
IC LM335 digunakan untuk mengubah besaran suhu menjadi besaran listrik. IC
sensor LM335 ini mempunyai bentuk fisik seperti transistor mempunyai tiga buah
kaki, diantaranya anoda, katoda, dan adjust (kontrol). Isinya berupa zener yang
peka(sensitive) pada temperature. IC LM335 merupakan tranduser yang dikemas
dalam bentuk rangkaian terintegrasi yang tegangan keluarannya berbanding linier
terhadap perubahan temperatur , jadi apabila suhu lingkungan rendah maka
tegangan yang keluar dari IC tersebut adalah rendah. Demikian juga sebaliknya
apabila suhu yang disekitar IC tinggi, maka tegangan yang dihasilkan dari
keluaran IC tersebut adalah besar. Dengan kata lain perubahan tegangan yang
dihasilkan tranduser IC LM335 sesuai dengan perubahan temperaturnya.
Karena sensor ini dapat mensuplai, maka sensor bekerja
sebagai penyetabil tegangan yang besarnya sesuai dengan temperature terukur. IC
sensor ini mengubah temperature menjadi tegangan listrik sesuai dengan kenaikan
10mv / derajat celcius. Untuk mengkalibrasikan sensor ini maka tahanan variable
harus diatur agar tegangan keluar sebesar 2980mV sehingga setara dengan 25
derajat celcius. Besaran analog yang dihasilkan oleh sensor suhu ini mempunyai
resistansi 10mV untuk setiap kenaikan 1 derajat celcius.
Gambar 2.4 LM335
Keuntungan dari IC LM335 adalah mempunyai sensor
temperatur yang linier kalibrasinya langsung dalam Celcius, sehingga tidak
diperlukan tegangan konstan yang besar dari keluaran skala Celcius Sensor ini
bekerja untuk mengirimkan sebuah sinyal tegangan yang sesuai dengan keadaan
suhu yang dipantau dan diterima oleh pemproses.
Selain LM335 ada juga LM135 dan 235, perbedaannya
terletak pada batas ukur suhunya. Apabila LM335 bekerja pada batas ukur -40
derajat celcius sampai 100 derajat celcius. Sedangkan pada LM135 bekerja pada
batas ukur -55 derajat celcius sampai 150 derajat celcius, adan pada LM235 bekerja
pada batas ukur -40 derajat celcius 125 derajat celcius.
Spesifikasi sensor LM335 ini
adalah :
• Mudah dikalibrasi
• Presisi
• Impedansi rendah (kurang dari 1 ohm impedansi
dinamis)
• Tegangan pada 25 derajat celcius adalah 2980mV
• Kenaikan suhu per derajatnya menambah tegangan 10mV
dan sebaliknya
• Daerah ukur -40 derajat celcius sampai dengan 100
derajat celcius
• Arus bias 0,4mA sampai dengan 5mA
Cara kerja rangkain:
2. GAMBAR
INSTALASI


3. PROGRAM
C++
a. Program
ke-1
#include<LiquidCrystal.h>
LiquidCrystal
lcd(2, 3, 4, 5, 6, 7);
int
adc0,cel = 0;
void
setup()
{
lcd.begin(16,
2);
lcd.setCursor(0,0);
lcd.print("Tek.
Audio Video");
lcd.setCursor(0,1);
lcd.print("SMKN
1 Kediri");
delay(5000);
lcd.clear();
lcd.print("Suhu
= C");
lcd.setCursor(14,0);
lcd.print(char(0xdf));
lcd.setCursor(5,1);
lcd.print("=
F");
lcd.setCursor(14,1);
lcd.print(char(0xdf));
}
void
loop()
{
int adc0
= analogRead(0);
float
cel=(adc0*5)/10;
lcd.setCursor(7,0);
lcd.print(cel);
lcd.setCursor(7,1);
float fah=((cel*9)/5+32);
lcd.print(fah);
delay(1000);
}
b. Program
ke-2
#include<LiquidCrystal.h>
LiquidCrystal
lcd(2, 3, 4, 5, 6, 7);
int
adc0,cel = 0;
void
setup()
{
lcd.begin(16,
2);
lcd.setCursor(0,0);
lcd.print("Tek.
Audio Video");
lcd.setCursor(0,1);
lcd.print("SMKN
1 Kediri");
delay(5000);
lcd.clear();
lcd.print("Suhu
= C");
lcd.setCursor(14,0);
lcd.print(char(0xdf));
lcd.setCursor(5,1);
lcd.print("=
F");
lcd.setCursor(14,1);
lcd.print(char(0xdf));
}
void
loop()
{
int adc0
= analogRead(0);
float cel=(adc0*5)/10;
lcd.setCursor(7,0);
lcd.print(cel);
lcd.setCursor(7,1);
float
fah=((cel*9)/5+32);
lcd.print(fah);
delay(1000);
if(cel>=33)
{
digitalWrite(13,HIGH);
lcd.noDisplay();
delay(500);
lcd.display();
}
else
{
digitalWrite(13,LOW);
lcd.display();
}
delay(2000);
}
c. Program
ke-3
#include<LiquidCrystal.h>
LiquidCrystal
lcd(2, 3, 4, 5, 6, 7);
int
adc0,cel = 0;
void
setup()
{
lcd.begin(16,
2);
lcd.setCursor(0,0);
lcd.print("Tek.
Audio Video");
lcd.setCursor(0,1);
lcd.print("SMKN
1 Kediri");
delay(5000);
lcd.clear();
lcd.print("Suhu
= C");
lcd.setCursor(14,0);
lcd.print(char(0xdf));
lcd.setCursor(5,1);
lcd.print("=
F");
lcd.setCursor(14,1);
lcd.print(char(0xdf));
}
void
loop()
{
int adc0
= analogRead(0);
float
cel=(adc0*5)/10;
lcd.setCursor(7,0);
lcd.print(cel);
lcd.setCursor(7,1);
float
fah=((cel*9)/5+32);
lcd.print(fah);
delay(1000);
if(cel>=33
&& cel<35)
{
digitalWrite(13,HIGH);
}
else
if(cel>=35)
{
digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
}
else
{
digitalWrite(13,LOW);
}
delay(2000);
}
d. Program
ke-4
#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
int adc0,cel = 0;
void setup()
{
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print("Tek. Audio
Video");
lcd.setCursor(0,1);
lcd.print("SMKN 1
Kediri");
delay(5000);
lcd.clear();
lcd.print("Suhu = C");
lcd.setCursor(14,0);
lcd.print(char(0xdf));
lcd.setCursor(5,1);
lcd.print("= F");
lcd.setCursor(14,1);
lcd.print(char(0xdf));
}
void loop()
{
int adc0 = analogRead(0);
float cel=(adc0*5)/10;
lcd.setCursor(7, 0);
lcd.print(cel);
lcd.setCursor(7, 1);
float fah=((cel*9)/5+32);
lcd.print(fah);
delay(3000);
if(cel>=35 &&
cel<40)
{
digitalWrite(13,LOW);
lcd.noDisplay();
delay(1000);
lcd.display();
}
else if(cel>=40 &&
cel<45)
{
digitalWrite(13,HIGH);
}
else if(cel>=45 &&
cel<50)
{
digitalWrite(13,HIGH);
delay(300);
digitalWrite(13,LOW);
}
else if(cel>=50)
{
digitalWrite(13,HIGH);
lcd.noDisplay();
delay(300);
digitalWrite(13,LOW);
lcd.display();
}
else
{
digitalWrite(13,LOW);
lcd.display();
}
delay(300);
}
4.
Kendala
yang dihadapi saat praktik
·
Kurang
teliti saat memasukkan program kedalam arduino
·
Terbaliknya
rangkaian yang telah dicontohkan sebelumnya.
·
Untuk
program yang ke-4 mengalami trobel yaitu saat suhu mencapai batas maksimal yang
telah ditentukan, dan saat suhu turun kembali normal LCD dan LED menyala tidak
sesuai dengan apa yang kita harapkan.
·
Kurang
mengerti bahasa pemrograman dalam arduino
·
Susahnya
meminjam arduino karena terbatasnya arduino yang di sediakan sekolah.
·
Susahnya
mencari pinjaman laptop.
·
LCD yang
dapat digunakan sangat terbatas dan yang lainnya mengalami kerusakan.
5.
Kesimpulan
Tidak ada komentar:
Posting Komentar