Mikro Modul 4 : Aplikasi Running text mengukur nilai suhu menggunakan sensor DHT 11






    1. Tujuan [kembali] 

    1. Aplikasi running text dapat mengukur nilai suhu dan kelembaban menggunakan sensor DHT 11 dengan keypad sebagai input output dot matrik dan buzzer
    2. Merangkai dan menguji I/O pada aplikasi running text dapat mengukur nilai suhu dan kelembaban menggunakan sensor DHT 11 dengan keypad sebagai input output dot matrik dan buzzer
    3. Pengaplikasian aplikasi running text yang dapat mengukur nilai suhu dan kelembaban menggunakan sensor DHT 11 dengan keypad sebagai input output dot matrik dan buzzer

    2. Alat dan bahan [kembali]

    1. Arduino MEGA 2560
    2. Keypad
    3. DHT11
    4. Jumper
    5. Dot matrix 8x8
    6. IC Max7219
    7. Buzzer

    3.Landasan Teori [kembali]

    1. Arduino Uno
    Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14 pin input dari output digital  dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya.
     2. Dot matrix 8x8
    Dot matrix adalah susunan titik-titik dua dimensi yang digunakan untuk menampilkan karakter-karakter, simbol atau gambar. Dahulu dot matrix digunakan pada printer-printer tua dan banyak perangkat tampilan digital. Pada printer, titik-titik tersebut adalah daerah yang diredupkan. Sedangkan pada display, titik-titik tersebut adalah daerah yang bercahaya. Sebagaimana pada LED atau CRT display cara kerjanya titik-titik yang sebelumnya mati, bercahaya sesuai sesuai obyek yang diinginkan.


    Dot matrix banyak digunakan untuk menampilkan informasi pada mesin-mesin, jam, indikator keberangkatan kereta api dan perangkat lainnya yang membutuhkan display sederhana untuk resolusi yang terbatas. Display ini terdiri dari LED yang tersusun secara matrix berbentuk segi empat (bentuk selain segi empat juga ada) sehingga dengan menyalakan/mematikan lampu yang diinginkan, teks atau grafik yang dapat ditampilkan. Pengendali dot matrix mengkonversi instruksi dari decoder ke dalam sinyal elektris yang dapat menyalakan atau mematikan lampu sehingga tampilan yang diinginkan dapat terjadi. 

     

    4. DHT11
    DHT-11 adalah chip tunggal kelembaban  relatif dan multi sensor suhu yang terdiri dari modul yang dikalibrasi keluaran digital. Pada pengukuran suhu data yang dihasilkan 14 bit, sedangkan untuk kelembaban data yang dihasilkan 12 bit.   Keluaran   dari   DHT-11   adalah   digital   sehingga   untuk   mengaksesnya diperlukan  pemrograman  dan  tidak  diperlukan  pengkondisi  sinyal  atau  ADC .
    spesifikasi :
    • Pasokan Voltage: 5 V
    • Rentang temperatur :0-50 ° C kesalahan ± 2 ° C
    • Kelembaban :20-90% RH ± 5% RH error
    • Interface: Digital
      
     

    5. Max7219
    MAX7219 adalah IC yang berguna sebagai driver antarmuka antara mikro-kontroller dengan LED 7 Segmen (hingga 8-digit), tampilan balok (bar display), atau 64 LED individual yang bersifat common cathode. Antarmuka serial ini dapat mencapai kecepatan hingga 10 MHz.

    Dalam chip ini sudah tersedia dekoder BCD (kode-B), rangkaian pemindai multiplekser, pengarah (driver) segmen dan digit, dan 8x8 RAM statik untuk mengingat setiap kondisi setiap digit (latched state).
    Image result for max7219 dotmatrix data sheet 
    6. Jumper
    Jumper pada sebuah komputer sebenarnya adalah connector (penghubung) sirkuit elektrik yand digunakan untuk menghubungkan atau memutus hubungan pada suatu sirkuit.
      Image result for kabel jumper
    7.Buzzer
    Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah getaran listrik menjadi getaran suara getaran listrik menjadi getaran suara. Pada dasarnya prinsip kerja buzzer hampir sama dengan loudspeaker, jadi buzzer juga terdiri dari kumparan yang terpasang pada diafragma dan kemudian kumparan tersebut dialiri arus sehingga menjadi elektromagnet, kumparan tadi akan tertarik ke dalam atau keluar, tergantung dari arah arus dan polaritas magnetnya, karena kumparan dipasang pada diafragma maka setiap gerakan kumparan akan menggerakkan diafragma secara bolak-balik sehingga membuat udara bergetar yang akan menghasilkan suara. Buzzer biasa digunakan sebagai indikator bahwa proses telah selesai atau terjadi suatu kesalahan pada sebuah alat (alarm).

    4. Rangkaian Simulasi [kembali] 

       
    Rangkaian terdiri dari input berupa keypad dan sensor dht11 serta output berupa dot matrix dan buzzer ,dimana prinsip kerjanya sederhana, ketika keypad ditekan maka variasi Running Text LED pada Dot matrix dengan IC Max7219 akan berubah yaitu dimana apabila ditekan "1" pada keypad maka akan muncul berapa suhu yang dideteksi oleh sensor dht11 pada output dotmatrix, lalu kondisi ke dua apabila ditekan "2" pada keypad maka akan muncul berapa kelembapan yang dideteksi oleh sensor dht11 pada output dotmatrix . pada saat keypad ditekan maka buzzer otomatis juga akan berbunyi sebagai indikasi bahwasanya sensor suhu sudah bekerja.

    Terdapat IC Max7219 yang berguna sebagai driver antarmuka antara mikro-kontroller Dalam chip ini sudah tersedia dekoder BCD (kode-B), rangkaian pemindai multiplekser, pengarah (driver) segmen dan digit, dan 8x8 RAM statik untuk mengingat setiap kondisi setiap digit (latched state) serta terdapat socket IC, resistor 10KOhm, 100nF kapasitor, dan 10 uF kapasitor elektrolit. Semua dipatri dalam satu modul yang kompak .

    Dengan Modul max 7219 tersebut terdiri dari led dot matriks Common Cathode ukuran 8×8 yang berwarna merah, dan ic MAX7219 untuk mengendalikan nyala tiap piksel LED. Sedangkan Resistor 10k berfungsi sebagai pull down, sehingga tegangan yang diterima  benar-benar dalam kondisi 0V ketika Keypad belum ditekan dan tidak membuat LED Dot Matrix nya rusak. 

    5. Listing Program [kembali] 

    #include <MD_Parola.h>
    #include <MD_MAX72xx.h>
    #include <SPI.h>
    #include "DHT.h" //include library sensor suhu
    #include <Keypad.h>
    #define buzz 8


    const uint16_t WAIT_TIME = 1000;
    const byte ROWS = 4; //empat baris
    const byte COLS = 3; //4 kolom
    //define simbol pada button di keypad
    char keys[ROWS][COLS] = {
     {'1','2','3'},
     {'4','5','6'},
     {'7','8','9'},
     {'*','0','#'}
    };
    byte rowPins[ROWS] = {3, 2, 1, 0}; //hubungkan ke baris pinout pada keypad
    byte colPins[COLS] = {6, 5, 4}; //hubungkan ke kolom pinout pada keypad
    Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

    // tentukan jumlah device dan hardware interface
    // catatan : pin ini mungkin tidak akan berfungsi dengan perangkat keras dan mungkin perlu disesuaikan

    #define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW
    #define MAX_DEVICES 2
    #define CLK_PIN   13
    #define DATA_PIN  11
    #define CS_PIN    10
    #define DHTPIN 7     // pin apa yang akan terhubung
    #define DHTTYPE DHT11   //sensor suhu & kelembapan  DHT 11
    DHT dht(DHTPIN, DHTTYPE);

    // Koneksi hardware SPI
    //MD_Parola P = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
    // pin output yang dapat diubah
     MD_Parola P = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES);


    void setup(void)
    {
      P.begin();
      Serial.begin(9600); // inisialisasi komunikasi serial
      Serial.println("DHTxx test!");
      dht.begin();
      pinMode(buzz,OUTPUT);
    }

    void loop(void)
    {
        {
      digitalWrite(buzz,HIGH);
      delay(80);
      digitalWrite(buzz,LOW);
      delay(80);
        }
      char kode = keypad.getKey();
      if(kode==NO_KEY)
      return;
      if(kode=='1')

        {
      int t = dht.readTemperature();
      char temp[4];
      itoa(t,temp,10); //konversi int ke char !!
      Serial.println(temp);
      P.print(temp);
      delay(WAIT_TIME);
        }
        else if(kode=='2')
        {
      float h = dht.readHumidity();
      char humidity[8];
      itoa(h,humidity,10);
      Serial.println(humidity);
      P.print(humidity);
      delay(WAIT_TIME);

    }
    }

    6. Flowchart [kembali]

    7. Foto Alat [kembali] 


    8. Video Alat [kembali]


       

    9. Link Download [kembali]

    Berikut merupakan link download untuk Proteus
    Berikut merupakan link download untuk Video
    Berikut merupakan link download untuk Program
    Berikut merupakan link download untuk Visual Designer