Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SPI.h>
- #include <Ethernet.h>
- #include <dht11.h>
- dht11 DHT11;
- #define DHT11PIN 2 // Digital 2
- // LED pin
- int ledPin0 = 3; // Digital 3
- int ledPin1 = 4; // Digital 4
- int ledPin2 = 5; // Digital 5
- int ledPin3 = 6; // Digital 6
- int ledPin4 = 7; // Digital 7
- // Suhu pin
- int SHPin0 = 0; // Analog 0
- // IR pin
- int IRpin = 4; // Analog 4
- // Speaker pin
- int SPKpin = 8; // Digital 8
- // Satuan
- int status_kirim_data = 0;
- float distance;
- int ledPin[5] = {3,4,5,6,7};
- int i;
- byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address
- byte ip[] = { 192, 168, 20, 254 }; // ip jaringan
- byte gateway[] = { 192, 168, 0, 3 }; // internet access melalui router
- byte subnet[] = { 255, 255, 0, 0 }; //subnet mask
- EthernetServer server(80); //server port
- String url_metadata = String(100); //mengambil url metadata
- void setup()
- {
- //Mengaktifkan Ethernet
- Ethernet.begin(mac, ip, gateway, subnet);
- server.begin();
- pinMode(ledPin0, OUTPUT);
- pinMode(ledPin1, OUTPUT);
- pinMode(ledPin2, OUTPUT);
- pinMode(ledPin3, OUTPUT);
- pinMode(ledPin4, OUTPUT);
- pinMode(SPKpin, OUTPUT);
- //Membuka serial data print
- Serial.begin(9600);
- Kedip_On();
- delay(500);
- Kedip_Off();
- delay(500);
- //Delay Ethernet module untuk boot up:
- Serial.print("Booting Ethernet.. Silahkan Tunggu..");
- Serial.println();
- Kedip_On();
- delay(500);
- Kedip_Off();
- delay(500);
- Kedip_On();
- delay(500);
- Kedip_Off();
- delay(500);
- run_led();
- }
- void loop()
- {
- //DHT11 Sensor
- int chk = DHT11.read(DHT11PIN);
- switch (chk)
- {
- case 0: //Serial.println("OK");
- Serial.print("H0, "); //KELEMBABAN ALAT
- Serial.print((float)DHT11.humidity, 1);
- Serial.println();
- Serial.print("T1, "); //SUHU ALAT
- Serial.print((float)DHT11.temperature, 1);
- Serial.println();
- break;
- }
- //SENSOR SUHU 0
- float SUHU0=analogRead(SHPin0);
- float SH0=((5.00 * SUHU0 * 100)/1024);
- Serial.print("T0, "); //SUHU ETHERNET
- Serial.print(SH0,1);
- Serial.println();
- //IR Sensor
- float volt = analogRead(IRpin);
- float volts = ((volt*5)/1024); // 5 volts = ((volt * 5)/1024), 3.3.volts = ((volt * 3.3)/1024)
- float distance = (65*pow(volts, -1.10))/10; // worked out from graph 65 = theretical distance / (1/Volts)S - luckylarry.co.uk
- Serial.print("D0, "); //JARAK SENSOR
- Serial.print(distance,1);
- Serial.println();
- //STATUS DATA
- Serial.print("SD");
- Serial.print(status_kirim_data,1);
- Serial.println();
- if (distance < 5)
- {
- if (status_kirim_data == 0)
- {
- status_kirim_data = 1;
- }
- else
- {
- Kedip_On();
- digitalWrite(SPKpin, HIGH);
- }
- }
- else
- {
- status_kirim_data = 0;
- }
- // Membuat Koneksi Client
- EthernetClient client = server.available();
- if (client) {
- Serial.println("Menerima Request Data Dari Client");
- while (client.connected()) {
- if (client.available()) {
- char c = client.read();
- //membaca char per char dalam HTTP request
- if (url_metadata.length() < 100)
- {
- //menampilkan characters kedalam string
- url_metadata = url_metadata + c;
- }
- //Serial.println(url_metadata);
- if (url_metadata.indexOf("=") >= 0) {
- int Input_Pertama = (url_metadata.indexOf("=") + 1);
- int Pin_Pertama = int(url_metadata.charAt(Input_Pertama)) - 48;
- int Input_Kedua = (url_metadata.indexOf("=", Input_Pertama) + 1);
- int Pin_Kedua = int(url_metadata.charAt(Input_Kedua)) - 48;
- Serial.println(Pin_Pertama);
- Serial.println(Pin_Kedua);
- //if (Pin_Pertama == 2)
- //{
- //}
- Kedip_On();
- delay(100);
- Kedip_Off();
- }
- client.print(" D0"); //JARAK SENSOR
- client.println(distance,1);
- digitalWrite(ledPin0, HIGH);
- client.print(" T0"); //SUHU ETHERNET
- client.println(SH0,1);
- digitalWrite(ledPin1, HIGH);
- switch (chk)
- {
- case 0: //Serial.println("OK");
- client.print(" T1"); //SUHU ALAT ALAT
- client.println((float)DHT11.temperature, 1);
- digitalWrite(ledPin2, HIGH);
- client.print(" H0"); //KELEMBABAN ALAT
- client.println((float)DHT11.humidity, 1);
- digitalWrite(ledPin3, HIGH);
- break;
- }
- client.print(" SD"); //KELEMBABAN ALAT
- client.println((float)status_kirim_data, 1);
- client.println(" FR100"); //ID ALAT
- digitalWrite(ledPin4, HIGH);
- //menutup client
- if (!client.connected()) {
- Serial.println("Memutuskan Koneksi Dengan Client");
- }
- client.stop();
- //}
- }
- }
- }
- else
- {
- Serial.println("Tidak Ada Request Data Dari Client");
- if (distance > 5)
- {
- Kedip_Off();
- }
- }
- }
- void Kedip_On()
- {
- digitalWrite(ledPin0, HIGH);
- digitalWrite(ledPin1, HIGH);
- digitalWrite(ledPin2, HIGH);
- digitalWrite(ledPin3, HIGH);
- digitalWrite(ledPin4, HIGH);
- }
- void Kedip_Off()
- {
- digitalWrite(ledPin0, LOW);
- digitalWrite(ledPin1, LOW);
- digitalWrite(ledPin2, LOW);
- digitalWrite(ledPin3, LOW);
- digitalWrite(ledPin4, LOW);
- }
- void run_led()
- {
- digitalWrite(ledPin0, HIGH);
- delay(200);
- //
- digitalWrite(ledPin0, LOW);
- digitalWrite(ledPin1, HIGH);
- delay(200);
- //
- digitalWrite(ledPin1, LOW);
- digitalWrite(ledPin2, HIGH);
- delay(200);
- //
- digitalWrite(ledPin2, LOW);
- digitalWrite(ledPin3, HIGH);
- delay(200);
- digitalWrite(ledPin3, LOW);
- digitalWrite(ledPin4, HIGH);
- delay(200);
- digitalWrite(ledPin4, LOW);
- delay(200);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement