08.11.2017 Views

arduino_básico_Michael_McRoberts

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capítulo 16 ■ Criação de um leitor RFID<br />

379<br />

Depois, temos uma variável para armazenar o número de usuários no banco de dados:<br />

int users = 3;<br />

Na sequência, temos dois arrays para armazenar os números de identificação dos<br />

cartões e os nomes de seus portadores. Altere os números dos cartões para aqueles<br />

de sua escolha (apenas os primeiros dez dígitos).<br />

char* cards[] = { // cartões válidos<br />

"3D00768B53",<br />

"3D00251C27",<br />

"3D0029E6BF",<br />

};<br />

char* names[] = { // nomes dos portadores dos cartões<br />

"Tom Smith",<br />

"Dick Jones",<br />

"Harry Roberts"<br />

};<br />

A rotina de inicialização define os pinos da fechadura e do alto-falante como saída:<br />

pinMode (lockPin, OUTPUT);<br />

pinMode (speakerPin, OUTPUT);<br />

Depois, definimos o pino da fechadura como LOW, para garantir que ela não destranque<br />

no início:<br />

digitalWrite(lockPin, LOW);<br />

Então, você inicia a comunicação na porta serial e na porta SoftwareSerial:<br />

Serial.begin(9600);<br />

rfidReader.begin(9600);<br />

Em seguida, temos o loop principal. Você inicia definindo as variáveis que utilizará<br />

no loop:<br />

char cardNum[10];<br />

byte cardBytes[6];<br />

int index=0;<br />

byte byteIn=0;<br />

byte lastByte=0;<br />

byte checksum = 0;<br />

// array para armazenar o número do cartão<br />

// versão em byte do número do cartão + checksum<br />

// dígito atual<br />

// byte lido do RFID<br />

// último byte lido<br />

// o resultado do checksum é armazenado aqui<br />

Depois, você verifica se há dados entrando pela porta serial dos leitores RFID. Se<br />

afirmativo, e o primeiro byte contiver 2 (código de início de transmissão), você saberá<br />

que uma string de identificação está prestes a ser transmitida, e poderá iniciar a<br />

leitura dos dígitos.<br />

if (rfidReader.read()==2) { // lê o leitor RFID

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!