1. Tujuan [kembali]
Mengukur Nilai suhu menggunakan sensor DHT 11 dengan input keypad dan Output pada dot matrix.2. Alat dan bahan [kembali]
- Arduino Uno
- Dot matrix 8x8
- Keypad
- DHT11
- Max7219
- Jumper
3.Teori [kembali]
1. Arduino UnoArduino 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.
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.
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 .
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).
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.
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 ProteusBerikut merupakan link download untuk Video Simulasi
Berikut merupakan link download untuk Video Alat
Berikut merupakan link download untuk Program
Tidak ada komentar:
Posting Komentar