Arduino Mega + ENC28J60 + VB.NET+ Access database


hey guys. sorry disturbing in big trouble , desperately need help. have project make access control system using ethernet, arduino, , access database. chose vb work gui know nothing vb... work rfid card. goal scan card, send uid arduino vb via ethernet connection, check if uid available in access database connected vb, send response arduino giving or not giving access person enter. @ moment have made arduino scan uid of rfid. have no idea how send uid vb via ethernet, how receive data arduino vb via ethernet, how check if uid available in database. , also, don't know how measure time (enter time, exit time, lapsed time, total time) in vb. know how receive data vb arduino via serial not via ethernet. sorry being stupid cry help.
i use visual studio 2013 , arduino ide 1.0.6

vb code
code: [select]
public class form1


    private sub form1_load(sender object, e eventargs) handles mybase.load
        'todo: line of code loads data 'baigiamojidataset.table1' table. can move, or remove it, needed.
        me.table1tableadapter.fill(me.baigiamojidataset.table1)


    end sub

    private sub button2_click(sender object, e eventargs) handles button2.click
        table1bindingsource.moveprevious()
    end sub

    private sub button1_click(sender object, e eventargs) handles button1.click
        table1bindingsource.addnew()
    end sub

    private sub button3_click(sender object, e eventargs) handles button3.click
        table1bindingsource.movenext()
    end sub

    private sub button5_click(sender object, e eventargs) handles button5.click
        on error goto saveerr
        table1tableadapter.update(baigiamojidataset.table1)
        table1bindingsource.endedit()
        messagebox.show("išsaugota")
saveerr:
        exit sub
    end sub

    private sub button6_click(sender object, e eventargs) handles button6.click
        table1bindingsource.removecurrent()
    end sub

    private sub button4_click(sender object, e eventargs) handles button4.click
        me.close()
    end sub
end class


arduino code
code: [select]
#include <spi.h>      // rc522 module uses spi protocol
#include <mfrc522.h>   // library mifare rc522 devices
#include <liquidcrystal.h>
#include <ds1302rtc.h>
#include <time.h>


// init ds1302 (external rtc)
// set pins:  ce, io,clk
ds1302rtc rtc(45, 43, 41);

// optional connection rtc module
#define ds1302_gnd_pin 39
#define ds1302_vcc_pin 37

#define common_anode
#define led_on high
#define led_off low

#define redled 3
#define greenled 5
#define blueled 7
#define relay 4


int successread; // variable integer keep if have successful read reader

byte readcard[4];           // stores scanned id read rfid module


/* need define mfrc522's pins , create instance
 * pin layout should follows (on arduino mega 2560):
 * mosi: pin 51 / icsp-4
 * miso: pin 50 / icsp-1
 * sck : pin 52 / icsp-3
 * ss : pin 53 (configurable)
 * rst : pin 28 (configurable)
 * mfrc522 library for
 * pin configuration other arduinos.
 */

#define ss_pin 53
#define rst_pin 28
mfrc522 mfrc522(ss_pin, rst_pin); // create mfrc522 instance.

//lcd pins       (rs, e, d4, d5, d6, d7)  (rw=gnd)    (a=5v; k=gnd)   (vss=gnd; vdd=reostat 1 pin; v0=reostat 2 pin) (reostat 1 pin=5v; reostat 3 pin = gnd)
liquidcrystal lcd(10, 8, 33, 31, 29, 27);

///////////////////////////////////////// setup ///////////////////////////////////
void setup() {
  lcd.begin(16, 2);
  lcd.clear();
  //arduino pin configuration
  pinmode(redled, output);
  pinmode(greenled, output);
  pinmode(blueled, output);
  pinmode(relay, output);
  digitalwrite(relay, low); // make sure door locked
  digitalwrite(redled, led_off); // make sure led off
  digitalwrite(greenled, led_off); // make sure led off
  digitalwrite(blueled, led_off); // make sure led off

  //protocol configuration
  serial.begin(9600); // initialize serial communications pc
  spi.begin();           // mfrc522 hardware uses spi protocol
  mfrc522.pcd_init();    // initialize mfrc522 hardware
  mfrc522.pcd_setantennagain(mfrc522.rxgain_max); //set antenna gain max- increase reading distance

  // activate rtc module
  digitalwrite(ds1302_gnd_pin, low);
  pinmode(ds1302_gnd_pin, output);

  digitalwrite(ds1302_vcc_pin, high);
  pinmode(ds1302_vcc_pin, output);

  lcd.clear();

  rtc.haltrtc(1); //clock enable (1), clock disable (0)
  rtc.writeen(0); //write protection off (1), write protection on (0)

  //time set
  //settime(1,19,0,16,12,2014);
  //time_t t = now();
  //rtc.set(t);

  lcd.clear();
  lcd.setcursor(0, 0);
  lcd.print("waiting card");
  delay(200);
}

///////////////////////////////////////// main loop ///////////////////////////////////
void loop () {
  {
    successread = getid(); // sets successread 1 when read reader otherwise 0

      normalmodeon(); // normal mode, blue power led on, others off
   
  }
  while (!successread); //the program not go further while not successful read
  opendoor();

}

///////////////////////////////////////// picc's uid ///////////////////////////////////
int getid() {
  // getting ready reading piccs
  if ( ! mfrc522.picc_isnewcardpresent()) { //if new picc placed rfid reader continue
    return 0;
  }
  if ( ! mfrc522.picc_readcardserial()) { //since picc placed serial , continue
    return 0;
  }
  //serial.println("scanned picc's uid:");
  (int = 0; < 4; i++) {  //
    readcard[i] = mfrc522.uid.uidbyte[i];
    serial.print(readcard[i], hex);
  }
 
  serial.println("");
  mfrc522.picc_halta(); // stop reading
  return 1;
}

//////////////////////////////////////// normal mode leds  ///////////////////////////////////
void normalmodeon () {
  digitalwrite(blueled, led_on); // blue led on , ready read card
  digitalwrite(redled, led_off); // make sure red led off
  digitalwrite(greenled, led_off); // make sure green led off
  digitalwrite(relay, low); // make sure door locked
}


///////////////////////////////////////// unlock door   ///////////////////////////////////
void opendoor() {
  digitalwrite(blueled, led_off); // turn off blue led
  digitalwrite(redled, led_off); // turn off red led
  digitalwrite(greenled, led_on); // turn on green led
  digitalwrite(relay, high); // unlock door!
  delay(1000); // hold door lock open given seconds
  digitalwrite(relay, low); // relock door
  delay(1000); // hold green led on 2 more seconds
}

///////////////////////////////////////// failed access  ///////////////////////////////////
void failed() {
  digitalwrite(greenled, led_off); // make sure green led off
  digitalwrite(blueled, led_off); // make sure blue led off
  digitalwrite(redled, led_on); // turn on red led
  delay(2000);

}

or if complicated project on vb maybe can suggest other program work access database , ethernet (maybe labwindows cvi)?
i add picture of vb gui.

please help...



Arduino Forum > Using Arduino > Project Guidance > Arduino Mega + ENC28J60 + VB.NET+ Access database


arduino

Comments