Sie sind auf Seite 1von 19

SISTEMA AUTOMATIZADO PARA CONTROLE E MONITORACAO DE AMBIENTE FABRICIO PARISE CORREA, LEONARDO VERONEZE FERRAZ ARRUDA.

Engenharia Eltrica Habilitao Eletrnica, Centro Universitrio de Rio Preto - UNIRP fabricio-parise@superig.com.br. ResumoNeste sistema de monitorao e controle de ambiente constitudo por um sistema simples funcional e de baixo custo, que basicamente poder ser utilizado tanto em ambientes comerciais, residenciais ou ate mesmo em veculos de transporte fechado. Neste sistema utilizado sensores analgicos em comunicao com um microcontrolador, que enviara ou no dados para um computador, possibilitando determinar uma faixa de tolerncia para a temperatura, umidade e ate a luminosidade do ambiente que deseja se monitorar. Aps determinar esta faixa, o sistema ir se encarregar de ativar ou no suas sadas de acordo com sua faixa de tolerncia fixada pelo usurio. Quando esta faixa de tolerncia estiver dentro do permitido nada acontecer com suas sadas, mas sempre mostrando as aquisies de dados em um programa no computador. Porm, quando esta faixa determinada pelo usurio for violada o sistema ativar a sua sada referente a faixa que foi violada, podendo ser conectadas as sadas a equipamentos que ir corrigir, para a faixa determinada pelo usurio. Palavras-chave Automao, Sensores, Microcontrolador PIC.

Introduo.

Este sistema de controle e monitorao vem a atender a algumas necessidades especiais exigidas por determinados ambientes especficos que necessitam de certos cuidados especiais, de forma simples, porm com um custo relativamente baixo e acessvel. O sistema tem uma ampla rea de aplicao, e tambm trar muitos benefcios aos usurios como, por exemplo, pessoas com problemas alrgicos ou no, devido a baixa umidade podero agravar seu quadro clinico ou ate mesmo desenvolver algum tipo de problema alrgico devido ao ambiente seco, por este e por outros fatores controlar ambientes fechados, ser muito importante principalmente para os que utilizam ar-condicionado, pois este um equipamento que abaixa muito a umidade relativa do ambiente em que se encontra. Assim, tendo um ambiente seco, desconfortvel, pode este proporcionar crises alrgicas aos usurios do mesmo. Inserindo uma mini central de monitorao e controle do ambiente juntamente com equipamentos umidificadores de ambiente, pode-se ter um ambiente agradvel e saudvel. Como este equipamento possui sadas ativas podemos ligar tambm o ar-condicionado no mesmo, assim tambm evitando o desperdcio de energia. Logo com este sistema de controle tem-se um ambiente perfeito para ser habitado, sem medo que ocorram as desagradveis crises alrgicas ou se o ambiente estiver seco e com baixa temperatura poder tambm provocar irritaes nas reas que se encontram mucosas, como na boca, podendo tambm desenvolver faringite alrgica e irritao nos olhos, e entre outros problemas. Este projeto torna-se muito til tambm em reas comerciais, ou em galpes de estoque que exigem um ambiente especial, como, por exemplo, para estoques de produtos alimentcios, de gros que exigem condies de estocagem especiais e que por sua vez se este ambiente for alterado poder ocorrer danos ao estoque, provocando srios prejuzos. Caso tenhamos um ambiente especfico que necessite deste tipo de equipamento para monitorao e controle, como no caso de estoque de frigorfico, onde se a umidade baixar as carnes em estoque perdero gua, provocando uma diminuio na massa do produto, causar um prejuzo grande ao proprietrio, bem como afetando tambm a aparncia e qualidade de seu produto. O projeto desenvolvido para este sistema tem funcionamento simples. Atravs da utilizao de sensores analgicos instalados no ambiente fechado, estes iro coletar dados passando por um amplificador operacional, que ser enviado para um microcontrolador que ira interpreta-los atravs de um programa que converter estes sinais de analgico para digital, estabelecendo uma comunicao com o computador atravs de um software que ir mostrar na tela do computador este sinais j convertidos em suas devidas escalas; temperatura em graus Celsius, porcentagem da umidade relativa do ar do ambiente e luminosidade em Lux. Ter tambm a opo de o usurio determinar qual a faixa de tolerncia ele deseja que o ambiente se encontre, inserindo estes dados atravs do computador de forma simples e rpida. A seguir temos o funcionamento deste sistema atravs do diagrama de blocos funcional a seguir atravs da figura 1.

Figura1. Diagrama de blocos funcional do sistema.

Fundamentao terica

2.1 Sensor de temperatura - Termistor NTC(Negative Temperature Coefficiente)

Termistores so materiais cermicos que apresentam diminuio da resistncia eltrica com o aumento de temperatura, as cermicas NTC dissipam potencia, representada pelo aquecimento produzido pela passagem de corrente eltrica. Atravs do grfico e a tabela (fig.2.1.a) podemos interpret-los, assim fazendo uma relao de resistncia hmica por graus Celsius. Para anlise de aplicao a seguir mostrado o seguinte equacionamento

Onde Beta vai ser igual a 2000 Ohms

Figura 2.1.a Tabela relao de temperatura e resistncia kohms Grfico resistncia kohms por temperatura (www.datasheetcatalog.com/termistorntc) Com base nestes dados obtidos pelo sensor justificada a utilizao do amplificador operacional LM358N(diagrama de bloco fig.2.1.d), neste projeto, para enviar os sinais para o microcontrolador e assim atravs de um programa interpret-los. No circuito pode-se verificar o uso de um led no qual se acende quando ligado na placa de inteface, indicando que o funcionamento do mesmo est correto, e de um potencimetro para ajustes dos dados a serem enviados pelo sensores para o microcontrolador. A seguir apresentada uma placa de circuito pronta para ser utilizada (fig.2.1.b), e o esquema eltrico da placa de circuito pronta para ser utilizada. (fig.2.1c)

Figura 2.1.b Circuito finalizado temperatura. eltrico sensor de temperatura

Figura 2.1.c Esquema

Figura 2.1.d diagrama bloco LM358N

2.2 Sensor de luminosidade (Light Dependent Resistor)

O sensor de luminosidade composto de um material semicondutor. O processo de construo de um LDR consiste na conexo do material fotossensvel com os terminais, sendo que uma fina camada simplesmente exposta incidncia luminosa externa. Por suas caractersticas ele tambm conhecido como clula fotocondutiva, ou ainda de foto resistncia. O LDR composto de dois terminais, cuja resistncia varia linearmente com a intensidade de luz , obedecendo equao R = C.L.a , onde L a luminosidade em Lux, C e a so constantes dependentes do processo de fabricao e material utilizado. O LDR tem seu funcionamento baseado em : quanto maior a luminosidade menor a resistncia de forma linear. A seguir mostrada a constituio de um sensor LDR. (Fig. 2.2.a)

Fig. 2.2.a constituio de um LDR

Nas figuras 2.2.b e 2.2.c apresentado graficamente os princpios de funcionamento/comportamento de um LDR (http://www.gta.ufrj.br/grad/01_1/contador555/ldr.htm)

Fig.2.2.b e 2.2.c Analise do grfico de funcionamento e do espectro (www.sunrom.com)

Com base nestes dados obtidos pelo sensor justificada a utilizao do amplificador operacional LM358N(diagrama de bloco fig.2.1.d) para enviar os sinais para o microcontrolador assim atravs de um programa interpretando-o. Neste circuito o led vai emitir luz (acender) inversamente proporcional quantidade de luz recebida pelo sensor LDR, ou seja, quanto menor a intensidade da luz maior a intensidade emitida pelo led. Um potencimetro para ajustes dos dados a serem enviados pelo sensor para o microcontrolador A placa de circuito pronta para ser utilizada, observamos (figura2.2.d), e o esquema eltrico da placa de circuito pronta pra ser utilizada(fig.2.2.e) pode ser visualizada a seguir.

Fig.2.2.d Placa de circuito pronta 2.3 Sensor de umidade

Fig. 2.2.e esquema eltrico sensor umidade

Devido a um alto custo do sensor de umidade digital, improvisamos um sensor bem conhecido, porem no muito preciso. Este sensor tem como caracterstica a condutividade de corrente e funcionara somente quando colocado no solo ele tem o mesmo principio ativo dos outros, mas, ao invs de ser sensor resistivo, ele interpretado atravs da condutividade eltrica. Sua caracterstica construtiva bem simples, rstico mas serve para ilustrar e aplicar neste projeto, podendo ser substitudo por um sensor digital de umidade, onde necessitar de pequenos ajustes nas linhas de programao do microcontrolador, realizar a inverso do tipo de entrada de analgica para digital e reeditar o programa. O funcionamento deste sensor de umidade bem simples.Tendo-se uma tenso aplicada consequentemente ir gerar uma corrente, circulando pelas suas hastes metlicas que iro conduzir, desta forma se o solo estiver com um nvel de umidade relativa alta o aterramento ser maior como conseqncia ir conduzir mais, e se a umidade relativa do solo for mais baixa ele ira ter um poder de aterramento menor como conseqncia ira conduzir menos, desta forma como nos outros sensores iremos utilizar um LM358N(diagrama de bloco fig.2.1.d), para que o sinal seja ampliado e interpretado pelo microcontrolador atravs do nosso programa, e o led que indica se a placa esta pronta para ser usada. Podemos dizer que esta nossa tcnica relativa aos estudos sobre TDR(time domain reflectometer), mas com toda certeza uma pequena poro sobre estes estudos. A seguir apresentado algumas fotos do circuito pronto para ser utilizado (2.3.a) e do esquema eltrico (fig.2.3.b).

Fig.2.3.a Placa de circuito pronta.

Fig.2.3.b Esquema eltrico sensor de umidade

2.4 Microcontrolador PIC18F2550. Um microcontrolador um dispositivo eletrnico que aceita a programao de um usurio ou seja um dispositivo programvel.O microcontrolador e um tipo de microprocessador com memria, interfaces entre outros diversos recursos integrados, focando sua auto-suficincia em conjunto com um microprocessador de propsito geral do mesmo tipo usado em computadores que necessitam de chips adicionais para promoverem as funes necessrias. Alem destes diversos benefcios ele tem como caracterstica ser um componente de baixssimo custo se pensar na quantidade de componentes que ele substitui e sua dimenso e bem reduzida. Neste projeto utilizado um microcontrolador PIC18F2550 do MICROCHIP, por apresentar caractersticas que atende s necessidades, e por ser um microcontrolador com vrios recursos e opes de acessibilidade. Este componente possui uma caracterstica muito importante que utilizado neste projeto, que a conectividade via

USB no pino 14 VUSB, 15 RC5/D+ e 16RC4D- que permite atravs de um software freeware encontrado facilmente na internet, chamado de Bootloader. Este software permite que trabalhe com o microcontrolador conectado a placa, com isto, possibilita realizar gravar/reeditar uma programao sem retirar o microcontrolador da placa de circuito. Atravs do software Bootloader, poder conectar a placa de circuito via porta USB, reconhecida pela porta COM9 ou outras portas COM pelo computador. Ao clicar em um boto presente na placa de circuito o microcontrolador entrar em modo de gravao, assim fica muito mais simples e rpido. Apos realizado este processo o microcontrolador estar pronto para ser carregado com o programa j compilado. A seguir apresentado o esquema eltrico para adaptarmos nosso circuito a este novo mtodo de gravao (Fig.2.4.a). Com este novo processo fica ainda mais fcil para se realizar o interfaceamento entre o circuito desenvolvido e o computador, ocorrendo uma comunicao simples de implementada e com uma boa velocidade de resposta. Utilizando este sistema de interfaceamento no projeto, possibilita que tudo pode ser monitorado pelo computador, de forma simples para programar o sistema no desenvolvimento do software para controle e monitorao do ambiente de aplicao..

Fig. 2.4.a Adaptao do microcontrolador para porta USB. (http://www.jonis.com.br/novo/index.php?option=com_content&view=article&id=53 &Itemid=66)

2.5 Placa de circuito principal.

Nesta placa de circuito principal ser feito o interfaceamento entre o microcontrolador e os sensores e o computador com o microcontrolador, ou seja esta placa vai ser responsvel por fazer a comunicao entre os sensores e o microcontrolador, via USB enviando os dados para um computador. Desta forma podendo controlar todo o sistema via computador, determinando as faixas de tolerncia em que o sistema ira trabalhar. Atravs de um software possvel um usurio selecionar a faixa de tolerncia para ativar ou no seus equipamentos na sada. 2.5.1 Entradas Analgicas.

Neste circuito ter uma entrada para o sistema constituda de trs pinos, como pode ser observado na figura abaixo (Fig 2.5.1.a). Com um dos pinos alimenta-se uma entrada de 5VDC (Pino 3), o aterramento feito atravs do pino 2 e o pino 1 conectado as entradas analgica do microcontrolador ( Pino RA0/entrada analgica AN1 , PinoRA1/ entrada analgica AN2 , Pino RA2/ entrada analgica AN3 , Pino RA3/ entrada analgica AN4). Com um filtro capacitivo com capacitor de 100nF contra rudos e ou interferncias.

Fig.2.5.1.a Esquema eltrico entradas analgicas do circuito

2.5.2 Fonte de alimentao. No circuito seguinte temos a fonte que ira alimentar o sistema, o microcontrolador e os sensores. Consiste principalmente de um regulador de tenso no qual ser utilizado um LM7805CT(regulador de tenso 5VDC) e os filtros capacitivos, conforme esquema eltrico apresentado na figura .2.5.2.a a seguir.

Fig. 2.5.2.a Esquema eltrico fonte alimentadora do circuito.

2.5.3 Entrada e sada Digital.

Este circuito e para uma eventualidade de desejar colocar sensores mais precisos (digitais) ou at mesmo no caso citado acima a respeito do sensor de umidade. Somente entrarmos com os sinais digitais na placa de circuito e nos pinos de entradas digitais do microcontrolador (21RB0/22RB1) como podemos observar na figura abaixo (Fig.2.5.3.a), e fazermos as devidas adaptaes no programa.

Fig.2.5.3.a Esquema Eltrico Entradas e Sadas digitais.

2.5.4 Circuito Principal Neste circuito abaixo (Fig.2.5.4.a) observa-se que no pino do microcontrolador colocado um oscilador de 20MHZ, e nas suas portas de entradas e sadas, os botes de reset que serve para ligar o circuito ou ento reinicializ-lo, e o boto de Prog Ctrl que ser para efetuar uma gravao sem remover o microcontrolador do circuito, para isto, basta entrarmos no software Bootloaader, conectar o circuito no computador, carregarmos o arquivo em .HEX, e ento acionar o boto RESET segurando-o, e um click breve no boto PROG, e a seguir microcontrolador estar em modo de gravao, basta clicar na opo programar no Bootloader e em seguida acionar o boto RESET para reinicializar microcontrolador. Desta forma o microcontrolador estar pronto para rodar seu programa carregado. Tambm composto de dois leds que quando a placa e conectada ao computador ira ativar os dois leds, observar na figura abaixo (Fig.2.5.4.a) todos os circuitos que descritos acima so conectados em suas devidas portas,podemos notar que em cada pino que ser utilizado do microcontrolador est com suas legendas seguidas dos circuitos anteriores.

Figura. 2.5.4.a Esquema eltrico placa principal

2.6 Desenvolvimento Abaixo segue o cdigo fonte que desenvolvemos para a comunicao do microcontrolador com os demais perifricos, cdigo fonte descrito em C. #include <18F2550.h> #fuses HS, NOWDT, NOPROTECT, BROWNOUT, PUT, NOLVP #use delay(clock=20000000) #use rs232 (baud = 9600, xmit=pin_c6, rcv=pin_c7)

#define strTempMin 0 #define strTempMax 1 #define strUmdMin 2 #define strUmdMax 3 #define strLumMin 4 #define strLumMax 5 #define RELE_TEMP = PIN_A4 #define RELE_UMD = PIN_A5 #define RELE_LMN = PIN_B1

// formato: // pp#TMP:111:222:333:1#UMD:444:555:666:0#LMN:777:888:999:1 void main() {

char strDadosPIC[60], strDadosSerial[60]; int intTmpAD, intTmpValorMin, intTmpValorMax; // variveis temporrias int intADTemp, intADUmd, intADLum; while(true) { strDadosSerial = getc(); if (strDadosSerial) { if (substr(strDadosSerial, 0, 2) == "pp") { write_eeprom(strTempMin, atoi(substr(strDadosSerial, 11, 3)))); write_eeprom(strTempMax, atoi(substr(strDadosSerial, 15, 3)))); write_eeprom(strUmdMin, atoi(substr(strDadosSerial, 29, 3)))); write_eeprom(strUmdMax, atoi(substr(strDadosSerial, 33, 3)))); write_eeprom(strLumMin, atoi(substr(strDadosSerial, 47, 3)))); write_eeprom(strLumMax, atoi(substr(strDadosSerial, 51, 3)))); } }

// iniciando a formao da string para ser enviada pela serial strDadosPIC = "pp#TMP:";

///////////////// // TEMPERATURA //////////////// set_adc_channel(0); delay_ms(10); intTmpAD = read_adc(); intTmpValorMin = read_eeprom(strTempMin); intTmpValorMax = read_eeprom(strTempMax); if (intTmpAD >= intTmpValorMin && intTmpAD <= intTmpValorMax) { output_high(RELE_TEMP); } else { output_low(RELE_TEMP); } // formando a string para ser enviada para a serial strcat(strDadosPIC, itoa(intTmpAD)); strcat(strDadosPIC, ":"); strcat(strDadosPIC, itoa(intTmpValorMin)); strcat(strDadosPIC, ":"); strcat(strDadosPIC, itoa(intTmpValorMax)); strcat(strDadosPIC, ":"); strcat(strDadosPIC, itoa(input(RELE_TEMP));

////////////// // UMIDADE ////////////// set_adc_channel(1); delay_ms(10); intTmpAD = read_adc(); intTmpValorMin = read_eeprom(strUmdMin); intTmpValorMax = read_eeprom(strUmdMax);

if (intTmpAD >= intTmpValorMin && intTmpAD <= intTmpValorMax) { output_high(RELE_UMD); } else { output_low(RELE_UMD); } // formando a string para ser enviada para a serial strcat(strDadosPIC, "#UMD:"); strcat (strDadosPIC, itoa(intTmpAD)); strcat(strDadosPIC, ":"); strcat(strDadosPIC, itoa(intTmpValorMin)); strcat(strDadosPIC, ":"); strcat(strDadosPIC, itoa(intTmpValorMax)); strcat(strDadosPIC, ":"); strcat(strDadosPIC, itoa(input(RELE_UMD));

///////////////// // LUMINOSIDADE ///////////////// set_adc_channel(2); delay_ms(10); intTmpAD = read_adc(); intTmpValorMin = read_eeprom(strLmnMin); intTmpValorMax = read_eeprom(strLmnMax); if (intTmpAD >= intTmpValorMin && intTmpAD <= intTmpValorMax) { output_high(RELE_LMN); } else { output_low(RELE_LMN); } // formando a string para ser enviada para a serial strcat(strDadosPIC, "#LMN:"); strcat(strDadosPIC, itoa(intTmpAD)); strcat(strDadosPIC, ":"); strcat(strDadosPIC, itoa(intTmpValorMin)); strcat(strDadosPIC, ":"); strcat(strDadosPIC, itoa(intTmpValorMax)); strcat(strDadosPIC, ":"); strcat(strDadosPIC, itoa(input(RELE_LMN));

printf("%s\n\r", strDadosPIC);

} } 2.7 Desenvolvimento Software. Neste programa e aonde iremos decidir as faixas de tolerncia da temperatura, umidade e luminosidade, declaramos os valores nos campos a preencher ai ento iremos inicializar a automao de controle do ambiente. O circuito eltrico ira depender de um computador, pois quem ira controlar quando ira ser ativo ou no as sadas ser o programa. VERSION 5.00 Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "MSCOMM32.OCX" Begin VB.Form Form1 Caption = "Automao" ClientHeight = 4830

ClientLeft = 60 ClientTop = 345 ClientWidth = 6615 LinkTopic = "Form1" ScaleHeight = 4830 ScaleWidth = 6615 StartUpPosition = 3 'Windows Default Begin MSCommLib.MSComm MSComm1 Left = 5880 Top = 3960 _ExtentX = 1005 _ExtentY = 1005 _Version = 393216 DTREnable = -1 'True End Begin VB.Frame Frame4 Caption = "Parmetros: " Height = 3495 Left = 120 TabIndex = 14 Top = 1200 Width = 6375 Begin VB.CommandButton BotaoProgramar Caption = "&Programar" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 495 Left = 3240 TabIndex = 8 Top = 2760 Width = 2295 End Begin VB.CommandButton BotaoLer Caption = "&Ler" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 495 Left = 720 TabIndex = 7 Top = 2760 Width = 2295 End Begin VB.TextBox txLumMin Height = 285 Left = 4920 TabIndex = 5 Top = 840 Width = 615 End Begin VB.TextBox txLumMax

Height = 285 Left = 4920 TabIndex = 6 Top = 1215 Width = 615 End Begin VB.TextBox txTempMin Height = 285 Left = 480 TabIndex = 1 Top = 840 Width = 615 End Begin VB.TextBox txTempMax Height = 285 Left = 480 TabIndex = 2 Top = 1215 Width = 615 End Begin VB.TextBox txUmdMin Height = 285 Left = 2640 TabIndex = 3 Top = 840 Width = 615 End Begin VB.TextBox txUmdMax Height = 285 Left = 2640 TabIndex = 4 Top = 1215 Width = 615 End Begin VB.Line Line3 X1 = 480 X2 = 5880 Y1 = 2520 Y2 = 2520 End Begin VB.Line Line2 X1 = 3960 X2 = 3960 Y1 = 720 Y2 = 1920 End Begin VB.Line Line1 X1 = 1680 X2 = 1680 Y1 = 720 Y2 = 1920 End Begin VB.Label lblEstadoLuminosidade Caption = "Ligado" BeginProperty Font Name = "MS Sans Serif" Size = 13.5 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H0000C000&

Height = 375 Left = 4560 TabIndex = 29 Top = 1920 Width = 1695 End Begin VB.Label lblEstadoUmidade Caption = "Desligado" BeginProperty Font Name = "MS Sans Serif" Size = 13.5 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H000000FF& Height = 375 Left = 2280 TabIndex = 28 Top = 1920 Width = 1695 End Begin VB.Label lblEstadoTemperatura Caption = "Ligado" BeginProperty Font Name = "MS Sans Serif" Size = 13.5 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H0000C000& Height = 375 Left = 120 TabIndex = 27 Top = 1920 Width = 1695 End Begin VB.Label Label13 Caption = "Estado:" Height = 255 Left = 120 TabIndex = 26 Top = 1680 Width = 615 End Begin VB.Label Label15 Caption = "Estado:" Height = 255 Left = 4560 TabIndex = 25 Top = 1680 Width = 615 End Begin VB.Label Label14 Caption = "Estado:" Height = 255 Left = 2280 TabIndex = 24 Top = 1680

Width = 615 End Begin VB.Label Label12 Caption = "Min:" Height = 255 Left = 4560 TabIndex = 23 Top = 855 Width = 375 End Begin VB.Label Label11 Caption = "Max:" Height = 255 Left = 4560 TabIndex = 22 Top = 1215 Width = 375 End Begin VB.Label Label7 Caption = "Min:" Height = 255 Left = 120 TabIndex = 21 Top = 855 Width = 375 End Begin VB.Label Label8 Caption = "Max:" Height = 255 Left = 120 TabIndex = 20 Top = 1215 Width = 375 End Begin VB.Label Label10 Caption = "Min:" Height = 255 Left = 2280 TabIndex = 19 Top = 840 Width = 375 End Begin VB.Label Label9 Caption = "Max:" Height = 255 Left = 2280 TabIndex = 18 Top = 1215 Width = 375 End Begin VB.Label Label6 Caption = "Luminosidade:" Height = 255 Left = 4560 TabIndex = 17 Top = 480 Width = 1095 End Begin VB.Label Label5 Caption = "Umidade:" Height = 255 Left = 2280 TabIndex = 16 Top = 480

Width = 1455 End Begin VB.Label Label4 Caption = "Temperatura:" Height = 255 Left = 120 TabIndex = 15 Top = 480 Width = 1095 End End Begin VB.Frame Frame3 Height = 735 Left = 4680 TabIndex = 13 Top = 405 Width = 1815 Begin VB.Label lbLuminosidade Caption = "150C" BeginProperty Font Name = "MS Sans Serif" Size = 13.5 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 375 Left = 120 TabIndex = 32 Top = 240 Width = 1455 End End Begin VB.Frame Frame2 Height = 735 Left = 2400 TabIndex = 12 Top = 405 Width = 1815 Begin VB.Label lblUmidade Caption = "150C" BeginProperty Font Name = "MS Sans Serif" Size = 13.5 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 375 Left = 120 TabIndex = 31 Top = 240 Width = 1455 End End Begin VB.Frame Frame1 BackColor = &H8000000A& ForeColor = &H00000000& Height = 735 Left = 120

TabIndex = 11 Top = 405 Width = 1815 Begin VB.Label lbTemperatura Caption = "150C" BeginProperty Font Name = "MS Sans Serif" Size = 13.5 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 375 Left = 120 TabIndex = 30 Top = 240 Width = 1455 End End Begin VB.Label Label3 Caption = "Luminosidade:" Height = 255 Left = 4680 TabIndex = 10 Top = 210 Width = 1215 End Begin VB.Label Label2 Caption = "Umidade:" Height = 255 Left = 2400 TabIndex = 9 Top = 210 Width = 735 End Begin VB.Label Label1 Caption = "Temperatura:" Height = 255 Left = 120 TabIndex = 0 Top = 210 Width = 1095 End End Attribute VB_Name = "Form1" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Private Sub BotaoLer_Click() Dim strDadosPIC As String strDadosPIC = MSComm1.Input ' Formato ' pp#TMP:111:222:333:1#UMD:444:555:666:0#LMN:777:888:999:1 ' ' Layout: ' Posicao | Valor Aceito | Definio '1e2 | pp | Validao da string de envio/retorno ' 3,4,5,6,7 | #TMP: | Incio da sequncia de valores referentes temperatura ' 8,9,10 | xxx | x = [0-9] | Valor do sensor de temperatura ' 11 |: | Separador da sequncia de valores

' 12,13,14 | xxx | x = [0-9] | Valor Mnimo de temperatura ' 15 |: | Separador da sequncia de valores ' 16,17,18 | xxx | x = [0-9] | Valor Mximo de temperatura ' 19 |: | Separador da sequncia de valores ' 20 | x | x = [0,1] | Estado do rele da temperatura ' etcccccccccccccccc

If Mid("" & strDadosPIC, 1, 2) = "pp" Then ' Temperatura lbTemperatura.Caption = Mid(strDadosPIC, 8, 3) txTempMin.Text = Mid(strDadosPIC, 12, 3) txTempMax.Text = Mid(strDadosPIC, 16, 3) ' Estado do rele da temperatura If CBool(Mid(strDadosPIC, 18, 1)) Then lblEstadoTemperatura.Caption = "Ligado" lblEstadoTemperatura.ForeColor = &HC000& ' Verde Else lblEstadoTemperatura.Caption = "Desligado" lblEstadoTemperatura.ForeColor = &HFF& ' Vermelho End If

' Umidade lblUmidade.Caption = Mid(strDadosPIC, 26, 3) txUmdMin.Text = Mid(strDadosPIC, 30, 3) txUmdMax.Text = Mid(strDadosPIC, 34, 3) ' Estado do rele da umidade If CBool(Mid(strDadosPIC, 36, 1)) Then lblEstadoUmidade.Caption = "Ligado" lblEstadoUmidade.ForeColor = &HC000& ' Verde Else lblEstadoUmidade.Caption = "Desligado" lblEstadoUmidade.ForeColor = &HFF& ' Vermelho End If

' Luminosidade lbLuminosidade.Caption = Mid(strDadosPIC, 44, 3) txLumMin.Text = Mid(strDadosPIC, 48, 3) txLumMax.Text = Mid(strDadosPIC, 52, 3) ' Estado do rele da luminosidade If CBool(Mid(strDadosPIC, 54, 1)) Then lblEstadoLuminosidade.Caption = "Ligado" lblEstadoLuminosidade.ForeColor = &HC000& ' Verde Else lblEstadoLuminosidade.Caption = "Desligado" lblEstadoLuminosidade.ForeColor = &HFF& ' Vermelho End If End If End Sub

Private Sub BotaoProgramar_Click() Dim strDadosPIC As String ' Formato ' pp#TMP:111:222:333:1#UMD:444:555:666:0#LMN:777:888:999:1 strDadosPIC = "pp" _

& "#TMP:000:" & txTempMin.Text & ":" & txTempMax.Text & ":0" _ & "#UMD:000:" & txUmdMin.Text & ":" & txUmdMax.Text & ":0" _ & "#LMN:000:" & txLumMin.Text & ":" & txLumMax.Text & ":0" MSComm1.Output = strDadosPIC End Sub Private Sub Form_Load() MSComm1.CommPort = 7 MSComm1.Settings = "9600,n,8,1" MSComm1.PortOpen = True MSComm1.InputLen = 0 MSComm1.PortOpen = True End Sub

Concluso Como concluso podemos dizer que este projeto bem didtico com tecnologias inovadoras. O projeto bem rstico mas com seu funcionamento e sua preciso confivel exceto do sensor de umidade que um sensor que sua calibragem foi feito de forma experimental em laboratrio. Referencia bibliogrfica SOUZA, D. J. Desbravando o PIC. 8.ed. So Paulo: Erica, 2005. PEREIREA. F. Microcontroladores PIC: Programao em C. 6.ed. So Paulo: Erica, 2003. SILVA. R. A. Programando Microcontroladores PIC: Programao em Linguagem C 1.ed. So Paulo: Ensino Profissional, 2004

Das könnte Ihnen auch gefallen