Laporan Akhir Modul 4 Mikro

Percobaan 1



    1. Tujuan [kembali] 

    Mengukur Nilai suhu menggunakan sensor DHT 11 dengan input keypad dan Output pada dot matrix.

    2. Alat dan bahan [kembali]

    1.  Arduino Uno
    2. Dot matrix 8x8
    3. Keypad
    4. DHT11
    5. Max7219
    6. Jumper

    3.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.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.
    Hasil gambar untuk pengertian dot matrix 8x8 
    3. Keypad
    Keypad berarti Sebuah keyboard miniatur atau set tombol untuk operasi portabel perangkat elektronik, telepon, atau peralatan lainnya. Keypad merupakan sebuah rangkaian tombol yang tersusun atau dapat disebut "pad" yang biasanya terdiri dari huruf alfabet (A—Z) untuk mengetikkan kalimat, juga terdapat angka serta simbol-simbol khusus lainnya. Keypad yang tersusun dari angka-angka biasanya disebut sebagai numeric keypad. Keypad juga banyak dijumpai pada alphanumeric keyboard dan alat lainnya seperti kalkulator, telepon, kunci kombinasi, serta kunci pintu digital, di mana diperlukannya nomor untuk dimasukkan.
    Hasil gambar untuk pengertian keypad 
    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 .
     
    Grafik  Respon Sensor



    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).
     
    6. Jumper
    Jumper pada sebuah komputer sebenarnya adalah connector (penghubung) sirkuit elektrik yand digunakan untuk menghubungkan atau memutus hubungan pada suatu sirkuit.
    Hasil gambar untuk pengertian jumper  

    4. Listing Program [kembali] 

    #include <MD_Parola.h> //library parola 
    #include <MD_MAX72xx.h> //memasukkan library max 
    #include <SPI.h>  //memasukkan library SPI
    #include "DHT.h" //memasukkan library DHT
    #include <Keypad.h> //memasukkan library keypad

    const byte ROWS = 4; //four rows
    const byte COLS = 4; //four columns
    //define the cymbols on the buttons of the keypads
    char keys[ROWS][COLS] = {
      {'1', '2', '3','A'},
      {'4', '5', '6','B'},
      {'7', '8', '9','C'},
      {'*', '0', '#','D'}
    };

    byte rowPins[ROWS] = {23, 25, 27, 29}; //connect to the row pinouts of the keypad
    byte colPins[COLS] = {31, 33, 35, 37}; //connect to the column pinouts of the keypad
    Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

    #define DHTPIN 7     // what digital pin we're connected to

    #define DHTTYPE DHT11   // DHT 11 

    #define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW //mendefenisikan tipe parola
    #define MAX_DEVICES 8 // device max yang digunakan maksimal 8 buah
    #define CLK_PIN   13 // clock pada pin 13
    #define DATA_PIN  11 //data pin pada pin 11
    #define CS_PIN    10 // cs pin pada pin 10

    DHT dht(DHTPIN, DHTTYPE); 
    MD_Parola P = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES);

    uint8_t scrollSpeed = 10;    // default frame delay value
    textEffect_t scrollEffect = PA_SCROLL_LEFT; //efek dari teks yaitu scrolling kekiri
    textPosition_t scrollAlign = PA_LEFT; //efek dari teks yaitu scrolling kekiri
    uint16_t scrollPause = 1000; // in milliseconds

    // Global message buffers shared by Serial and Scrolling functions
    #define  BUF_SIZE  75 //mendefinisikan buff size 75
    char buff[BUF_SIZE];

    byte screenIndex = 0; //mendeklarasikan screen indeks

    void setup()
    {
      dht.begin(); //memulai dht
      P.begin(); //memulai dotmatrix
      P.displayText(buff, scrollAlign, scrollSpeed, scrollPause, scrollEffect, scrollEffect);
    }

    void loop()
    {
      char kode = keypad.getKey(); 
      if (kode == '1') { //kondisi jika keypad 1
          strcpy(buff, "Pengukuran Suhu dan Kelembapan");
      }
      if (kode == '2') { //kondisi jika keypad ditekan angka 2
        float h = dht.readHumidity(); //membaca kelembapan
        // Read temperature as Celsius (the default)
        float t = dht.readTemperature(); //membaca temperatur

        if (isnan(h) || isnan(t)) {
          strcpy(buff, "Terjadi Kesalahan.");
        }
        else {
          if (screenIndex == 0) {
            strcpy(buff, "Suhu : ");
            dtostrf(t, 3, 2, &buff[strlen(buff)]);
          }
          else if (screenIndex == 1) {
            strcpy(buff, " Kelembaban : ");
            dtostrf(h, 3, 2, &buff[strlen(buff)]);
          }
        }

        if (P.displayAnimate()) { //memulai aplikasi jika
          screenIndex++; 
          if (screenIndex > 1) screenIndex = 0; //memulai aplikasi jika screen indeks > 1
          P.displayReset();
        }
      }
    }

    5. Rangkaian Simulasi [kembali] 

     

    6. Foto Alat [kembali] 


    7. Video Simulasi [kembali] 


    8. Video Alat [kembali] 


    9. Flowchart  [kembali]


    9. Prinsip Kerja [kembali]

    Input yang digunakan pada alat ini adalah sensor DHT11. Sensor DHT11 akan mendeteksi nilai suhu dan kelembapan pada lingkungan dan outputnya akan dikirimkan ke kaki 7 pada arduino. Pada arduino data akan diolah. Input selanjitnya adalah keypad 4x4, dimana pada program di set apabila keypad angka 2 di tekan maka output tulisan akan bergerak dari kiri ke kanan. Output tulisan tersebut yaitu: " Suhu: (nilai suhu)  Kelembapan: (nilai kelembapan)"
     

    10. Link Download [kembali]

    Berikut merupakan link download untuk Proteus
    Berikut merupakan link download untuk Video Simulasi
    Berikut merupakan link download untuk Video Alat
    Berikut merupakan link download untuk Program


     

    Tidak ada komentar:

    Posting Komentar