You are on page 1of 17

Sumrio

Introduo
2
Objetivo
3
Materiais utilizados
4
Definies
5
i.

Cancela eletrnica
5

ii.

Servomotor
6

iii.

Arduino
9

O projeto
11
Anexos
16
Referncias Bibliogrficas
17

Introduo
Muito utilizada em estacionamentos de shoppings, supermercados,
condomnios, etc. e at mesmo em pedgios as cancelas eletrnicas so muito
comuns nos dias atuais. O dispositivo ajuda a organizar o sistema de
estacionamentos em espaos variados e agiliza o controle de entrada e sada
de veculos, facilitando o acesso e evitando a formao de filas.

Objetivo
O presente trabalho tem por objetivo apresentar o funcionamento de
uma cancela eletrnica controlada por um microcontrolador Arduino Uno R3,
um mdulo RFID 522 e um servomotor microservo 9G.

Materiais utilizados

1Microservo 9G;
1 Arduino Uno R3;
1 Mdulo RFID 522;
1 Led Verde;
1 Led Vermelho;
2 Resistores de 220 ohms;
14 fios para ligao dos componentes;
1 placa protoboard;

Definies
Cancela eletrnica

Ideal para estacionamentos, condomnios e estabelecimentos, a cancela


eletrnica agiliza o controle de entrada e sada de veculos, facilitando o acesso
e evitando a formao de filas. Muito comum em supermercados e shoppings
centers, o dispositivo ajuda a organizar o sistema de estacionamentos em
espaos variados.
As cancelas eletrnicas esto disponveis em diversos modelos, de
modo a atender as necessidades de cada estabelecimento de acordo com o
fluxo de veculos. Por isso, o tamanho e o dimetro da barreira (caso seja
tubular), o tempo e a quantidade de aberturas por hora, variam conforme o tipo.
Alguns modelos contam com fotoclulas de segurana, lampejadores e
controle de acesso com cartes magnticos, leitura de cdigos de barras, por
proximidade ou tags.

Figura 1 - Cancelas eletrnicas para estacionamentos.

Servomotor

O servomotor um atuador rotativo com alta preciso de controle para


posicionamento angular. composto por um motor acoplado a um sensor de
posio para feedback. Para completar o sistema necessrio um servodrive.
Este drive utiliza o sinal de feedback do sensor para controlar a posio
angular do motor de forma precisa. Isto chamado de controle de malha
fechada. Com o sistema rodando em malha fechada, o servomotor uma
soluo de alta performance a aplicaes onde motores de passo ou motores
de induo no correspondem a necessidade.
Para isso possuem trs componentes bsicos:
Sistema atuador - o sistema atuador constitudo por um motor eltrico,
embora tambm possa encontrar servos com motores de corrente alternada, a
maioria utiliza motores de corrente contnua. Tambm est presente um
conjunto de engrenagens que forma uma caixa de reduo com uma relao
bem longa o que ajuda a amplificar o torque.
A tamanho, torque e velocidade do motor, material das engrenagens, liberdade
de giro do eixo e consumo so caractersticas-chave para especificao de
servo motores.
Sensor - o sensor normalmente um potencimetro solidrio ao eixo do
servo. O valor de sua resistncia eltrica indica a posio angular em que se
encontra o eixo. A qualidade desse vai interferir na preciso, estabilidade e vida
til do servo motor.
Circuito de controle - o circuito de controle formado por componentes
eletrnicos discretos ou circuitos integrados e geralmente composto por um
oscilador e um controlador PID (controle proporcional integrativo e derivativo)
que recebe um sinal do sensor (posio do eixo) e o sinal de controle e aciona
o motor no sentido necessrio para posicionar o eixo na posio desejada.
Servos possuem trs fios de interface, dois para alimentao e um para o sinal
de controle. O sinal de controle utiliza o protocolo PPM (modulao por posio

do pulso) que possui trs caractersticas bsicas: largura mnima, largura


mxima e taxa de repetio(frequncia).
A largura do pulso de controle determinar a posio do eixo:

largura mxima equivale ao deslocamento do eixo em + 90 da posio

central;

largura mnima equivale ao deslocamento do eixo em -90;

demais larguras determinam a posio proporcionalmente.

Em geral, a taxa de repetio 50Hz e a largura do pulso do sinal de controle


varia de 1 a 2ms. Porm um servo motor pode funcionar a 60Hz tambm.

Figura 2 - Servo motor (Microservo 9G)

RFID (Radio Frequency IDentification

ou

Identificao

por

radiofrequncia) uma tecnologia que utiliza sinais de rdio e uma etiqueta


(tag) RFID para leitura e gravao de dados.
A forma mais comum de utilizao do RFID na identificao de
produtos, onde uma tag pode conter informaes como cdigo do produto,
procedncia, data de validade, fabricante, etc. Mas a sua utilizao no se
restringe a isso. Podemos usar etiquetas RFID em animais para fins de
rastreamento, em veculos no conhecido sistema Sem Parar, em passaportes,
rastreamento de cargas, controle de acesso e em vrias outras aplicaes.
Este mdulo leitor RFID baseado no chip MFRC522 da empresa NXP
altamente utilizado em comunicao sem contato a uma frequncia de
13,56MHz. Este chip, de baixo consumo e pequeno tamanho, permite sem
contato ler e escrever em cartes que seguem o padro Mifare, muito usado no
mercado. As tags (ou etiquetas) RFID, podem conter vrios dados sobre o
proprietrio do carto, como nome e endereo e, no caso de produtos,
informaes sobre procedncia e data de validade, apenas para citar alguns
exemplos.

Figura 3 - Mdulo RFID 522

Arduino

O Arduino uma plataforma eletrnica open-source de prototipagem


baseada em hardware e software flexveis e fceis de usar. Com
microcontroladores Atmel AVR de 8 bits ou Atmel ARM de 32 bits. O Arduino
uma plataforma de cdigo aberto (open source).
Voltado a profissionais mas tambm a estudantes e hobbystas, o
Arduino funciona de forma autnoma, mas programado por meio de um
ambiente (relativamente) amigvel que voc instala no seu computador.
destinado a artistas, designers, hobbistas e qualquer pessoa interessada
em criar objetos ou ambientes interativos. Alm da placa, o Arduino conta
com uma IDE que pode ser baixada gratuitamente da internet e permite a
programao do dispositivo utilizando a linguagem C.
Ele pode sentir o estado do ambiente que o cerca por meio da recepo
de sinais de sensores e pode interagir com os seus arredores, controlando
luzes, motores e outros atuadores, controlar dispositivos ou o ambiente da
forma que quisermos, bastando para isso program-lo atravs do
computador. O microcontrolador na placa programado com a linguagem
de programao Arduino, baseada na linguagem Wiring, e o ambiente de
desenvolvimento Arduino, baseado no ambiente Processing. Os projetos
desenvolvidos com o Arduino podem ser autnomos ou podem comunicarse com um computador para a realizao da tarefa, com uso de software
especfico (ex: Flash, Processing, MaxMSP).
A famlia Arduino composta de vrios modelos. Um dos mais populares
atualmente o pequeno Arduino Uno, mas existem alguns com maior
capacidade de memria, armazenamento e de conexo com sensores e
atuadores, alm de alguns modelos com caractersticas especiais - por
exemplo, feitos para serem costurados em tecido de modo a criar trajes
inteligentes.Existem tambm vrios modelos desenvolvidos por terceiros (o
Arduino open hardware, pode ser replicado livremente).

Figura 4 - Arduino Uno R3

O projeto
O projeto desenvolvido e apresentado neste trabalho um controle de
acesso utilizando o Arduino Uno, um mdulo RFID 522 que verifica o nmero
da tag e libera (ou no) a passagem por uma cancela controlada por um servo
motor (microservo 9G) :
O mdulo RFID 522 trabalham juntos para controlar o servomotor, o
mdulo RFID RC522 utiliza a interface SPI para comunicao com o Arduino
por meio dos pinos digitais de 10 13, alm do pino 9 ligado ao RST do
mdulo. Veja na imagem abaixo a disposio dos pinos e a ligao ao Arduino,
com os pinos suportados pela biblioteca MFRC522, que utilizaremos no nosso
programa de controle de acesso:

Figura 5 - Ligao do mdulo RFID 522 ao Arduino

Esse controle de acesso utiliza o circuito abaixo, lembrando mais uma


vez que a alimentao do mdulo RFID feita por meio do pino 3.3V, e o servo
motor alimentado por 5V, por isso ateno na montagem para no inverter as
ligaes :

Figura 6 - Circuito da cancela eletrnica

Reconhecendo as tags e controlando o servomotor:


No programa utilizamos a biblioteca Servo, j presente na IDE do Arduino, e
tambm a biblioteca MFRC522.
Adicionamos dois leds para mostrar se o acesso foi liberado (led verde, ligado
porta 5), ou negado (led vermelho piscante, ligado porta 6).
Como temos dois cartes, adicionamos duas entradas idnticas e mudamos
apenas o nmero do UID em cada uma delas, com um dos cartes com acesso
liberado e que aciona o servo motor, movimentando o mesmo em 90 graus, e outro
com acesso negado, que pisca o led vermelho.

UID da tag: 55 A5 EA 54
Mensagem: Cartao1 - Acesso liberado!

UID da tag: 64 F2 14 B8
Mensagem: Cartao2 - Acesso negado!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

// Programa : RFID - Controle de acesso /


cancela
// Autor : Arduino e Cia
#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
Servo microservo9g;
#define SS_PIN 10
#define RST_PIN 9
// Definicoes pino modulo RC522
MFRC522 mfrc522(SS_PIN, RST_PIN);
// Leds indicadores acesso liberado ou negado
int led_liberado = 5;
int led_negado = 6;
char st[20];
void setup()
{
pinMode(led_liberado, OUTPUT);
pinMode(led_negado, OUTPUT);
// Define que o servo esta ligado a porta
digital 3
microservo9g.attach(3);
// Move o servo para a posicao inicial
(cancela fechada)
microservo9g.write(90);
// Inicia a serial
Serial.begin(9600);
// Inicia SPI bus
SPI.begin();
// Inicia MFRC522
mfrc522.PCD_Init();
// Mensagens iniciais no serial monitor
Serial.println("Aproxime o seu cartao do
leitor...");
Serial.println();
}
void loop()
{
// Aguarda a aproximacao do cartao

44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

if ( ! mfrc522.PICC_IsNewCardPresent())
{
return;
}
// Seleciona um dos cartoes
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
// Mostra UID na serial
Serial.print("UID da tag :");
String conteudo= "";
byte letra;
for (byte i = 0; i < mfrc522.uid.size; i++)
{
Serial.print(mfrc522.uid.uidByte[i] < 0x10
? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
conteudo.concat(String(mfrc522.uid.uidByte[i] <
0x10 ? " 0" : " "));

62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85

conteudo.concat(String(mfrc522.uid.uidByte[i],
HEX));
}
Serial.println();
Serial.print("Mensagem : ");
conteudo.toUpperCase();
// Testa se o cartao1 foi lido
if (conteudo.substring(1) == "55 A5 EA 54")
{
// Levanta a cancela e acende o led verde
microservo9g.write(-90);
digitalWrite(led_liberado, HIGH);
Serial.println("Cartao1 - Acesso
liberado !");
Serial.println();
delay(3000);
microservo9g.write(90);
digitalWrite(led_liberado, LOW);
}
// Testa se o cartao2 foi lido
if (conteudo.substring(1) == "64 F2 14 B8")
{
Serial.println("Cartao2 - Acesso
negado !!");
Serial.println();

86
87
88
89
90
91
92
93
94
95
96

// Pisca o led vermelho


for (int i= 1; i<5 ; i++)
{
digitalWrite(led_negado, HIGH);
delay(200);
digitalWrite(led_negado, LOW);
delay(200);
}
}
delay(1000);
}

Anexos

Referncias Bibliogrficas
Descubra como funciona uma cancela eletrnica para estacionamento.
Disponvel em: <http://www.dimep.com.br/blog/estacionamento/descubrafunciona-cancela-eletronica-estacionamento/>. Acesso em 15 de novembro de
2015.
Servo Motor. Disponvel em: <http://www.kollmorgen.com/ptbr/products/motors/servo/servomotores/>. Acesso em 15 de novembro de 2015.
Kit Mdulo Leitor Rfid Mfrc522 Mifare. Disponvel em:
<http://www.filipeflop.com/pd-6b883-kit-modulo-leitor-rfid-mfrc522-mifare.html>.
Acesso em 15 de novembro de 2015.
Servomotor. Disponvel em: <https://pt.wikipedia.org/wiki/Servomotor>. Acesso
em 15 de novembro de 2015.
O que Arduino?. Disponvel em: <http://arduino.labdegaragem.com/>.
Acesso em 15 de novembro de 2015.