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;
}
}
}
Subscribe to:
Post Comments (Atom)

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