Trabalho Cancela Eletronica

  • Upload
    sara

  • View
    45

  • Download
    0

Embed Size (px)

DESCRIPTION

Trabalho Cancela Eletronica

Citation preview

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