Translate

ARDUINO Monitoring Daya, Tegangan AC 220v zmpt101b dan Arus AC TRAFO CT ARUS VIA SMS GATEWAY SIM800L

ARDUINO Monitoring Daya, Tegangan AC 220v zmpt101b dan Arus AC TRAFO CT ARUS VIA SMS GATEWAY SIM800L


        Pada pembahasan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang digunakan untuk me-monitoring daya yaitu tegangan dan arus AC 220v 50Hz dengan menggunakan Arduino dan sensor yang digunakan adalah zmpt101b dan trafo arus CT 60/5 kemudian modul sms gateway yang digunakan adalah SIM800L. jadi alat ini bisa mengirimkan informasi terkait daya yang sedang di-sensing oleh sensor saat kita kirimkan sms "Monitor" ke alat maka akan dibalas dengan "DAYA = xxxxx watt" seperti itu gambarannya. yang perlu diperhatikan yaitu cara kalibrasi kedua sensor tersebut agar didapatkan nilai yang tepat. untuk lebih jelasnya berikut adalah program dan skemanya.




a. Arduino Mega





b. Sensor Tegangan AC ZMPT101B





c. Sensor Arus Trafo CT 60/5







d. Modul SMS Gateway SIM800L + Buck Converter








e. Program Arduino IDE

//supply SIM800L adalah 4v
//RX-TX Arduino Mega untuk sim800l adalah pin 50 dan 51
//rubah library SIM800l pada GSM.cpp ganti ke pin 50 dan 51


#include "SIM900.h"
#include <SoftwareSerial.h>

//#include <stdlib.h>
#include "sms.h"
SMSGSM sms;


#include <Wire.h>  // i2C Conection Library
#include <LiquidCrystal_I2C.h>  //i2C LCD Library

// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x3F, 16, 2);

char string[160];
int numdata;
boolean started=false;
char smsbuffer[160];
char n[20];
char strsms[5];

unsigned long start_times[300];
unsigned long stop_times[300];
unsigned long values[300];

// Define various ADC prescaler
const unsigned char PS_16 = (1 << ADPS2);
const unsigned char PS_32 = (1 << ADPS2) | (1 << ADPS0);
const unsigned char PS_64 = (1 << ADPS2) | (1 << ADPS1);
const unsigned char PS_128 = (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0);

int a = 0;
int zero = 1;
int vin = 0;
int iin = 0;



void setup() {

  lcd.begin();
  lcd.clear();
  lcd.noCursor();

  Serial.begin(9600);

  // set up the ADC
  ADCSRA &= ~PS_128;  // remove bits set by Arduino library

  // you can choose a prescaler from above.
  // PS_16, PS_32, PS_64 or PS_128
  ADCSRA |= PS_128;    // set our own prescaler to 64

  Serial.println("GSM Shield testing.");

  if (gsm.begin(2400)){
    Serial.println("\nstatus=READY");
    started=true;
  }
  else Serial.println("\nstatus=IDLE");


if(started) {
          //Enable this two lines if you want to send an SMS.
          if (sms.SendSMS("085604457904", "Ready"))
          Serial.println("\nSMS sent OK");
     }


}


void loop() {

  unsigned int i;
  unsigned int z;
  z = 0;
  
  // capture the values to memory
  for(i=0;i<300;i++) {
    start_times[i] = micros();
    values[i] = analogRead(A0);            

  if (values[i] >= z) {
  z = values[i];
  }
    stop_times[i] = micros();
  }

   int vin = z ;

  z = 0;

  //================================
  // capture the values to memory
  for(i=0;i<300;i++) {
    start_times[i] = micros();
    values[i] = analogRead(A1);            

  if (values[i] >= z) {
  z = values[i];
  }
    stop_times[i] = micros();
  }
     float v1 = z * (5.0/1023.0);
     float iin = (v1-2.5)/0.1 ;

z = 0;

  // capture the values to memory
  for(i=0;i<300;i++) {
    start_times[i] = micros();
    values[i] = analogRead(A1);            

  if (values[i] >= z) {
  z = values[i];
  }
    stop_times[i] = micros();
  }
     float v1x = z * (5.0/1023.0);
     float iinx = (v1x-2.5)/0.1 ;

float iintot = (iin + iinx) / 2;

if (iintot < 0) {
iintot = 0;
}

 z = 0;

float vrms = (vin - 559.9) / 0.413 ;

if (vrms < 0) {
vrms = 0;
}

float p = vrms * iin;

 sprintf(string,"Daya: %s watt", dtostrf(p, 8, 5, strsms));

 if(gsm.begin(9600)){
  started=true;
 }
 int pos=0;
 if(started){
  pos=sms.IsSMSPresent(SMS_ALL);
  if(pos){
    sms.GetSMS(pos,n,smsbuffer,100);
  
    if(!strcmp(smsbuffer,"monitor")){
      sms.SendSMS(n,string);
    }
    if(!strcmp(smsbuffer,"Monitor")){
      sms.SendSMS(n,string);
    }
 
    delsms();
  }
 }

  lcd.setCursor(0, 0);
  lcd.print("v=");
  lcd.print(vrms,1);
 
  lcd.print(" I=");
  lcd.print(iintot);
  lcd.print("     ");
 
  lcd.setCursor(0, 1);
  lcd.print("P=");
  lcd.print(p,1);
  lcd.print("     ");

delay(200);

}

void delsms()
{
  for (int i=0; i<10; i++)
  {
      int pos=sms.IsSMSPresent(SMS_ALL);
      if (pos!=0)
      {
        if (sms.DeleteSMS(pos)==1){}else{}
      }
  }
}





f. VIDEO HASILNYA








Membuat Kendali Stop Kontak / Saklar Menggunakan HP Android via Bluetooth BASCOM AVR

Membuat Kendali Stop Kontak / Saklar Menggunakan HP Android via Bluetooth BASCOM AVR


         Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang bisa mengendalikan stop kontak on dan off menggunakan handphone android, alat ini sama halnya dengan stop kontak biasa yang mana perbedaannya yaitu terletak pada efisiensi waktu dan jarak, jika saklar atau stop kontak manual masih menggunakan tombol on/off sehingga diperlukan energi dan gerakan untuk mematikan atau menghidupkan saklar tersebut, namun jika menggunakan handphone android, si pengguna tidak perlu repot-repot datang ketempat saklar lalu menekan tombol, yang perlu dilakukan hanyalah hidupkan handphone dan duduk dimanapun berada lalu tekan tombol pada interface aplikasi yang terhubung pada handphone, jarak yang diijinkan sekitar 5 - 10 meter namun jika diarea terbuka bisa mencapai 20 meter, alat ini menggunakan komunikasi bluetooth sehingga harus dipastikan handhpone tersebut memiliki fitur bluetooth, yang bisa dikendalikan oleh saklar ini yaitu segala macam peralatan elektronik rumah tangga dengan daya yang rendah. untuk lebih jelasnya berikut adalah skema dan programnya.




a. Minimum System ATMega16






b. Bluetooth HC-05





c. Modul Relay + Buzzer





d. Stop Kontak 






e. Program Bascom AVR

$regfile = "m16def.dat"
$crystal = 12000000
$baud = 9600

Ddrd.7 = 1
Ddrd.6 = 1
Ddrd.5 = 1

Ddra = &B11111111

Porta.7 = 0
Porta.6 = 0
Porta.5 = 0

Portd.7 = 0
Portd.6 = 0
Portd.5 = 0


Porta.0 = 1
Waitms 200

Porta.0 = 0
Waitms 200

Porta.0 = 1
Waitms 200

Porta.0 = 0
Waitms 200

Porta.0 = 1
Waitms 200

Porta.0 = 0
Waitms 200


Dim Perintah As String * 10

Cls
Cursor Off

Do

Perintah = Waitkey()

Select Case Perintah

    Case "a" :
    Porta.7 = 1
    Portd.7 = 1

    Case "b" :
    Porta.7 = 0
    Portd.7 = 0

    Case "c" :
    Porta.6 = 1
    Portd.6 = 1

    Case "d" :
    Porta.6 = 0
    Portd.6 = 0

    Case "e" :
    Porta.5 = 1
    Portd.5 = 1

    Case "f" :
    Porta.5 = 0
    Portd.5 = 0


  End Select

Loop





f. Program Android








g. VIDEO HASILNYA











 

Membuat Conveyor System Alat Pemisah Kayu Otomatis Menggunakan Arduino dan Sensor jarak HC-SRF04

Membuat Conveyor System Alat Pemisah Kayu Otomatis Menggunakan Arduino dan Sensor jarak HC-SRF04


         Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang menggunakan sistem konveyor sebagai penggeraknya yang mana difungsikan untuk pemilah kayu atau pemisah kayu yang standart ukurannya dan yang tidak standart ukurannya, jadi ada dua tempat peletakkan pada ujung konveyor, jika kayu didefinisikan kayu standart maka akan masuk ke kotak kayu standart namun jika tidak standart maka akan masuk ke kayu reject, alat ini menggunakan arduino sebagai kontrollernya dan pemisah kayu menggunakan motor servo, untuk sensor deteksi kayu menggunakan sensor jarak HC-SRF04 sebanyak 2 buah yang dipasang dibagaian atas dan bawah, untuk lebih jelasnya berkut adalah skema dan programnya.




a. Arduino UNO dan i2C LCD





b. Sensor Jarak HC-SRF04





c. Motor Servo





d. Motor DC + Gearbox






e. Sistem Konveyor






f. Program Arduino IDE

#include<Wire.h>
#include<Servo.h>
#include<LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F,16,2);

Servo myservo;
const int TRIG_PIN1=10;
const int ECHO_PIN1=11;

int counter = 0;
int cacat = 0;

const int TRIG_PIN2=3;
const int ECHO_PIN2=4;

long duration1,distanceCm1;
long duration2,distanceCm2;

int normal = 0;
int x = 100;

int waktu = 20;

int btlihat = 5;
int btreset = 6;

int btlihatx = 0;
int btresetx = 0;

void setup(){
  lcd.begin();
  lcd.clear();
  lcd.noCursor();
   
  pinMode(TRIG_PIN1,OUTPUT);
  pinMode(ECHO_PIN1,INPUT);

  pinMode(TRIG_PIN2,OUTPUT);
  pinMode(ECHO_PIN2,INPUT);
 
  pinMode(btlihat,INPUT_PULLUP);
  pinMode(btreset,INPUT_PULLUP);
 
  myservo.attach(9);
  myservo.write(5);
 
}

void loop(){
 
    btlihatx = digitalRead(btlihat);

    if(btlihatx == 0){
    lcd.clear(); 
    delay(3000);
    btlihatx = 1;
    setting();
    }

    digitalWrite(TRIG_PIN1,LOW);
    delayMicroseconds(2);
    digitalWrite(TRIG_PIN1,HIGH);
    delayMicroseconds(10);
    digitalWrite(TRIG_PIN1,LOW);
    duration1=pulseIn(ECHO_PIN1,HIGH);
   
    distanceCm1=duration1/29.1/2;
   
    lcd.setCursor(0,1);
    lcd.print(distanceCm1);
    lcd.print(" bawah   ");
       
    digitalWrite(TRIG_PIN2,LOW);
    delayMicroseconds(2);
    digitalWrite(TRIG_PIN2,HIGH);
    delayMicroseconds(10);
    digitalWrite(TRIG_PIN2,LOW);
    duration2=pulseIn(ECHO_PIN2,HIGH);
   
    distanceCm2=duration2/29.1/2;
   
    lcd.setCursor(0,0);
    lcd.print(distanceCm2);
    lcd.print(" atas   ");


if(distanceCm2 == 10){
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("proses");
    sampling();
}

}


void sampling(){

    digitalWrite(TRIG_PIN1,LOW);
    delayMicroseconds(2);
    digitalWrite(TRIG_PIN1,HIGH);
    delayMicroseconds(10);
    digitalWrite(TRIG_PIN1,LOW);
    duration1=pulseIn(ECHO_PIN1,HIGH);
   
    distanceCm1=duration1/29.1/2;
           
    digitalWrite(TRIG_PIN2,LOW);
    delayMicroseconds(2);
    digitalWrite(TRIG_PIN2,HIGH);
    delayMicroseconds(10);
    digitalWrite(TRIG_PIN2,LOW);
    duration2=pulseIn(ECHO_PIN2,HIGH);
   
    distanceCm2=duration2/29.1/2;

    lcd.setCursor(0,0);
    lcd.print("UP = ");
    lcd.print(distanceCm2);
    lcd.print("   ");
    lcd.print(counter);
   
    lcd.setCursor(0,1);
    lcd.print("BOT = ");
    lcd.print(distanceCm1);
    lcd.print("   ");

if((distanceCm2 == 14)&&(counter < waktu))
{
delay(1000);
myservo.write(10);
delay(x);
myservo.write(20);
delay(x);
myservo.write(30);
delay(x);
myservo.write(40);
delay(x);
myservo.write(50);
delay(x);
myservo.write(60);
delay(x);
myservo.write(70);
delay(x);
myservo.write(80);
delay(x);
myservo.write(90);
delay(x);
myservo.write(5);
counter = 0;
lcd.clear();
delay(1000);
lcd.setCursor(0,0);
lcd.print("REJECT");
delay(3000);
lcd.clear();
cacat++;
return;
}


if((distanceCm1 == 7)&&(counter < waktu))
{
delay(1000);
myservo.write(10);
delay(x);
myservo.write(20);
delay(x);
myservo.write(30);
delay(x);
myservo.write(40);
delay(x);
myservo.write(50);
delay(x);
myservo.write(60);
delay(x);
myservo.write(70);
delay(x);
myservo.write(80);
delay(x);
myservo.write(90);
delay(x);
myservo.write(5);
counter = 0;
lcd.clear();
delay(1000);
cacat++;
lcd.setCursor(0,0);
lcd.print("REJECT");
delay(3000);
lcd.clear();
return;
}


counter++;


if(counter > waktu){
lcd.clear();
 lcd.setCursor(0,0);
 lcd.print("STANDART");
counter = 0;
delay(3000);
lcd.clear();
normal++;
return;
}

sampling();
}




void setting(){

    btresetx = digitalRead(btreset);
    btlihatx = digitalRead(btlihat);
   
    if(btresetx == 0){
    cacat = 0;
    normal = 0;
    }
   
    if(btlihatx == 0){     
    lcd.clear(); 
    btlihatx = 1;
    delay(3000);
    return;
    }
   
    lcd.setCursor(0,0);
    lcd.print("REJECT = ");
    lcd.print(cacat);
    lcd.setCursor(0,1);
    lcd.print("STANDART = ");
    lcd.print(normal);

 delay(200);
 setting();
}





g. VIDEO HASILNYA












Cara Mengakses I2C LCD ARDUINO ( SCANNER I2C LCD )

Cara Mengakses I2C LCD ARDUINO ( SCANNER I2C LCD )


       Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara mengekases sebuah device yang digunakan untuk interface seperti nilai sensor atau nilai adc dan indikator suatu keadaan, yaitu LCD i2C, perlu diperhatikan bahwa device I2C LCD ini memiliki keunikan dibanding dengan device lain salah satunya yaitu alamat address yang tidak sama, maka dari itu disini akan dijelaskan bagaimana cara mengaksesnya dan bagaimana cara membuatnya, pada contoh kali ini dicontohkan pada LCD 16x2 yang memiliki 16 kolom dan 2 baris, untuk library bisa didownload di link berikut. perlu diketahui jika membeli i2C lcd langkah yang harus diperhatikan pertama kali adalah scanning nilai addressnya, biasanya ada 2 address yaitu 0x27 atau 0x3F, sebenernya masih ada variasi lain namun kedua address itu yang sering ditemui. untuk lebih jelasnya berikut adalah skema dan program scannernya.


Link Library DOWNLOAD



a. Arduino UNO





b. LCD 16x2





c. I2C LCD Modul





d. Cara Pemasangan






e. Program Scanner Address I2C

//Pertama sertakan library Wire.h
#include <Wire.h>

void setup() {
  Serial.begin (9600);
  // Leonardo: wait for serial port to connect
  while (!Serial)
    {
    }
  Serial.println ();
  Serial.println ("I2C scanner. Scanning ...");
  byte count = 0;
 
  Wire.begin();
  for (byte i = 8; i < 120; i++)
  {
    Wire.beginTransmission (i);
    if (Wire.endTransmission () == 0)
      {
      Serial.print ("Found address: ");
      Serial.print (i, DEC);
      Serial.print (" (0x");
      Serial.print (i, HEX);
      Serial.println (")");
      count++;
      delay (1);  // maybe unneeded?
      } // end of good response
  } // end of for loop
  Serial.println ("Done.");
  Serial.print ("Found ");
  Serial.print (count, DEC);
  Serial.println (" device(s).");
}  // end of setup
 

void loop() {
//empty

}





f. Program Menampilkan LCD Menggunakan I2C

#include <Wire.h> 
#include <LiquidCrystal_I2C.h> 
LiquidCrystal_I2C lcd(0x3F, 16, 2);

void setup(){
lcd.begin();
lcd.clear();
lcd.noCursor();
}

void loop(){
  lcd.setCursor(0,0);
  lcd.print("YANUAR M");
}






g. VIDEO HASILNYA











Kursus Robotika dan Mikrokontroller untuk SD - SMP - SMA

Kursus Robotika dan Mikrokontroller untuk SD - SMP - SMA


Pada kesempatan kali ini kami resmi mengumumkan untuk kursus atau pelatihan robotik dan mikrokontroller untuk level SD, SMP dan SMA, adapun sistem pelatihan yang kami lakukan yaitu dengan praktek dan teori jadi siswa akan kami ajarkan secara praktek bagaimana cara membuat sebuah alat instrumentsi yang berguna dan bagaimana cara membuat sebuah robot yang bisa membantu manusia atau untuk sekedar lomba. Untuk tiap level akan berbeda materi pelatihan dan metode mengajarnya, untuk lebih detailnya berikut kami jelaskan sistemnya.

                                  
Sistem Pelatihan:
1. Trainer mengajar di sekolah / di lab komputer
2. Waktu pelatihan setelah jam sekolah
3. Bisa sebagai mapel ekstrakulikuler
4. Jumlah pertemuan per bulan 8 kali
5. Waktu pelatihan maksimal 2.5 jam


Biaya:
1. Biaya untuk trainer / pelatih per bulan Rp. 2.000.000,-  


Biaya Kelengkapan Pelatihan:
1. Modul pelatihan per anak Rp. 300.000,- (Beli komponen)
2. Buku pelatihan per anak Rp. 50.000,- (hard copy)
3. Biaya kelengkapan ini hanya sekali saja bayar diawal  













Jasa Program ARDUINO dan Mikrokontroller AVR untuk UMUM

Jasa Program ARDUINO dan Mikrokontroller AVR untuk UMUM


        Akhirnya pada kesempatan kali kami mengumumkan bahwa jasa program Arduino dan AVR resmi dibuka, kami menyediakan beberapa pilihan program yaitu ARDUINO, CodeVision AVR dan Bascom AVR, kemudian program interface yang bisa kami buat yaitu Visual Basic 6 dan Delphi 7. biaya yang kami tawarkan bervariaasi tergantung tingkat kesulitan program dan mekanisme hardware yang dipakai, kami bisa menyelesaikan program paling cepat 1 hari dan itu program yang kami anggap mudah atau sudah pernah kami buat sebelumnya, untuk program yang sulit atau yang belum pernah kami buat estimasi waktu 3 hari - 2 minggu. demikian informasi yang bisa kami berikan untuk lebih jelasnya silahkan Whatsup di nomer 085726496643 (Yanuar M).


Program Mikrokontroller:
1. Arduino IDE
2. CodeVision AVR
3. Bascom AVR


Program Interface Komputer:
1. Visual Basic 6
2. Visual Studio 2010
3. Delphi 7


Program Interface Web:
1. HTML
2. PHP
3. MySQL
4.Java Script






Membuat Alat Monitoring Arus LAMPU AC via Internet (IOT) menggunakan ARDUINO ethernet webserver

Membuat Alat Monitoring Arus LAMPU AC via Internet (IOT) menggunakan ARDUINO ethernet webserver


         Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang berfungsi untuk monitoring arus pada sebuah lampu AC berdaya masing-masing 100 watt, lampu ini berjumlah 4 buah dan terdapat saklar untuk menghidupkan atau mematikan lampu secara manual, arus yang terbaca oleh sensor arus ACS712 akan dikirimkan via internet dan akan ditampilkan pada interface server. alat ini menggunakan Arduino sebagai kontrollernya dan ethernet shield untuk media penghubung TCP-IP nya. kemudian router dan modem untuk pengiriman ke website. untuk lebih jelasnya berikut adalah skema dan programnya.




a. Arduino Mega + Ethernet Shield





b. Router + Modem





c. Sensor Arus ACS712





d. Lampu Bohlam 100 watt







e. Program Arduino IDE

#include <SPI.h>
#include <Ethernet.h>

// Arrays to save our results in
unsigned long start_times[300];
unsigned long stop_times[300];
unsigned long values[300];


// Define various ADC prescaler
const unsigned char PS_16 = (1 << ADPS2);
const unsigned char PS_32 = (1 << ADPS2) | (1 << ADPS0);
const unsigned char PS_64 = (1 << ADPS2) | (1 << ADPS1);
const unsigned char PS_128 = (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0);


String txData2="";

byte mac[] = {
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
  char server[] = "www.viskositasoli.hol.es";
IPAddress ip(192,168,0,99);

EthernetClient client;

float arus1x;
float arus2x;
float arus3x;
float arus4x;

int arus1;
int arus2;
int arus3;
int arus4;



void setup() {
 
  // set up the ADC
  ADCSRA &= ~PS_128;  // remove bits set by Arduino library

  // you can choose a prescaler from above.
  // PS_16, PS_32, PS_64 or PS_128
  ADCSRA |= PS_128;    // set our own prescaler to 64

  Serial.begin(9600);
  while (!Serial) {
    ;
  }

  if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    Ethernet.begin(mac, ip);
  }

    delay(1000);
    Serial.println("connecting...");
    kirim ();
  
  }

void loop()
{
  unsigned int i;
  unsigned int z;
  z = 0;
   
  // capture the values to memory
  for(i=0;i<300;i++) {
    start_times[i] = micros();
    values[i] = analogRead(A0);             
 
  if (values[i] >= z) {
  z = values[i]; 
  }
    stop_times[i] = micros();
  }

  arus1x = z * (5.0/1023.0);
  arus1x = (arus1x - 2.438)/ 0.251;
  arus1 = arus1x * 100;
 
  z = 0;
  i = 0;
//=================================================

 // capture the values to memory
  for(i=0;i<300;i++) {
    start_times[i] = micros();
    values[i] = analogRead(A1);             
 
  if (values[i] >= z) {
  z = values[i]; 
  } 
    stop_times[i] = micros();
  }

  arus2x = z * (5.0/1023.0);
  arus2x = (arus2x - 2.438)/ 0.251;
  arus2 = arus2x * 100;
 
  z = 0;
  i = 0;

//===================================================

 // capture the values to memory
  for(i=0;i<300;i++) {
    start_times[i] = micros();
    values[i] = analogRead(A2);             
 
  if (values[i] >= z) {
  z = values[i]; 
  } 
    stop_times[i] = micros();
  }

  arus3x = z * (5.0/1023.0);
  arus3x = (arus3x - 2.438)/ 0.251;
  arus3 = arus3x * 100;

  z = 0;
  i = 0;

//==============================================

 // capture the values to memory
  for(i=0;i<300;i++) {
    start_times[i] = micros();
    values[i] = analogRead(A3);             
 
  if (values[i] >= z) {
  z = values[i]; 
  } 
    stop_times[i] = micros();
  }

  arus4x = z * (5.0/1023.0);
  arus4x = (arus4x - 2.438)/ 0.251;
  arus4 = arus4x * 100;

  z = 0;
  i = 0;
 
  kirim ();
}


void kirim (){

  EthernetClient client;

if (client.connect(server, 80)){
    txData2 = "arus1="+ (String (arus1)) + "&arus2="+ (String (arus2)) + "&arus3="+ (String (arus3)) + "&arus4="+ (String (arus4));           
    Serial.println("connected");
    Serial.print(txData2);
    client.println("POST /update2.php HTTP/1.1");
    client.println("Host: www.viskositasoli.hol.es");
    client.println("Connection: close");
    client.print("Content-Type: application/x-www-form-urlencoded\n");
    client.print("Content-Length: ");
    client.print(txData2.length());
    client.print("\n\n");
    client.print(txData2);
    Serial.println(txData2);    
    delay (5000);
        
  }  
  else{
    Serial.println("Connection Failed.");
    Serial.println();
    delay (3000);
  }
}





f. Config.php

<?php

$dbhost = 'mysql.idhostinger.com';
$dbuser = 'u1417xxx_local';
$dbpass = '12345';  
$dbname = 'u1417xxx_arus';

$conn = @mysql_connect($dbhost,$dbuser,$dbpass) or die ('Error connecting to mysql');
mysql_select_db($dbname);
if(!$conn){
        echo "database gak konek";
    }else{

    }
?>



g. update2.php

<?php
require("config.php");

$query = "UPDATE dbarus SET arus1='$_POST[arus1]', arus2='$_POST[arus2]', arus3='$_POST[arus3]', arus4='$_POST[arus4]' WHERE no=1";

if(!@mysql_query($query))
{
    echo "&Answer; SQL Error - ".mysql_error();
    return;
}
?>




h. index.php

 <html>
<head>
<meta http-equiv="refresh" content="3">
<style>
.bordered { border-style:solid; }
</style>
<link rel="stylesheet" type="text/css" href="latweb.css" />
<title >MONITORING ARUS</title>
</head>
<body>

<CENTER>
<p><h2> MONITORING ARUS</h2></p>


</CENTER>

<CENTER>
<p><h3>

ARUS 1 =
<?php
include "confignew.php";
$tampil = @mysql_query("SELECT * FROM dbarus WHERE no IN (SELECT MAX(no) FROM dbarus)");
        
    while ($r=mysql_fetch_array($tampil)){
       echo $r[arus1]/100;
             
   }
?>
&nbsp Amper <br>


ARUS 2 =
<?php
include "confignew.php";
$tampil = @mysql_query("SELECT * FROM dbarus WHERE no IN (SELECT MAX(no) FROM dbarus)");
        
    while ($r=mysql_fetch_array($tampil)){
       echo $r[arus2]/100;
             
   }
?>
&nbsp Amper <br>


ARUS 3 =
<?php
include "confignew.php";
$tampil = @mysql_query("SELECT * FROM dbarus WHERE no IN (SELECT MAX(no) FROM dbarus)");
        
    while ($r=mysql_fetch_array($tampil)){
       echo $r[arus3]/100;
             
   }
?>
&nbsp Amper <br>


ARUS 4 =
<?php
include "confignew.php";
$tampil = @mysql_query("SELECT * FROM dbarus WHERE no IN (SELECT MAX(no) FROM dbarus)");
        
    while ($r=mysql_fetch_array($tampil)){
       echo $r[arus4]/100;
             
   }
?>
&nbsp Amper <br>


<BR><BR>

<?php
include "confignew.php";
$tampil = @mysql_query("SELECT * FROM dbarus WHERE no IN (SELECT MAX(no) FROM dbarus)");
        
    while ($r=mysql_fetch_array($tampil)){
             
       if ($r[arus1] > 65) {
         echo "LAMPU 1 ON";
       }
     
       if ($r[arus1] < 65) {
         echo "LAMPU 1 OFF";
       }
      
   }
?>
<br>


<?php
include "confignew.php";
$tampil = @mysql_query("SELECT * FROM dbarus WHERE no IN (SELECT MAX(no) FROM dbarus)");
        
    while ($r=mysql_fetch_array($tampil)){
             
       if ($r[arus2] > 65) {
         echo "LAMPU 2 ON";
       }
     
       if ($r[arus2] < 65) {
         echo "LAMPU 2 OFF";
       }
      
   }
?>
<br>



<?php
include "confignew.php";
$tampil = @mysql_query("SELECT * FROM dbarus WHERE no IN (SELECT MAX(no) FROM dbarus)");
        
    while ($r=mysql_fetch_array($tampil)){
             
       if ($r[arus3] > 65) {
         echo "LAMPU 3 ON";
       }
     
       if ($r[arus3] < 65) {
         echo "LAMPU 3 OFF";
       }
      
   }
?>
<br>



<?php
include "confignew.php";
$tampil = @mysql_query("SELECT * FROM dbarus WHERE no IN (SELECT MAX(no) FROM dbarus)");
        
    while ($r=mysql_fetch_array($tampil)){
             
       if ($r[arus4] > 65) {
         echo "LAMPU 4 ON";
       }
     
       if ($r[arus4] < 65) {
         echo "LAMPU 4 OFF";
       }
      
   }
?>
<br>

</CENTER>
</body>
</html>





i. Gambar Interface Server







j. VIDEO HASILNYA