Arduino para Iniciantes

Cursos


Simulados


P&R

Arduino-36 Projetos

Ajude-nos a manter este site sempre atualizado com novos Cursos, Tutoriais, Simulados e Projetos. Agradecemos a sua colabora��o.


Projetos Arduino - Sensores - Projeto 5

Como utilizar um Sensor RFID-RC522 para
acionar um Servo Motor

  Descri��o:

  Nesse projeto vamos utilizar o mesmo sensor do projeto anterior juntamente com um servo motor e um LCD 16x2, de forma que, quando algu�m autorizado aproximar o cart�o do leitor o eixo do servo motor dever� ser girado em 90 graus. No caso do chaveiro nada aconte-cer�, isso significa que o chaveiro n�o est� autorizado ao acesso. A libera��o ou n�o do acesso ser� mostrada no LCD. Voc� poderia adaptar esse projeto e criar um mecanismo para abrir uma porta qualquer ou uma cancela para algu�m entrar em algum recinto, por exemplo. Para efeito de confer�ncia, o resultado tamb�m ser� exibido no Monitor serial do Arduino. Para ajustar a luminosidade do LCD vamos adicionar tamb�m um potenci�metro.

  Essas informa��es ser�o mostradas tamb�m no Monitor serial. Podemos encontrar esse tipo de sensor sendo utilizado nos ped�gios de estradas e pontes, aberturas de portas, em produtos, em cart�es para acesso ao transporte coletivo, entre outras aplica��es. As etiquetas (ou tags como s�o tamb�m conhecidas) RFID podem conter v�rios dados sobre o propriet�rio do cart�o, como nome, endere�o e telefone, e no caso de produtos, informa��es sobre proced�ncia, valor e data de validade, apenas para citar alguns exemplos.

  Mas agora vamos conhecer os componentes que far�o parte desse projeto.

  Leitor RFID-RC522:

  RFID significa Radio Frequency Identification (Identifica��o por Radiofrequ�ncia). Al�m da identifica��o e acesso de pessoas a determinados lugares, como j� dissemos anteriormente, esse leitor pode ser tamb�m utilizado para identificar produtos e equipamentos, seja por meio de crach�s ou etiquetas aplicadas a esses produtos. Voc� tamb�m poder� utilizar esse sensor para ligar motores, outros sensores, l�mpadas ou LEDs, entre outros dispositivos. As tags RFID podem ser embutidas facilmente em v�rios objetos, nos mais variados tamanhos e for-matos. Cada etiqueta (ou tag) do leitor RFID tem a sua pr�pria identifica��o (UID).

  Esse leitor � composto de tr�s partes: um sensor, uma tag no formato de chaveiro e uma tag no formato de cart�o. Toda tag que acompanha o leitor � identificada com um c�digo hexadecimal �nico, que voc� poder� utilizar para cadastrar as pessoas, produtos, pe�as, etc. Nenhum c�digo � igual a outro. Voc� poder� adquirir v�rios cart�es e v�rios chaveiros para utilizar com um mesmo leitor.

  O tipo de leitor que vamos utilizar no nosso projeto � o mostrado na Figura 5.1:


Figura 5.1 � Leitor RFID-RC522, Chaveiro e Cart�o.
(Imagem: do Autor)

  Vejamos algumas especifica��es t�cnicas desse componente de acordo com o fabricante:

  � Corrente de pico: & lt; 30mA.
  � Umidade relativa: 5% -95%.
  � Corrente: 13-26mA/DC 3.3V.
  � Corrente ociosa: 10-13mA / DC 3.3V.
  � Frequ�ncia de opera��o: 13.56MHz.
  � Dimens�es: 40mm x 60mm.
  � Temperatura de armazenamento do ambiente: -40 ~ 85 graus Celsius.
  � Temperatura de opera��o ambiental: -20 ~ 80 graus Celsius.
  � Tipos de cart�es suportados: mifare1 S50, mifare1 S70, mifare UltraLight, mifare Pro, mifare Desfire.

  Pinagem:

  Esse componente disp�e de oito pinos para a conex�o com o Arduino, conforme mostra a Figura 5.2:


Figura 5.2 � Leitor RFID-RC522.
(Imagem: do Autor)

A partir da esquerda (parte superior), temos:

  � Pino 3.3 � alimenta��o: 3.3V.
  � Pino RST � porta 9 do Arduino.
  � Pino GND � terra.
  � Pino NC � N�o conectado.
  � Pino MISO � porta 12 do Arduino.
  � Pino MOSI � porta 11 do Arduino.
  � Pino SCK � porta 13 do Arduino.
  � Pino SDA � porta 10 do Arduino.

  Lembrete: A tens�o desse sensor � de 3.3V, e n�o 5V como � de costume na maioria dos componentes. Portanto, cuidado para n�o conect�-lo no pino errado, sen�o poder� danificar o componente.

  Servo Motor:

  O servo motor que vamos utilizar no nosso projeto � o mesmo j� utilizado em projetos anteriores, ou seja, um Tower Pro 9g, conforme mostra a Figura 5.3:


Figura 5.3 � Servo Motor Tower
Pro 9g e acess�rios.
(Imagem: do Autor)

  Pinagem:

  Esse componente disp�e apenas de tr�s fios: um para a tens�o (fio vermelho), um para o terra (fio marrom) e outro para o sinal (geralmente de cor laranja ou amarelo, mas pode variar de acordo com o modelo e o fabricante):

  Potenci�metro:

  Um potenci�metro � um sensor anal�gico com um bot�o girat�rio ajust�vel entre um valor m�nimo e um m�ximo. � como se fosse um resistor vari�vel. Seus valores variam entre 0 e 1023, e voc� poder� utilizar esse componente para controlar o volume de um som, a veloci-dade de um motor, a intensidade de um LED ou de uma l�mpada, entre outras aplica��es. Sua tens�o pode variar entre 3,3V e 5V. Existem v�rios tipos, tamanhos e formatos desse componente no mercado, e voc� poder� utilizar qualquer um que seja compat�vel com o que vamos utilizar em nosso projeto, conforme mostra a Figura 5.4:


Figura 5.4 � Potenci�metro.
(Imagem: do Autor)

  Pinagem:

  Esse componente disp�e de tr�s pinos (ou terminais) para a conex�o com o Arduino. A partir da esquerda, temos:

  � GND � terra.
  � VCC � 5V.
  � SIG � sinal.

  Display LCD 16x2:

  Esse componente � utilizado para exibir informa��es provenientes de resultados obtidos da leitura de outros componentes, como sensores de movimento, ultrass�nicos, infravermelho, de temperatura, etc. Essas informa��es ser�o exibidas em um visor de cristal l�quido contendo 16 colunas por 2 linhas. Esse componente poder� ser usado com v�rios tipos de placas e microcontroladores, tais como Arduino, Raspberry PI, PIC, entre outros. O tamanho, as cores de fundo e dos caracteres variam de acordo com o modelo e o fabricante. Entretanto, essas caracter�sticas n�o afetam a finalidade do nosso projeto.
  O tipo de display que vamos utilizar em nosso projeto � o mostrado na Figura 5.5:


Figura 5.5 � Display LCD 16x2
(Imagem: do Autor)

  Vejamos algumas especifica��es t�cnicas desse componente de acordo com o fabricante:

  � M�dulo I2C 1602 LCD Azul 16x2.
  � Tela de cristal l�quido para Arduino e outros microcontroladores.
  � Com o conversor serial I2C, o m�dulo usa o chip pcf8574.
  � Ele permite que voc� use este LCD com apenas 4 pinos. H� uma luz de fundo que levaria um quinto pino se voc� quiser ligar e desligar.
  � Tela retro iluminada azul de 16x2 caracteres.
  � O conversor I2C inclu�do salva os pinos no seu projeto.
  � O LCD e o conversor s�o componentes separados com os pinos soldados no conversor.
  � Ser� necess�rio soldar o conversor no LCD.

  Agora que voc� j� conhece o componente essencial para esse projeto, vejamos o material necess�rio para sua execu��o:

  � 1 Arduino Uno (recomendado) ou compat�vel.
  � 1 Protoboard.
  � 1 Leitor RFID-RC522.
  � 1 Tag Cart�o.
  � 1 Tag Chaveiro.
  � 1 Display LCD 16x2.
  � 1 Servo Motor TowerPro 9g.
  � 1 Potenci�metro de 10K.
  � Alguns jumpers.

   Conectando os componentes ao Arduino:

  Estando com todo o material em m�os, conecte-os de acordo com o esquema mostrado na Figura 5.6, mas antes certifique-se que o cabo USB do Arduino esteja desconectado do computador:


Figura 5.6 � Conex�o esquem�tica dos componentes
com o Arduino e a protoboard.
(Imagem: do Autor)

  Fa�a as conex�es da seguinte forma:

  � Arduino � conecte o pino 5V a um dos pinos da trilha vermelha da protoboard (fio vermelho), e o pino GND a um dos pinos da trilha preta da protoboard (fio marrom).
  � Leitor RFID-RC522 � conecte o primeiro pino da esquerda (SDA) ao pino 10 do Arduino (fio verde), o segundo pino (SCK), conecte ao pino 13 do Arduino (fio vermelho), o pino MOSI, conecte ao pino 11 do Arduino (fio verde), o pino MISO, conecte ao pino 12 do Arduino (fio vermelho), o pino NC, deixe desconectado, o pino GND, conecte a um dos pinos da trilha preta da protoboard (fio azul), o pino RST, conecte ao pino 9 do Arduino (fio laranja), e finalmente, o pino 3.3, conecte ao pino 3.3V do Ar-duino (fio verde).
  � Display LCD � conecte o primeiro pino da esquerda, VSS (Ground), a um dos pinos da trilha preta da protoboard (fio azul), o segundo pino, VDD (5V), conecte a um dos pinos da trilha vermelha da protoboard (fio azul), o terceiro pino, VE (Contrast), conecte o potenci�metro (veja abaixo), o quarto pino RS conecte � sa�da digital 6 do Arduino (fio laranja), o quinto pino, RW, conecte a um dos pinos da trilha preta da protoboard (fio marrom), o sexto pino (E), conecte � sa�da digital 7 do Arduino (fio lil�s), deixe os pr�ximos 4 pinos (D0 a D3) desconectados, o pino D4, conecte � sa�da digital 5 do Arduino (fio verde), o pino D5, conecte � sa�da digital 4 do Arduino (fio azul), o pino D6, conecte � sa�da digital 3 do Arduino (fio verde), o pino D7, conecte � sa�da digital 2 do Arduino (fio vermelho), o pen�ltimo pino, Backlight Anode, conecte � um dos pinos da trilha vermelha da protoboard (fio vermelho), e finalmente o pino Backlight Cathode, conecte � um dos pinos da trilha preta da protoboard (fio preto).
  � Servo Motor � conecte o terminal de cor marrom do servo a um dos pinos da trilha preta da proto-board (fio azul), o terminal de cor vermelha conecte a um dos pinos da trilha ver-melha da protoboard (fio vermelho), e o terminal de cor amarela � sa�da digital 8 do Arduino (fio laranja).
  � Potenci�metro � conecte o terminal da esquerda (SIG) ao pino VE (Constrast) do LCD (fio amarelo), o segundo terminal (VCC) conecte � trilha vermelha da protoboard (fio ver-melho), e o �ltimo (GND) conecte a um dos pinos da trilha preta da protoboard (fio laranja).
  Para facilitar a conex�o do LCD 16x2 com o Arduino e a protoboard, consulte a tabela a seguir:


Tabela 5.1 � Conex�o dos pinos do LCD 16x2
com o Arduino e a protoboard.
(Imagem: do Autor)

  Veja nas Figura 5.7, 5.8, 5.9 e 5.10 o mesmo projeto na vers�o real:


Figura 5.7 � Vis�o real das conex�es dos
componentes com o Arduino e a protoboard.
(Imagem: do Autor)


Figura 5.8 � Mensagem inicial quando o c�digo � executado.
(Imagem: do Autor)


Figura 5.9 � Mensagem quando o cart�o
� aproximado do leitor.
(Imagem: do Autor)


Figura 5.10 � Mensagem quando o chaveiro
� aproximado do leitor.
(Imagem: do Autor)

  Criando o sketch:

  Para a cria��o do nosso sketch, precisamos primeiro baixar e instalar a biblioteca do RFID no Arduino necess�ria para a execu��o do projeto. Se a biblioteca j� estiver instalada execute o passo seguinte:

   Instalando a biblioteca MFRC522:

  � Fa�a o download da biblioteca MFRC522 no link:

   Biblioteca MFRC522

  E salve-a em algum lugar de sua prefer�ncia.

  � Descompacte o arquivo e mova ou copie a pasta MFRC522 para o diret�rio libraries do Arduino (onde ele foi instalado).
  � Execute o Arduino e verifique se a biblioteca instalada faz parte da lista de bibliotecas utilizando o menu: Sketch >> Incluir Biblioteca. Ela deve estar no final da lista com o nome: MFRC522.

  OBS.: Se o Arduino j� estiver sendo executado ser� necess�rio fech�-lo e execut�-lo novamente para que a biblioteca seja inclu�da na lista.

  Agora que a biblioteca est� devidamente instalada e os componentes conectados, digite o c�digo da Listagem 5.1 (desconsidere os n�meros � esquerda, s� servem como refer�ncia), ou carregue o arquivo (leitor_rfid_servo) utilizando o link:

   Leitor RFID-RC522

  E abra no editor do Arduino.


Listagem 5.1

  Salve esse projeto com o nome (sugest�o) de: leitor_rfid_servo.

  Alguns coment�rios sobre o c�digo:

  1) Nas linhas 6 a 9, inclu�mos as bibliotecas necess�rias para a execu��o do nosso projeto.
  2) Nas linhas 10 e 11, definimos as sa�das digitais do Arduino para as conex�es dos pinos SDA e RST do leitor.
  3) Na linha 37, chamamos a fun��o criada no final do c�digo para imprimir no LCD a mesma mensagem da linha 35.
  4) Na linha 43, criamos uma condi��o para procurar por novos cart�es. Se n�o houver, o programa retornar� ao in�cio do loop.
  5) Na linha 48, criamos outra condi��o para selecionar um cart�o. Se houver algum, a UID ser� impressa no Monitor serial.
  6) Na linha 65, criamos outra condi��o para sabermos se a UID do cart�o confere com o c�digo cadastrado. Se for o caso, o eixo do servo ser� girado em 90 graus, e o acesso ser� libe-rado, e as respectivas mensagens ser�o impressas no Monitor e no LCD.
  7) Na linha 84, criamos mais uma condi��o para sabermos se o c�digo do chaveiro est� autorizado ou n�o. As mensagens da n�o autoriza��o ser�o tamb�m impressas no Monitor e no LCD.
  8) Finalmente, na linha 98, criamos uma fun��o para imprimir no LCD a mesma mensa-gem da linha 35 (no Monitor serial) sempre que nenhuma tag for aproximada do leitor.

  Executando o projeto:

  Inicialmente conecte o cabo USB no computador, selecione uma porta utilizando o menu Ferramentas/Porta, e em seguida fa�a o upload do c�digo para o Arduino clicando no �cone Carregar (ou utilize o menu Sketch >> Carregar). Se o seu c�digo apresentar algum tipo de erro, ele ser� identificado com uma tarja sobre a linha onde se encontra o erro e/ou no rodap� do Editor, isso vai depender do tipo de erro. Cabe a voc� procurar saber que tipo de erro ocorreu e consert�-lo.

  Testando o projeto:

  Ap�s a execu��o do c�digo, o projeto dever� mostrar no Monitor serial os c�digos hexadecimais do cart�o e do chaveiro e suas respectivas mensagens, autorizadas ou n�o, como tamb�m o �ngulo do eixo do servo, conforme mostra a (Figura 5.11):


Figura 5.11 � Monitor mostrando a situa��o das tags
e o movimento do eixo do servo motor.
(Imagem: do Autor)


  Atividade:

  1) Adicione um LED vermelho e um alarme ao projeto, e altere o c�digo de forma que, se a pessoa n�o estiver autorizada (no caso, o chaveiro) para acionar o servo, o LED dever� ficar aceso e o alarme dever� disparar, caso contr�rio, nada dever� acontecer.

  D�vidas:

  E-mail: [email protected]

  WhatsApp: (55) 84-99988-4136



Tutoriais


Programas



Projetos


O Catador de Lixo Arduino para Iniciantes Programando com Arduino-12 Projetos
Cursos

Android
C
C++
CSS3
HTML
Java
JQuery
JScript
PHP
SQL
P&R

Android
CSS3
HTML
Java
JQuery
JScript
PHP
Python
Simulados

Android
Arduino
C
C++
CSS3
HTML
Java
JQuery
JScript
PHP
Python
SQL
Tutoriais

Android
App Inventor 2
Arduino
C
C++
CSS3
HTML
Java
JQuery
JScript
PHP
Python
Programas

Android
App Inventor 2
C
Java
JQuery
JScript
PHP
Python
Projetos

Android
App Inventor 2
Arduino

Copyright 2020 - Simulados & Tutoriais - Todos os Direitos Reservados.