Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SoftwareSerial.h>
- #include <SPI.h>
- #include <Ethernet.h>
- #include <EthernetUdp.h>
- //MAC Address da placa, configurável
- //DE-AD-BE-EF-FE-ED
- byte mac[] = {0xAF, 0xBE, 0xCD, 0xDC, 0xEB, 0xFA};
- //Setando IP da shield
- IPAddress ip_placa(192, 168, 0, 185);
- //IP do servidor 1
- IPAddress ip_server1(192, 168, 0 ,10);
- //IP do servidor 2
- IPAddress ip_server2(192, 168, 0, 11);
- //Protocolo UDP para enviar
- EthernetUDP Udp;
- //LEITURA DO RFID
- SoftwareSerial mySerial(68, 69);
- //NOVO
- char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet,
- #define _p1 22
- #define _p2 23
- #define _solenoide 31
- unsigned long _ultimaLeitura = 0;
- //String _cartao;
- void setup()
- {
- Ethernet.begin(mac,ip_placa);
- Udp.begin(7776);
- mySerial.begin(9600);
- //monitor
- Serial.begin(9600);
- //Ativar o pino 4, isso ajuda a gerenciar a fila de pacotes UDP
- pinMode(4,OUTPUT);
- digitalWrite(4,HIGH);
- pinMode(_p1,INPUT);
- pinMode(_p2,INPUT);
- pinMode(_solenoide,OUTPUT);
- }
- void loop()
- {
- if(digitalRead(_p1) == HIGH)
- {
- EnviaCartao(ip_server1,LerCartao());
- }
- if(digitalRead(_p2) == HIGH)
- {
- EnviaCartao(ip_server2,LerCartao());
- }
- // if(mySerial.available())
- // {
- // int _cartao = mySerial.read();
- // Serial.println(_cartao);
- // }
- }
- void AcionaSolenoide()
- {
- digitalWrite(_solenoide,HIGH);
- digitalWrite(_solenoide,LOW);
- Serial.println("Acionado!");
- }
- String LerCartao()
- {
- String _cartao;
- String _cartaoLido;
- while(mySerial.available())
- {
- char _cartaoChar = mySerial.read();
- _cartao.concat(_cartaoChar);
- }
- //if(millis() - _ultimaLeitura > 3000)
- //{
- // _cartao = _cartaoLido;
- // _ultimaLeitura = millis();
- //}
- return _cartao;
- }
- void EnviaCartao(IPAddress _ipServidor, String _cartao)
- {
- if(_cartao != "")
- {
- Serial.println(_cartao + " - " + _cartao.length());
- Udp.beginPacket(_ipServidor,12345);
- Udp.print(_cartao);
- Udp.endPacket();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement