Trabalho Cancela Eletronica

download Trabalho Cancela Eletronica

of 17

description

Trabalho Cancela Eletronica

Transcript of Trabalho Cancela Eletronica

SumrioIntroduo2Objetivo3Materiais utilizados4Definies5Cancela eletrnica5Servomotor6Arduino9O projeto11Anexos16Referncias Bibliogrficas17

IntroduoMuito 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 osistema de estacionamentosem espaos variados eagiliza o controle de entrada e sada de veculos, facilitando o acesso e evitando a formao de filas.

ObjetivoO 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;

DefiniesCancela eletrnica

Ideal para estacionamentos, condomnios e estabelecimentos, acancela eletrnicaagiliza 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 osistema de estacionamentosem 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 comcartes 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 posiocentral; 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(RadioFrequencyIDentification 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 doRFID 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 epequeno 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 522Arduino

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 dainternete 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 comunicar-se 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 oArduino 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 pelabiblioteca 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 bibliotecaServo, j presente na IDE do Arduino, e tambm a bibliotecaMFRC522.Adicionamos dois leds para mostrar se o acesso foi liberado (led verde, ligado porta 5), ou negado (led vermelhopiscante, 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 54Mensagem: Cartao1 - Acesso liberado!

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

12// Programa : RFID - Controle de acesso / cancela

3// Autor : Arduino e Cia

4

5#include

6#include

7#include

8

9Servo microservo9g;

10

11#define SS_PIN 10

12#define RST_PIN 9

13// Definicoes pino modulo RC522

14MFRC522 mfrc522(SS_PIN, RST_PIN);

15

16// Leds indicadores acesso liberado ou negado

17int led_liberado = 5;

18int led_negado = 6;

19

20char st[20];

21

22void setup()

23{

24 pinMode(led_liberado, OUTPUT);

25 pinMode(led_negado, OUTPUT);

26 // Define que o servo esta ligado a porta digital 3

27 microservo9g.attach(3);

28 // Move o servo para a posicao inicial (cancela fechada)

29 microservo9g.write(90);

30 // Inicia a serial

31 Serial.begin(9600);

32 // Inicia SPI bus

33 SPI.begin();

34 // Inicia MFRC522

35 mfrc522.PCD_Init();

36 // Mensagens iniciais no serial monitor

37 Serial.println("Aproxime o seu cartao do leitor...");

38 Serial.println();

39}

40

41void loop()

42{

43 // Aguarda a aproximacao do cartao

44 if ( ! mfrc522.PICC_IsNewCardPresent())

45 {

46 return;

47 }

48 // Seleciona um dos cartoes

49 if ( ! mfrc522.PICC_ReadCardSerial())

50 {

51 return;

52 }

53 // Mostra UID na serial

54 Serial.print("UID da tag :");

55 String conteudo= "";

56 byte letra;

57 for (byte i = 0; i < mfrc522.uid.size; i++)

58 {

59 Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");

60 Serial.print(mfrc522.uid.uidByte[i], HEX);

61 conteudo.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));

62 conteudo.concat(String(mfrc522.uid.uidByte[i], HEX));

63 }

64 Serial.println();

65 Serial.print("Mensagem : ");

66 conteudo.toUpperCase();

67

68 // Testa se o cartao1 foi lido

69 if (conteudo.substring(1) == "55 A5 EA 54")

70 {

71 // Levanta a cancela e acende o led verde

72 microservo9g.write(-90);

73 digitalWrite(led_liberado, HIGH);

74 Serial.println("Cartao1 - Acesso liberado !");

75 Serial.println();

76 delay(3000);

77 microservo9g.write(90);

78 digitalWrite(led_liberado, LOW);

79 }

80

81 // Testa se o cartao2 foi lido

82 if (conteudo.substring(1) == "64 F2 14 B8")

83 {

84 Serial.println("Cartao2 - Acesso negado !!");

85 Serial.println();

86 // Pisca o led vermelho

87 for (int i= 1; i