UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO
CENTRO TECNOLÓGICO
DEPARTAMENTO DE ENGENHARIA ELÉTRICA
PROJETO DE GRADUAÇÃO
DISPOSI...
THIAGO NEGRELLI
DISPOSITIVO DE CONTROLE AUTOMÁTICO DE
ILUMINAÇÃO
Parte manuscrita do Projeto de
Graduação do aluno Thiago ...
THIAGO NEGRELLI
DISPOSITIVO DE CONTROLE AUTOMÁTICO DE
ILUMINAÇÃO
COMISSÃO EXAMINADORA:
Prof. Dr. Cícero Romão Cavati.
Orie...
i
DEDICATÓRIA
Aos amigos Johnny Sperandio, Renato Bertoldi, Jelbener Vinicius dos Santos
Azeredo e Thiago Zambom, que fora...
ii
AGRADECIMENTOS
Agradeço primeiramente a Deus, que está presente em todos os momentos
da minha vida.
A Graça, Ademar, Pr...
iii
LISTA DE FIGURAS
Figura 1 - Luz natural x luz artificial.................................................................
iv
SUMÁRIO
DETICATORIA..................................................................................................I
...
v
RESUMO
Este trabalho apresenta o desenvolvimento de um dispositivo
eletrônico para realizar o controle automático de cir...
6
Capitulo 1 – Introdução
Neste Capítulo são apresentados os objetivos do trabalho bem
como algumas considerações gerais s...
7
Atualmente, quando se deseja controlar o período de permanência
com luzes acessas ou apagadas, utilizam-se as Células Fo...
8
Em ambientes internos, por exemplo, os sensores podem ser
programados para controlar o fluxo luminoso a ser gerado pela ...
9
exemplo pode-se ver um ponto de luz sendo controlado como mostra a figura
2.
Figura 2 - Programação e atuação
Note-se qu...
10
Assim é desejável que se disponha de outras formas, que não seja o
uso de fotocélulas convencionais para se alcançar me...
11
Os fatos descritos anteriormente sustentam a motivação deste projeto,
qual seja disponibilizar uma solução desejável pa...
12
Figura 3 - LDR
1.3.3 Microcontrolador PIC - Graças à funcionalidade do
microcontrolador, este será usado para o process...
13
Figura 4 - Relé de 10 A e 12 V
1.3.5 Demais componentes e equipamentos – Outros dispositivos
serão utilizados no projet...
14
Capítulo 2 – Metodologia
Neste Capítulo será apresentada uma visão a respeito da metodologia
que será adotada neste pro...
15
Figura 6 - Circuito simplificado com principais funções.
Pode-se notar na Figura 6 que o circuito é simples e objetivo....
16
Figura 7 - Imagem do protótipo construído.
Como pode ser observado na imagem do protótipo da placa de circuito
impresso...
17
2.2 Sinal
2.2.1 LDR
O Fotoresistor ou LDR (Light Dependent Resistor) é um dispositivo
semicondutor de dois terminais, c...
18
Figura 8 - Curva característica do LDR
Para o levantamento desta curva, o LDR foi exposto a diferentes níveis
de ilumin...
19
Figura 9 - Experimento para medir a curva do LDR.
Para ilustrar as medidas correlacionadas, têm-se alguns valores
notáv...
20
Com o experimento descrito anteriormente, constatou-se que: quanto
maior a intensidade luminosa, menor é a resistência ...
21
Figura 11 - LM 324
O circuito foi montado em um protoboard com o propósito de se obter
o sinal proveniente da saída do ...
22
Figura 12 - LDR aberto e nível de tensão zero na saída.
Para uma iluminação média, temos a saída com aproximadamente 2
...
23
Figura 13 - Incidência média de luminosidade e saída 2 V.
Para uma iluminação total, o LDR funciona praticamente como u...
24
Figura 14 - Incidência máxima de iluminação e LDR praticamente como curto.
2.4 Atuador e carga
É utilizado um relé de 1...
25
2.5 Alimentação
O circuito acondicionador e o PIC são alimentados por uma tensão de
5 V e o relé por uma tensão de 12 V...
26
a) CPU;
b) Memória EEPROM;
c) Memória RAM;
d) Linhas de I/O;
e) Sofisticados periféricos, como PWM, A/D e D/A, USART;
f...
27
• Microcontrolador de 40 pinos, o que possibilita a montagem de um
hardware complexo e capaz de interagir com diversos ...
28
A Figura 15 ilustra o diagrama de pinos do PIC16F877A, com suas
respectivas funções [Microchip, 2001].
Figura 15 - Diag...
29
há dúvidas na separação do segmento CODE/DATA dentro do hardware do
PIC e incapacidade para trabalhar com os dados na á...
30
• Pino 16: Saída para teclado (coluna 2);
• Pino 17: Saída para teclado (coluna 3);
• Pino 18: Entrada proveniente do t...
31
canais de conversão analógica-digital. Sua programação pode ser feita em
“Linguagem C” utilizando um compilador produzi...
32
Figura 16 - Teclado e display.
Pode-se observar a existência dos resistores de PULL UP, que servem
para limitação e pro...
33
Para conexão do teclado e do display, também foi utilizado um cabo
conforme mostra a figura 18.
Figura 18 - Cabo de con...
34
Figura 19 - Funcionamento interno do teclado.
No programa desenvolvido, mostrado no ANEXO A, existe uma função
chamada ...
35
240x64 e 240x128 pixel, e geralmente estão disponíveis com 20 pinos para
conexão. Os LCD comuns (tipo caracter) são esp...
36
Capitulo 3 – Testes
Foram realizados alguns testes no protoboard e depois na placa
montada. A figura 20 mostra os prime...
37
Pode-se concluir que o protótipo está apto a receber o programa para o
seu funcionamento.
38
Capítulo 4 – Conclusão e trabalhos futuros
4.1 Conclusões
Apresentou-se um hardware na forma de um dispositivo de contr...
39
4.2 Trabalhos futuros
Para que o controle de iluminação seja completo, seria interessante
dispor de controle quanto ao ...
40
ANEXO A
//////////////////////////INÍCIO///////////////////////////
// DEFINE I/O´S, CANAL ANALÓGICOS, CLOCK //
#includ...
41
/////////////////////////// VARIÁVEIS GLOBAIS ///////////////////////////
float In = 0;
int16 Ip, Fs;
int Tp, Tb;
float...
42
}
}
/////////////////////////////// LE_VALOR /////////////////////////////////
int16 LE_VALOR() {
inicio: {
int tecla =...
43
goto indicacao;
}
}
return valor;
}
}
//////////////////////////////// EXP_PAR /////////////////////////////////
void D...
44
delay_us(10);
sinal = read_adc();
Is = Is + sinal;
/////////////////////////////// PRINCIPAL //////////////////////////...
45
// Indicação do identificador da tensão //
lcd_gotoxy(1,1);
printf(lcd_putc," V ");
lcd_gotoxy(2,1);
printf(lcd_putc," ...
46
ANEXO B
struct lcd_pin_map {
int data : 4;
int nc : 4;
} lcd;
#byte lcd = 0x08
#byte tris_lcd = 0x88
#byte porte = 0x09...
47
void lcd_send_nibble(byte n) {
lcd.data = n;
delay_cycles(1);
lcd_enable = 1;
delay_us(2);
lcd_enable = 0;
}
void lcd_s...
48
case 0: lcd_send_byte(0,LCD_CURSOR_BLINK_OFF);
break;
case 1: lcd_send_byte(0,LCD_CURSOR_ON);
break;
case 2: lcd_send_b...
49
Referências Bibliográficas
[01] MICROCHIP TECHNOLOGY INC. PIC 16F877A datasheet.
Chandler: Microchip, 2001.
[02] SOUZA,...
50
[10] CAVATI, C.R. Notas de aulas do professor, DEL/CT/UFES, 2004.
[11] CUSTOM, Computer Service, 2001
Próximos SlideShares
Carregando em…5
×

Dispositivo de controle automático

595 visualizações

Publicada em

Publicada em: Educação
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Dispositivo de controle automático

  1. 1. UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO TECNOLÓGICO DEPARTAMENTO DE ENGENHARIA ELÉTRICA PROJETO DE GRADUAÇÃO DISPOSITIVO DE CONTROLE AUTOMÁTICO DE ILUMINAÇÃO THIAGO NEGRELLI VITÓRIA - ES Fevereiro/2006
  2. 2. THIAGO NEGRELLI DISPOSITIVO DE CONTROLE AUTOMÁTICO DE ILUMINAÇÃO Parte manuscrita do Projeto de Graduação do aluno Thiago Negrelli, apresentado ao Departamento de Engenharia Elétrica do Centro Tecnológico da Universidade Federal do Espírito Santo, para obtenção do grau de Engenheiro Eletricista. VITÓRIA – ES Fevereiro/2006
  3. 3. THIAGO NEGRELLI DISPOSITIVO DE CONTROLE AUTOMÁTICO DE ILUMINAÇÃO COMISSÃO EXAMINADORA: Prof. Dr. Cícero Romão Cavati. Orientador Prof. Dr. Getúlio Vargas Loureiro, PhD Examinador Eng. Victor Pardal Examinador Vitória - ES, fevereiro de 2006.
  4. 4. i DEDICATÓRIA Aos amigos Johnny Sperandio, Renato Bertoldi, Jelbener Vinicius dos Santos Azeredo e Thiago Zambom, que foram companheiros nesses longos e difíceis anos de graduação.
  5. 5. ii AGRADECIMENTOS Agradeço primeiramente a Deus, que está presente em todos os momentos da minha vida. A Graça, Ademar, Priscila e Poliana; pela paciência, compreensão e carinho. A Cícero Cavati, pela orientação. A todas as pessoas que contribuíram para que esse trabalho fosse realizado.
  6. 6. iii LISTA DE FIGURAS Figura 1 - Luz natural x luz artificial.............................................................................8 Figura 2 - Programação e atuação..............................................................................9 Figura 3 - LDR...........................................................................................................12 Figura 4 - Relé de 10 A e 12 V..................................................................................13 Figura 5 - Diagrama geral do sistema que contempla a construção de um protótipo.14 Figura 6 - Circuito simplificado com principais funções.............................................15 Figura 7 - Imagem do protótipo construído................................................................16 Figura 8 - Curva característica do LDR .....................................................................18 Figura 9 - Experimento para medir a curva do LDR..................................................19 Figura 10 - Circuito para o Acondicionamento de Sinal. ...........................................20 Figura 11 - LM 324....................................................................................................21 Figura 12 - LDR aberto e nível de tensão zero na saída...........................................22 Figura 13 - Incidência média de luminosidade e saída 2 V. ......................................23 Figura 14 - Incidência máxima de iluminação e LDR praticamente como curto........24 Figura 15 - Diagrama dos pinos do PIC16F877A......................................................28 Figura 16 - Teclado e display. ...................................................................................32 Figura 17 - Conector DB25 fêmea para comunicação com display e teclado. ..........32 Figura 18 - Cabo de conexão do teclado / display com PIC......................................33 Figura 19 - Funcionamento interno do teclado..........................................................34 Figura 20 - Testes no protoboard..............................................................................36
  7. 7. iv SUMÁRIO DETICATORIA..................................................................................................I AGRADECIMENTOS.......................................................................................II LISTA DE FIGURAS.......................................................................................III SUMÁRIO.......................................................................................................IV RESUMO........................................................................................................IV CAPITULO 1 - INTRODUÇÃO........................................................................5 1.1 OBJETIVO.................................................................................................5 1.2 CONSIDERAÇÕES GERAIS EM ILUMINAÇÃO.......................................5 1.3 DISPOSITIVOS ELÉTRICOS..................................................................10 CAPITULO 2 – METODOLOGIA...................................................................13 2.1 DESCRIÇÃO GERAL...........................................................13 2.2 SINAL...................................................................................16 2.3 ACONDICIONAMENTO DE SINAL......................................19 2.4 ATUADOR E CARGA..............................................................................23 2.5 ALIMENTAÇÃO.......................................................................................24 2.6 MICROCONTROLADOR PÍC..................................................................24 2.7 INTERFACE – TECLADO E DISPLAY....................................................30 CAPITULO 3 – TESTES................................................................................35 CAPITULO 4 – CONCLUSÃO E TRABALHOS FUTUROS..........................37 4.1 CONCLUSÕES........................................................................................37 4.2 TRABALHOS FUTUROS.........................................................................38 ANEXO A.......................................................................................................39 ANEXO B.......................................................................................................45 REFERENCIA BIBLIOGRAFICAS.................................................................48
  8. 8. v RESUMO Este trabalho apresenta o desenvolvimento de um dispositivo eletrônico para realizar o controle automático de circuitos de iluminação. O desenvolvimento deste dispositivo abrange tanto hardware como software básico. O hardware compreende os módulos de aquisição e acondicionamento de sinal, supervisão, controle e atuação. Já o software compreende a monitoração, supervisão e o controle. A solução adotada usa microcontrolador da família PIC, o qual receberá tanto o sinal referente ao nível de iluminação do ambiente quanto a configuração via interface de entrada para interpretar, atuar e, conseqüentemente, iluminar o ambiente adequadamente. Para tanto, foi construída uma placa de circuito impresso para desempenhar a função de controle, utilizando-se principalmente os componentes fotoresistor do tipo LDR, microcontrolador PIC 16F877A e relé.
  9. 9. 6 Capitulo 1 – Introdução Neste Capítulo são apresentados os objetivos do trabalho bem como algumas considerações gerais sobre iluminação e sobre os dispositivos eletrônicos a serem utilizados no projeto. 1.1 Objetivo Desenvolver e implementar um estudo de um hardware para fins de controle automático de iluminação microprocessado, utilizando microcontrolador da família PIC e dispositivo fotoresistor do tipo LDR para acionamento dos dispositivos de iluminação, especialmente em iluminação pública ou externa, conforme o nível de iluminação natural do ambiente, tendo também o seu controle temporizado de acordo com os horários pré- estabelecidos. 1.2 Considerações Gerais em Iluminação A Iluminação Pública (IP) no Brasil corresponde a aproximadamente 7% da demanda nacional e a 3,5% do consumo total de energia elétrica. Estima- se que as redes de IP possuam cerca de 14,5 milhões de pontos e totalizem uma potência instalada da ordem de 2.471 MW, equivalente a um consumo anual de 10.674 Gwh/ano, segundo dados do último balanço energético da ELETROBRAS / PROCEL. Existe, portanto, uma necessidade de controle mais eficiente deste setor. Uma das necessidades situa-se na monitoração de sinais de luminosidade juntamente com os horários desejáveis de iluminação em circuitos de iluminação externa ou interna.
  10. 10. 7 Atualmente, quando se deseja controlar o período de permanência com luzes acessas ou apagadas, utilizam-se as Células Fotoelétricas convencionais. Este tipo de sensor apresenta problemas com facilidade, ocasionando inconvenientes como lâmpadas apagadas ou acesas o tempo todo e custos com trocas e manutenção. Assim, é desejável se ter um dispositivo com maior confiabilidade sem que o custo seja comprometido. Neste trabalho, apresenta-se a proposta de trocá-los por Sensores Ópticos, junto a um sistema microcontrolado, tendo dessa forma um sistema mais flexível, confiável e econômico. O sensor óptico apresenta um custo ligeiramente maior do que as células fotoelétricas, porém com algumas vantagens. Entre os destaques deste tipo de detecção estão: • Não requer contato físico; • Sensível a todos os tipos de materiais; • Vida útil elevada; • Boa distância sensora; • Excelente repetibilidade e tempo de resposta; Com o uso do Sensor Óptico, ter-se-á um dispositivo comandado por um fotoresistor LDR sensível a luz. Este dispositivo terá a finalidade de acionar um contato todas as vezes que houver uma variação na iluminação natural superior aquela para a qual foi calibrado. Os LDRs, são extremamente simples, compactos e confiáveis. A importância do controle microprocessado pode ser vista em aplicações bastante eficientes e econômicas, tanto em ambientes internos quanto externos.
  11. 11. 8 Em ambientes internos, por exemplo, os sensores podem ser programados para controlar o fluxo luminoso a ser gerado pela iluminação artificial. Durante várias horas do dia as luminárias próximas às janelas poderão estar desligadas, por exemplo. Porém, as luminárias localizadas no centro do ambiente emitirão apenas parte do seu fluxo luminoso total. Durante a noite, todas as luminárias emitirão seu fluxo luminoso total. A figura 1 mostra um ambiente em que próximo à janela durante o dia, tem-se uma iluminação natural intensa, não necessitando de iluminação artificial. Como a iluminação natural diminui conforme se afasta da janela, faz-se necessário uma iluminação artificial adequada. Figura 1 - Luz natural x luz artificial Como pode ser notado, quanto mais a luz natural está presente, menor o nível de iluminação necessária no ponto de iluminação. Com o controle microprocessado aliado às células fotoelétricas, conseguem-se reduções de até 60% no consumo de energia elétrica em iluminação em ambientes internos. São equipamentos de custo inicial elevado, mas que se justificam plenamente em grandes edificações, devido principalmente à redução no consumo de energia ao longo de sua vida útil. Em ambientes externos, os sensores podem ser programados para seguir tanto a iluminação natural quanto um tempo pré-estabelecido. Como
  12. 12. 9 exemplo pode-se ver um ponto de luz sendo controlado como mostra a figura 2. Figura 2 - Programação e atuação Note-se que, na Figura 2 tem-se a seguinte programação para o controle de iluminação: • Num dia típico, o ponto de iluminação será ligado, por exemplo, às 18 h (quando anoitece, Ponto A), permanecendo em operação até às 23:30 h, quando será desligado (Ponto B). • Aproximadamente às 05:00 h da madrugada (quando se iniciam as atividades diurnas), a iluminação é novamente ligada (Ponto C). • Finalmente, ao amanhecer, (Ponto D), tem-se o desligamento definitivo da lâmpada. • Assim, o ponto de iluminação ficará em funcionamento, em cada noite, por 6:30 h ao invés das 12 horas convencionais. Num ambiente industrial, por exemplo, pode-se fazer um controle mais eficaz da iluminação com o uso dos sensores microcontrolados. Em determinadas horas do dia algumas áreas não necessitam de iluminação total, podendo-se desta forma iluminá-las parcialmente e assim diminuir a potência consumida com a iluminação.
  13. 13. 10 Assim é desejável que se disponha de outras formas, que não seja o uso de fotocélulas convencionais para se alcançar melhores benefícios, tanto econômicos e segurança como de confiabilidade. [CAVATI, 2004]. Este projeto vai ao encontro desta busca de solução para enfrentar este desafio. O Programa PROCEL, o programa do governo federal, vinculado ao Ministério de Minas e Energia, tem como objetivo promover o combate ao desperdício de energia elétrica no País. Foi fundado em 1986 e desde então tem trabalhado na redução da demanda nas horas de pontas e na economia de energia elétrica. Tem como objetivos promover o desenvolvimento de sistemas eficientes de iluminação pública, bem como a valorização dos espaços públicos urbanos, contribuindo para melhorar as condições de segurança e de qualidade da iluminação das cidades brasileiras. Vê-se que o setor de iluminação pode colaborar bastante com esse Programa, visto ser um grande consumidor de energia elétrica nas instalações de iluminação residencial, comercial, industrial e pública, além do principal responsável pela grande demanda no período de ponta do sistema elétrico nas primeiras horas da noite. O uso de Fotocélulas conjuntamente com microcontrolador trará várias vantagens, tais como: • Eficiência energética; • Segurança; • Economia de fatura; • Controle.
  14. 14. 11 Os fatos descritos anteriormente sustentam a motivação deste projeto, qual seja disponibilizar uma solução desejável para que se tenha um melhor custo / benefício dos circuitos de Iluminação pública, por exemplo. 1.3 Dispositivos Eletrônicos Neste projeto serão utilizados os seguintes componentes eletrônicos: Sensores Ópticos, microprocessador PIC, chip LM 324, relé, oscilador, resistores, capacitores e transistor, pelos quais apresenta-se nesta seção uma pequena abordagem com alguns aspectos de sua aplicação para o desenvolvimento deste trabalho. 1.3.1 Sensor Ótico – Este tipo de sensor consiste em detectar objetos metálicos e não metálicos que refletem ou interrompam o feixe de luz gerado pelo sensor. Entretanto, este sensor apresenta um custo relativamente maior do que as células fotoelétricas, porém com algumas vantagens. Com o uso do sensor óptico, ter-se-á um dispositivo comandado por um fotoresistor LDR sensível à luz. Este dispositivo terá a finalidade de enviar um sinal analógico todas as vezes que houver uma variação na iluminação natural superior aquela para a qual foi calibrado. 1.3.2 Fotoresistor (LDR) – O Fotoresistor ou LDR (Light Dependent Resistor) é um dispositivo semicondutor de dois terminais, cuja resistência varia quase linearmente com a intensidade de luz incidente.
  15. 15. 12 Figura 3 - LDR 1.3.3 Microcontrolador PIC - Graças à funcionalidade do microcontrolador, este será usado para o processamento das informações que serão adquiridas pelos demais componentes do sistema. Será utilizado um microcontrolador do tipo PIC da família 16F877A, devido ao seu baixo custo, baixo consumo, facilidade de manuseio e flexibilidade que apresenta. Isso faz com que o PIC se possa utilizar em áreas em que os microcontroladores não eram anteriormente empregados. 1.3.4 Relé – Será utilizado um relé que suporte 10 Ampéres, que é a corrente necessária para alimentar um conjunto de lâmpadas / luminárias de aproximadamente 1.000 Watts em tensão de 127 V ou 2.200 Watts em tensão de 220 V.
  16. 16. 13 Figura 4 - Relé de 10 A e 12 V 1.3.5 Demais componentes e equipamentos – Outros dispositivos serão utilizados no projeto, como resistores, capacitores, oscilador, transistor, fontes de alimentação e chip LM 324.
  17. 17. 14 Capítulo 2 – Metodologia Neste Capítulo será apresentada uma visão a respeito da metodologia que será adotada neste projeto. 2.1 Descrição Geral O projeto será construído com base em um microcontrolador da linha PIC. A estrutura do dispositivo pode ser vista em módulos como mostrado na Figura 5 [CAVATI, 2004]. Figura 5 - Diagrama geral do sistema que contempla a construção de um protótipo. Como pode ser notado no diagrama de blocos da Figura 5, basicamente o dispositivo terá sete módulos, sendo um para realizar a aquisição de seu sinal de entrada, outro para realizar o acondicionamento deste sinal, outro ainda para processar o sinal, outro para realizar a interface com o usuário, um outro para atuar sobre a carga e outro para alimentação do sistema. A Figura 6 mostra um diagrama simplificado do circuito do protótipo:
  18. 18. 15 Figura 6 - Circuito simplificado com principais funções. Pode-se notar na Figura 6 que o circuito é simples e objetivo. A tensão de alimentação é feita em 12 V e um regulador de tensão é utilizado para disponibilizar ao circuito de acondicionamento de sinais e controle um nível de tensão de 5 V. Por outro lado, o circuito de atuação do relé para que a carga seja ligada ou desligada tem o nível de tensão diretamente em 12 V. Na Figura 7 tem-se a imagem do protótipo já construído:
  19. 19. 16 Figura 7 - Imagem do protótipo construído. Como pode ser observado na imagem do protótipo da placa de circuito impresso em fenolite, foram utilizados conectores para entrada de alimentação de tensão em 12 V e conector DB25 fêmea para realizar configurações. Um LED é utilizado para indicar a atuação do relé. A placa foi desenhada de modo a permitir uma disposição mais próxima dos componentes interligados. Nas seções seguintes será descrito cada um dos módulos separadamente.
  20. 20. 17 2.2 Sinal 2.2.1 LDR O Fotoresistor ou LDR (Light Dependent Resistor) é um dispositivo semicondutor de dois terminais, cuja resistência varia quase linearmente com a intensidade de luz incidente. 2.2.2 Curva característica do LDR Sua curva característica é dada pela Figura 8. Note-se que esta curva apresenta a variação da resistência inversamente proporcional a variações do nível de iluminação, ou seja:
  21. 21. 18 Figura 8 - Curva característica do LDR Para o levantamento desta curva, o LDR foi exposto a diferentes níveis de iluminação e com a ajuda de um multímetro e um luxímetro pode-se medir sua resistência em função da iluminação, conforme Figura 9 e tabela 2.1.
  22. 22. 19 Figura 9 - Experimento para medir a curva do LDR. Para ilustrar as medidas correlacionadas, têm-se alguns valores notáveis na tabela 2.1: Tabela 2.1 – Valores Notáveis Resistência (Ω) Iluminação (lux) R1=5.200 L1= 20 R2= 4.000 L2= 100 R3= 2.200 L3= 160 R4= 1.400 L4= 500 R5= 700 L5= 1.300
  23. 23. 20 Com o experimento descrito anteriormente, constatou-se que: quanto maior a intensidade luminosa, menor é a resistência do LDR. 2.3 Acondicionamento do Sinal O acondicionamento de sinal é necessário para que o módulo microcontrolado possa fazer o tratamento do sinal. O acondicionamento de sinal será feito pelo circuito mostrado na figura 10: Figura 10 - Circuito para o Acondicionamento de Sinal. Como pode ser observado no circuito acondicionador da Figura 10, o sistema utiliza o chip LM324, o qual contém internamente quatro comparadores integrados no mesmo chip. Foi feita uma realimentação no LM324 para termos um buffer. A saída do comparador terá um nível de tensão variando de 0 V (escuridão total) até 4 V (máximo nível de iluminação). A Figura 11 mostra o chip LM 324:
  24. 24. 21 Figura 11 - LM 324 O circuito foi montado em um protoboard com o propósito de se obter o sinal proveniente da saída do chip. Esse sinal será a entrada para o microcontrolador, que o interpretará para tomar a devida decisão a respeito da iluminação do ambiente. O microcontrolador será discutido mais detalhadamente no item 2.5. Com o auxílio de um osciloscópio, verificou-se que a variação da tensão na saída do chip variava conforme a luz incidente no LDR, descrevendo as seguintes curvas nas Figuras 12, 13 e 14. Na Figura 12, para uma escuridão total, temos a saída do circuito com 0 V, pois o LDR está praticamente como um circuito em aberto.
  25. 25. 22 Figura 12 - LDR aberto e nível de tensão zero na saída. Para uma iluminação média, temos a saída com aproximadamente 2 V, como mostra a Figura 13:
  26. 26. 23 Figura 13 - Incidência média de luminosidade e saída 2 V. Para uma iluminação total, o LDR funciona praticamente como um curto circuito e temos na saída do chip uma tensão máxima de 4 V. A Figura 14 mostra esta situação.
  27. 27. 24 Figura 14 - Incidência máxima de iluminação e LDR praticamente como curto. 2.4 Atuador e carga É utilizado um relé de 10A de carga e 12 V de alimentação para acionar um conjunto de lâmpadas / luminárias necessário para iluminar o ambiente desejado. Como a corrente de saída do PIC não é suficiente para comutar o relé, este foi colocado no coletor de um transistor BD 139, cuja base é ligada a um resistor de 5k6 Ω e recebe o sinal de saída do PIC de tensão 5V e corrente de aproximadamente 20 mA, a qual amplificada aciona o relé.
  28. 28. 25 2.5 Alimentação O circuito acondicionador e o PIC são alimentados por uma tensão de 5 V e o relé por uma tensão de 12 V. Para utilizar apenas uma tensão de entrada, optou-se por alimentar o circuito com 12 V e utilizar um regulador de tensão que fixe a tensão de entrada no PIC e no circuito acondicionador em 5 V, ao passo que o relé é alimentado diretamente com sua tensão nominal de 12 V. 2.6 Microcontrolador PIC É no microcontrolador que serão processados os dados inseridos através da interface e / ou os sinais obtidos através do sensor óptico. Será utilizado um microcontrolador PIC da família 16F877. Para o bom funcionamento do sistema, é vital o perfeito funcionamento do PIC. Para isto, deve-se carregá-lo com um programa específico, que nos forneça as opções desejadas para o projeto e assim apresente a flexibilidade esperada. O PIC é um circuito integrado produzido pela Microchip Technology Inc, que pertence à categoria dos microcontroladores, ou seja, um componente que contém todos os recursos necessários para realizar um completo sistema digital programável, dentro de um único encapsulamento [MICROCHIP, 2001]. O PIC pode ser visto externamente como um circuito TTL ou CMOS, mas internamente dispõe de todos os dispositivos típicos de um sistema microprocessado, como [PEREIRA, 2003]:
  29. 29. 26 a) CPU; b) Memória EEPROM; c) Memória RAM; d) Linhas de I/O; e) Sofisticados periféricos, como PWM, A/D e D/A, USART; f) Dispositivos auxiliares ao funcionamento, como gerador de clock, contadores, timers, acessíveis por meio de registradores. A presença de todos estes dispositivos em um espaço extremamente pequeno, oferece ao desenvolvedor menos trabalho na montagem de um sistema básico, bem como redução de custos de componentes que seriam necessários caso fosse um microprocessador. Os PIC´s utilizam a arquitetura RISC, apresentando assim cerca de 35 instruções (variado de acordo com o microcontrolador). Permite também a estrutura pipelining onde, enquanto uma instrução está sendo processada, outra está sendo carregada pela via de memória de programa [SOUZA, 2000]. Os microcontroladores PIC apresentam uma estrutura de máquina do tipo Harvard, em que o barramento de dados é de 8 bits e o barramento de instruções pode ser de 12, 14 ou 16 bits [SOUZA, 2000]. 2.6.1 O PIC 16F877A Para um melhor entendimento dos recursos do PIC, adota-se como base um modelo extremamente poderoso que agrupa, de uma só vez, o maior número possível de recursos disponíveis [SOUZA, 2000]. Alguns motivos levaram à escolha pelo modelo 16F877A, entre eles estão:
  30. 30. 27 • Microcontrolador de 40 pinos, o que possibilita a montagem de um hardware complexo e capaz de interagir com diversos recursos e funções ao mesmo tempo; • Via de programação com 14 bits e 35 instruções; • 33 portas configuráveis como entrada ou saída; • 15 interrupções disponíveis; • Memória de programação E2 PROM FLASH, que permite a gravação rápida do programa diversas vezes no mesmo chip, sem a necessidade de apagá-lo por meio de luz ultravioleta, como acontece nos microcontroladores janela; • Memória de programa com 8 kwords, com capacidade de escrita e leitura pelo próprio código interno; • Memória E2 PROM (não-volátil) interna com 256 bytes; • Memória RAM com 368 bytes; • Três timers (2x8 bits e 1x16 bits); • Comunicações seriais: SPI, I2 C e USART; • Conversores analógicos de 10 bits (8x) e comparadores analógicos (2x); • Dois módulos CCP: Capture, Compare e PWM; • Programação in-circuit (alta e baixa tensão); • Power-on Reset (POR) interno;e • Brown-out Reset (BOR) interno. A grande vantagem da família PIC é que todos os modelos possuem um set de instruções bem parecido, assim como, mantêm muitas semelhanças entre suas características básicas. Desta maneira, ao conhecer e estudar o PIC 16F877A, há uma familiarização com todos os microcontroladores da Microchip, o que torna a migração para outros modelos muito mais simples [SOUZA, 2000].
  31. 31. 28 A Figura 15 ilustra o diagrama de pinos do PIC16F877A, com suas respectivas funções [Microchip, 2001]. Figura 15 - Diagrama dos pinos do PIC16F877A. 2.6.2 Linguagem C para PIC Segundo (Gardner, 1998), o uso da linguagem C no desenvolvimento de aplicações para microcontrolador é possível graças a grande área de memória de programa e RAM e a alta velocidade de processamento. O compilador C utilizado é o modelo PCM da CCS (CUSTOM Computer Service). É um compilador para microcontroladores PIC com barramento de programa de 14 bits. De acordo com (CUSTOM, 2001), o compilador apresenta algumas limitações quando comparado com os tradicionais compiladores C. As limitações de hardware tornam inúteis os compiladores C tradicionais. Uma limitação do compilador é não permitir ponteiros para arrays constantes, pois
  32. 32. 29 há dúvidas na separação do segmento CODE/DATA dentro do hardware do PIC e incapacidade para trabalhar com os dados na área da ROM. O compilador PCM apresenta comandos específicos para inicialização e configuração de contadores, temporizadores, leitura e escrita dos pinos de entrada e saída, configuração dos módulos A/D, PWM, I2C, leitura e escrita da memória EEPROM e funções para leitura e conversão do valor analógico, comunicação com LCD, comunicação via R8232, além dos comandos e funções do C padrão ANSI. O compilador C dispensa que o programador necessite conhecimentos detalhados da estrutura interna do microcontrolador, liberando a preocupação no controle da pilha ou mudança de banco de memória e abstraindo os modos de endereçamento. Com esta configuração, têm-se, as seguintes funções dos pinos de cada porta: • Pino 1: ---; • Pino 2: Entrada do sinal analógico do circuito de acondicionamento; • Pino 3: ---; • Pino 4: ---; • Pino 5: ---; • Pino 6: ---; • Pino 7: ---; • Pino 8: Saída para display (RS); • Pino 9: Saída para display (RW); • Pino 10: Saída para display (E); • Pino 11: Alimentação: +5V; • Pino 12: Alimentação: 0V; • Pino 13: Oscilador (OSC1); • Pino 14: Oscilador (OSC2); • Pino 15: Saída para teclado (coluna 1);
  33. 33. 30 • Pino 16: Saída para teclado (coluna 2); • Pino 17: Saída para teclado (coluna 3); • Pino 18: Entrada proveniente do teclado (linha A); • Pino 19: Saída para display (D4); • Pino 20: Saída para display (D5); • Pino 21: Saída para display (D6); • Pino 22: Saída para display (D7); • Pino 23: Entrada proveniente do teclado (linha B); • Pino 24: Entrada proveniente do teclado (linha C); • Pino 25: Entrada proveniente do teclado (linha D); • Pino 26: ---; • Pino 27: ---; • Pino 28: ---; • Pino 29: ---; • Pino 30: ---; • Pino 31: Alimentação: 0V; • Pino 32: Alimentação: +5V; • Pino 33: Acionamento do relé; • Pino 34: Saída para sinalização de LED; • Pino 35: ---; • Pino 36: ---; • Pino 37: ---; • Pino 38: ---; • Pino 39: ---; • Pino 40: ---. Esse PIC é um microcontrolador de alto desempenho, tecnologia CMOS e arquitetura RISC. Possui memória flash de programa de 8K x 14 words, 368 bytes de RAM, 256 bytes de EEPROM, velocidade de até 20MHz e 8(oito)
  34. 34. 31 canais de conversão analógica-digital. Sua programação pode ser feita em “Linguagem C” utilizando um compilador produzido para essa família de microcontroladores pela CCS. Foi utilizado um oscilador de 10MHz, visto que é suficiente para o funcionamento correto do relé. O oscilador é ligado nos pinos OSC1 e OSC2 do PIC. Em cada um desses pinos é ligado um capacitor de 15pF a terra, conforme o fabricante recomenda. 2.7 Interface – Teclado e Display A interface do dispositivo é feita através de um teclado e um display. Através do teclado entra-se com os dados precisos para o funcionamento do dispositivo: • Pode-se optar pelo funcionamento através da iluminação natural do ambiente, de acordo com a detecção do LDR. • Pode-se optar pelo funcionamento temporizado, bastando desta forma entrar com os tempos selecionados. • Pode-se ter também tanto o funcionamento temporizado quanto o funcionamento pelo LDR de forma simultânea. A interface com o usuário é feita também através do teclado (3 colunas e 4 linhas), no momento da parametrização, e do display (16 colunas e 2 linhas), tanto na parametrização quanto no funcionamento em regime para leitura do sinal de saída do circuito acondicionador. A figura 16 ilustra a interface eletrônica.
  35. 35. 32 Figura 16 - Teclado e display. Pode-se observar a existência dos resistores de PULL UP, que servem para limitação e proteção das portas configuradas como entradas do PIC. Para comunicação com o display e o teclado foi disponibilizado no dispositivo de controle de iluminação o conector DB25 (fêmea), conforme mostra figura 17: Figura 17 - Conector DB25 fêmea para comunicação com display e teclado.
  36. 36. 33 Para conexão do teclado e do display, também foi utilizado um cabo conforme mostra a figura 18. Figura 18 - Cabo de conexão do teclado / display com PIC. 2.7.1 Funcionamento do Teclado O teclado utilizado contém 15 botões (teclado telefônico), porém são utilizados apenas 12. Os botões de 0 à 9, o ENTRA e o ANULA. O teclado é ligado em 7(sete) portas do PIC, de RC0 à RC6. As portas RC0, RC1 e RC2 correspondem às colunas do teclado, as demais correspondem às linhas. As portas que correspondem às linhas são ligadas a resistores de 10KΩ, que por sua vez são ligados em nível lógico alto (PULL-UP). A figura 19 apresenta a ligação interna do teclado e dos resistores.
  37. 37. 34 Figura 19 - Funcionamento interno do teclado. No programa desenvolvido, mostrado no ANEXO A, existe uma função chamada “LE_TECLA”, que é chamada sempre quando for necessária a utilização do mesmo. A função inicialmente zera a porta RC0 e coloca em nível alto as portas RC1 e RC2. O PIC, então, testa qual das portas: RC3, RC4, RC5 e RC6 têm o valor zero. Se por exemplo, a porta RC3 estiver em zero, significa que o botão 1 foi pressionado, logo, a função retorna o valor 1. O mesmo acontece com as portas RC4, RC5 e RC6 que retornam 4, 7 e ANULA respectivamente. Após delay de 100ms, caso as teclas 1, 4, 7 ou ANULA não tenha sido pressionadas, a função zera a porta RC1, coloca em nível alto as portas RC0 e RC2 e testa as demais portas. Nesse caso se a porta RC3 estiver em nível baixo a função retorna o valor 2. A função se repete até que alguma tecla seja pressionada. 2.7.2 Rotina Do Display LCD Os módulos LCD são interfaces de saída muito úteis em sistemas microprocessados. Estes módulos podem ser gráficos e a caracter. Os módulos LCD gráficos são encontrados com resoluções de 122x32, 128x64,
  38. 38. 35 240x64 e 240x128 pixel, e geralmente estão disponíveis com 20 pinos para conexão. Os LCD comuns (tipo caracter) são especificados em número de linhas por colunas. Neste projeto, foi utilizado LCD do tipo caracter de 2 linhas e 16 colunas (16x2). Conforme mostrado no ANEXO B, existe uma função que faz a comunicação com o LCD. Esta função utiliza as portas RE0, RE1, RE2 e RD0 a RD3 do PIC para comunicar com as entradas RS, RW, E e D4 a D7 do módulo LCD, respectivamente. No ANEXO A, o programa do LCD é incluído ao programa principal através do comando: #include "LCD_PLACA_PG.c”.
  39. 39. 36 Capitulo 3 – Testes Foram realizados alguns testes no protoboard e depois na placa montada. A figura 20 mostra os primeiros testes no circuito acondicionador ainda no protoboard. Figura 20 - Testes no protoboard. Foi montado também o circuito de atuação, onde foram feitos testes com o relé e o transistor BD 139. Para que o relé fosse acionado foi posto entre a saída do PIC e a base do transistor um resistor de 5k6 Ω para simular a mínima corrente de saída do PIC, de aproximadamente 20 mA. Com o relé ligado no coletor do transistor e alimentado por 12 V, foram obtidos resultados satisfatórios. Depois de montada, toda a placa passou por testes para se obter tensões nos pontos mais críticos. Todos os pontos passaram por testes de continuidade para verificar se as trilhas não estavam em aberto. Os pinos do PIC usados para o acionamento e para a sinalização do LED foram testados assim como a entrada de sinal.
  40. 40. 37 Pode-se concluir que o protótipo está apto a receber o programa para o seu funcionamento.
  41. 41. 38 Capítulo 4 – Conclusão e trabalhos futuros 4.1 Conclusões Apresentou-se um hardware na forma de um dispositivo de controle de iluminação. O protótipo construído, embora simples, apresenta-se como um novo dispositivo que pode evoluir para um real controle de sistemas de iluminação e conseqüentemente vir a ser utilizado em substituição das atuais células fotoelétricas convencionais utilizadas em circuitos de iluminação. Os testes efetuados no protótipo foram satisfatórios, uma vez que os pontos onde se desejavam fazer as medições, como por exemplo, o acionamento do relé e o processamento do sinal pelo PIC apresentaram os valores esperados. Uma das vantagens deste dispositivo proposto neste trabalho é que o usuário pode configurar a programação desejada, seguindo o seu próprio interesse. Assim, este dispositivo pode ser caracterizado como flexível, se ajustando a diferentes propósitos de controle de iluminação, o que o difere de outros protótipos pesquisados, os quais não apresentam a mesma flexibilidade, ou seja, não podem ter programas inseridos conforme o desejo do usuário. O sensor microcontrolado apresenta um bom custo / benefício, levando-se em conta a economia que ele proporciona. Comparando-se os custos do sensor microcontrolado e de uma fotocélula convencional e a economia de iluminação do sensor em relação às fotocélulas, conclui-se que num período de médio prazo tenha-se o retorno do investimento da substituição das fotocélulas pelos novos sensores.
  42. 42. 39 4.2 Trabalhos futuros Para que o controle de iluminação seja completo, seria interessante dispor de controle quanto ao nível de iluminação desejável para o ambiente, ou seja, que o controle pudesse ser feito também na tensão de alimentação do circuito de iluminação, diminuindo a tensão para que o nível de iluminação também diminuísse e aumentando a tensão caso contrário. Assim, uma extensão deste trabalho seria o desenvolvimento de um controle de nível de tensão e luminosidade do circuito de alimentação de lâmpadas conforme intervalos de tempo associados e de interesse. Desta forma, poder-se-ia construir um circuito eletrônico que atuasse na diminuição ou no aumento da tensão e, conseqüentemente, na diminuição ou aumento no nível de iluminação, de forma que o seu consumo fosse também proporcional a sua tensão de alimentação. Assim, pode-se usar um circuito que não venha dissipar o restante de sua potência, por exemplo, em cima de um resistor variável. Para tanto, sugere-se utilizar tiristores para realizar cortes na forma de onda da tensão conforme necessidade de maior ou menor nível de iluminação [CAVATI, 2004].
  43. 43. 40 ANEXO A //////////////////////////INÍCIO/////////////////////////// // DEFINE I/O´S, CANAL ANALÓGICOS, CLOCK // #include<16F877A.h> #device adc=10 #include<stdio.h> #use delay(clock=10000000) #fuses XT,NOWDT,PUT,NOPROTECT,BROWNOUT,NOLVP #include "LCD_PLACA_PG.c" #byte cmcon = 0x1F #byte porta = 0x05 #byte trisa = 0x85 #byte portb = 0x06 #byte trisb = 0x86 #byte portc = 0x07 #byte trisc = 0x87 #bit HAB = portb.0 // O - Frontal - LED + Relé "HAB" #bit LTP = portb.1 // O - Frontal - Acionamento" #bit RC0 = portc.0 // O - Teclado " coluna 1" #bit RC1 = portc.1 // O - Teclado " coluna 2" #bit RC2 = portc.2 // O - Teclado " coluna 3" #bit RC3 = portc.3 // O - Teclado " linha A" #bit RC4 = portc.4 // O - Teclado " linha B" #bit RC5 = portc.5 // O - Teclado " linha C" #bit RC6 = portc.6 // O - Teclado " linha D" setup_adc(ADC_CLOCK_INTERNAL); setup_adc_ports (RA0_ANALOG); // Define apenas RA0 como analógica /////////////////////////////// INT_TIMER0 //////////////////////////// int32 tempo = 0; int16 Periodo = 0; int16 Tempo_parado = 0; int32 tempo_i = 0;
  44. 44. 41 /////////////////////////// VARIÁVEIS GLOBAIS /////////////////////////// float In = 0; int16 Ip, Fs; int Tp, Tb; float Ia = 0; float Ib = 0; float Ic = 0; int16 Is = 0; int1 pos_partida = 0; float Vcii = 0; float Vci = 0; /////////////////////////////// LE_TECLA ///////////////////////////////// int LE_TECLA() { trisc = 0b01111000; delay_ms(100); for(;;) { RC0 = 0; RC2 = RC1 = 1; delay_ms(40); if(!RC3) {return 1; break;} if(!RC4) {return 4; break;} if(!RC5) {return 7; break;} if(!RC6) {return 10; break;} RC1 = 0; RC2 = RC0 = 1; delay_ms(40); if(!RC3) {return 2; break;} if(!RC4) {return 5; break;} if(!RC5) {return 8; break;} if(!RC6) {return 0; break;} RC2 = 0; RC0 = RC1 = 1; delay_ms(40); if(!RC3) {return 3; break;} if(!RC4) {return 6; break;} if(!RC5) {return 9; break;} if(!RC6) {return 11; break;}
  45. 45. 42 } } /////////////////////////////// LE_VALOR ///////////////////////////////// int16 LE_VALOR() { inicio: { int tecla = 0; int i = 0; int16 valor = 0; lcd_gotoxy(2,1); printf(lcd_putc," "); lcd_gotoxy(2,7); printf(lcd_putc,"%5u",tecla); lcd_gotoxy(2,11); printf(lcd_putc,".%1u",tecla); do { tecla = LE_TECLA(); delay_ms(100); 0 } while ((tecla==10)||(tecla==11)); // Le o primeiro número // valor = tecla; indicacao: lcd_gotoxy(2,7); printf(lcd_putc,"%5lu",valor); lcd_gotoxy(2,11); printf(lcd_putc,".%1u",tecla); if (i<4) { tecla = LE_TECLA(); delay_ms(100); if (tecla==10) {goto inicio;} if (tecla!=11) { valor = valor * 10 + (int16)tecla; i++;
  46. 46. 43 goto indicacao; } } return valor; } } //////////////////////////////// EXP_PAR ///////////////////////////////// void DISP(int16 a) { lcd_gotoxy(2,7); printf(lcd_putc,"%5lu",a); lcd_gotoxy(2,11); printf(lcd_putc,".%1lu",a); delay_ms(2000); } lcd_gotoxy(1,1); printf(lcd_putc,"RELÉ "); lcd_gotoxy(2,1); printf(lcd_putc,"PARAMETRIZADO "); delay_ms(2000); } } ///////////////////////////// LE_VOLT /////////////////////////////// LE_VOLT() { int16 sinal = 0; trisa = 0b00000011; SIM = 0; set_adc_channel (0); periodo = 0; MXA = 1; MXB = 1;
  47. 47. 44 delay_us(10); sinal = read_adc(); Is = Is + sinal; /////////////////////////////// PRINCIPAL //////////////////////////////// main() { setup_adc(ADC_CLOCK_INTERNAL); setup_adc_ports(RA0_ANALOG); CAR_PAR(); EXP_PAR(); setup_timer_0(RTCC_INTERNAL); enable_interrupts(INT_TIMER0); enable_interrupts(GLOBAL); trisb = 0b10000000; PORTB = 0;
  48. 48. 45 // Indicação do identificador da tensão // lcd_gotoxy(1,1); printf(lcd_putc," V "); lcd_gotoxy(2,1); printf(lcd_putc," "); // Verifica nível de iluminacao // if ((V<2,5) { LFF = 1; // Atua Proteção // delay_us(10); HAB = 0; // Atua iluminacao // delay_us(10); } // Lê VOLTS // LE_VOLT(); lcd_gotoxy(2,1); printf(lcd_putc,"%3.1f ",Ia); lcd_gotoxy(2,7); printf(lcd_putc,"%3.1f ",Ib); lcd_gotoxy(2,13); printf(lcd_putc,"%3.1f ",Ic); // // Aguarda reset // if(HAB==0) { if ((LSC == 1)&&(Vcii>0.5)) {goto sobre;} LTP=0; do {lcd_gotoxy(2,1); printf(lcd_putc," ");} while (RES==1); HAB = 1; delay_us(10); // O - Frontal - LED + Relé "HAB" } if((Ia<0.1)&&(Ib<0.1)&&(Ic<0.1)) {goto Pronto;} // Se motor desligar // }
  49. 49. 46 ANEXO B struct lcd_pin_map { int data : 4; int nc : 4; } lcd; #byte lcd = 0x08 #byte tris_lcd = 0x88 #byte porte = 0x09 #byte trise = 0x89 #bit lcd_rs = porte.0 #bit lcd_rw = porte.1 #bit lcd_enable = porte.2 #define lcd_type 2 // 0=5x7, 1=5x10, 2=2lines #define lcd_line_two 0x40 // LCD RAM endereço para 2º linha byte CONST LCD_INIT_STRING[4] = {0X20 | (lcd_type<<2), 0xc, 1, 6}; byte CONST LCD_CURSOR_BLINK_ON = 0X0F; byte CONST LCD_CURSOR_ON = 0X0E; byte CONST LCD_CURSOR_BLINK_OFF = 0X0C; byte CONST LCD_CURSOR_RIGHT = 0X14; byte CONST LCD_CURSOR_LEFT = 0X10; byte lcd_read_byte() { byte low,high; tris_lcd = tris_lcd | 0x0F; lcd_rw = 1; delay_cycles(2); lcd_enable = 1; delay_cycles(100); high = lcd.data; lcd_enable = 0; delay_cycles(100); lcd_enable = 1; delay_us(100); low = lcd.data; lcd_enable = 0; tris_lcd = tris_lcd & 0xF0; return((high<<4) | low); }
  50. 50. 47 void lcd_send_nibble(byte n) { lcd.data = n; delay_cycles(1); lcd_enable = 1; delay_us(2); lcd_enable = 0; } void lcd_send_byte(byte address, byte n) { lcd_rs = 0; while( bit_test(lcd_read_byte(),7)); lcd_rs = address; delay_cycles(1); lcd_rw = 0; delay_cycles(1); lcd_enable = 0; lcd_send_nibble(n>>4); lcd_send_nibble(n & 0xF); } void lcd_init() { byte i; tris_lcd = tris_lcd & 0xF0; trise = 0; lcd_rs = 0; lcd_rw = 0; lcd_enable = 0; delay_ms(15); for(i=1;i<=3;++i) { lcd_send_nibble(3); delay_ms(5); } lcd_send_nibble(2); for(i=0;i<=3;i++) lcd_send_byte(0,LCD_INIT_STRING[i]); } void lcd_cursor(byte condition) { switch (condition) {
  51. 51. 48 case 0: lcd_send_byte(0,LCD_CURSOR_BLINK_OFF); break; case 1: lcd_send_byte(0,LCD_CURSOR_ON); break; case 2: lcd_send_byte(0,LCD_CURSOR_BLINK_ON); break; } } void lcd_gotoxy(byte y,byte x) { byte address; if(y!=1) address = lcd_line_two; else address = 0; address+=x-1; lcd_send_byte(0,0x80 | address); } void lcd_putc(char c) { switch (c) { case 'f' : lcd_send_byte(0,1); delay_ms(2); break; case 'n' : lcd_gotoxy(1,2); break; case 'b' : lcd_send_byte(0,0x10); break; default : lcd_send_byte(1,c); break; } }
  52. 52. 49 Referências Bibliográficas [01] MICROCHIP TECHNOLOGY INC. PIC 16F877A datasheet. Chandler: Microchip, 2001. [02] SOUZA, David José de. Conectando o PIC – Recursos Avançados. São Paulo: Érica, 3 ed., 2000. [03] PEREIRA, Fábio – Microcontroladores PIC: Programação em C. São Paulo, Érica, 2003. [04] PROCEL – Programa Nacional de Conservação de Energia Elétrica. Disponível em http://www.eletrobras.gov.br [Capturado em setembro de 2005]. [05] PRATICANDO COM SENSORES Disponível em http://www.feiradeciencias.com.br [Capturado em novembro de 2005]. [06] ILUMINAÇÃO PUBLICA NO BRASIL Disponível em http://www.eletrobras.gov.br [Capturado em novembro de 2005]. [07] FINDER - Miniature P.C.B. Relays 10 A Datasheet [08] PERKINELMER OPTOELECTRONICS - Photoconductive Cell VT900 Series Datasheet [09] ILETT, Julyan. How to Use Intelligent L.C.D.s Disponível em http://www.maxmon.com [Capturado em fevereiro de 2006].
  53. 53. 50 [10] CAVATI, C.R. Notas de aulas do professor, DEL/CT/UFES, 2004. [11] CUSTOM, Computer Service, 2001

×