Sket Arduino komunikasi Serial With Java tahap I

Pengiriman data serial dari Arduino ke java dan dari java ke Ardiono
siapkan
tombol 2
led 1
dan buzzer atau relay 1
dan rifid 1 rc522

cara kerja
1.ketika tombol tiket ditekan maka arduino  akan mengirim data serial ke java / netbeans
  kemudian netbeans akan mengcapture dan menyimpan foto serta database mysql
  selanjut nya netbeans akan mengirim sinyal ke arduino untuk menggerakan relay yg selanjut nya  dihubungkan ke palang pintu

2.ketika secan kartu dari rfid maka arduino akan mengirim data serila dari rfid ke java / netbeans
  kemudian netbeans akan mengecek apakah sudah ada data tsb, jika ada netbeans akan mengirim sinyal ke arduino untuk menggerakan relay yg selanjut nya dihubungkan ke palang pintu , tapi jika tidak ada maka netbean akan memutar audio pemberitahuan bahwa member belum terdaftar

di bawah ini merupakan kode untuk arduino nya



#include <MFRC522.h>
#include <SPI.h>
#define SAD 10
#define RST 5
MFRC522 nfc(SAD, RST);

String inputString = "";
String DF = "";
String onof = "";
boolean stringComplete = false;

int tiket   = 2;
int bantuan = 3;
int led     = 6;
int rly     = 7;

void setup() {
  SPI.begin();
  Serial.begin(9600);
  nfc.begin();

  pinMode(led, OUTPUT);
  pinMode(rly, OUTPUT);
  pinMode(tiket, INPUT_PULLUP);// jika menggunkan INPUT_PULLUP maka kaki 6 di short langsung dengan GND ( ground )
  pinMode(bantuan, INPUT_PULLUP);
  inputString.reserve(200);
}

byte keyA[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, };
byte keyB[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, };

void loop() {
  int statusTiket   = digitalRead(tiket);
  int statusBantuan = digitalRead(bantuan);
  int statusLed     = digitalRead(led);



  if (inputString == "A" || statusTiket == LOW  )
  { Serial.write('T');
    Serial.write('X');
    delay(2000);
    digitalWrite(led, HIGH);
    delay(100);
    digitalWrite(led, LOW);
    Serial.print('\n'); 
    return false;
  } 
 
  if (inputString == "C" ) {
//    Serial.write("12345678");
//    Serial.write("X");
//    delay(2000);
   
    digitalWrite(rly, HIGH); 
     delay(100);
     digitalWrite(led, HIGH);
     delay(100);
     digitalWrite(led, LOW);
     digitalWrite(rly, LOW); 
     Serial.print('\n');   
    return false;
   
  }
 
  if (inputString == "B" || statusBantuan == LOW  ) {
    Serial.write('H');
    Serial.write('X');
     delay(2000);
    digitalWrite(led, HIGH);
    delay(100);
    digitalWrite(led, LOW);
     Serial.print('\n'); 
     return false;
  
  } 



 //Serial.write("0");
 Serial.print('\n'); 

  if (stringComplete) {
    //Serial.print(inputString);
    //Serial.print("\n");
    inputString = "";
    stringComplete = false;
  } else {
    DF = "ON";
  }


  if ( DF == "ON" ) {
    byte status;
    byte data[MAX_LEN];
    byte serial[8];
    int i, j, pos;
    status = nfc.requestTag(MF1_REQIDL, data);
    if (status == MI_OK) {
      digitalWrite(led, HIGH);  status = nfc.antiCollision(data);    memcpy(serial, data, 8);
      for (i = 0; i < 5; i++) {
        Serial.print(serial[i]);
      }
      Serial.print('X');
      Serial.print('M');  
      nfc.haltTag(); delay(500); digitalWrite(led, LOW); DF = "OFF";
    }
  }
}

void serialEvent() {
 if (Serial.available()) {
    DF = "OFF";
    char inChar = (char)Serial.read();
    inputString += inChar;
    if (inChar == '\n') {
      stringComplete = true;
    }
  }
}

0 Response to "Sket Arduino komunikasi Serial With Java tahap I"

Post a Comment