Home / Mikrokontroler / Arduino / Tugas Akhir Elektro Monitoring Suhu Arduino Java

Tugas Akhir Elektro Monitoring Suhu Arduino Java

Tugas Akhir Elektro

Project kali ini berhubungan dengan tugas saya di kampus. Ceritanya nih, ketika dapet mata kuliah Java, si dosen ngasih tugas untuk buat aplikasi dengan menggunakan bahasa Java. Karena saya hobi maenan hardware, ya udah akhirnya ngusulin untuk buat aplikasi monitoring suhu aja. Ya tentunya pake hardware donk !! masa’ anak elektro ngodingnya gak pake hardware, kan cupu !! :D. Pengennya sih setelah ngerjain tugas ini saya bisa tau gimana caranya akses serial port di java, karena kalau buat aplikasi interfacing pakai java kan enak, bisa running di semua OS.

Singkat kata dan singkat cerita saya mulai ngerjain project sambil nyari tutorial tentang komunikasi serial dan menampilkan grafik di Java. Akhirnya nemu juga library untuk akses serial port yang bernama RxTx silahkan baca postingan saya sebelumnya tentang RxTx disini πŸ˜€

Oke, dari pada lama bercerita mending langsung aja kita ke inti permasalahannya

1. Rangkaian arduino + sensor suhu dapat dilihat pada gambar di bawah ini

Monitoring Suhu Arduino
Monitoring Suhu Arduino

 

2. Source code program pada arduino

Program pada arduino hanya membaca data analog dari sensor suhu LM35 melalui ADC. Kemudian data digitalnya dikirimkan terus menerus ke PC/Laptop melalui serial port.

[sourcecode language=”cpp”]

void setup() {
Serial.begin(9600); // Baudrate => 9600
analogReference(DEFAULT); // AREF => Internal 5V
}

void loop() {
int dataADC;
dataADC = analogRead(A5);
Serial.print(dataADC);
Serial.print(“n”);
delay(10);
}

[/sourcecode]

codingan di atas cuma mengambil data dari sensor tiap 10 milliseconds. Kalau mau ditambahin silahkan, misalkan untuk membuat data jadi smooth, dll. Saya sih gak mau ribet karena tujuan utama saya cuma pengen belajar akses serial port di java.

3. Sourcecode Java

Pada pembuatan aplikasi ini saya menggunakan library RxTx dan JFreeChart. Sudah tau kan cara import library di java bagaimana, ?? kalau belum baca dulu postingan saya disini πŸ˜€

Untuk source code java silahkan download disiniΒ http://www.ziddu.com/download/17772650/TemperatureMonitoring.rar.html

Untuk menggunakan library RxTx, setelah import library jangan lupa copykan file rxtxSerial.dll ke folder C:/Windows/System32

4. Tampilan aplikasi dan hardware

Ini nih hasil dari project saya keren gak keren tetep keren πŸ˜€

Tugas Akhir Elektro
Tugas Akhir Elektro

 

Tampilan hardware serta aplikasi di laptop

Monitoring Suhu Java
Monitoring Suhu Java

 

Tampilan aplikasi sebelum terhubung ke serial port

Monitoring Suhu Java
Monitoring Suhu Java

 

Sudah terhubung ke serial port

Monitoring Suhu Java
Monitoring Suhu Java

 

Tampilan grafik yang realtime (datanya saya pakai simulasi dari proteus bukan hardware langsung)

Just want to share !!

About Eko Rudiawan

Seorang lelaki yang punya ketertarikan dengan dunia elektronika dan robot yang saat ini sedang serius belajar tentang dunia bisnis dan internet marketing. My dream to be success technopreneur

Check Also

virtual usb

Mengisi Bootloader USBaspLoader Pada Minimum System Arduino

Tutorial kali ini merupakan lanjutan dari tutorial membuat minimum system arduino sederhana yang telah saya …

72 comments

  1. Mantap gan, ane skripsi ttg itu jg gan,,,
    bisa tanya2 ga gan???

  2. okee boleh2 aja gan, emank skripsi nya sama persis ya kyak yg anee buat ??

  3. ga bisa didownload mas source code nya

  4. mantap pak, kalo untuk masalah monitoring ketinggian air sungai carax gmn pak?

    • kalau untuk monitoring ketinggian air dapat menggunakan sensor yang sesuai, misalkan menggunakan sensor jarak yg dipantulkan ke permukaan air atau dapat juga menggunakan sensor yang khusus di desain untuk mengukur ketinggian air. Prinsip dasarnya sama saja, cuma sensor yang digunakan berbeda. btw saya ini msih muda lho, masih mahasiswa jadi jgn dipanggil pak πŸ˜€

  5. Pak, program yang anda buat apa hanya bisa berjalan menggunakan alat arduino tsb..?? atau bisa dengan alat lain ya pak.,??

    • Tidak hanya bisa menggunakan arduino mas…bisa juga dengan menggunakan mikrokontroler lain…asalkan mikrokontrolernya dapat mengirimkan data serial yang berupa nilai adc hasil dari pembacaan sensor suhu lm35

  6. mantap,,,
    kebetulan TA saya tentang monitoring suhu tetapi pengiriman datanya berbasis WiFi,,,

    saya masih bingung cara nya,,,
    tolong sarannya

  7. assalamu’alaikum mas, kalo buat menghitung pengunjung pakenya sensor apa? pake analog atau digital ya?

  8. asslm. mas, mw nanya, kalo java yg mas bikin di publish k HTML lwt XAMPP localhost bisa gk? mohon bimbingannya

    • mohon maaf sebelumnya mas,, terus trang saya sangat awam di web programming,, mungkin kalau maksud mas sistem monitoringnya menggunakan website (bukan aplikasi desktop) itu bisa mas,, dan sudah banyak orang yang buat,,

  9. mau tanya mas, kalo inutannya dari LDR terus dimasukan ke database MySQL bisa gak, mohon bantuannya.

  10. inputan dari LDR.

  11. mw tanya maz eko
    kl untuk interfacing java dan mikroronktroller AVR bisa kasih referensinya ?

  12. mas bkanx lw mikrokontroler harus programx menggunakan bahasa C…..
    terus kalau dari program java untuk mentransfer programnya ke adruino bgmna….?

  13. mas,,klo akses modul WIZ110SR (serial to lan converter) pake java gimana yaa mas??

    • kebetulan saya juga punya modul serial to ethernet wiz110sr, tapi sampe skrg belum bisa digunakan,, karena modulnya tidak berhasil dideteksi oleh aplikasi yang untuk confignya,, kurang tau juga apakah modulnya rusak atau apa,, pada prinsipnya modul wiznetnya kan tinggal di config dari aplikasi bawaannya, wiznetnya dijadikan sebagai tcp client atau tcp server, atau udp, kemudian data yang diterima dari wiznet akan diteruskan ke serial port, jadi program javanya tinggal baca data serial, tidak perlu mengirimkan command2 untuk config wiznetnya karena proses confogurasinya cukup sekali dan menggunakan aplikasi bawaan wiznetnya biar gampang

      • untuk configurasi aplikasi bawaan dari wiznya punya saya sudah bisa mas..tapi dari wiznya kan serialnya di ubah ke lan,,jadi mode TCP/IP gitu..kalo pake serial tinggal akses com port berapa..tapi kalo pake ip addres gimana aksesnya di java mas??maaf klo banyak tanya..hehe

  14. Mas, saya sedikit bingun..
    Ko itu koneksinya pake USB ya ?
    kan programm nya untuk serial…

  15. ic usb to serial nya include di laptop apa di adruino nya mas..
    apa cuma kabel usb to serial ?

    apakah program nya sama ketika kita gunakan serial port yang sehungguh nya dengan ketika kita gunakan USB ?

  16. Mantap gan,.,
    boleh nanya gan??
    cara kirim data dari arduino ke webserver/database gmn y gan??ad source codenya??

    • bisa pakai ethernet shield mas,, cuma saya belum pernah coba. atau alternatif lain seperti ini
      ARDUINO => PC/LAPTOP => INTERNET => WEBSERVER
      Saya pernah membuat kontrol lampu via web,, datanya disimpen di database server,, sistemnya seperti yang saya gambarkan diatas

  17. mas itu kalo sensornya di pasang di digital pin bisa gk?

  18. mas .. waktu saya coba jalanin di netbeans, ada bbrp hal yg harus sy lengkapi, yaitu library-librarynya,dan saya sudah me resolvenya , tapi ada satu lagi peringatan yg belum ter resolve oleh saya, yaitu “BelajarJFreeChart” project could not be found………itu bagaimana ya mas,, apa mas belum upload project tersebut? sy lagi butuh nih mas :D,, terima kasih sebelumnya,, maju terus mas Eko

    • cuma sekedarinfo aj mas, tanpa adanya project “BelajarJFreeChart” ternyata sudah dapat jalan program javanya,, namun untuk kesulitan-kesulitan lainnya ada di postingan sy yg dibawah πŸ™‚ mohon pencerahannya y mas,, soalnya saya mau menghadapi sidang TA sy yg kedua. tersisa waktu 2 minggu lagi,, sidang TA sy yg pertama gagal mas,, πŸ™ klo boleh sy pgn bimbingan sm mas eko,,,

  19. mas adakah link tutorial untuk membuat program java nya,
    terima kasih
    good luck πŸ˜‰

  20. mas, saya lagi ad project tugas akhir, deteksi gas dengan sensor gas MQ2,arduino duemilanove,buzzer sbg alarm dan gprs shield sebagai pengirim smsnya, sy menggunakan source code mas yang berupa java dan arduinonya, itu programnya berjalan lancar mas, plot graphnya juga jalan,mantapp πŸ™‚ tapi jika saya menggunakan source code yg saya punya ternyata plot graphnya tidak jalan, dan output ‘serialInputTextField’ nya tidak normal yaitu ; 27, 2727, 272727, 27272727, seperti itu mas,,, ini sy lampirkan source code arduino saya

    #include

    SoftwareSerial GPRS(7, 8);
    int intChar, intStatus=0;

    void setup()
    {
    digitalWrite(2, HIGH);
    pinMode(9, OUTPUT);
    pinMode(2, OUTPUT);
    GPRS.begin(9600); // the GPRS baud rate
    Serial.begin(9600); // the Serial port of Arduino baud rate.
    analogReference(DEFAULT);
    powerUp();
    }

    void loop()
    {
    int intSensor;
    intSensor=analogRead(A5);
    Serial.println(intSensor);
    Serial.print(“n”);

    if(intSensor>600)
    {
    digitalWrite(2, LOW);

    if(intStatus==0) {
    //mulai
    GPRS.println(“AT+CMGS=”083892168618″r”);
    intChar=’ ‘;
    while(intChar!=’>’)
    {
    if(GPRS.available() > 0) intChar = GPRS.read();
    }
    GPRS.write(“BAHAYA. Gas terdeteksi, periksa segera!”);
    GPRS.write(0x1A);
    delay(1000);
    //selesai
    intStatus=1;
    }
    }
    else
    {
    digitalWrite(2, HIGH);

    intStatus=0;
    }
    delay(1000);

    }

    void powerUp()
    {
    digitalWrite(9,LOW);
    delay(1000);
    digitalWrite(9,HIGH);
    delay(4000);
    }

    #note; jika saya menggunakan source code arduino dari mas eko, maka perangkat saya belum bisa mengirimkan sms dan alarm buzzer, tapi di program javanya oke,, namun jika saya menggunakan source code arduino dari saya, maka perangkat sy bisa mengirimkan sms dan alarm buzzer, namun di program javanya tidak berjalan sebagaimana mestinya, seperti program monitoring mas eko, pertanyaannta? manakah yang harus saya rubah, program javanya atau program arduino saya? jika yg harus saya rubah program javanya, bagian manakah yg harus saya rubah mas? mhon bantuannya atau mas boleh tinggalkan nomor telepon mas untuk saya hubungi,kirim saja ke andika7@outlook.com,, mohon pencerahannya mas πŸ™‚

    • maaf mas, pertanyaan saya diatas Alhamdulillah sudah sudah saya pecahkan mas,, namun timbul satu pertanyaan buat saya,, bagaimana saya bisa memahami nilai adc yg dibaca dari sensor itu ya mas, angka adc itu berasal dari mana ya mas, rumusnya seperti apa? lalu bagaimana mengkonversi nilai adc itu ke nilai konsentrasi gas, yang kalau tidak salah satuan nilai konsentrasi gas itu adalah ppm ya mas,,, tolong pencerahannya mas

      • ADC => Analog to digital converter
        intinya untuk merubah tegangan analog ke digital,,, data digitalnya berupa nilai bilangan bulat (kalau resolusi 8bit maka nilainya 0-255, kalau 10 bit 0-1023) .. untuk merubah ke nilai satuan gas (ppm) mas harus tahu dulu berapa kenaikan tegangan/ppm nya.. nah ini bisa dilihat di datasheet,, saya misalkan saja kenaikan 1 ppm = 10mVolt ,, maka untuk mencari nilai ppm nya tentunya mas harus tahu dulu nilai tegangan sensor,, caranya
        1. pakai rumus ini tegangan = data adc * vref / resolusi
        contoh data adc = 800, resolusi 10 bit, vref yg digunakan = 5v
        maka tegangan = 800 x 5 / 1023 = 3.91 volt => 3910 mV
        tegangan sudah didapat,, selanjutnya tinggal cari nilai ppm nya
        karena tadi saya misalkan kenaikan 1 ppm = 10mV
        maka nilai ppm nya = tegangan / kenaikan ppm/volt
        ppm = 3910/10 => 391ppm
        itu untuk kasus grafik perbandingan ppm/volt yang linear,, beda lagi kalau grafiknya logaritmik,, intinya mas harus pelajari dulu datasheet nya

        Selamat belajar πŸ™‚

      • makasih banyak sebelumnya mas,, sy ingn tanya lagi mas, kebetulan sy pakai sensor gas MQ 2,, untuk datasheet sensor gas MQ2, saya punya dari http://www.hwsensor.com , sy masih bingung mencari kenaikan tegangan per 1 ppm,bahkan sepertinya tidak ada penjelasan mengenai kenaikan tegangan/ppmnya.ada referensi lain mengenai sensor gas mq2 ga mas? untuk arduino duemilanove saya, resolusinya mencapai 10 bit mas,seperti keterangan mas bila resolusinya mencapai 10 bit,nilai 0-1023, itu maksudnya apa ya mas? dan satu lagi mas, maksudnya data adc itu apa ya mas,dan angkanya dapat dari mana ?

        makasih banyak mas, dan mohon bantuannya lagi πŸ™‚

  21. mas mau tanya, dari jawaban mas eko tgl : 12 des 2012 lalu, yaitu :
    ” bisa pakai ethernet shield mas,, cuma saya belum pernah coba. atau alternatif lain seperti ini
    ARDUINO => PC/LAPTOP => INTERNET => WEBSERVER
    Saya pernah membuat kontrol lampu via web,, datanya disimpen di database server,, sistemnya seperti yang saya gambarkan diatas. ”

    Nah, cara menyimpan data ke database server (menjadikan data dari arduino mendadi mysql) itu gmn??? mohon bantuan sourcecode/ contoh progranmnya. thanks πŸ™‚

  22. mas mau tanya saya hampir2 mirip juga cuman ta nya tentang sistem keamanan kosan, pake ethernet shield juga untuk sistem monitoring nya pake aplikasi nya apa? jadi nanti ada notif kalo alat ga jalan atau gangguan terus bisa control kunci pintu kosan dari laptop juga monitoringnya ada kalo pintu ga kekunci dan terbuka, kira kira bisa pake aplikasi apa mas? mohon bantuannya ya maklum masih newbie hehe

  23. Mas, mau tanya untuk menyimpan data dari arduino ke database pake ethernet bisa gag? ada scriptnya gag? soalnya punya saya banyak error nya..

    • yang pastinya java nya harus berkomunikasi ke arduino via ethernet, bisa menggunakan TCP/IP atau UDP. Kemudian data dari arduino bisa langsung disimpan ke database bisa pakai mysql atau yg lain

  24. pas mw nanya, klo mengontrol alat elktronik pake arduino via internet gmn ya mas? pake shield apa ya mas?

  25. mas mau tanya kira2 pake aplikasi java +arduino menggunakan ethernet shield bisa untuk komunikasi point to multipoint ga mas? jadi dari ethernet terhubung ke switch/hub/router terus dari router terbagi ke beberapa komputer untuk monitoringnya?

  26. kalo mw beli Arduino+sensor suhu LM35 nya bisa gk?

  27. mas mau tanya klo masukkan kejavanya ada 2 atau lebih inputannya gimana ya source code dijavanya buat misahinnya

  28. coding diatas tidak bisa di download gan.. untuk agan bisa bantu saya untuk memecahkan TA yang mirip kayak yang agan buat.. saya tunggu balasannya di email sya ini emailnya, alfanherya@gmail.com makasih sebelumnya gan…

  29. Gan kalo nambahin menu print/export to excel di interfacenya bisa ga

  30. Maaf rekan-rekan disini ada yg sudah download source codenya dan bisa di upload lg?

  31. Mas trima kasih nih ilmunya, mas ko saya suhu nya malah keluar di kolom “incoming serial data” ? bukan di kolom suhu nya, kenapa ya mas ? Fungsi kolom “incoming serial data” itu untuk apa ?

  32. makasih bang..tutorialnya sudah bisa jalan…saya mau nanya nih..ini khan hanya untuk 1 inputan 1 saja untuk monitor suhu saja. misal lebih dari satu inputan gmana ya?misal selain monitor suhu juga monitor tegangan atau inputan relay untuk kondisi on/off. sempet baca di komentar atas katanya perlu parsing data. prinsip kerjanya gmana ya??ada referensi yg bisa buat belajar??apakah parsingnya di sisi coding arduinonya atau di sisi coding javanya?
    terima kasih tanggapannya…

  33. mas boleh tau kodingan yang buat tampilan javanya ga?

Leave a Reply

Your email address will not be published. Required fields are marked *

twelve + eight =