Sunday, August 21, 2016

MEMBUAT ARDUINO TIMER CONTROL RELAY

Akhir nya malam ini ada waktu untuk ngetik , dan saya akan berbagi sebuah project sederhana manggunakan arduino yang berbasis timer , dan kita akan menggunakan timer internal dari arduino untuk mengontrol relay switch, yang bisa di gunakan untuk mengontrol peralatan listrik ataupun yang lain nya dengan timer, sistem kerja project ini sangat sederhana yaitu arduino mengontrol pin out yang terhubung dengan driver relay dan mengaktifkan driver relay tersebut dengan jeda waktu.

Project ini juga menggunakan sebuat buzzer yang akan berbunyi apabila timer telah menunjukan nilai nol (0) , dan utuk mengulangi start nya dengan menekan tombol reset pada arduino, maka program akan dijalankan ulang, pada project ini bisa untuk di modifikasi menjadi alat apa saja yang berhubungan dengan timer , asal jangan di jadikan timer untuk detonator BOM ya..hehehe

Pertama tama siapkan board arduino, disini saya menggunakan arduino uno R3 , siapkan juga buzzer , LCD dan Relay, lalu di rangkai sesuai skematik di bawah ini :

skematik relay timer switch

Pada skematik di atas terdapat Potensio meter 10k (P1 10K) sebenar nya itu adalah opsional, bisa di tambahkan ataupun di hilanggkan dengan menjumper nya, dan fungi potensio tersebut adalah untuk mengatur brightnes LCD , untuk sketc nya seperti berikut :


#include <LiquidCrystal.h>
LiquidCrystal lcd(7,8,9,10,11,12);
int runTimer = 1; 
int runFor = 60; // timer
int buzzerPin = 13;
int relayPin=4;
int data = 0;

void setup() {
   pinMode(buzzerPin, OUTPUT);
   pinMode(relayPin,OUTPUT);
   lcd.begin(16, 2);
}

void loop() {
   if(runTimer == 1){ 
      digitalWrite(relayPin,LOW); // relay OFF
      
      lcd.clear();
      lcd.print("TIMER=");
      //Start timer
      timer(); 
   } else {
      digitalWrite(relayPin,HIGH); // relay ON 
     
   }
   runTimer = 0;
   lcd.noDisplay();
   delay(250);
   for(int duration = 0; duration < 100; duration ++){
      digitalWrite(buzzerPin, HIGH);
      delayMicroseconds(500);
      digitalWrite(buzzerPin, LOW);
      delayMicroseconds(500);
   } 
   lcd.display();
   delay(250);
}

void timer() {
   for(int timer = runFor;timer > 0; --timer){
   if(timer >= 10) {
      lcd.setCursor(6,0); 
   } else {   
      lcd.setCursor(6,0);
      lcd.print("0");
      lcd.setCursor(7,0);
   }
   lcd.print(timer);
   lcd.print(" SECOND!");
   delay(1000);
   }
   lcd.setCursor(0,0);
   lcd.clear();
   lcd.print(" TIMER ALERT!");  
}

Compile program di atas dan download ke arduino , setelah itu silakan di ujicoba alat nya, untuk dokumentasi alat yang sudah jadi seperti gambar di bawah ini :

arduino timer control relay

Selesai sudah project kali ini..heheh.., terimakasih telah berkunjung ke blog ini apabila ada kesalahan dan pertanyaan silakan isikan di kolom komentar, terimakasih.




Saturday, August 6, 2016

ARDUINO PROGRAMING MENGGUNAKAN LCD

Setelah beberapa hari aku tidak membuat artikel yang di sibukan dengan kegiatan lain akhir nya ada sedikit waktu buat nulis lagi di blog ini , kali ini yang di bahas adalah tentang arduino programing lcd ,ini merupakan dasar dari penggunaan lcd pada arduino, Lcd yang di gunakan adalah tipe LCD 16x2 yang arti nya memiliki jumlah enam belas karakter dan dua baris, mempunyai 192 karakter tersimpan dan mempunyai mode alamat 4Bit dan 8Bit dan tentu saja fitur back light agar karakter nya jelas terlihat :D

untuk spesifikasi lebih lanjut bisa di lihat gambar di bawah ini :

ARDUINO PROGRAMING LCD
data sheet LCD 16x2

ARDUINO PROGRAMING LCD

pin pada LCD 16x2
Pada arduino programing kali ini akan di jelaskann juga fungsi dari source code nya , kenapa di jelaskan ?? karena simpel heheh.., dan untuk  shematic arduino programing LCD 16x2 dapat di lihat di bawah ini :

ARDUINO PROGRAMING LCD
schematik arduino LCD

Rasanya cukup penjelasan arduino lcd di atas selanjut nya ayo melihat source code nya .., sebenar nya sorce code ini adalah Sketchbook dari IDE arduino yang sudah di sediakan di dalam folder IDE arduino, ya karena aku ini lagi iseng-iseng ngeblog biarpun hal kecil yang penting blog nya terisi..hehe, oke mari lanjut source code di bawah ini :

 #include <LiquidCrystal.h>// library LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // pin pada arduino ke LCD

void setup() {
  // untuk menseting baris dan kolom pada LCD:
  lcd.begin(16, 2); //pixel dari LCD yang kita gunakan
  lcd.setCursor(0, 0);
  lcd.print("Belajar Arduino");
  lcd.setCursor(0, 1);
  lcd.print("informatikkita.blogspot.co.id");
}

void loop() { // mengulaang program

Pada souce di atas udah aku terangkan apa fungsi-fungsi nya jadi ayo di buat biar bisa LCD an.., heheh kayak tivi ajah.. :D , gambar di bawah ini contoh yang udah jadi :

ARDUINO PROGRAMING LCD
contoh arduino LCD yang sudah di program

silakan kalo mau di praktekan di jamin 100% bisa , sekian dan terimakasih untuk yang sedang berkunjung di blog ini jangan lupa nantikan postingan berikut nya :), apabila ada pertanyaan silakan di isikan di kolom komentar, terimakasih.


Monday, August 1, 2016

PROGRAM JAVA SEDERHANA DENGAN JOptionPane

Kembali lagi kita akan membahas tentang Java , pada kali ini kita akan membuat program java sederhana dengan menambahkan class JOptionPane, pengertian JoptionPane adalah class yang di gunakan sebagai standar dialog box untuk antar muka pengguna grafis (GUI) untuk memfasilitasi entry data dan output data dan memberikan informasi kepada pengguna aplikasi. Dan tentunya kita akan menggunakan juga input dari keyboard dengan class BufferedReader seperti pada program sebelum nya di sini , mari kita lihat code di bawah ini :

tuliskan code di atas dengan notepad kesayangan masing-masing setelah itu simpan dengan nam class GetInputFromKeyboard2 , setelah itu compile dan jalankan dengan command prompt atau terminal dengan perintah seperti program sebelum nya disini apabila tidak terjadi kesalahan maka progaram akan berjalan seperti scren shoot berikut :



tampilan JOptionPane (input nama)



tampilan pada command prompt setelah JOptionPane tertutup

sekian dulu progran java kali ini, di lain waktu akan kita bahas program java selanjut nya , apabila ada kesalahan dan pertanyaan silakan isikan di kolom komentar.






MEMBUAT APLIKASI ANDROID MEMBACA SENSOR MAGNETIC FIELD

Kembali lagi saya posting di blog saya ini, kali ini posting saya berhubungan dengan sensor pada device android yaitu magnetic field , tahukah anda bahwa device android sudah di bekali dengan berbagai macam sensor namun tentunya tidak semua device juga yang memiliki banyak sensor, sensor magnetic field sendiri berfungsi untuk mendeteksi medan magnet di sekitar smartphone atau pun untuk penunjang kerja sensor compass, sudah banyak juga aplikasi di playstore yang menggunakan sensor magnetic tersebut contoh nya metal detector dan lain sebagai nya, dan kali ini saya akan memberikan source code Eclipse yang mungkin bisa di kembangkan menjadi lebih baik, kenapa saya harus pake eclipse ?? ya karena laptop saya sudah tua dan berumur jadi tidak memungkinkan menggunakan android studio atau compiler lain nya..hehe, langsung saja pertama-tama buatlah project pada eclipse dengan nama package example.magnetic atau dengan nama masing-masing ,setelah itu copy atau tulis ulang code di bawah:

pada activity_main.xml isikan kode berikut

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/mag_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Magnetometer Raw Data (μT)" />

    <TextView
        android:id="@+id/mag_x"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="X:" />

    <TextView
        android:id="@+id/mag_y"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Y:" />

    <TextView
        android:id="@+id/mag_z"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Z:" />

</LinearLayout>

dan pada Main_Activity.java isikan kode berikut :

package com.example.magnetic;

import android.app.Activity;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends Activity implements SensorEventListener{

private SensorManager mSensorManager;
private Sensor mMagnetometer;
private TextView axisX, axisY, axisZ;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

axisX = (TextView) findViewById(R.id.mag_x);
axisY = (TextView) findViewById(R.id.mag_y);
axisZ = (TextView) findViewById(R.id.mag_z);

mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mMagnetometer= mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
}

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// apabila ingin menambahkan nilai akurasi sensor.
}

@Override
public void onSensorChanged(SensorEvent event) {
float x = event.values[0];
   float y = event.values[1];
   float z = event.values[2];

   axisX.setText("X: "+x);
   axisY.setText("Y: "+y);
   axisZ.setText("Z: "+z);
}

@Override
 protected void onResume() {
   super.onResume();
   mSensorManager.registerListener(this, mMagnetometer, SensorManager.SENSOR_DELAY_NORMAL);
 }

 @Override
 protected void onPause() {
   super.onPause();
   mSensorManager.unregisterListener(this);
 }
}

setelah selesai cobalah untuk me RUN code di atas apabila tidak terjadi erorr maka bisa mencoba menginstal nya di device android yang memiliki sensor Magnetic Field , apa bila terjadi erorr cobalah untuk mengoreksi pada logchat apa penyebab eror tersebut , di bawah ini scren shoot aplikasi yang sudah saya instal :

icon aplikasi dari eclipse

dan setelah saya jalankan di handphone saya ternyata :

padasaat aplikasi di jalankan nilai sensor tidak terbaca

handphoe baru saya tidak mendukung sensor mangnetic field karena sebelum nya saya menginstal aplikasi ini pada handphone yang lama, pada saat posting inilah saya menginstal kembali hmm.., ya sudahlah saya hanya melampirkan bukti bahwa aplikasi nya berjalan, sekian posting saya kali ini apabila ada kesalahandan pertanyaan silakan isikan di kolom komentar.

Saturday, July 30, 2016

SERIAL KOMUNIKASI JAVA DAN ARDUINO

Berjumpa lagi di posting saya kali ini yang akan membuat sebuah program komunikasi antara PC/laptop dengan Mikrokontroler arduino, sistem kerja program ini adalah mengirim data serial dari PC/laptop keperangkat arduino dengan komunikasi serial, apa itu komunikasi serial ??,yaitu komunikasi yang mengirim data per-bit secara berurutan dan bergantian, komunikasi serial tersebut di bagi menjadi dua yaitu :

1. Synchronous serial adalah komunikasi dimana hanya ada satu pihak (pengirim atau penerima) yang menghasilkan clock dan mengirimkan clock tersebut bersama-sama dengan data. Contoh pengunaan synchronous serial terdapat pada transmisi data keyboard.

2. Asynchronous serial adalah komunikasi dimana kedua pihak (pengirim dan penerima) masing-masing menghasilkan clock namun hanya data yang ditransmisikan, tanpa clock. Agar data yang dikirim sama dengan data yang diterima, maka kedua frekuensi clock harus sama dan harus terdapat sinkronisasi. Setelah adanya sinkronisasi, pengirim akan mengirimkan datanya sesuai dengan frekuensi clock pengirim dan penerima akan membaca data sesuai dengan frekuensi clock penerima. Contoh penggunaan asynchronous serial adalah pada Universal Asynchronous Receiver Transmitter (UART) yang digunakan pada serial port (COM) komputer.

setelah sedikit kita pahami tentang komunikasi serial mari kita lajutkan untuk membuat program tersebut dan menuliskan souce code di bawah ini :

source code untuk arduino

proses download sketch arduino


setelah selesai dan dicompile hingga tidak terdapat error maka selanjut nya download ke dalam arduino. Sampai di sini kita sudah siap sampai dengan tahap Hardware nya, jadi kita lanjutkan untuk membuat souce code java dengan NetBeans dan saya tidak akan menuliskan souce code di postingan kali ini tapi saya akan melampirkan project dari netbeans tersebut, di bawah ini adalah contoh program yang telah di jalan kan :

progran java netbeans

dari screen shoot di atas saya akan memberikan sedikit gambaran , pada kolom masukan data adalah untuk memasukan command serial yang akan di kirim ke arduino, pada kolom port adalah untuk mencari port dari serial yang sedang aktif. Dibawah ini adalah contoh video yang saya buat:




silakan di kembangkan program tersebut sehingga bisa lebih canggih lagi. sekian posting saya kali ini apabila ada pertanyaan dan komentar silakan isikan di kolom komentar, untuk source code java bisa di download di link di bawah ini:



Friday, July 29, 2016

MENGGUNAKAN CLASS BUFFEREDREADER PADA JAVA

Setelah posting kemarin mengenai pemrograman pada java untuk menampilkan variable sekarang saya akan melanjutkan program java ke tahap berikut nya, yaitu penggunaan input Keyboard dengan class BufferedReader , program ini bertujuan untuk mengambil input dari keyboard dengan mengetikan karakter dan program akan menampilkan karakter yang kita masukan, untuk program kali ini kita belum menggunakan GUI karena masih saya postingkan program sederhana java, kompilasi juga menggunakan command prompt atau terminal seperti program sebelum nya untuk souce code nya seperti gambar di bawah ini :

contoh source kode java dengan class BuffereadReader

seperti pada program sebelum nya yaitu kita ketikan source code di atas dengan notepad atau sejenis nya dan setelahitu menyimpan nya dengan nama class di atas yaitu class BuffereadReader simpan dengan memberikan exstensi java, setelah tersimpan dan di pastikan benar penulisan souce code nya maka kita lanjutkan tahap kompilasi , untuk tahap ini saya rasa tidak perlu di jelaskan karena sama dengan tahap sebelum nya , contoh gambar setelah di run :

contoh gambar saat menerima input Keyboard

apabila penulisan souce code tidak ada kesalahan maka pada saat di jalankan akan seperti gambar di atas , lalu cobalah untuk mengetikan karakter pada keyboard maka program java akan menyalin nya ke command prompt, dan selanjut nya kita jalan kan lagi dengan enter maka akan seperti gambar di bawah ini :

contoh gambar program berjalan

sekian posting singkat saya untuk java hari ini besok kita lanjutkan dengan program berikut nya, apabila ada kesalahan atau komentar ataupu pertanyaan silakan mengisikan di kolom komentar terimakasih.




Thursday, July 28, 2016

DASAR PEMROGRAMAN JAVA MENAMPILKAN VARIABLE DENGAN JAVA

kali ini saya akan berbagi tentang pemrograman java, posting kali ini akan mempelajari java dari program sederhana dan sekalian saya sambil belajar juga karena saya juga belum begitu expert menggunakan java masih 1% kayak nya ..heheh, program yang akan saya buat kali ini adalah menampilkan Variable dengan java , yang pertama sebelum membuat program ini adalah pc atau laptop sudah di instal java dengan benar karena kita akan mencompile dengan command promp atau termimal, untuk langkah nya sebagai berikut:


1. buka notepad atau sejenis nya dan ketikan seperti di bawah :

ingat " nama class harus sama dengan nama file waktu di simpan" pada gambar di atas nama file adalah variable.java dengan class veriable.

setelah selesai menyalin code di atas dan menyimpan pada directory yang di inginkan sekarang kita akan mencompile nya dengan command prompt atau terminal perhatikan gambar di bawah :

untuk melakukan compilasi kita harus menuju ke directory file nya dengan perintah cd (spasi) nama folder lalu ketikan javac jangan lupa untuk mengakhiri nama file nya dengan exstensi .java , lalu eksekusi dengan Enter dan tunggu beberapa saat apabila command prompt kembali ke directory file tersebut berarti proses compile sukses (seperti gambar di atas) apabila terjadi eror berarti ada kesalahan pada code.

untuk menjalankan program java tersebut kita run dengan perinta java namafile untuk menjalankan nya kita tidak perlu menambahkan ekstensi seperti pada saat compile untuk contoh seperti gambar di bawah :

contoh program yang telah di jalankan 
sekian dulu postingan saya apabila ada kesalahan dan pertanyaan silakan isikan di kolom komentar, untuk pemrograman java besok kita lanjut kembali ke tahap berikut nya  terimakasih.



Monday, July 25, 2016

CARA INSTAL ADB ANDROID WINDOWS MAC OS X DAN LINUX

Android adalah sistem operasi berbasis linux yang opensource dan merupakan sistem operasi yang sedang populer , kali ini saya akan membagikan cara instalasi ADB yaitu sistem komunikasi antara device android dengan PC atau laptop dengan tools ADB ini maka kita dapat mengeksekusi perintah ADB untuk mengendalikan dan membuka akses dari device android, tools ini sangat di perlukan untuk para Developer Aplikasi android ataupun Oprekers Android karena tanpa tools ADB kita tidak bisa memasuki root akses dari android namun untuk melakukan root akses kita tudak hanya menggunakan ADB namun kita memerlukan tools root dan tools root tersebut tidak cocok dengan semua device android namun banyak kok di google cara root device android ,  untuk cara instalasi ADB sebagai berikut

Untuk MAC OS X dan LINUX

command untuk instalasi
bash <(curl https://raw.githubusercontent.com/corbindavenport/nexus-tools/master/install.sh)

proses downloading ADB MAC OS X

proses setelah terinstal ADB

untuk proses penginsatalan pada MAC OS X dan LINUX sama seperti di atas dan untuk uninstal ADB menggunakan comman berikut :
bash <(curl https://raw.githubusercontent.com/corbindavenport/nexus-tools/master/uninstall.sh)

Sedangkan untuk windows kita tidak memerlukan perintah terminal jadi kita hanya menginstal ADB installer yang bisa di download di Android Development secara gratis.

sedangkan untuk command ADB sebagai berikut :
  •  adb devices : menampilkan daftar perangkatAndroid yang terkoneksi ke PC (nanti akan di tampilkan device ID di command)
  • adb install : instal apk (aplikasi Android) ke handphone misal seperti picshop.apk
  • adb uninstall : uninstall aplikasi dari handphone. Di sini input yang dimasukkan adalah namapackage, seperti com.whatsapp
  • adb reboot : reboot device dan kemudian masuk ke bootloader atau recovery. Contoh: adb reboot recovery
  • adb push : unggah file dari PC ke perangkat Android. Contoh: adb push file.txt /sdcard/
  • adb pull : copy file dari perangkat Android ke PC. Contoh: adb pull /sdcard/file.txt .
  • adb logcat : menampilkan proses yang sedang terjadi di perangkat (debug). Sangat berguna untuk debug aplikasi.
  • adb shell : masuk ke linux command shell di perangkat Android.
  • Untuk daftar command lengkapnya, bisa  kunjungi http://developer.android.com/tools/help/adb.html
terimakasi telah mengunjungi blog saya , bila ada pertanyaan tuliskan di komentar.




MEMBUAT JAM DIGITAL SINKRON WIFI DENGAN ESP8266

Kembali lagi saya akan membuat alat yang masih sekeluarga juga dengan arduino kenapa saya pake arduino ya karena katanya gampang di pelajari hehe.., jadi sistem kerja alat ini adalah mensinkronkan jam internet dengan koneksi wifi jadi jam kita tidak akan meleset seperti contoh apabila kita membuat jam digital menggunakan RTC (real time clock) jam kita akan bergeser di karenakan RTC memerlukan suply untuk penyimpanan data dan mengaktifkan clock pada saat rangkaian di matikan / tidak mendapat tegangan, ESP8266 merupakan modul wifi untuk arduino namun kita tidak menggunakan board arduino karena kita akan memflash ESP8266 dengan IDE arduino.
untuk komponen yang di perlukan adalah sebagai berikut :

1. tentunya ESP8266
2. SHIFT Register 74HC595 dua buah
3. TR BC547 empat buah
4. 7 segment commont cathode empat buah
5. Resistor
  • 1K x4
  • 100ohm x7
  • ~390ohm to 680ohm x1
  • 220ohm x1
  • 390ohm x1
6. Capacitor 0.01 uf

setelah semua komponen yang di perlukan di atas lengkap kita lanjutkan untuk membuat PCB yang bisa di desain sendiri dengan EagleCAD atau sejenis nya , untuk schematic nya sebagai berikut :

shematic ESP8266 jam WIFI

setelah membuat PCB bisa di lanjutkan memasang komponen seperti IC dan kawan kawan , untuk melakukan flash ESP8266 kita memerlukan kabel FTDI jadi jangan gunakan kabel USB aja ya.., di mana mau di tancapkan hehehe, untuk USB to FTDI bisa di cari di toko elektronik atau semacam nya.., dan untuk konfigurasi nya seperti berikut :


setelah memahami konfigurasi nya bisa di lanjutkan ke bawah apabila belum anda bisa mencari informasi nya di google , dan untuk cara flashing nya sperti link berikut ini :

http://www.whatimade.today/esp8266-easiest-way-to-program-so-far/

tahapan selanjutnya setelah melakukan flashing dengan frimware yang saya sediakan di bawah di lanjutkan dengan memasang ESP8266 ke PCB yang telah di buat sesuaikan konfogurasi nya dengan shcematuc di atas setelah itu barulah untuk memberi suply 5v atau dengan suply dari USB to FTDI

ini adalah foto JAM yang telah jadi

terimakasih telah mengunjungi blog saya apabila ada pertanyaan bisa mengisikan di kolom komentar terimakasih.


Thursday, July 21, 2016

Membuat pembuang air banjir otomatis (waster water flooding)

Kali ini saya akan membagikan hasil kreasi saya, kira kira saya buat sekitar tahun 2013, ya itu suatu alat yang di gunakan untuk membuag genagan air yang meluap dan dapat di aplikasikan pada sungai, waduk, dan lain sebagai nya, alat ini berbasis otomatis yang di bangun di atas board arduino NG karena saya clone sendiri dengan ATMega 8 , namun jika mau membuat pada boar arduino lain juga bisa.

pada dasar nya prinsip kerja alat ini adalah mendeteksi ketinggian air dan mengirimkan sinyak ke mikrokontriler untuk menggerakan relay yang bekerja memutus dan menyambungkan tegangan Motor atau Pompa, alat ini juga di lengkapi dengan indikator LED yang berbeda warna sesuai dengan keadaan ketinggian permukaan air dan terdapat juga LCD 16x2 yang menginformasikan kerja alat dan kerja pada Motor atau Pompa

sesor yang digunakan pada rangkaian ini adalah Transistor PNP yang berfungsi sebagai penguat sinyal input dari Probe yang menyentuh air, sedangkan prob bisa di buat dengan menggunakan plat besi atau dengan mengguankan pipa stainles

sekian saja penjelasan dari saya apabila berminat untuk membuat alat tersebut saya sediakan source code nya yang bisa di download pada link di bawah , saya lampirkan hasil alat yang saya buat beserta konfigurasi wiring nya, untuk step pembuatan memang lupa memfoto jadi apabila ada pertanyaan silakan isikan do komentar














Aplikasi MAC OS X Panic Coda 2.5.9 Full Serial KEYGEN

Untuk pengguna MAC OS X kali ini saya akan membagikan aplikasi Panic Coda yaitu aplikasi untuk web development tools ini merupakan tools yang sangat simple dan sederhana karena sebuah client FTP, CSS editor, Sistem kontrol dan lain sebagainya sudah di tanamkan dalam aplikasi tersebut sehingga memungkinkan untuk mempermudah pekerjaan , untuk cara penginstalan aplikasi tersebut seperti biasa tinggal drag and drop maka aplikasi bisa di jalankan dan aplikasi yang saya bagikan ini full version, untuk screenshot nya seperti di bawah ini :


ok tanpa basa-basi silakan di unduh aplikasi nya pada link di bawah , maaf saya hanya mereview sedikit tentang panic coda untuk tutorial dan review lebih luas bisa di cari di google



Terimakasih sudah mengunjungi blog saya , apabila mau request aplikasi mac atau yang lain silakan berkomentar tanks.


Thursday, May 26, 2016

ANDROID KONTROL RGB LED

Setiap orang pasti punya mood yang berbeda-beda kali ini saya akan membagikan resep dan tentunya bukan resep kue..:D , resep kali ini adalah tentang suasana hati masing masing yang mungkin bisa di jinakan dengan warna, gak kepikiran kan kalo misal nya punya lampu tidur atau lampu kamar yang bisa di rubah warna nya sesuai keinginan dan suasana hati kita.., apa lagi kalo lagi berdua sama pasangan warna yang romantic pasti di perlukan mungkin resep ini bisa membantu, jaman sekarang siapa sih yang ngga punya ponsel pintar atau smart phone tentunya hampir semua masyarakt punya apa lagi dengan lahir nya sistem operasi ponsel berbasis linux ya itu android yang sudah menginstal banyak ponsel murah besutan cina tentunya sudah kaya kerupuk kan ada di mana-mana apalagi berbasis open source, ya kaya arduino juga yang mudah untuk di kembangkan seperti resep kali ini yang masih menggunakan arduino dan bluetooth, untuk bahan dari resep ini kita siapkan :

1.arduino board
2.RGB led
3.modul bluetooth HC-05

untuk pengaturan warna menggunakan aplikasi android yang di instal pada smarphone dengan bantuan koneksi serial dari bluetooth yang akan berkomunikasi dengan arduino untuk wiringnya seperti ini:


untuk wiring pemesangan bluetooth nya seperti berikut :

setlah semua komponen di rakit seperti gambar di atas maka kita lanjutkan eksekusi source code nya bisa copy source code di bawah ini :

#include <SoftwareSerial.h>
#include <Wire.h>//Include libraries: SoftwareSerial & Wire
SoftwareSerial BT(11,12); //Define PIN11 & PIN12 as RX and TX pins
 
//RGB LED Pins
int PIN_RED = 3;
int PIN_GREEN = 5;
int PIN_BLUE = 6;
//RED LED at Pin 13
int RED_LED = 13;
String RGB = ""; //store RGB code from BT
String RGB_Previous = "255.255.255)"; //preserve previous RGB color for LED switch on/off, default White
String ON = "ON"; //Check if ON command is received
String OFF = "OFF"; //Check if OFF command is received
boolean RGB_Completed = false;
 
void setup() {
  Serial.begin(9600); //Arduino serial port baud rate:9600
  BT.begin(9600);//My HC-05 module default baud rate is 9600
  RGB.reserve(30);
 
  pinMode(RED_LED, OUTPUT); 
  //Set pin13 as output for LED, 
  // this LED is on Arduino mini pro, not the RGB LED
}
 
void loop() {
  // put your main code here, to run repeatedly: 
  
  //Read each character from Serial Port(Bluetooth)
  while(BT.available()){
    char ReadChar = (char)BT.read();
 
    // Right parentheses ) indicates complet of the string
    if(ReadChar == ')'){
      RGB_Completed = true;
    }else{
       RGB += ReadChar;
    }
  }
  
  //When a command code is received completely with ')' ending character
  if(RGB_Completed){
   //Print out debug info at Serial output window
      Serial.print("RGB:");
      Serial.print(RGB);
      Serial.print("     PreRGB:");
      Serial.println(RGB_Previous);
      
      if(RGB==ON){
          digitalWrite(13,HIGH);
          RGB = RGB_Previous; //We only receive 'ON', so get previous RGB color back to turn LED on
          Light_RGB_LED();          
 
      }else if(RGB==OFF){
          digitalWrite(13,LOW);
          RGB = "0.0.0)"; //Send OFF string to turn light off
          Light_RGB_LED();
      }else{
          //Turn the color according the color code from Bluetooth Serial Port
          Light_RGB_LED();   
          RGB_Previous = RGB;     
      }
      //Reset RGB String  
 
      RGB = "";
      RGB_Completed = false;
      
    
  } //end if of check if RGB completed
  
} // end of loop
 
void Light_RGB_LED(){
 
  int SP1 = RGB.indexOf('.');
  int SP2 = RGB.indexOf('.', SP1+1);
  int SP3 = RGB.indexOf('.', SP2+1);
  String R = RGB.substring(0, SP1);
  String G = RGB.substring(SP1+1, SP2);
  String B = RGB.substring(SP2+1, SP3);
 
  //Print out debug info at Serial output window
  Serial.print("R=");
  Serial.println( constrain(R.toInt(),0,255));
  Serial.print("G=");
  Serial.println(constrain(G.toInt(),0,255));
  Serial.print("B=");
  Serial.println( constrain(B.toInt(),0,255));
  //Light up the LED with color code
 
//**2014-09-21
//Because these RGB LED are common anode (Common positive)
//So we need to take 255 to minus R,G,B value to get correct RGB color code
  analogWrite(PIN_RED,  (R.toInt()));
  analogWrite(PIN_GREEN, (G.toInt()));
  analogWrite(PIN_BLUE,  (B.toInt()));
 
setelah di copy pada sofware arduino silakan di compile apakah terdapat eror , setelah di compile dengan sukses tanpa eror di lanjutkan mendownload program tersebut ke board arduino dan mari kita pasang supply project kita nah loh terus aplikasi nya gimana?? , tenang untuk aplikasi nya bisa download di link ini.

setelah di download dan di instal pada smartphone lalu kita pair device nya setelah terhubung lalu kita coba ganti warna lewat aplikasi tersebut , gimana keren kan..

setelah semua tahap di atas selesai bisa di buatkan case untuk lampu tersebut dan di pasang atau di letakan di mana yang di kehendaki. apabila ada eror atau membingungkan bisa berkomentar di bawah.


Tuesday, May 24, 2016

HAPUS BERSIH SISA FILE APLIKASI MAC OS X

kali ini saya akan membagikan aplikasi untuk MAC OS X , pengalaman yang terjadi pada saya memang melakukan instalasi aplikasi pada MAC cukup drop folder saja begitu juga saat uninstal aplikasi kita bisa langsung menghapus foleder nya namun dengan cara itu folder sisa dari aplikasi yang di ununstal tetap masih ada dan membuat memori masih menyimpan folder sampah dari aplikasi tersebut untuk mengatasi nya maka saya akan bagikan aplikasi untuk uninstal pada MAC OS X , sebenar nya aplikasi ini berbayar sekitar 12 dolar namun karena saya mendapatkan key nya maka saya share aja di blog saya ini contoh scren shoot aplikasi nya :

cara penggunaan aplikasi AppZapper cukup mudah ya itu tinggal pilih aplikasi mana yang akan di hapus / uninstal setelah itu tinggal click Zap! , ok selamat mencoba link download di bawah 

Monday, May 23, 2016

MEMBUAT POV DISPLAY ARDUINO

POV display atau PERSISTENCE OF VISION adalah suatu sarana yang di gunakan untuk hiburan atau periklanan yang dapat di aplikasikan pada benda yang bergerak atau berputar , di luar negeri sendiri sudah ada produsen yang membuat POV display salah satu nya Monkey Electric yang membuat pov display berwarna dan digunakan untuk periklanan ataupun style, untuk membuat pov display sederhan dengan arduino komponen yang di butuhkan adalah :

1. Arduino
2. led
3. Bateray 9 v

setelah mempunyai komponen yang di butuhkan sekarang kita lanjutkan membuat sorce code nya :

// defining the picts
 
int off[] = {
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0};
 
int heart[] = {
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,1,1,1,1,0,0,0,0,0,
  0,1,1,1,1,1,1,0,0,0,0,
  0,1,1,1,1,1,1,1,0,0,0,
  0,0,1,1,1,1,1,1,1,0,0,
  0,0,0,1,1,1,1,1,1,1,0,
  0,0,1,1,1,1,1,1,1,0,0,
  0,1,1,1,1,1,1,1,0,0,0,
  0,1,1,1,1,1,1,0,0,0,0,
  0,0,1,1,1,1,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0};
 
int greek[] = {
  1,1,0,0,0,0,0,0,0,0,0,
  1,1,0,0,0,0,0,0,0,0,0,
  1,1,0,0,1,1,1,1,1,1,0,
  1,1,0,0,1,1,1,1,1,1,0,
  1,1,0,0,1,1,0,0,1,1,0,
  1,1,1,1,1,1,0,0,1,1,0,
  1,1,1,1,1,1,0,0,1,1,0,
  0,0,0,0,0,0,0,0,1,1,0,
  0,0,0,0,0,0,0,0,1,1,0,
  1,1,1,1,1,1,1,1,1,1,0,
  1,1,1,1,1,1,1,1,1,1,0};
 
int butterfly[] = {
  0,0,0,0,0,0,0,0,0,0,0,
  0,1,1,1,1,0,1,1,1,1,0,
  0,1,0,0,1,0,1,0,0,1,0,
  0,0,1,0,1,1,1,0,1,1,0,
  1,1,1,1,1,1,1,1,1,1,1,
  0,1,1,0,0,0,0,0,0,0,0,
  1,1,1,1,1,1,1,1,1,1,1,
  0,0,1,0,1,1,1,0,1,1,0,
  0,1,0,0,1,0,1,0,0,1,0,
  0,1,1,1,1,0,1,1,1,1,0,
  0,0,0,0,0,0,0,0,0,0,0};
 
int chakana[] = {
  0,0,0,0,1,1,1,0,0,0,0,
  0,0,1,1,1,0,1,1,1,0,0,
  0,0,1,1,0,0,0,1,1,0,0,
  0,1,1,0,0,1,0,0,1,1,0,
  1,1,0,0,1,1,1,0,0,1,1,
  1,0,0,1,1,0,1,1,0,0,1,
  1,1,0,0,1,1,1,0,0,1,1,
  0,1,1,0,0,1,0,0,1,1,0,
  0,0,1,1,0,0,0,1,1,0,0,
  0,0,1,1,1,0,1,1,1,0,0,
  0,0,0,0,1,1,1,0,0,0,0};
 
int triangle[] = {
  1,1,0,0,0,0,0,0,0,0,0,
  1,1,1,0,0,0,0,0,0,0,0,
  1,1,1,1,1,0,0,0,0,0,0,
  1,1,1,1,1,1,1,0,0,0,0,
  1,1,1,1,1,1,1,1,1,0,0,
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,0,0,
  1,1,1,1,1,1,1,0,0,0,0,
  1,1,1,1,1,0,0,0,0,0,0,
  1,1,1,0,0,0,0,0,0,0,0,
  1,1,0,0,0,0,0,0,0,0,0};
 
int diagonal[] = {
  1,0,0,0,0,1,0,0,0,1,1,
  0,0,0,0,1,0,0,0,1,1,1,
  0,0,0,1,0,0,0,1,1,1,0,
  0,0,1,0,0,0,1,1,1,0,0,
  0,1,0,0,0,1,1,1,0,0,0,
  1,0,0,0,1,1,1,0,0,0,0,
  0,0,0,1,1,1,0,0,0,0,1,
  0,0,1,1,1,0,0,0,0,1,0,
  0,1,1,1,0,0,0,0,1,0,0,
  1,1,1,0,0,0,0,1,0,0,0,
  1,1,0,0,0,0,1,0,0,0,1};
 
int full[] = {
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,1};
 
int seta[] = {
  0,0,1,1,1,1,1,1,1,0,0,
  0,0,1,1,1,1,1,1,1,0,0,
  0,0,1,1,1,1,1,1,1,0,0,
  0,0,1,1,1,1,1,1,1,0,0,
  0,0,1,1,1,1,1,1,1,0,0,
  1,1,1,1,1,1,1,1,1,1,1,
  0,1,1,1,1,1,1,1,1,1,0,
  0,0,1,1,1,1,1,1,1,0,0,
  0,0,0,1,1,1,1,1,0,0,0,
  0,0,0,0,1,1,1,0,0,0,0,
  0,0,0,0,0,1,0,0,0,0,0};
 
int square2[] = {
  1,0,0,0,0,0,0,0,0,0,1,
  1,0,0,0,0,0,0,0,0,0,1,
  1,0,1,1,1,1,1,1,1,0,1,
  1,0,1,1,1,1,1,1,1,0,1,
  1,0,1,1,0,0,0,1,1,0,1,
  1,0,1,1,0,0,0,1,1,0,1,
  1,0,1,1,0,0,0,1,1,0,1,
  1,0,1,1,1,1,1,1,1,0,1,
  1,0,1,1,1,1,1,1,1,0,1,
  1,0,0,0,0,0,0,0,0,0,1,
  1,0,0,0,0,0,0,0,0,0,1};
 
char caracter;
int lastPict[] = {
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0};
 
int dotTime;
 
// this constant won't change:
const int  buttonPin = 2;    // the pin that the pushbutton is attached to
 
// Variables will change:
int buttonPushCounter = 0;   // counter for the number of button presses
int buttonState = 0;         // current state of the button
int lastButtonState = 0;     // previous state of the button
 
//#include
 
void setup()
{
  // POV setting the ports of the leds to OUTPUT
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
 
  // defining the time dots appear (ms)
  dotTime = 5;
 
  // initialize the button pin as a input:
  pinMode(buttonPin, INPUT);
 
  // initialize serial communication:
  Serial.begin(9600);
 
}
 
//POV
void printPict(int row[]){
 
  int y;
 
  // printing the y1 row of the pict
  for (y=0; y<11; y++)
  {
    digitalWrite(y+3, row[y]);
  }
  delay(dotTime);
 
  // printing the y2 row of the pict
  for (y=0; y<11; y++)
  {
    digitalWrite(y+3, row[y+11]);
  }
  delay(dotTime);
 
  // printing the y3 row of the pict
  for (y=0; y<11; y++)
  {
    digitalWrite(y+3, row[y+22]);
  }
  delay(dotTime);
 
  // printing the y4 row of the pict
  for (y=0; y<11; y++)
  {
    digitalWrite(y+3, row[y+33]);
  }
  delay(dotTime);
 
  // printing the y5 row of the pict
  for (y=0; y<11; y++)
  {
    digitalWrite(y+3, row[y+44]);
  }
  delay(dotTime);
 
  // printing the y6 row of the pict
  for (y=0; y<11; y++)
  {
    digitalWrite(y+3, row[y+55]);
  }
  delay(dotTime);
 
  // printing the y7 row of the pict
  for (y=0; y<11; y++)
  {
    digitalWrite(y+3, row[y+66]);
  }
  delay(dotTime);
 
  // printing the y8 row of the pict
  for (y=0; y<11; y++)
  {
    digitalWrite(y+3, row[y+77]);
  }
  delay(dotTime);
 
  // printing the y9 row of the pict
  for (y=0; y<11; y++)
  {
    digitalWrite(y+3, row[y+88]);
  }
  delay(dotTime);
 
  // printing the y10 row of the pict
  for (y=0; y<11; y++)
  {
    digitalWrite(y+3, row[y+99]);
  }
  delay(dotTime);
 
  // printing the y11 row of the pict
  for (y=0; y<11; y++)   {     digitalWrite(y+3, row[y+110]);   }   delay(dotTime); }
  void loop() { 
    checkSerial(); printPict(lastPict); } 
  int checkSerial () { 
    //button loop 
  // read the pushbutton input pin:  
  buttonState = digitalRead(buttonPin); 
  // compare the buttonState to its previous state 
  if (buttonState != lastButtonState) {  
    // if the state has changed, increment the counter    
  if (buttonState == HIGH) {   
    // if the current state is HIGH then the button    
    // wend from off to on:  
    buttonPushCounter++;     
  Serial.println("on");    
  Serial.print("number of button pushes:  ");    
  Serial.println(buttonPushCounter, DEC);     }  
  else {    
    // if the current state is LOW then the button    
    // wend from on to off:  
    Serial.println("off");   
    }   }   // save the current state as the last state, 
    //for next time through the loop
    lastButtonState = buttonState;      
    if(buttonPushCounter == 0) {   
    memcpy(lastPict, off, sizeof(lastPict));   } 
    if (buttonPushCounter == 1) {   
    memcpy(lastPict, triangle, sizeof(lastPict));   }   if (buttonPushCounter == 2) {     memcpy(lastPict, diagonal, sizeof(lastPict));   }    if (buttonPushCounter == 3) {     memcpy(lastPict, seta, sizeof(lastPict));   }    if (buttonPushCounter == 4) {     memcpy(lastPict, greek, sizeof(lastPict));   }    if (buttonPushCounter == 5) {     memcpy(lastPict, chakana, sizeof(lastPict));   }      if (buttonPushCounter > 5) {
    buttonPushCounter = 0;
 
  }
    

dari source code di atas output yang di gunakan adalah 11 buah LED yang akan menjadi tampilan sebuah POV display , dapat kita lihat pada source code di atas 0 berarti led OFF dan 1 berarti led ON jadi bilangan 0 dan 1 adalah logika untuk menyalakan dan mematikan LED sesuai urutan nya agar menampilkan informasi atau gambar yang kita buat , cara membuat nya bisa dengan mengkonversi dari Microsoft Excel ataupun sofware konversi Biner, setelah mengcompile source code di atas download ke arduino , untuk konfigurasi LED nya sesuai dengan output source code tersebut yaitu untuk kutub + LED di hubungkan ke PIN 3-13 stelah selesai bisa di coba dengan mengayunkan kekanan dan kekiri apabila berhasil maka akan ditampilkan gambar dan huruf dan posisi led berkedip dengan cepat.

gambar di atas adalah contoh POV display yang telah saya buat.

ARDUINO THERMOMETER

Setelah di bahas tentang pengertian arduino sekarang mulailah membuat sebuah project ya itu arduino thermometer atau alat pengukur suhu yang bisa di aplikasikan dengan perangkat lain ataupun memodifikasi nya untuk komponen yang di perlukan adalah :

1. Board arduino (uno R3, Mini, dll)
2. I2c LCD adapter
3. Thermistor
4. Resistor 10K

karena project ini menggunakan LCD I2C maka akan di butuhkan library dari perangkat LCD tersebut , untuk library nya bisa mencari di google, sekarang kita mulai pembuatan source code nya

// membuat thermometer

// pin untuk termistor
#define THERMISTORPIN A0
// resistance at 25 degrees C
#define THERMISTORNOMINAL 11420
// temp. for nominal resistance (25 C)
#define TEMPERATURENOMINAL 25
// how many samples to take and average, more takes longer
// but is more 'smooth'
#define NUMSAMPLES 5
// The beta coefficient of the thermistor (usually 3000-4000)
#define BCOEFFICIENT 3900
// the value of the 'other' resistor
#define SERIESRESISTOR 10000

// then define the LCD
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x3F // <<- Add your address here.
#define Rs_pin 0
#define Rw_pin 1
#define En_pin 2
#define BACKLIGHT_PIN 3
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
LiquidCrystal_I2C lcd(I2C_ADDR, En_pin, Rw_pin, Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin);

int samples[NUMSAMPLES];

void setup(void) {
  lcd.begin (16, 2); // <<-- change for your LCD size if needed
  //LCD Backlight ON
  lcd.setBacklightPin(BACKLIGHT_PIN, POSITIVE);
  lcd.setBacklight(HIGH);
  lcd.home (); // go home on LCD
  lcd.print("Your temperature:");
}

void loop(void) {
  uint8_t i;
  float average;

  // take N samples in a row, with a slight delay
  for (i = 0; i < NUMSAMPLES; i++) {
    samples[i] = analogRead(THERMISTORPIN);
    delay(10);
  }

  // average all the samples out
  average = 0;
  for (i = 0; i < NUMSAMPLES; i++) {
    average += samples[i];
  }
  average /= NUMSAMPLES;

 
  // convert the value to resistance
  average = 1023 / average - 1;
  average = SERIESRESISTOR / average;

  float steinhart;
  steinhart = average / THERMISTORNOMINAL;     // (R/Ro)
  steinhart = log(steinhart);                  // ln(R/Ro)
  steinhart /= BCOEFFICIENT;                   // 1/B * ln(R/Ro)
  steinhart += 1.0 / (TEMPERATURENOMINAL + 273.15); // + (1/To)
  steinhart = 1.0 / steinhart;                 // Invert
  steinhart -= 273.15;                         // convert to C
  lcd.setCursor (0,1); // go to start of 2nd line
  lcd.print(steinhart);
  lcd.print(" Celsius  ");
 
  delay(1000);
}


setelah selesain menyalin kode di atas coba di compile dengan sofware arduino apakah terdapat eror, apabila terdapat eror coba analisa di mana letak eror tersebut , setelah di pastikan tidak terdapat eror maka kita lanjutkan konfigurasi wiring nya seperti berikut

setelah memasang konfigurasi wiring seperti di atas maka dilanjutkan mendownload source code yang telah di compile ke arduino , untuk konfigurasi LCD telah terdefinisi pada source code ( LiquidCrystal_I2C lcd(I2C_ADDR, En_pin, Rw_pin, Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin); ) maka untuk wiring LCD di sambungkan ke pin D4, D5, D6, D7 setelah semua wiring terpasang dengan benar maka saat nya di coba , apabila berhasil maka akan menunjukan suhu pada LCD tersebut.