Menampilkan Suhu Kelembaban Interface DMD P10 Sensor DHT11
Pada kesempatan kali ini saya akan mnejelaskan mengenai bagaimana cara membuat sebuah alat dengan tampilan dmd p10 untuk menampilkan nilai suhu kelembaban sensor dht11. jadi alat ini cuma butuh 3 item utama yaitu ARduino uno, DMD P10 dan sensor dht11 untuk deteksi suhu kelembaban. untuk lebih jelasnya berikut kodingnya.
1. Program Arduino IDE
#include <Wire.h>
#include <SPI.h> //SPI.h must be included as DMD is written by SPI (the IDE complains otherwise)
#include <DMD.h> //Library DMD yang menyediakan fungsi penampilan teks, gambar dsb
#include <TimerOne.h> //Library peripheral Timer1 untuk menjalankan prosedur pindai panel DMD
#include <Time.h> //Library waktu yang menyediakan tipe data, struktur, dan obyek waktu
#include "DHT.h"
#include "Arial_black_16.h"
#include "Arial_Black_16_ISO_8859_1.h"
#include "Arial14.h"
#include "DejaVuSans9.h"
#include "DejaVuSansBold9.h"
#include "DejaVuSansItalic9.h"
#include "Droid_Sans_12.h"
#include "Droid_Sans_16.h"
#include "Mono5x7.h"
#include "SystemFont5x7.h"
#define DHTPIN 2
#define DHTTYPE DHT11
#define WAKTU_TAMPIL_JAM 10 //detik
#define WAKTU_TAMPIL_KALENDAR 5 //detik
#define DISPLAY_COLUMN_COUNT 2
#define DISPLAY_ROW_COUNT 1
#define PIXELS_PER_COLUMN 32
#define PIXELS_PER_ROW 16
DMD dmd(DISPLAY_COLUMN_COUNT, DISPLAY_ROW_COUNT);
unsigned char show = 0;
unsigned int suhu;
unsigned int suhux;
unsigned int dataadc;
char lineBuff[20];
char lineBuffx[20];
DHT dht(DHTPIN, DHTTYPE);
void ScanDMD()
{
dmd.scanDisplayBySPI();
}
void setup(void)
{
dht.begin();
dmd.clearScreen( true ); //true is normal (all pixels off), false is negative (all pixels on)
Serial.begin(9600);
//initialize TimerOne's interrupt/CPU usage used to scan and refresh the display
Timer1.initialize( 1000 ); //period in microseconds to call ScanDMD. Anything longer than 5000 (5ms) and you can see flicker.
Timer1.attachInterrupt( ScanDMD ); //attach the Timer1 interrupt to ScanDMD which goes to dmd.scanDisplayBySPI()
//clear/init the DMD pixels held in RAM
dmd.clearScreen( true );
}
void loop(void)
{
int h = dht.readHumidity();
int t = dht.readTemperature();
dataadc = analogRead(A0);
sprintf(lineBuff, "%d|%d", t, h);
sprintf(lineBuffx, "%d ", dataadc);
dmd.selectFont(DejaVuSans9);
dmd.selectFont(Mono5x7);
dmd.drawString( 33, 0, lineBuff, strlen(lineBuff), GRAPHICS_NORMAL);
dmd.drawString( 33, 8, lineBuffx, strlen(lineBuffx), GRAPHICS_NORMAL);
delay(1000);
}
2, Skema PIN
a. Sensor dht11 : VCC ke 5v, GND ke GND , OUT ke pin 2 Arduino
b. P10 ke arduino seperti berikut.
GND - GND
PIN 6 - A
PIN 7 - B
PIN 8 - SCLK
PIN 9 - OE
PIN 11 - R
PIN 13 - CLK
