Wednesday, May 10, 2017

Termometer Digital

Termometer Digital

Sebelum  kita  membuat  termometer  digital,  kita  akan  belajar bagaimana  menggunakan  Serial Monitor  sebagai  alat  untuk  melihat apakah  sensor  menghasilkan  data  yang  benar  atau  tidak. Maksudnya begini, ketika kita menggunakan sebuah sensor untuk mengambil data, maka  sensor akan mengirimkan  data  untuk  diproses  oleh mikrokontroller.  Untuk  memastikan  data  dari sensor tersebut merupakan data yang benar, maka kita bisa melihatnya melalui  Serial Monitor. Cara kerjanya begini:

1.  Mikrokontroller akan membaca data dari sensor
2.  Kemudian  mikrokontroller  akan  membuat  koneksi  serial  ke komputer
3. Selanjutnya  mikrokontroller  akan  mengirimkan  data  ke komputer melalui komunikasi serial tersebut
4. Lalu  kita  bisa  melihat  data  yang  diterima  oleh  komputer menggunakan  serial  monitor, hyperterminal,  atau  aplikasi sejenis seperti CoolTerm dan PuTTY

Serial Monitor

Serial monitor bisa kita gunakan untuk men-debug  secara  software. Jika tanpa  serial monitor, kita tidak bisa melakukan  debug  untuk aplikasi yang kita buat sehingga untuk  menemukan solusinya, kita harus mendebug  dari  sisi  hardware.  Misal  ketika  ada  error,  kita  akan  mencoba dengan LED atau menambah/mengurangi rangkaian.

Tapi  jika  menggunakan  serial  monitor,  kita  akan  tahu  error-nya melalui  data  yang  dikirimkan oleh  Arduino.  Misal  ketika  nyala  LED terlalu  lama  atau  terlalu  pelan,  kita  langsung  bisa mengecek  nilai (angka)  yang  digunakan  untuk  delay  dan  semua  isi  variabel  dalam program yang kita  buat.  Sehingga  kita  bisa  menelusuri  logika  dan algoritma program berdasarkan data-data yang dikirimkan tadi.

Perhatikan  pada  board  arduino,  pin  0  dan  1  ada  tulisan  RX  dan TX.  Pin  tersebut  berfungsi untuk  menerima  dan  mengirim  data melalui  komunikasi  serial  dari  Arduino  ke  komputer melalui  kabel USB.  Untuk  menggunakan  komunikasi  serial,  kita  tidak  perlu menambahkan komponen  tambahan  pada  Arduino  karena  pada  board tersebut  sudah  disediakan.  Kita  cukup menghubungkan  Arduino  ke komputer, dan kita bisa langsung membuat program. Mari kita mulai dengan Sketch 5.1.

Sketch Komunikasi Serial

// Free Ebook Arduino
// www.elangsakti.com 
// coder elangsakti

void setup() {
Serial.begin(9600);
Serial.println("With elangsakti.com :");
}

int number = 0;
void loop() {
Serial.print("Hello World! ");
Serial.println( number++ );
delay(1000);
}

Sebelum  kita  melihat  hasilnya,  mari  kita  sedikit  membahas program pada Sketch 5.1.

Serial.begin(9600);

Pada  baris  ke-6,  perintah  Seril.begin(9600);  berarti  kita  akan membuat koneksi serial dengan baud rate  9600. Sederhananya,  baud berkaitan  dengan  jumlah  bit  yang  akan  ditransfer  setiap detik.  Nilai baud  rate  ini  tergantung  pada  clock  mikrokontroller.  Arduino  Uno sendiri menggunakan  clock  16  MHz.  Jika  clock-nya  makin  rendah, maka  baud  rate  harus  kita  kurangi. Sebagai  contoh,  jika  kita menggunakan  mikrokontroller  dengan  clock  1  MHz,  maka  baud  rate yang cocok adalah 4800. Jika clock 1 MHz kita menggunakan baud rate 9600,  maka  data  yang dikirim  ke  komputer  tidak  akan  terbaca.  Pada Arduino IDE, nilai baud rate default pada Serial Monitor adalah 9600. Silakan Anda coba-coba dengan mengubah nilainya sesuai pilihan yang ada.

Pada  baris  ke-7,  awalnya  Arduino  akan  mengirim  pesan  “With elangsakti.com”  ketika  pertama kali  Arduino  start.  Setelah  itu,  Arduino akan mengirim pesan “Hello World!” dan dilanjutkan dengan angka 0, 1, 2, 3, dst. Jika Serial Monitor kita tutup dan kita buka kembali, maka Arduino seakan-akan melakukan reset program. Arduino akan kembali mengirimkan pesan “With elangsakti.com” dan angka kembali ke 0 lagi.

Serial.print("Hello World! ");
Serial.println( number++ );

Pada  baris  ke  12  dan  13,  kita  menemukan  perintha  print  yang berbeda, yaitu  print()  dan println(). Jika kita menggunakan print, maka kita  sekedar  mengirim  data  tanpa  diikuti  end  of  line (perintah  untuk ganti  baris  ,  atau  ENTER).  Jika  kita  menggunakan  println(),  maka tulisan akan diikuti perintah untuk pindah baris.
Icon serial monitor
Icon serial monitor
Kita  kembali  ke  board  Arduino.  Setelah  program  Sketch  5.1 diupload  ke  Arduino.  Perhatikan board  Arduino,  maka  LED  yang berlabel TX akan berkedip. Setiap LED TX berkedip, artinya Arduino sedang mengirim data. Buka Serial Monitor dengan cara mengklik icon Serial  Monitor (lihat Gambar  5.1).  Jika  Anda  menggunakan  versi Arduino IDE selain versi 1.63, mungkin letaknya berbeda.

Sebelum  muncul  pesan  “Done  Uploading”,  maka  Serial  Monitor belum  bisa  dibuka.  Setelah Serial  Monitor  dibuka,  maka  setidaknya Anda akan melihat pesan seperti pada Gambar 5.2.
Tampilan serial monitor
Tampilan serial monitor

Tracking timeDelay

Kali ini kita akan men-tracking  timeDelay  dan mengirimkan pesan ke komputer bahwa LED sedang nyala atau mati. LED yang akan kita gunakan  untuk  percobaan  adalah  LED  yang  ada  pada  board Arduino yang  terhubung  ke  pin  13,  perhatikan  LED  dengan  label  “L”  pada board Arduino.

Sketch Program tracking timeDelay

// Free Ebook Arduino
// www.elangsakti.com 
// coder elangsakti

const int LED = 13;
int timeDelay = 3000;

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

Serial.println("pin 13 as OUTPUT");
pinMode(LED, OUTPUT);

Serial.println("LED = ON, selama timeDelay = 3 detik");
digitalWrite(LED, HIGH);
delay(timeDelay);
}

void loop() {
if(timeDelay <= 100){
Serial.println("Reset timeDelay to 1000");
timeDelay = 1000;
}

Serial.println();
Serial.print("timeDelay = ");
Serial.println(timeDelay);

Serial.println("LED = OFF");
digitalWrite(LED, LOW);
delay(timeDelay);
Serial.println("LED = ON");
digitalWrite(LED, HIGH);
delay(timeDelay);

timeDelay = timeDelay - 100;
}

Program  pada  Sketch  5.2  merupakan  contoh  simpel  untuk melakukan  debugging,  artinya  kita ingin  mengetahui  apa  yang dilakukan program dengan mengetahui setiap variabel dan bagaimana 
perilaku  program  tersebut.  Setidaknya  program  pada  Sketch  5.2 memiliki output seperti berikut:

pin 13 as OUTPUT
LED = ON, selama timeDelay = 3 detik

timeDelay = 3000
LED = OFF
LED = ON

timeDelay = 2900
LED = OFF
LED = ON

timeDelay = 2800
LED = OFF
LED = ON

dst…



0 comments:

Post a Comment

Silakan dikomentari

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Hot Sonakshi Sinha, Car Price in India