Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang bisa digunakan untuk monitoring suhu via wifi wireless dengan perangkat handphone android, alat ini difungsikan hanya untuk monitor suhu saja tanpa menggunakan kelembaban sebagaimana yang diketahui kalau DHT11 memiliki 2 buah output yaitu suhu dan kelembaban. sensor yang digunakan adalah 2 buah DHT11 dengan board bikinan sendiri. sebenarnya ada dua mode untuk bisa melihat data dari WIFI ini yaitu dengan menggunakan browser dan menggunakan software aplikasi Android. alat ini dilengkapi dengan router untuk pemancar WIFI-nya. untuk lebih jelasnya berikut adalah skema dan programnya.
a. Arduino Uno
b. Ethernet Shield
c. Sensor DHT11
d. Router
e. Modul Relay
f. Program Android
g. Program Arduino IDE
#include <Wire.h>
#include "DHT.h"
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,0,88);
EthernetServer server(80);
String readString;
int suhu1;
int suhu2;
int kipas = 6;
int lampu = 7;
void setup()
{
pinMode(kipas,OUTPUT);
pinMode(lampu,OUTPUT);
Serial.begin(9600);
while (!Serial) {
}
Ethernet.begin(mac, ip);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
}
void loop()
{
suhusatu();
suhudua();
kirim();
delay(200);
}
void suhusatu(){
#define DHTPIN1 2
#define DHTTYPE DHT11
DHT dht(DHTPIN1, DHTTYPE);
dht.begin();
float h1 = dht.readHumidity();
float t1 = dht.readTemperature();
float f1 = dht.readTemperature(true);
int hum1 = h1;
suhu1 = t1;
if (isnan(h1) || isnan(t1) || isnan(f1)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
float hif = dht.computeHeatIndex(f1, h1);
float hic = dht.computeHeatIndex(t1, h1, false);
Serial.print("suhu 1=");
Serial.println(suhu1);
}
void suhudua(){
#define DHTPIN2 3
#define DHTTYPE DHT11
DHT dht(DHTPIN2, DHTTYPE);
dht.begin();
float h2 = dht.readHumidity();
float t2 = dht.readTemperature();
float f2 = dht.readTemperature(true);
int hum2 = h2;
suhu2 = t2;
if (isnan(h2) || isnan(t2) || isnan(f2)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
float hif = dht.computeHeatIndex(f2, h2);
float hic = dht.computeHeatIndex(t2, h2, false);
Serial.print("suhu 2=");
Serial.println(suhu2);
}
void kirim(){
if((suhu1 > 33)&&(suhu2 > 33)){
digitalWrite(kipas,LOW);
digitalWrite(lampu,HIGH);
}
else if((suhu1 <= 33)&&(suhu2 <= 33)){
digitalWrite(kipas,HIGH);
digitalWrite(lampu,LOW);
}
else{
digitalWrite(kipas,LOW);
digitalWrite(lampu,HIGH);
}
EthernetClient client = server.available();
if (client) {
Serial.println("new client");
// an http request ends with a blank line
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);
if (readString.length() < 100) {
//store characters to string
readString += c;
//Serial.print(c);
}
if (c == '\n' && currentLineIsBlank) {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println("Refresh: 1");
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println(" ");
client.println("<title> Monitor Suhu </title> ");
client.println("<body bgcolor = #000000>");
client.println("<center>");
client.println("<font color = yellow><center><h1>MONITOR SUHU DHT11</h1></center><br></font>");
client.println("<font color = #FFFFFF>");
client.println("<h2>");
client.println("Suhu1 = ##");
client.print(suhu1);
client.println(" <br />");
client.println("Suhu2 = ###");
client.print(suhu2);
client.println("<br />");
if((suhu1 > 33)&&(suhu2 > 33)){
client.println("####ON ");
}
else if((suhu1 <= 33)&&(suhu2 <= 33)){
client.println("####OFF");
}
else{
client.println("####ON ");
}
client.println("</h2>");
client.println("</font>");
client.println("</center>");
client.println("</body>");
client.println("</html>");
break;
}
if (c == '\n') {
currentLineIsBlank = true;
}
else if (c != '\r') {
currentLineIsBlank = false;
}
}
}
delay(1);
client.stop();
Serial.println("client disonnected");
}
readString="";
}
h. VIDEO HASILNYA
No comments:
Post a Comment