Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação PROJETO DE AUTOMAÇÃO RESIDENCIAL UTILIZANDO UM MICROCONTROLADOR DA FAMÍLIA 8051 E SUPERVISIONADO POR UMA PLATAFORMA DESENVOLVIDA NO ELIPSE E3 Charles de Souza Siqueira Pablo Pinheiro Batista Villas Boas Orientador: Prof. Dr. José Wilson Lima Nerys Goiânia 2011 Projeto de automação residencial utilizando um Microcontrolador da família 8051 e supervisionado por uma plataforma desenvolvida no Elipse E3 Monografia de Projeto Final apresentada ao Curso de Graduação em Engenharia Elétrica da Universidade Federal de Goiás, para obtenção do título de Engenheiro Eletricista. Área de concentração: Microprocessadores. Orientador: Prof. Dr. José Wilson Lima Nerys Goiânia 2011 2|Página Projeto de automação residencial utilizando um Microcontrolador da família 8051 e supervisionado por uma plataforma desenvolvida no Elipse E3 Monografia defendida e aprovada em 19 de dezembro de 2011, pela Banca Examinadora constituída pelos professores. __________________________________________________ Prof. Dr. José Wilson Lima Nerys _______________________________________________________ Prof. Me. Wanir José Medeiros Júnior _______________________________________________________ Prof. Dr. Lourenço Matias 3|Página AGRADECIMENTOS Aos nossos pais familiares pelo apoio dado durante os anos de curso. Ao professor, José Wilson Lima Nerys, pelo voto confiança para a orientação desse trabalho. 4|Página SUMÁRIO LISTA DE SIGLAS E ABREVIATURAS....................................................................................................7 LISTA DE FIGURAS.................................................................................................................................8 LISTA DE TABELAS................................................................................................................................10 RESUMO.................................................................................................................................................11 ABSTRACT..............................................................................................................................................12 1. INTRODUÇÃO.....................................................................................................................................13 2. OBJETIVOS.........................................................................................................................................14 3. HISTÓRICO DA AUTOMAÇÃO RESIDENCIAL..................................................................................15 4. FUNDAMENTAÇÃO TEÓRICA...........................................................................................................17 4.1. Microcontroladores.............................................................................................................16 4.1.1. A família de Microcontroladores 8051...............................................................19 4.1.2. A comunicação serial da família 8051...............................................................21 5. MATERIAIS E MÉTODOS...................................................................................................................24 5.1. Interfaces entre Sistema e Usuário.....................................................................................24 5.2. O Sistema de Supervisão e o Elipse E3 ............................................................................27 5.2.1. A Hierarquia no Elipse E3 .................................................................................28 5.2.2. Comunicação com o controlador.......................................................................31 5.2.3. Funcionamento do software de monitoramento................................................34 5.3. Módulo de Controle............................................................................................................38 5.3.1. Relé de Acionamento........................................................................................39 5.3.2. Fonte de Alimentação.......................................................................................40 5.4. Outros dispositivos utilizados.............................................................................................42 5.4.1. Circuito Integrado 74HC573..............................................................................42 5.4.2. Circuito Integrado 7404.....................................................................................43 5.4.3. Circuito Integrado ULN2003..............................................................................43 5.4.4. Circuito Integrado MAX232...............................................................................44 5.4.5. Sensor de Presença..........................................................................................45 5.4.6. Proteus, o software de simulação.....................................................................46 6. RESULTADOS E DISCUSSÕES........................................................................................................49 6.1. Inicialização do sistema......................................................................................................49 6.2. Interrupção Externa............................................................................................................49 6.3. Controle do motor da janela...............................................................................................50 6.4. Simulações utilizando os softwares Proteus e Pequi.........................................................50 5|Página 6.5. As placas de circuito...........................................................................................................50 6.6. Testes realizados com o Elipse E3....................................................................................53 6.7. Teste Final..........................................................................................................................55 7. CONCLUSÕES...................................................................................................................................58 8. REFERÊNCIAS BIBLIOGRÁFICAS...................................................................................................59 9. ANEXOS.............................................................................................................................................60 9.1. Código em linguagem Assembly do programa projetado..................................................60 6|Página LISTA DE SIGLAS E ABREVIATURAS ASCII American Standard Code for Information Interchange CI Circuito Integrado PCB Printed Circuit Board I/O Input/Output LED Diodo Emissor de Luz ROM Read Only Memory RAM Random Acess Memory m mili A Ampere V Volt EEEC Escola de Engenharia Elétrica e Computação UFG Universidade Federal de Goiás 7|Página LISTA DE FIGURAS Figura 1 – Modelo de comunicação externa do microcontrolador 8051..........................18 Figura 2 – Arquitetura Básica do chip 8051.....................................................................19 Figura 3 – Comunicação Serial do tipo RS232................................................................23 Figura 4 – Hierarquia no Elipse E3..................................................................................29 Figura 5 – Exemplo da utilização do comando de decisão “If-Else”................................30 Figura 6 – Exemplo da utilização do comando de decisão “Select-Case”.......................31 Figura 7 – Tags de Comunicação “Envia” e “SensorPresen”...........................................32 Figura 8 – Tela definições do IOkit - ASCII......................................................................33 Figura 9 – Tela de definições do IOkit – Comunicação....................................................34 Figura 10 – Tela inicial de monitoramento.......................................................................35 Figura 11 – Tela de funções “Opções”.............................................................................35 Figura 12 – Tela de funções “Exibir”................................................................................36 Figura 13 – Janela de definições do modo de operação.................................................36 Figura 14 – Tela de Monitoramento.................................................................................37 Figura 15 – Modelo da placa de controle.........................................................................39 Figura 16 – Relés de Acionamento..................................................................................40 Figura 17 – Fonte Chaveada de 5V.................................................................................40 Figura 18 – Circuito Integrado LM2576............................................................................41 Figura 19 – Fonte de Alimentação de 12V.......................................................................41 Figura 20 – Pinagem e Diagrama do CI74HC573............................................................42 Figura 21 – Pinagem do CI7404, chip de portas inversoras.............................................43 Figura 22 – Pinagem do CI driver ULN2003.....................................................................44 Figura 23 – Diagrama e pinagem do CI MAX 232............................................................45 Figura 24 – Sensor de Presença......................................................................................45 Figura 25 – Ambiente de simulação ISIS do software Proteus 7.6.................................. 47 Figura 26 – Ambiente de criação do PCB no software Proteus Ares................................48 Figura 27 – Modelo do ISIS usado para confeccionar a placa no Ares............................48 Figura 28 – Placa de Comando.........................................................................................51 Figura 29 – Montagem final da placa da fonte.................................................................52 Figura 30 – Placa de circuito impresso da fonte................................................................52 Figura 31 – Testes com o Hyperterminal do Windows XP.................................................53 8|Página Figura 32 – Testes com o Hyperterminal do Windows XP - Modo Manual.......................54 Figura 33 – Testes com o Hyperterminal do Windows XP - Modo Automático.................55 Figura 33 – Maquete de apresentação - Visão Frontal.....................................................56 Figura 34 – Maquete de apresentação - Sala de Espera..................................................57 Figura 35 – Maquete de apresentação - Entrada..............................................................57 9|Página LISTA DE TABELAS Tabela 1 – Modos de funcionamento do canal serial.......................................................21 Tabela 2 – Tabela de funções da plataforma...................................................................27 10 | P á g i n a RESUMO Este projeto consiste na implementação de um circuito que controla dispositivos em uma residência, consultório ou qualquer ambiente de uso doméstico. O objetivo inicial é utilizá-lo na automação de consultórios médicos e odontológicos, mostrando sua aplicação no controle da iluminação ambiente bem como o controle de dispositivos como ar condicionado e abertura e fechamento de janelas blindex e etc. Para este controle foi desenvolvido uma plataforma de comunicação utilizando o programa Elipse E3. A plataforma faz a comunicação do usuário com o sistema microcontrolado. Foram utilizados alguns equipamentos e componentes, dos quais os principais são: microcontrolador da família 8051, micro switches, sensores de presença e um microcomputador. O sistema fará o controle automático ou manual de alguns dispositivos da entrada e recepção de um consultório odontológico. Ele informará aos responsáveis sobre a chegada de uma pessoa e fará o acionamento dos dispositivos de acordo com a conveniência, considerando o modo de operação escolhido. Estes por sua vez, são definidos pelo usuário considerando as condições climáticas. O programa Elipse fará monitoramento e enviará as instruções à placa de controle via comunicação serial/serial ou usb/serial. Durante a operação do sistema todos os passos poderão ser visualizados na tela de um computador através de animações programadas. Palavras-chave: Automação residencial/comercial de pequeno porte, Microcontrolador 8051, Elipse E3, Comunicação Serial RS232, Fonte chaveada, relés. 11 | P á g i n a ABSTRACT This project is about the implementation of a circuit that controls the devices in a home, office or any environment for domestic use. The initial goal is to use it in the automation of medical and dental office, showing its application in control of ambient lighting as well as control devices such as air conditioning and opening and closing blindex windows, etc. For this control was developed a communication platform using the program Elipse E3. The platform makes the user's communication with the system controlled. We used some equipments and components, of which the main ones are: 8051 microcontroller family, micro switches, occupancy sensors and a microcomputer. The system will control automatically and manually some devices in a dental office. He will inform those responsible, the arrival of a person and make the drive device according to convenience, considering the chosen mode of operation. These in turn are defined by the user considering the weather conditions. The Elipse program will monitor and send the instructions to control board communication via serial/serial or usb/serial. During system operation every step could be viewed on a computer screen by programmed animations. Keywords: Automation residential/ small business, microcontroller 8051, E3, Serial Communication RS232, Power switches, relays 12 | P á g i n a 1. INTRODUÇÃO A sociedade moderna tem vivido em meio a constantes avanços tecnológicos no campo da automação. A cada dia, automatização vem se tornado ferramenta indispensável na vida das pessoas. Após o surgimento da Automação Industrial, período anterior à criação dos famosos Controladores Lógico-Programáveis (CLP’s), houve um crescimento no mercado de automação de pequeno porte. Introduziu-se o uso de microcontroladores diversos, com o objetivo de fomentar um luxo impulsionado pelo desenvolvimento econômico que aumenta o poder de aquisição das pessoas. A automação comercial e residencial se mostra um mercado cada vez mais promissor e interessante. E uma vez a sociedade tende a esse caminho, não há volta, pois a tendência é de que a automação seja peça essencial na vida de qualquer indivíduo moderno. Esse projeto baseou-se na idéia de automação de pequenos sistemas residenciais e comerciais. Ele foi desenvolvido utilizando um microcontrolador da família 8051 e sua supervisão realizada por uma plataforma desenvolvida no software Elipse E3. Um exemplo de aplicação são consultórios médicos e odontológicos. Existem no Brasil milhares desses consultórios. Por questões econômicas, muitos deles possuem um único funcionário trabalhando como auxiliar de consultório e recepcionista. Assim há necessidade dele se omitir do ambiente de recepção para fazer o auxílio no consultório. Isto deve acontecer sem que se perca o controle dos clientes que adentrem o ambiente de recepção do consultório. Toda esta situação pode ser otimizada com a implantação de sistema de automação residencial/comercial de pequeno porte, semelhante ao apresentado neste projeto. 13 | P á g i n a 2. OBJETIVOS O projeto desenvolvido visa demonstrar uma aplicação simplificada da automação residencial em consultórios dentários de pequeno porte. O ambiente simulado será um consultório de um odontólogo, que dispõe de uma secretária assistente. Foi desenvolvido um sistema utilizando o microcontrolador da família 8051 para receber instruções via entrada serial, vindas de um computador usando uma interface desenvolvida no programa Elipse E3. O microcontrolador 8051 deverá receber as instruções e executá-las controlando relés de acionamento. São realizadas leituras da entrada serial, e os bytes recebidos são comparados com os números hexadecimais de 41H ao 51H. Após a identificação destes números, o microcontrolador determina quais dispositivos serão acionados. 14 | P á g i n a 3. HISTÓRICO DA AUTOMAÇÃO RESIDENCIAL A automação residencial e predial originou-se dos conceitos utilizados em automação industrial. Porém, em virtude da diferente realidade entre o uso dos dois tipos de arquiteturas, têm sido criadas tecnologias dedicadas para ambientes onde não se dispõe de espaço para grandes centrais controladoras e pesados sistemas de cabeamento. No entanto, no ambiente residencial não são necessárias lógicas complexas ou um grande número de sensores e atuadores para monitoramento de processos, porém são exigidos diversos tipos de interfaces, associadas à dispositivos de controle versáteis e confiáveis, de acordo com a necessidade de cada cliente. Segundo a AURESIDE (Associação Brasileira de Automação Residencial, 2011), a década de 70 foi considerada um marco na história da automação, quando foram lançados nos EUA os primeiros módulos inteligentes de automação, os chamados X10. O protocolo X-10 é uma linguagem de comunicação que permite que produtos compatíveis comuniquem-se através da linha elétrica existente. Para isso, não são necessários novos e custosos projetos de cabeamento. No mercado, existia uma gama enorme de produtos X-10, de diversos fabricantes. Pela sua característica básica, o sistema X-10 era recomendado para aplicações autônomas, não integradas. Uma de suas limitações era de operar apenas funções simples tipo liga/desliga e dimerização de luzes. É um sistema de fácil implantação, pois não precisa de intervenção. Em contrapartida, torna-se um sistema instável, visto que a rede elétrica pode ocasionar comportamentos falhos dos componentes seja por duplicidade de fase, falta de energia ou descargas eletromagnéticas. Outro empecilho para sua utilização em larga escala é sua baixa integração com os demais sistemas automatizados que utilizam cabeamentos dedicados (áudio, vídeo, alarmes). Porém, a tecnologia X-10 é apontada como a de maior sucesso comercial nessa década. O mercado americano foi o maior consumidor desta tecnologia onde se venderam dezenas de milhões de dispositivos X-10. Sua divulgação e simplicidade técnica fizeram com que estes dispositivos tivessem um baixo custo sendo facilmente adquiridos em vários locais. Já na década de 80, segundo AURESIDE (2011), com o desenvolvimento da informática pessoal (PC) com interfaces amigáveis e operações extremamente fáceis, novas possibilidades de automação surgiram no mercado. Porém, foi no final da 15 | P á g i n a década de 90 que ele se tornou o grande responsável pela vasta gama de novidades para o mercado da automação residencial. Algumas conquistas tecnológicas incorporadas ao nosso dia a dia, como o telefone celular e a Internet, despertaram no consumidor o gosto pelo conforto e a praticidade. Segundo o engenheiro José Roberto Muratori (Associação Brasileira de automação residencial, 2011), no Brasil ainda em seus primeiros passos, a automação residencial já envolve incorporadores, construtores, arquitetos e projetistas que oferecem várias opções para sistemas integrados em residências. A indústria de construção civil está começando a adequar seus projetos residenciais visando criar uma prévia infra-estrutura para uma possível implementação de um projeto de automação residencial. São constatadas consultas cada vez mais freqüentes de incorporadores imobiliários que desejam adotar soluções de tecnologia e sistemas em seus novos empreendimentos como: cabeamento estruturado para dados, voz e imagem, sistemas de segurança, áudio e vídeo, controle de iluminação, cortinas e venezianas automáticas, utilidades (como aspiração central, irrigação, piso aquecido e outras), o que aponta para um crescimento exponencial da oferta de novos imóveis preparados para receber automação. Pois, mais do que tecnologia por si só, a automação residencial, procura atender os aspectos tecnológicos que possam trazer mais conforto, economia e segurança ao usuário. Embora este seja um panorama otimista para o Brasil, é preciso atentar para algumas condições que podem dificultar o ritmo deste esperado crescimento. Conforme cita Marques (AURESIDE, 2011), as principais são: • Falta de conhecimento específico dos projetistas: percebe-se um crescente interesse de arquitetos e projetistas pelo tema, no entanto muitos ainda se mostram inacessíveis às novidades e nem sempre contribuem positivamente no processo de melhoria dos projetos de infra-estrutura. • Ausência da cultura da automação residencial entre os usuários finais, o que prejudica a percepção dos seus reais benefícios. Para afastar estas incertezas e reforçar os aspectos positivos da automação residencial, empresas brasileiras e profissionais têm se empenhado num trabalho de esclarecimento, divulgação e inovação, trazendo benefícios para este emergente mercado. 16 | P á g i n a 4. FUNDAMENTAÇÃO TEÓRICA 4.1. Microcontroladores Os microcontroladores são circuitos integrados de baixo custo que contém em sua síntese: memória programável somente para leitura, que armazena permanentemente as instruções programadas; memória RAM, que trabalha armazenando “variáveis” utilizadas pelo programa; CPU, que interpreta e executa comandos desse programa. Existem também dispositivos de entradas e saídas, que tem a finalidade de controle de dispositivos externos ou de receber sinais pulsados de chaves e sensores. Possui temporizadores, contadores e canais de comunicação serial. Esse sistema diferencia os sistemas baseados em microcontroladores daqueles baseados em microprocessadores, onde normalmente se utilizam vários componentes para implementar essas funções. Em contrapartida, as CPUs dos microcontroladores são, em geral, menos poderosas do que a dos microprocessadores. A figura 1 mostra a comunicação do microcontrolador 80C51 com os dispositivos externos. Seu clock é mais baixo e o espaço de memória endereçável costuma ser bem menor. Com isso vê-se que a área de aplicação dos dois é um pouco distinta, o microcontrolador será usado em sistemas de menor complexidade e menor custo do que um sistema que exija a capacidade de processamento de um microprocessador. A programação dos microcontroladores é, em geral, mais simples do que a dos microprocessadores, ao menos no que diz respeito às exigências de conhecimento dos componentes periféricos. Isto acontece porque os periféricos on-chip dos microcontroladores são acessados de uma forma padronizada e integrada na própria linguagem de programação. Conforme o engenheiro GIANN BRAUNE REIS (2006, p. 8): Nos dias atuais os microcontroladores são elementos eletrônicos básicos para todos os engenheiros eletricistas, isso em função do seu grande número de aplicações. Com o avanço da tecnologia e a utilização da eletrônica digital por grande parte das empresas, o emprego dos microcontroladores vêm sendo muito requisitado para um melhor desenvolvimento da produção, diminuindo os custos e trazendo benefícios para as empresas que utilizam esse sistema. 17 | P á g i n a Figura 1: Modelo de comunicação externa do microcontrolador 8051. Considerando a relação custo/benefício, o uso dos microcontroladores não fica restrito somente às empresas de grande/médio porte, eles podem ser usados também em projetos eletrônicos, na substituição de vários componentes digitais, obtendo-se assim no final do projeto um melhor acabamento, pois o microcontrolador ocuparia um menor espaço físico, além de uma maior eficiência e praticidade. Alguns exemplos de sistemas onde os microcontroladores são aplicados são: • Controle de semáforos; • Balanças eletrônicas; • Controle de acesso; • Telefones públicos; • Controle de carregadores de baterias; • Inversores; • Taxímetros; • Eletrodomésticos em geral. Segundo Sousa (2001), O primeiro microcontrolador foi lançado pela Texas Instruments em 1972, o TMS 1000 de 4 bits, que inclui RAM, ROM e suporte a I/O em um único chip, permitindo o uso sem qualquer outro chip externo. Em 1977 a Intel lançou o microcontrolador 8048, que possuía memória de programa externa (ROM), e memória de dados interna de 256 kbytes (RAM). 18 | P á g i n a 4.1.1. A família de Microcontroladores 8051 Existem no mercado muitos tipos de microcontroladores sendo o 8051 o mais popular, o seu sucesso se dá devido a vários motivos, como: • Baixo custo; • Facilidade de uso e versatilidade; • Amplo suporte; • Rápido e eficaz; • Vários fabricantes; • Aperfeiçoamento constante; • Entre outros. Porém a sua maior vantagem é o fato do CI 8051 possuir um conjunto de dispositivos que compartilha os mesmos elementos básicos, tendo também um conjunto de instruções básicas. A figura 2 mostra a distribuição dos pinos da maioria dos chips da família 8051. Figura 2 - Arquitetura básica do chip 8051. 19 | P á g i n a Diversos fabricantes produzem microcontroladores da família 8051 (Intel, AMD, Atmel, Dallas, OKI, Matra, Philips, Siemens, SMC, SSI). A Intel iniciou a produção do 8051 em 1981. Em 1982 foram produzidos 2 milhões de unidades, em 1985 foram 18 milhões e em 1993, 126 milhões. A tendência atual é uma participação crescente dos microprocessadores de 8 bits e uma diminuição da fatia de mercado dos microcontroladores de 4 bits. Além do 8051 propriamente dito, existem variantes como o 8031 (sem memória ROM interna e com apenas 128 bytes de memória RAM), o 8751 (4 kB de memória EPROM) e o 8052 (8 kB de memória ROM, um terceiro timer e 256 bytes de memória RAM). Com exceção dessas diferenças, os modelos citados são idênticos. Em destaque as suas principais características: • Freqüência de clock de 12 MHz, com algumas versões que alcançam os 40 MHz; • Memória de dados externa podendo alcançar até 64 kB; • Memória RAM interna de 128 bytes; • Memória de programa configurável de duas formas mutuamente excludentes. Sendo 4 kB internos (ROM no 8051 e EPROM no 8751) e mais 60 kB externos; • Possui 4 (quatro) portas bidirecionais de I/O, cada uma com 8 bits individualmente endereçáveis; duas dessas portas (P0 e P2) e parte de uma terceira (P3) ficam comprometidas no caso de se utilizar qualquer tipo de memória externa; • Possui 2 (dois) temporizadores /contadores de 16 bits; • Contém um canal de comunicação serial, utilizando comunicação RS232. • O chip é equipado com cinco fontes de interrupção (dois timers, dois pinos externos e o canal de comunicação serial) com dois níveis de prioridade selecionáveis por software; • Ele opera com oscilador de clock interno. As características citadas são básicas e formam o núcleo da família 8051, que pode ser acrescido de uma ou mais das características especiais. 20 | P á g i n a 4.1.2. A Comunicação serial da família 8051 A interface serial do microcontrolador 8051 conta com dois registradores de dados, um deles utilizado na transmissão e outro na recepção. O conjunto de instruções, contudo, referencia ambos pelo nome SBUF. A distinção entre eles é feita de acordo com a natureza da operação, escrita ou leitura. Desta forma, escrever SBUF implica no envio do byte escrito através da interface serial; analogamente, a leitura desse registrador retorna o último byte recebido. O controle do canal serial é feito pelo registrador SCON e pelo bit SMOD do registrador PCON. Os bits SM0 e SM1 do registrador SCON selecionam o modo de funcionamento, de acordo com a Tabela 1. Tabela 1 - Modos de funcionamento do canal serial. Fonte: Adaptado de Mays (apud GREENHALG), 1997. A - Modo 0 (SM0 = 0 e SM1 = 0) Este modo aciona a comunicação síncrona de palavras de 8 bits. As palavras são transmitidas e recebidas através do pino RxD, o que significa que, neste modo, apenas a comunicação half-duplex (HD, transmissão nos dois sentidos, mas não simultânea) é possível. O sinal de clock necessário para o sincronismo é enviado pelo pino TxD. A taxa de transmissão é fixa e igual a 1/12 da freqüência do clock do sistema. 21 | P á g i n a Nos demais modos, os dados são enviados através do pino TxD e recebidos através do pino RxD. Assim, esses modos permitem comunicação full-duplex (FD, transmissão simultânea nos dois sentidos). B - Modo 1 (SM0 = 0 e SM1 = 1) A palavra transmitida é composta por 10 bits: um start bit (nível lógico 0), oito bits de dados, e um stop bit (nível lógico 1). A taxa de transmissão é dada pela equação: Tx = (1) Onde SMOD é o bit 7 do registrador PCON e TH1 é o registrador mais significativo da contagem do timer 1. C - Modo 2 (SM0 = 1 e SM1 = 0) Cada palavra de dados é composta de 11 bits. O bit adicional enviado é o bit TB8 de SCON. Na recepção, é este bit que se lê em RB8. A taxa de transmissão pode ser escolhida entre 1/64 (SMOD = 0) ou 1/32 (SMOD = 1) da freqüência de clock do sistema. D - Modo 3 (SM0 = 1 e SM1 = 1) Igual ao modo 2, exceto pela taxa de transmissão, dada também pela equação (1). O bit SM2 do registrador SCON tem diferentes interpretações, dependendo do modo de operação selecionado. O modo “0”, não tem qualquer efeito, devendo permanecer em zero, e o modo 1 inibe (SM2 = 1) ou habilita a geração de um pedido de interrupção da porta serial no caso da recepção de um stop bit inválido. Por fim, os modos 2 e 3, permitem habilitar a comunicação entre vários 8051. REN (Reception ENable) habilita a recepção. Quando está em 1, o primeiro start bit em RxD implica recepção de um dado em SBUF. 22 | P á g i n a TI é o bit de requisição de interrupção da transmissão. É setado pelo hardware após a transmissão do oitavo bit de dados quando no modo 0, e no início da transmissão do stop bit nos outros modos. O bit RI é o bit de requisição de interrupção na recepção. É setado pelo hardware no momento da recepção do oitavo bit de dados no modo 0, ou durante a recepção de um stop bit nos outros modos. TI e RI devem ser reinicializados pelas rotinas de tratamento das respectivas interrupções de modo a habilitar novas interrupções. A figura 3, mostra os tipos de conexões de cabos para comunicação serial do tipo RS com o microcontrolador da família 8051. Figura 3 - Comunicação serial tipo RS232. 23 | P á g i n a 5. MATERIAIS E MÉTODOS 5.1. Interfaces entre Sistema e Usuário Para que exista uma interação entre o usuário foi desenvolvido um programa com uma interface visual e estética e de fácil operação. A plataforma usada na criação desta interface foi o Elipse E3. O programa foi arquitetado para que o usuário opere o sistema facilmente, usando o mouse ou o teclado do computador com simples clique nos botões virtuais na tela de apresentação. Poderá ser escolhido pelo usuário os modos de operação manual, automático 1 e automático 2. No modo manual o operador acionará os dispositivos diretamente conforme decisão de sua conveniência, podendo acionar qualquer um dos dispositivos, sejam eles os dispositivos de iluminação, climatização e abertura da janela blindex. No modo automático 1 o programa opera considerando as condições climáticas de um dia quente. Desta forma, quando o sensor de presença da entrada detectar a chegada de cliente, ele aciona o fechamento da janela blindex, ligando a iluminação da entrada, sala de espera e lâmpadas decorativas dicróicas que iluminam quadros e espaços decorativos deste ambiente. Semelhante ao modo 1, o modo automático 2 aciona estes dispositivos considerando um dia com clima normal ou frio. Assim ele aciona as lâmpadas, abre ou mantém a janela aberta e não aciona os equipamentos de climatização. São enviados os bytes que serão interpretados como instruções pela plataforma de controle. Estas instruções são enviadas via USB/serial ou via serial/serial ao sistema de controle. O controle implementado utiliza um microcontrolador da família 8051. Esse controle consiste na recepção das instruções vindas da plataforma de interação, via comunicação serial RS232. Os bytes recebidos são interpretados como instruções pelo microcontrolador conforme os seguintes critérios: O número hexadecimal “41h”, correspondente ao caractere ASCII “A”, que determina o modo de operação automático 1 para ser escolhido pelo usuário em dias quentes conforme sua conveniência. Neste modo, o programa aguarda o sensor de presença detectar alguma movimentação na entrada do consultório, esta informação chega via cabeamento ao pino P0.3 do 24 | P á g i n a microcontrolador. O microcontrolador aciona o grupo de lâmpadas controladas pelos relés 1, 2, 3. A janela blindex deverá ser fechada e a climatização ligada. O número hexadecimal “42h”, que correspondente ao caractere ASCII “B”, determina o modo de operação automático 2 para ser acionado pelo usuario em dias normais ou frios. Neste modo o programa aguarda o sensor de presença detectar alguma movimentação na entrada do consultório. Esta informação chega via cabeamento ao pino P0.3 do microcontrolador. O microcontrolador aciona o grupo de lâmpadas usando os relés 1, 2 e 3. A janela blindex deverá ser aberta e a climatização deverá se manter desligada. Caso não se tenha optado por uma das duas configurações do modo automático, o programa seguirá no modo manual, conforme a seguir. O número hexadecimal “43h”, correspondente ao caractere ASCII “C” que será enviado via comunicação serial para o programa Elipse avisando que a última instrução principal, que envolve a abertura e fechamento da janela, já foi executada e que poderá ser enviada uma nova instrução para o microcontrolador. Esta restrição visa evitar que alguma instrução enviada pelo computador via programa Elipse seja ignorada no momento da execução de outro procedimento. O número hexadecimal “44h” correspondente ao caractere ASCII “D” e cancela o modo automático e retorna o programa para o início, podendo novamente optar pelo modo manual e escolher entre as duas possibilidades do modo automático. O número hexadecimal “45h”, que correspondente ao caractere ASCII “E”, aciona a lâmpada da entrada da recepção do consultório e o número hexadecimal “4BH”, caractere ASCII “L” desliga a mesma. O número hexadecimal “46h”, que correspondente ao caractere ASCII “F”, liga a lâmpada da sala, e o número hexadecimal “4CH”, correspondente ao caractere ASCII “M”, desliga esta lâmpada. 25 | P á g i n a O número hexadecimal “47h”, correspondente ao caractere ASCII “G”, liga as lâmpadas dicroicas decorativas e o número hexadecimal “4DH”, caractere ASCII “N”, desliga as lâmpadas. O número hexadecimal “48H”, caractere ASCII “H”, liga o climatizador e o número hexadecimal “4EH”, caractere ASCII “O”, desliga o equipamento. O número hexadecimal “49H”, caractere ASCII “I”, liga o motor no modo de rotação direta (abre janela) e o hexadecimal “4AH”, caractere ASCII “J”, desliga o motor com rotação invertida (fecha janela). O número hexadecimal “50H”, caractere ASCII “P”, será enviado para o programa elipse via comunicação serial quando o sensor de presença detectar a presença de alguém na entrada do consultório. No modo manual, a subrotina de envio do caractere será acionada pela interrupção externa INT0 que está conectada ao sensor de presença. Operando em modo automático, o procedimento será realizado via monitoramento do pino P0.3, que está conectado ao sensor de presença, e enviado via serial. O número hexadecimal “51h”, caractere ASCII “Q”, desliga todos os dispositivos. A Tabela 2 resume estas informações: 26 | P á g i n a CARACTERE CÓDIGO ASCII FUNÇÃO A 41H Modo automático 1 B 42H Modo automático 2 C 43H Avisa ao software que já pode enviar outra instrução D 44H Cancela o modo automático e volta para o inicio E 45H Liga lâmpada entrada da recepção F 46H Liga lâmpada da Sala G 47H Liga lâmpadas de decoração H 48H Liga o Ar condicionado I 49H Abre janela blindex J 4AH Fecha janela blindex L 4CH Desliga lâmpada da entrada da recepção M 4DH Desliga lâmpada da Sala N 4EH Desliga as lâmpadas de decoração O 4FH Desliga o Ar condicionado P 50H Avisa ao software sobre chegada de alguém na entrada Q 51H Desliga todos os dispositivos Tabela 2 - Tabela de funções da plataforma 5.2. O Sistema de Supervisão e o Elipse E3 A interface de monitoramento foi construída utilizando o programa Elipse E3, desenvolvido pela Elipse Software. Como um dos softwares mais populares e utilizados no ramo de automação, principalmente industrial (onde o número de processos monitorados exige uma rede complexa de parâmetros de controle), o Elipse E3 é baseado na plataforma VBScript da Microsoft, uma plataforma confiável e versátil. A grande vantagem da utilização do Elipse E3 é sua flexibilidade frente às novas tecnologias de controladores. Hoje, qualquer driver de comunicação, específico de 27 | P á g i n a qualquer equipamento, é disponibilizado pela própria Elipse Software, mediante o cadastro do CNPJ da empresa envolvida, que deve passar por um processo prévio de aprovação. O Elipse E3 não é um software gratuito. O preço de sua licença está intimamente ligado ao número de Tags que se quer monitorar em um processo. Até 20 Tags e um tempo máximo de comunicação com o equipamento de aquisição de 10 minutos, a Elipse Software disponibiliza o software gratuitamente para aprendizado e desenvolvimentos de pequeno porte. Tags são links entre as camadas hierárquicas do próprio programa Elipse E3. Essas Tags podem ou não significar uma variável específica do processo em questão. Neste projeto, poucas vezes as Tags foram utilizadas única e exclusivamente para reter valores de variáveis externas. As definições de Tags e hierarquia no Elipse E3 serão melhor explicados nos tópicos que seguem. 5.2.1. A Hierarquia no Elipse E3 Para trabalhar com scripts para a criação de uma interface de monitoramento, é necessário entender a separação que existe entre os objetos que são executados no servidor e os objetos que são executados no E3Viewer (interface gráfica). Por definição, objetos que são executados no servidor podem ser manipulados a partir de objetos executados no E3Viewer, porém o contrário não pode acontecer sem a criação de eventos envolvendo variáveis (Tags) que estão localizadas no próprio servidor de dados. Eventos são ocorrências relacionadas a um objeto. Essas ocorrências disparam ações programadas pelo usuário. Por exemplo: Assim que o valor de uma Tag muda, então um comando associado é executado. A mudança do valor da Tag é um evento, e assim que ele ocorre uma ação é disparada. Outra manipulação que pode acontecer é entre objetos da mesma camada, ou seja, objetos executados no E3Viewer podem ser manipulados por objetos do mesmo E3Viewer, e objetos executados no servidor de dados podem ser manipulados por objetos do próprio servidor de dados. A figura 4 mostra um exemplo ilustrativo do conceito de Hierarquia no Elipse E3: 28 | P á g i n a Figura 4 – Hierarquia no Elipse E3. A propriedade “Visible” (Visibilidade) do retângulo está diretamente relacionada com o valor que é recebido de algum equipamento pelo Tag de comunicação “TagTeste”. Se o valor recebido por esse Tag é o caractere “A” então o retângulo estará visível, caso contrário ele estará invisível. Porém a Tag não pode acessar o objeto Retângulo nem suas propriedades, justamente por causa da hierarquia que o programa obedece. Para isso então é necessário fazer um link entre a “TagTeste”, que é um objeto do servidor, e a propriedade “Visible” do retângulo, que é um objeto E3Viewer. Uma solução seria criar uma Tag do tipo “TagInterna” cuja propriedade “Value” dependeria do valor recebido pela “TagTeste”. Sendo assim a propriedade “Visible” do retângulo estaria associada a essa propriedade “Value” da “TagInterna”. À medida que a interface de monitoramento se torna mais complexa e os eventos se entrelaçam para gerar outros eventos de usuário, é normal que o número de scripts aumente drasticamente. Neste projeto foram utilizados scripts de tamanhos diversos, mas semelhantes quanto a comandos de decisão. 29 | P á g i n a Nos scripts escritos envolvidos neste projeto, a grande maioria dos comandos de decisão utilizados foram do tipo “If-Else”. São comandos que tornam o programa mais lento dependendo da quantidade de vezes que é utilizado. Por isso, sempre que possível foi utilizado também o comando de decisão do tipo “Select-Case” que torna o programa mais otimizado e de fácil compreensão. As figuras a seguir ilustram bem a utilização desses dois comandos de decisão. Figura 5 - Exemplo da utilização do comando de decisão “If-Else”. A Figura 5 mostra um script relacionado ao acionamento do botão virtual responsável pelo funcionamento do Driver de comunicação ASCII. Ao mudar o estado do botão (“Change”), o próprio valor é comparado. Se o botão foi pressionado, então seu valor será “True” e ele executará o comando que conectará o Driver de comunicação e levará para “True” o valor da propriedade “Value” da Tag “EstadoDriver”. Caso contrário, conclui-se que o botão já estava previamente pressionado e agora foi liberado, então será executado o comando de desconexão do Driver de comunicação e a propriedade “Value” da Tag “EstadoDriver” será levada para “False”. 30 | P á g i n a Figura 6 – Exemplo da utilização do comando de decisão “Select Case”. A Figura 6 mostra a mudança das propriedades de algumas Tags, de acordo com o valor que é recebido pela Tag de Comunicação “SensorPresen”. O caso que estará sob comparação é a propriedade “Value” da própria Tag de comunicação. Para o caso em que a propriedade “Value” reter um caractere “P” então é executada a subrotina que; envia o caractere “A” se a Tag “Tempo” estiver setada como “True” ou envia o caractere “B” se a Tag “Tempo” estiver setada como “False”. Para o caso em que nada é retido pela propriedade “Value” (“ “) então um comando diferente é executado. 5.2.2. Comunicação com o Controlador Para que haja comunicação entre duas pessoas, elas devem falar a mesma linguagem e estarem no mesmo canal de transmissão, caso contrário é provável que não haja troca precisa de informações entre elas. O mesmo acontece na comunicação entre dois dispositivos. Caso os dois não estejam usando o mesmo protocolo de comunicação e utilizem a mesma “linguagem”, então não haverá tráfego algum de informação. Para a comunicação do Software de supervisão e o controlador 8051 foi escolhido o protocolo (ou meio físico) RS-232 de comunicação. 31 | P á g i n a Se dois dispositivos não falam a mesma “linguagem” então é necessário um pacote de informações que “ensine” um deles a falar uma linguagem comum. Esse pacote de informações é chamado de Driver de comunicação no formato .dll, que nesse projeto foi usado o ASCII.dll, fornecido também pela Elipse Software. O ASCII.dll é um driver genérico criado pela Elipse Software devido à grande variedade de dispositivos que utilizam essa codificação de caracteres. Nesse projeto foi necessária a utilização de duas Tags de comunicação diferentes. Uma chamada de “Envia” e outra chamada de “SensorPresen”. A primeira serviu somente como envio de caracteres relacionados às ações do usuário, ou seja, sempre que um botão específico é pressionado, é executado um comando de escrita na propriedade “Value” dessa Tag que envia imediatamente esse valor via serial para o dispositivo. Não há necessidade de resposta para o programa. A segunda serviu para recebimento de dados. Também não havia necessidade de resposta para o dispositivo, mas diferentemente da Tag “Envia” o Elipse E3 precisava saber que formato de dado é enviado para o software. A Figura 7 mostra as duas Tags criadas. Figura 7 - Tags “envia” e “SensorPresen”. Cada Tag de Comunicação possui 4 parâmetros (N1,N2,N3,N4) cujos preenchimentos variam de acordo com cada Driver de comunicação, sendo portanto de extrema importância a consulta do Manual do Driver para o preenchimento correto dos mesmos. Os únicos 2 parâmetros que foram necessários para a configuração das duas Tags utilizadas foram os parâmetros N1 e N2. O parâmetro N1 é um número de 0 à 7 onde cada número representa um modo de operação da Tag, que pode ser: 0 = Envia e recebe comando 1 = Lê ou escreve valores de TX antes de enviar o comando 2 = Lê valores dos campos variáveis de RX 3 = Recebe comando 32 | P á g i n a 4 = Envia Comando 5 = Envia Valor da Tag 6 = Envia Comando com Recepção em Lista 7 = Recebe Comando com Recepção em Lista O parâmetro N2 de todas as Tags de comunicação refere-se ao número ID da lista de comandos, cujos formatos de recebimento ou envio de dados são escolhidos nos campos TX e RX, mostrados na Figura 8. O preenchimento dos campos RX e TX segue uma regra específica para cada formato de dados com o qual se deseja trabalhar. A regra é “%Nt” onde: a) - % - Símbolo identificador de campo variável b) - N - Número de elementos a serem recebidos c) - t - Tipo de dado (d = decimal ; u = decimal sem sinal; x = hexadecimal ; f= número real ; b = binário; s = string ; t = texto ; n = interpreta o valor decimal no formato BCD) Nesse projeto, se tratando do envio de caracteres em hexadecimal, foi escolhido o tipo de dado ‘s’ (String). O IOkit é um recurso compartilhado do Elipse E3 que proporciona as configurações devidas do Driver de comunicação. Com ele é possível escolher o formato em que serão enviados ou recebidos os dados, e o número de bits envolvidos nessa comunicação. Assim como a porta de comunicação, baudrate, stopbits, paridade e databits, como é detalhado na Figura 9. Figura 8 - Tela de definições do IOkit – ASCII. 33 | P á g i n a Figura 9 - Tela de definições do IOkit – Comunicação. 5.2.3. Funcionamento do software de monitoramento Assim que o projeto do software é finalizado, o Elipse E3 gera um arquivo de extensão .exe na mesma pasta onde o projeto foi salvo inicialmente. É importante ter em mente que esse programa só será executado em computadores onde o Elipse E3 foi previamente instalado. Os parâmetros de comunicação foram escolhidos com os padrões mostrados na Figura 9 já que o programa não poderá ser usado em outro microcontrolador, a não ser que a lógica de programação seja idêntica à lógica que foi usada neste projeto com o 8051. O funcionamento do programa é bastante simples. Na tela inicial, como mostrado na Figura 10, é possível visitar a página inicial da Universidade Federal de Goiás, ou a Escola de Engenharia Elétrica e Computação, sendo necessário o acesso à internet. Inicialmente o Status do Driver ASCII será Desconectado. Isso por que foi padronizado no próprio IOkit que o programa iniciasse no modo Offline. Seu status muda assim que o botão no canto inferior esquerdo da tela é acionado, e ele entra em modo Online e está pronto para o monitoramento do microcontrolador. Na tela em branco à direita são apresentados todos os dados de comunicação que já foram previamente configurados e problemas na conexão quando são detectados, somente para efeito de consulta. 34 | P á g i n a Figura 10 - Tela inicial no monitoramento. No canto superior esquerdo existem dois botões de opções. Em um deles, o botão Opções, mostrado na Figura 11, pode-se também mudar os Status do Driver, além de encontrar informações sobre o programa Elipse E3 e sobre os envolvidos neste projeto. Figura 11 - Tela de funções “Opções”. Já no botão Exibir, como mostra a Figura 12, é possível, além de retornar à tela inicial, abrir a tela de monitoramento e a janela de definições do modo de operação. 35 | P á g i n a Figura 12 - Tela de funções “Exibir”. Na janela de definições do modo de operação, conforme mostra a figura 13, é possível escolher entre o modo manual ou automático. No modo manual o usuário tem completo controle sobre os status das variáveis controladas. Já no modo automático, que pode ser escolhida como “Tempo Quente” ou “Tempo Frio”, os status dessas variáveis ficam à mercê da detecção ou não de presença pelo detector. Assim que ele detecta a chegada de alguém, a campainha é acionada e os status são mudados de acordo com a opção escolhida. No “Tempo Quente” todas as luzes estarão ligadas, a janela do escritório será fechada e o ar condicionado será ligado. No caso de “Tempo Frio” as luzes também estarão ligadas, porém a janela do escritório será aberta e o ar condicionado desligado. Não importa qual seja o status prévio dessas variáveis, elas sempre serão alteradas para responder ao comando automático quando esse estiver ativado. A janela de definições do modo de operação é mostrada na Figura 13. Figura 13 – Janela de definições do modo de operação. Os status das variáveis de controle podem ser monitorados na tela de monitoramento, mostrada na Figura 14. No canto inferior esquerdo, ao lado do botão de conexão, existem dois outros botões. Um deles é o de parada emergencial. Esse botão desliga todas as variáveis para seus estados iniciais, e volta o programa para o 36 | P á g i n a modo de operação manual. O outro botão é de funcionamento da campainha. Sempre que houver a detecção pelo detector de presença, uma campainha será tocada. Caso o usuário não queira que a campainha toque sempre que isso acontecer, ele pode desligar o som a qualquer instante a partir dessa tecla. Figura 14 – Tela de Monitoramento. Outro detalhe importante são as animações que independem do usuário e sim dos status das variáveis de controle. Sempre que houver a detecção pelo detector de presença, além da campainha tocar, a animação de uma pessoa aparecerá no desenho e desaparecerá sutilmente após alguns segundos. Da mesma forma, quando a janela for aberta ou fechada e o ar condicionado for ligado ou desligado, eles serão animados também no desenho. Sempre que a janela é fechada ou aberta, o programa envia ao microcontrolador um caractere específico. O status da janela não é alterado imediatamente, pois a janela demora alguns segundos para abrir ou fechar. Durante esse tempo nenhum outro comando poderá ser executado pelo microcontrolador pois o sistema pode falhar sendo necessário reiniciá-lo. Para resolver esse problema, o programa sempre esperará o caractere “C” quando a janela terminar de abrir ou fechar. Enquanto esse caractere não for recebido, todas as outras teclas estarão 37 | P á g i n a desabilitadas. Foi uma boa saída para proteger o programa e evitar travamentos no microcontrolador. 5.3. Módulo de controle O modulo controlador é composto por uma placa principal, contendo os componentes de controle, incluindo o microcontrolador AT80S52, fonte de alimentação com saída 5V com 3A e uma fonte de 12V com 1A. A figura 15 mostra a modelagem da placa principal. Nesta placa o microcontrolador se comunica via saída serial tipo RS232, com terminal do computador, podendo ser este serial ou USB. Esta comunicação faz com que o operador tenha total controle dos dispositivos utilizando a interface criada no programa Elipse. Ao receber a instrução, o microcontrolador se comunica com os demais dispositivos por meio de suas 4 portas de comunicação. Os pinos P0.0 e P0.1, da porta P0, recebem informações das chaves externas responsáveis pelo controle de abertura e fechamento da janela blindex. O pino P0.2, recebe via porta lógica inversora do C.I. 7404, ilustrado na figura 15, um sinal externo do sensor de presença. Este mesmo sinal é entregue ao pino P3.2 que aciona a interrupção externa INT0. A porta P2 aciona os relés e P1 aciona os led’s de comunicação visual externo, de forma que o usuário pode verificar os dispositivos que se encontram ativos. Esta mesma porta pode ser usada para ampliar o número de dispositivos controlados, por meio de uma placa auxiliar externa ampliando o sistema em seis saídas. 38 | P á g i n a Figura 15 - Modelo da placa de controle. 5.3.1. Relés de Acionamento Os relés realizam um papel fundamental no funcionamento do sistema, uma vez que eles acionam os dispositivos externos do sistema de controle. Neste projeto foram utilizados 6 relés como os mostrados na figura 16, que trabalham com 5V de tensão em sua bobina de acionamento e operam tensões de 220V AC ou 32V, com corrente máxima de 7A. Suas funções incluem acionar o sistema de iluminação, climatização e controle de abertura e fechamento da janela blindex. O circuito de acionamento recebe o comando do microcontrolador via circuito integrado. Os reforçadores de corrente ULN2003 e CI 74HC573 chip tipo latcher de oito saídas são mostrados nas Figuras 20 e 22 . Os reforçadores de corrente ULN2003 também são usados para a saída de portas P1, seja para uso de Leds de sinalização ou saídas para ampliação do sistema. 39 | P á g i n a Figura 16 – Relés de Acionamento. 5.3.2. Fonte de Alimentação Para acionar o sistema, foi construída uma fonte chaveada com capacidade de corrente de 3A. O circuito integrado responsável pelo chaveamento é o LM2576, mostrado na figura18. Este regulador é capaz de fornecer 5V com eficiência e pode ser facilmente manuseado. A figura 17 mostra o modelo de circuito utilizando este CI. Figura 17 – Fonte chaveada de 5V. 40 | P á g i n a Figura 18 – Circuito integrado LM 2576. Para a fonte de 12V, foi necessário o CI regulador 7812, série de reguladores de precisão com capacidade de fornecimento de corrente de 1A. Seu circuito é bem simples, usando apenas um capacitor eletrolítico como filtro. O transformador usado foi do tipo saída ±12 e 3A. Este circuito completo é mostrado na figura 19. Figura 19 - Fonte alimentação de 12V. 41 | P á g i n a 5.4. Outros dispositivos utilizados 5.4.1. Circuito Integrado 74HC573 Uma das dificuldades encontradas na implementação do circuito foi devido ao estado inicial das portas do microcontrolador 8051. Elas são ativas em nível baixo, portando a suas quatro portas na inicialização ou reset estarão nível alto. Com o objetivo de evitar que esta característica proporcione o acionamento indesejado dos dispositivos, foi utilizado o CI 74HC573. Este CI possui 8 Latchs tipo D com 2 pinos de controle e são usados para determinar o instante em que os dados das portas deverão ser transferidos para o buffer de corrente ULN2003. A Figura 20 ilustra a pinagem do latch. Figura 20 – Pinagem e Diagrama do CI 74HC573. 42 | P á g i n a 5.4.2. Circuito Integrado 7404 Esse CI, mostrado na Figura 21, possui quatro portas NOR. Foram utilizados 3 chips neste projeto. A função da NOR, no projeto, é enviar um sinal nível alto ao microcontrolador, através do pino 12, sempre que for detectada a presença de alguém pelo sensor infravermelho. Ela também é usada para inversão do nível lógico das saídas de acionamentos das portas P1 e P2. Figura 21 – Pinagem do CI 7404, chip de portas inversoras . 5.4.3. Circuito Integrado ULN2003 As saídas do microcontrolador possuem baixa capacidade de corrente, sendo por isso necessário um driver de corrente para que seja possível o controle dos dispositivos externos. O CI ULN2003 funciona como driver de corrente com sete saídas de capacidade de corrente de 600mA. Neste projeto foram usados 2 chips com a função de fornecer corrente suficiente para acionar os relés e led’s do sistema de controle. A Figura 22 ilustra a pinagem deste dispositivo. 43 | P á g i n a Figura 22 – Pinagem do CI driver ULN2003. 5.4.4. Circuito integrado MAX232 Este CI, mostrado na Figura 23, é um driver conversor de nível de tensão para comunicação serial. Ele possui duas entradas nas quais ele converte a tensão de nível lógico TTL/CMOS de 5V para níveis do protocolo RS232, para ser transmitido via cabo serial para o terminal do computador. 44 | P á g i n a Figura 23 – Diagrama e pinagem do CI MAX232. 5.4.5. Sensor de presença Para detecção de presença utilizou-se sensores infravermelhos passivos. Optouse por estes sensores devido a sua grande confiabilidade em ambientes fechados, possuindo duplo elemento para minimizar erros de detecção e ajuste de sensibilidade para que possa ser feita uma adaptação fina ao ambiente de instalação. Os sensores são alimentados com 12 VCC e funcionam como uma chave normalmente fechada que ao ser estimulado, abre o contato de seu relé interno. A Figura 24 mostra o modelo do sensor usado. Figura 24 – Sensor de presença. 45 | P á g i n a 5.4.6 Proteus, software de simulação. O Proteus Design Suite é uma ferramenta computacional que reúne um ambiente de simulação de circuitos eletrônicos e uma plataforma para desenho de circuitos impressos. O mesmo foi escolhido como simulador padrão neste projeto. Ele combina captura esquemática, simulação Spice de circuitos e desenho de PCB para executar o projeto completo de sistemas de eletrônica. Possui capacidade de simular diversos microcontroladores entre eles a família 8051. Seu ambiente de simulação permite o uso do firmware atualizado. Este conjunto de funções permite a simulação completa do circuito eletrônico proposto. Todas estas funcionalidades permitem uma redução significativa no tempo gasto no desenvolvimento do projeto.O Proteus se divide em dois componentes funcionais : O ISIS é um ambiente de simulação semelhante ao Eagle e ao o Spice, mas com a funcionalidade de permitir a simulação de CI’s programáveis, como os chips de microcontroladores. A figura 25 mostra o modelo para simulação do circuito. O ARES Permite a criação de layouts de PCB importado do ISIS. A figura 27 mostra o modelo do ISIS usado para confeccionar a placa. O Proteus Ares, faz o roteamento de pontos elétricos, dimensionamentos e distribuição dos componentes. Além dos benefícios citados, o pacote do programa oferece uma interface totalmente didática e de fácil operação e o desenvolvedor oferece suporte técnico de fácil acesso on-line. Todo o circuito de controle foi desenvolvido e simulado no ambiente desse programa. As etapas de simulação possibilitaram melhorias na programação e adequações dos componentes eletrônicos. O ambiente Proteus Ares possui ferramentas para confecção do PCB ,permitindo que seja realizada a rota manualmente ou automaticamente. A Figura 26 mostra o PCB da placa do projeto no ambiente Ares. 46 | P á g i n a Figura 25 - Ambiente de simulação ISIS do software Proteus 7.6. Uma das dificuldades encontradas nesta fase de confecção do desenho da placa foi ausência do PCB de alguns componentes usados no esquema elétrico do ISIS. Esta dificuldade pode ser corrigida, escolhendo o PCB de outro dispositivo com configuração semelhante. Logo o esquema elétrico do Isis, usado na confecção da placa, possui algumas diferenças do modelo de simulação como mostrado na figura 27. 47 | P á g i n a Figura 26 – Ambiente de criação do PCB no software Proteus Ares. Figura 27 – Modelo do ISIS usado para confeccionar a placa no Ares. 48 | P á g i n a 6. RESULTADOS E DISCUSSÕES O microcontrolador 80S52 centraliza todas as ações realizadas na plataforma. Após receber os dados na entrada serial, ele executa as instruções, conforme a programação gravada. Dessa maneira, todos os comandos dos dispositivos, são determinados pelo programa gravado no microcontrolador. No projeto foi desenvolvido um programa em linguagem Assembly que fará a rotina de procedimentos do microcontrolador. São apresentados a seguir os métodos utilizados para alcançar os objetivos. Eles estão de acordo com o código Assembly que está apresentado integralmente em anexo. 6.1. Inicializações do sistema Na inicialização o programa carrega os registradores com os bytes necessários para comunicação serial e interrupção serial e externa. Nestes registradores é habilitado a comunicação serial assíncrona modo 1, com taxa de transmissão de 4800 bits/s. Seu contador interno foi programado para recarga automática com o valor de FAh. Foi usado um cristal de oscilação para o microcontrolador com frequência de 11,059MHz. Com estas configurações, o programa aguarda as instruções do computador via entrada serial. Uma vez concluído este processo, o sistema estará pronto para operar, entrando no modo de espera, de onde sairá apenas quando houver interrupção serial ou externa. 6.2. Interrupção Externa O projeto habilita a interrupção externa int0, que inicia uma rotina avisando que o sensor de presença mudou seu estado. O sinal chega ao pino 12 do chip 8051, correspondente a porta três, pino P3.2. Ele passa pelo circuito inversor do CI 7404 antes de chegar ao microcontrolador. Ao perceber este sinal, o microcontrolador carrega o registrador SBUF com o número hexadecimal 51h, que transmite via canal serial ao programa elipse, no computador de interface. 49 | P á g i n a 6.3. Controle do motor da janela Este sistema foi projetado para ser usado com um motor de corrente continua para funcionamento da janela. Dois relés do sistema farão o acionamento deste dispositivo. O relé cinco liga a corrente no sentido positivo ou de abertura e o relé seis, inverte esta corrente mudando seu sentido rotação fechando a janela. Dois micros switches são usados para informar ao sistema o estado final da janela aberta ou fechada. A cada rotina de abertura e fechamento o microcontrolador executa uma sub-rotina que envia via canal serial o número 43h, avisando o programa elipse que o processo foi concluído. Esta rotina é acionada assim que os micro switches de abertura e fechamento enviam esta informação ao microcontrolador nos pinos um e dois da porta P0. Durante esta rotina o microcontrolador desabilita a interrupção externa. 6.4. Simulações utilizando os softwares Proteus e PEQui Todas estas etapas foram simuladas no ambiente do Proteus, usando um recurso do hyperteminal virtual para verificação dos dados de saída e entrada serial. Os resultados da simulação foram bastante satisfatórios. O programa em Assembly criado foi desenvolvido usando o compilado PEQui. O mesmo permitiu também a simulação de funcionamento do programa. Em sua tela de apresentação é possível mudar os valores dos registradores e verificar a saídas das portas. O código gerado foi carregado no software Proteus para o ambiente de simulação. 6.5. As placas de circuito Para a Implementação do circuito foram confeccionadas uma placa principal de comando e uma placa menor com circuito da fonte regulada de 12V e 5V e correntes máximas de 1A e 3A respectivamente. Na placa principal estão o microcontrolador 80S52 e seus componentes periféricos de acionamento do sistema. A figura 28 mostra a placa de comando 50 | P á g i n a principal em sua montagem final. Nesta placa estão o 80S52, os circuitos integrados: 74HC573, 7404, ULN2003, MAX232. Acompanhando estes dispositivos temos componentes do circuito: Relés, conectores de entrada e saída, resistores, redes resistivas e led’s de informação. A fonte de alimentação é composta por uma placa menor que contém os componentes de regulação. Temos os circuitos integrados LM2576 e 7812 acompanhados dos demais componentes do circuito: resistores, capacitores eletrolíticos, diodos retificadores, ponte retificadora, bobinas e um potenciômetro. Ela fornece tensões regulada de 5V que alimenta todo o circuito da placa principal e uma tensão regulada de 12V que alimenta o sensor de presença. A Figura 29 mostra esta placa em sua montagem final e a Figura 30 ilustra sua placa de circuito impresso. Figura 28 – Placa de comando. 51 | P á g i n a Figura 29 – Montagem final da placa da fonte. Figura 30 – Placa de circuito impresso da fonte. 52 | P á g i n a 6.6. Testes realizados com o Elipse E3 Para realizar testes de comunicação eficazes com o programa de supervisão, sem a necessidade de conectá-lo ao hardware sempre que uma nova linha de programação foi modificada, foi utilizado um programa chamado com0com. Ele é um software gratuito e de funcionamento muito simples. Usando este programa é possível criar portas de comunicação virtuais para testes de comunicação no próprio computador. São criadas duas portas “irmãs”, uma que faz a simulação de um terminal de dados e a outra de um comunicador de dados. O programa de supervisão foi associado a uma das portas, e a outra foi associada ao Hyperterminal do Windows. Assim foi possível testar todas as características do programa, envio e recebimentos de dados e o disparo de ações. A Figura 31 ilustra a utilização do Hyperterminal para a comunicação com o programa de supervisão. Figura 31 – Testes com o Hyperterminal do Windows XP. Assim que o programa é conectado, seu status muda e imediatamente os parâmetros de comunicação são dispostos no display à direita, para simples conferência. Na tela de monitoramento também é possível acompanhar o status da comunicação. As teclas de controle estão liberadas para alteração manual e cada tecla é responsável pelo envio de um caractere específico, que é assimilado pelo 53 | P á g i n a microcontrolador como uma subrotina a ser realizada. À medida que os botões são apertados, os caracteres podem ser visualizados no Hyperterminal do Windows XP. Quando o botão responsável pela abertura ou fechamento da janela é apertado, torna-se necessário o envio do caractere “C”, que corresponde ao “43h”, do microcontrolador para o programa de supervisão, como forma de notificação de que o motor terminou o processo de abertura ou fechamento da janela. Essa situação é ilustrada na Figura 30. Figura 32 – Testes com o Hyperterminal do Windows XP – Modo Manual. Quando o modo automático “Tempo Quente” é escolhido, por exemplo, esperase a presença de alguém seja detectada pelo sensor. Dessa forma, o caractere “P” é enviado do microcontrolador para o programa de supervisão, e os status são mudados de acordo com a configuração do modo. Imediatamente o programa envia o número hexadecimal 41h, correspondente ao caractere “A” de volta para o microcontrolador, que então executa todas as tarefas que correspondem ao modo escolhido. A Figura 33 mostra o envio do caractere “A” para o Hyperterminal assim que o caractere “P” é enviado para o software de supervisão. 54 | P á g i n a Figura 33 - Testes com o Hyperterminal do Windows XP – Modo Automático. Observa-se que as animações respondem como esperado. Tanto a animação de presença quando a do status da janela (alterna entre aberta e fechada até que seja enviado o caractere “C” e ela finalmente fique completamente fechada ou aberta). Estes testes foram essenciais para realização dos testes finais com a placa de comando. 6.7. Teste Final O teste final foi à instalação do sistema em laboratório. Nesta etapa, o sistema de automação foi conectado ao computador pela entrada serial via conector DB9. Foi acionado o sistema de monitoramentos da interface criado do Elipse E3. Em seguida foram conectados a placa de controle o sensor de presença e os micro- switches de controle da janela. Depois de alguns ajustes de atraso de tempo as informações necessárias foram enviadas. Realizadas as adequações finais ao programa Assembly de controle do microcontrolador e alguns ajustes na comunicação do programa Elipse, o sistema funcionou como planejado. Para demonstração do funcionamento do projeto, foi construída uma maquete do ambiente a ser automatizado. Ela ilustra e simula o ambiente de um consultório odontológico. Nela foram instalados os dispositivos a serem controlados: Iluminação da entrada, demonstrada com o uso de led’s de alto brilho Iluminação da sala de espera feitas também com led’s de alto brilho. 55 | P á g i n a Iluminação decorativas usando lâmpadas de lanternas automotivas. Climatização, feita com uso de Ventiladores tipo cooler usados em computadores com tensões de 12 e 24V. Janela blindex, construída em alumínio, madeira e acrílico, automatizadas com o uso de um motor de Corrente continua com tensão de funcionamento em 12V. A figura 34, 35 e 36, ilustram a maquete já totalmente construída. Figura 34 – Maquete de apresentação – Visão frontal. 56 | P á g i n a Figura 35 – Maquete de apresentação - Sala de Espera. Figura 36 - Maquete de Apresentação - Entrada. 57 | P á g i n a 7. CONCLUSÕES Os resultados apresentados pelo projeto atingiram os objetivos propostos tanto na simulação quanto na implementação física final. No inicio das simulações com o código Assembly criado, o programa funcionava apenas no ambiente do software PEQui. Quando o mesmo era levado ao simulador Proteus, ele não funcionava adequadamente porque a taxa de transmissão estava incorreta. Isso se apresentou por que o cristal escolhido possuía freqüência incompatível com os cálculos. Ao se substituir o cristal por um de freqüência 11,059MHz, o sistema passou a funcionar no ambiente de simulação ISIS do Proteus. Após a confecção e montagem das placas, o sistema funcionou correntemente com o hyperterminal. Nos testes com o programa Elipse, todas a situações propostas funcionaram e responderam satisfatoriamente depois de alguns ajustes na programação do software de supervisão. Este trabalho nos proporcionou grande aprendizado. Ele mostrou que é possível desenvolver uma interface didática de fácil comunicação entre um programa externo e o microcontrolador. O programa Elipse E3, facilitou a implementação e controle de sistemas de automação residencial em diversos tipos de situações Este projeto mostrou que é possível aplicar a automação em consultórios odontológicos, médicos e residenciais, com custo reduzido e atraente. Demonstrou que um sistema simples como aqui apresentado, pode resolver dificuldades diversas em consultórios, residências ou outros ambientes semelhantes, como havia sido proposto. Mais do que trazer comodidade, a automação residencial se mostrou um importante fator de otimização de processos diversos. Ela pode trazer soluções simples e de baixo custo e com vastas opções de aplicações. 58 | P á g i n a 8. REFERÊNCIAS BIBLIOGRÁFICAS [1] ASCII, Manual do Driver, Disponível em: http://www.elipse.com.br/drivers.aspx?fltr1=1&fltr2=0&index=16&idioma=1 [2] E3, Manual de Referências de Scripts do E3, Disponível em: http://www.elipse.com.br/downloads.aspx?id_produto=1&versao=3.5&doc=true&idiom a=1 [3] E3, Manual do Usuário, Disponível em: http://www.elipse.com.br/downloads.aspx?id_produto=1&versao=3.5&doc=true&idiom a=1 [4] SEDRA, A.S., SMITH, K.C. Microeletrônica. 4ª edição, Makron Books, 2000. [5] Nicolosi, Denys E. C.; Microcontrolador 8051 Detalhado. 6º edição, editora Érica, 2000. [6] NERYS, J. W; Notas de Aula Microprocessadores e Microcontroladores, EEEC – UFG, 2011. [7] Sena, D.C.S, Automação Residencial, UFES, 2005 [8] Marques, R, “Conceitos de Automação residencial”, AURESIDE, Associação Brasileira de Automação Residencial, 2011. Disponível em: http://www.aureside.org.br/imprensa/default.asp?file=10.asp http://www.aureside.org.br/temastec/default.asp?file=protocolos09.asp 59 | P á g i n a 9. ANEXOS 9.1. Código em linguagem Assembly do programa projetado ;____________________________________________________________________________________ ; PROGRAMA DE AUTOMAÇÃO RESIDENCIAL ;_____________________________________________________________________________ ;Criado por Charles de Souza Siqueira e Pablo Pinheiro Batista Villas Boas ;[email protected] ;-------------------------------------------------------------------------------------------------------------------------------$mod51 ;ESTE PROGRAMA FARÁ A LEITURA DA ENTRADA SERIAL E COMPARARÁ A ENTRADA COM OS ;CARACTERES ASCII CORRESPONDENTES AO ALFABERTO DA LETRA "A" ATÉ A LETRA "P". ;SENDO ASSIM DESCRITO: "A" = MODO DE OPERAÇÃO AUTOMÁTICO 1 PARA DIAS QUENTES. O ;CARACTERE "B" = MODO DE OPERAÇÃO ;AUTOMATICO 2 PARA DIAS NORMAIS OU FRIOS ;O CARACTERE "C" É ENVIADO VIA SERIAL PARA O PROGRAMA ELIPSE AVISANDO QUE PODE ENVIAR ;OUTRA INSTRUÇÃO ;O CARACTERE "D", CANCELA O MODO AUTOMÁTICO ;O CARACTERE "E" LIGA A LAMPADA DA ENTRADA E "L" DESLIGA ESTA LAMPADA. ;O CARACTERE "F" LIGA A LAMPADA DA SALA E "M" DESLIGA ESTA LAMPADA. ;O CARACTERE "G" LIGA A LAMPADAS DICRÓICAS DECORATIVAS E "N" DESLIGA ESTAS LAMPADAS. ;O CARACTERE "H" LIGA O AR CONDICIONADO E "O" DESLIGA ESTA LAMPADA. ;O CARACTERE "I" LIGA O MOTOR NO MODO ABRE JANELA E "J" LIGA O MOTOR COM ROTAÇÃO ;INVERTIDA NO MODO FECHA JANELA. ;NO MODO AUTOMATICO 1 O PROGRAMA AGUARDA O SENSOR D E PRESENÇA AVISAR QUE CHEGOU ;ALGUEM VIA PINO P0.3 E EM SEGUIDA LIGA AS ;LAMPADAS ;FECHA A JANELA E LIGA O AR CONDICIONADO ;NO MODO AUTOMÁTICO 2 O PROGRAMA AGUARDA O SENSOR D E PRESENÇA AVISAR QUE CHEGOU ;ALGUEM VIA PINO P0.3 E EM SEGUIDA LIGA AS LAMPADAS ;ABRE A JANELA E MANTEM O AR CONDICIONADO DESLIGADO ; O CARACTERE "P" É ENVIADO PARA O ELIPSE TODA VEZ QUE O SENSOR DE PRESENÇA AVISAR QUE ;CHEGOU. ALGUEM EM MODO NORMAL É ACIONADO ;VIA INTERRUPÇÃO INT0 E AUTOMATICO VIA MONITORIZAÇÃO DO PINO P0.3 E ENVIADO VIA ;PROGRAMAÇÃO ORG 00H LJMP INICIO ORG 03H LJMP INTSENSOR ORG 30H INICIO: MOV SP,#2FH ;INTERUPÇÃO DE LEITURA DO SENSOR DE PRESENÇA. ;APONTADOR DE PILHA 60 | P á g i n a MOV SCON,#40H ;MODO SERIAL ASSINCRONO MOV TMOD,#20H ;TEMPORIZADOR MODO 2 RECARGA AUTOMÁTICA MOV TH1,#0FAH ;RECARGA TEMPORIZADOR PARA TAXA DE 4800 MOV TL1,#0FAH ;RECARGA TEMPORIZADOR PARA TAXA DE 4800 MOV IE,#80H ;HABILITA A INTERUPÇÃO EXTERNA INT 0 VOLTA: MOV TCON,#01H ;INT0 POR TRASIÇÃO DE 1 PARA 0 SETB REN ;HABILITA A RECEPCAO CLR RI ;LIMPA A FLAG DE RECEPCAO SETB TR1 LER: JNB RI,$ ;AGUARDA A PROXIMA INSTRUÇÃO DO ELIPSE MOV R1,SBUF MOV IE,#81H ;CLR RI CJNE R1,#41H,V1 ;COMPARA E VE SE É LETRA "A" SE FOR, PASSA P/ MOD ; AUTOMATICO 1. LJMP MODOAUTO1 V1: CJNE R1,#42H,L0 ;VERIFICA SE A ENTRADA É O CARACTERE "B", SE FOR PASSA ; MOD AUTOMATICO 2 LJMP MODOAUTO2 L0: CJNE R1,#45H,L1 ;COMPARA E VE SE É LETRA "E" LIGA LAMPADA DA ENTRADA ; VARANDA. ANL P1,#7EH ANL P2,#0FEH ;LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO CLR RI SJMP VOLTA L1: CJNE R1,#46H,L2 ; LETRA "F" LIGA LAMPADA PRINCIPAL DA SALA. ANL P1,#7DH ANL P2,#0FDH ;LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO CLR RI SJMP VOLTA L2: CJNE R1,#47H,L3 ; LETRA "G" LIGA LAMPADA DECORATIVAS DICRÓICAS. ANL P1,#7BH ANL P2,#0FBH ;LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO CLR RI LJMP VOLTA L3: CJNE R1,#48H,L4 ; LETRA "H" LIGA A VENTILAÇÃO . ANL P1,#77H ANL P2,#0F7H ;LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO CLR RI LJMP VOLTA 61 | P á g i n a L4: CJNE R1,#49H,L5 ; LETRA "I" LIGA O MOTOR QUE ABRE JANELA. CLR P1.4 CLR P2.4 CLR P1.7 JB P0.0,$ SETB P2.4 ;DESLIGA MOTOR NA POSIÇÃO ABRIR SETB P1.5 ;DESLIGA O LED DE PORTA FECHADA CLR P1.7 ;HABILITA A LATCH LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO CLR RI MOV IE,#81H LJMP VOLTA L5: CJNE R1,#4AH,D1 ; LETRA "J" LIGA O MOTOR INVERTIDO E FECHA A JANELA. CLR P1.5 CLR P2.5 CLR P1.7 JB P0.1,$ SETB P1.4 ;DESLIGA O LED DE PORTA ABERTA SETB P2.5 ;DESLIGA O MOTOR POIS JA FECHOU A JANELA CLR P1.7 ;HABILITA A LATCH LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO CLR RI MOV IE,#81H LJMP VOLTA D1: CJNE R1,#4CH,D2 ; LETRA "L" DESLIGA LAMPADA DA ENTRADA VARANDA. ORL P1,#01H ORL P2,#01H ;LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO CLR RI LJMP VOLTA D2: CJNE R1,#4DH,D3 ; LETRA "M" DESLIGA LAMPADA PRINCIPAL DA SALA. ORL P1,#02H ORL P2,#02H ;LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO CLR RI LJMP VOLTA CJNE R1,#4EH,D4 ;LETRA "N" DESLIGA LAMPADA DECORATIVAS DICRÓICAS. ORL P1,#04H ORL P2,#04H ;LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO CLR RI LJMP VOLTA D3: D4: CJNE R1,#4FH,D5 ;LETRA "O" DESLIGA A VENTILAÇÃO. ORL P1,#08H ORL P2,#08H ;LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO CLR RI 62 | P á g i n a LJMP VOLTA D5: CJNE R1,#51H,D6 ;LETRA "Q" DESLIGA TODOS OS DISPOSITIVOS CLR P1.5 CLR P2.5 CLR P1.7 JB P0.1,$ SETB P1.4 ;DESLIGA O LED DE PORTA ABERTA SETB P2.5 ;DESLIGA O MOTOR POIS JA FECHOU A JANELA CLR P1.7 ;HABILITA A LATCH ;LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO CLR RI MOV IE,#81H ORL P1,#0FFH ORL P2,#0FFH LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO CLR RI LJMP VOLTA TRANSMITE: MOV IE,#80H LCALL ATRASO MOV A,#43H MOV SBUF,A ; JNB TI,$ CLR TI MOV IE,#81H RET ; MOVE O CARACTERE "C" PARA SAIDA AVISANDO QUE O ELIPSE PODE ENVIAR OUTRA INSTRUÇÃO. INTSENSOR: ;INTERUPÇÃO 0 DE LEITURA DO SENSOR DE PRESENÇA. MOV IE,#00H MOV A,#50H ;ENVIA O CARACTERE "P" PARA A SAIDA SERIAL AVISANDO AO ; ELIPSE QUE CHEGOU ALGUÉM. MOV SBUF,A JNB TI,$ CLR TI LCALL ATRASO MOV IE,#81H ;HABILITA A INT0 NOVAMENTE RETI MODOAUTO1: ; MODO AUTOMÁTICO 1, DIAS QUENTES COM AR LIGADO MOV SP,#2FH ;APONTADOR DE PILHA MOV SCON,#40H ;MODO SERIAL ASSINCRONO MOV TMOD,#20H ;TEMPORIZADOR MODO 2 RECARGA AUTOMÁTICA MOV TH1,#0FAH ;RECARGA TEMPORIZADOR PARA TAXA DE 4800 MOV TL1,#0FAH ;RECARGA TEMPORIZADOR PARA TAXA DE 4800 MOV IE,#00H ;DESABILITA A INTERUPÇÃO SERIA E DESABILITA EXT0 SETB REN ;HABILITA A RECEPCAO CLR RI ;LIMPA A FLAG DE RECEPCAO SETB TR1 63 | P á g i n a AUT1: A1: JB P0.2,$ MOV A,#50H ;ENVIA O CARACTERE "P" PARA A SAIDA SERIAL AVISANDO ; AO ELIPSE QUE CHEGOU ALGUÉM. MOV SBUF,A JNB TI,$ CLR TI CLR RI MOV A,#10H ;MODO1 A JANELA FECHADA, AR LIGADO, LAMPADAS ACESAS. MOV P2,A MOV P1,A JB P0.1,$ ;AGUARDA O MICRO SWITCH AVISAR QUEA JANELA FECHOU SETB P1.4 ;DESLIGA O LED DE PORTA ABERTA SETB P2.5 ;DESLIGA O MOTOR POIS JA FECHOU A JANELA CLR P1.7 ;HABILITA A LATCH MOV IE,#81H ;HABILITA A INTERUPÇÃO EXTERNA INT0 LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO MOV IE,#81H JNB RI,$ ;AGUARDA A PROXIMA INSTRUÇÃO DO ELIPSE MOV R1,SBUF CJNE R1,#44H,A1 ;COMPARA E VE SE É LETRA "D" DESFAZ MOD AUTOMATICO. CLR RI LJMP LER MODOAUTO2: ; AUTOMÁTICO 2, DIAS FRIOS OU NORMAIS COM AR DESLIGADO MOV SP,#2FH ;APONTADOR DE PILHA MOV SCON,#40H ;MODO SERIAL ASSINCRONO MOV TMOD,#20H ;TEMPORIZADOR MODO 2 RECARGA AUTOMÁTICA MOV TH1,#0FAH ;RECARGA TEMPORIZADOR PARA TAXA DE 4800 MOV TL1,#0FAH ;RECARGA TEMPORIZADOR PARA TAXA DE 4800 MOV IE,#00H ;HABILITA A INTERUPÇÃO SERIAL. SETB REN ;HABILITA A RECEPCAO CLR RI ;LIMPA A FLAG DE RECEPCAO SETB TR1 AUT2: JB P0.2,$ MOV A,#50H ;ENVIA O CARACTERE "P" PARA A SAIDA SERIAL AVISANDO AO ELIPSE QUE ; CHEGOU ALGUÉM. MOV SBUF,A JNB TI,$ CLR TI MOV A,#28H ;MODO1 A JANELA ABERTA, AR DESLIGADO E LAMPADAS ACESAS MOV P2,A MOV P1,A JB P0.0,$ ;AGUARDA O MICRO SWITCH 2 AVISAR QUE JANELA ABRIU SETB P2.4 ;DESLIGA MOTOR NA POSIÇÃO ABRIR 64 | P á g i n a A2: SETB P1.5 ;DESLIGA O LED DE JANELA FECHADA CLR P1.7 ;HABILITA A LATCH MOV IE,#81H ;HABILITA A INTERUPÇÃO EXTERNA INT0 CLR RI LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO MOV IE,#81H JNB RI,$ ;AGUARDA A PROXIMA INSTRUÇÃO DO ELIPSE MOV R1,SBUF CJNE R1,#44H,A2 ;COMPARA E VE SE É LETRA "D" DESFAZ MOD AUTOMATICO. CLR RI LJMP LER ATRASO: MOV R7,#200 V5: MOV R6,#200 DJNZ R6,$ DJNZ R7,V5 RET LJMP INICIO END 65 | P á g i n a