Upload
hadien
View
214
Download
0
Embed Size (px)
Citation preview
Para a realização da Prova de Aptidão Tecnológica foram-nos propostos vários projectos pelo
professor Leote e entre eles estava este que eu escolhi para realizar. Mal o projecto foi aceite
fiquei logo a pensar como havia de o realizar. A primeira ideia que me surgiu foi que teria de
aplicar muitos conhecimentos que tinha aprendido até agora e que muitos deles teriam de ser
mais aprofundados como por exemplo a programação em BASIC. Desde pequeno que eu desejo
fazer algo que pudesse ser aplicado no dia a dia das pessoas, para poder melhorar o seu modo de
estar e foi esse o principal motivo que me levou a ir para a frente com este projecto.
Comecei por procurar informações sobre o trabalho, e a seleccionar o que era importante.
Com tudo o que tinha pesquisado dirigi-me ao professor e disse-lhe o que já tinha, que queria
ficar com aquele projecto e que até já tinha mais ao menos uma noção do que teria de fazer.
Depois comecei a reunir algum do material que estava disponível na Escola e de que iria
precisar. Desenhei o circuito, montei tudo numa breadboard e testei bloco a bloco. Começaram a
aparecer os problemas de programação e de hardware. Primeiro comecei por ligar o motor
passo-a-passo ao microcontrolador com o devido driver (integrado que fornece a corrente), testei
seguidamente o comando e mais tarde o comando com o motor. Depois de tudo testado e a
funcionar fui testar o detector de movimento e a iluminação.
Após todos os testes terem corrido como esperado foi só juntar o código feito para cada bloco
de teste e dar-lhe coerência.
Como estava tudo encaminhado fui fazendo a minha placa no Multisim e no Ultiboard.
Ao longo do tempo fui descobrindo problemas no hardware e no programa, tais como:
• O programa bloqueava do e logo de seguida reiniciava sozinho;
• O programa não contava as pessoas que entravam e saiam;
• Fraca regulação da iluminação interior;
• A passagem para o modo manual (comandado pelo utilizador) ter de ser feita com um
botão;
• Depois de estar no modo manual só dele saía, se o utilizador carregasse no botão para
voltar ao automático.
Todos estes problemas foram resolvidos depois de várias pesquisas e tentativas.
A placa de circuito impresso foi confeccionada após 3 tentativas, devido ao material de
produção de circuito impresso disponibilizado pela Escola não estar a funcionar correctamente.
Todo o material foi devidamente montado.
Ao ligar o circuito ele não funcionou, porque as pistas de massa eram muito estreitas e
existiam muitas interferências feitas pelo detector de movimento e capacidades parasitas
inseridas pelas pistas. Para resolver esse problema foi necessário aumentar a capacidade do
condensador de entrada.
Ficou tudo resolvido uma semana antes da primeira apresentação do projecto.
Foi nessa semana que eu me dediquei à pesquisa da resolução do problema de ter de passar de
automático para manual com um botão e ele depois deixar de detectar a saída das pessoas. A
solução consistia em fazer um pequeno circuito que se limitasse a controlar o comando e a enviar
os dados para o circuito principal, enquanto este estava a testar os outros dispositivos (detector
de entrada e saída de pessoas). Esse pequeno circuito foi elaborado mais tarde numa breadboard
e testado com êxito. Por isso foi logo construída uma placa de circuito impresso com ele, que
também foi feita com sucesso.
O trabalho ficou concluído no final do 3º período.
É possível ainda fazer mais alterações para melhorar este projecto, como por exemplo:
• Tornar o projecto sem fios (não ter de passar fios para o detector de movimento, nem para
o motor)
• Possibilitar a ligação de lâmpadas de 220 volts.
• Ser controlado por voz (possibilidade de trocar o comando por palavras)
Gostei bastante de trabalhar neste projecto, pois abrangeu uma área da qual eu gosto bastante.
Além disso aprendi muito com o projecto devido aos erros que foram acontecendo e as pesquisas
que tiveram de ser feitas para os resolver.
• Quando o detector de movimento da entrada for activado, o circuito entra logo em funcionamento. O detector de movimento é um dispositivo sensor de infravermelhos (IV) que está programado para detectar as pessoas que passam por ele. Existe um detector de movimento no lado de fora da porta que dá acesso à sala que está equipada com este circuito e outro detector de movimento do lado de dentro da sala. Portanto um dos sensores detecta a saída das pessoas e o outro a entrada.
• O circuito controla automaticamente as persianas para deixar entrar mais ou menos luz no interior (para comparar a iluminação que está no exterior com a do interior da habitação tem duas LDRs, uma dentro da sala e outra na parte de fora da casa. Com a variação da iluminação as LDRs variam a sua resistência interna e a partir dessa variação é possível comparar a luz que do exterior com a do interior.
• Quando não houver luz suficiente no exterior o circuito irá dar ordem de fechar as persianas, pois não consegue deixar entrar luz suficiente no interior
• Ao fechar as persianas o circuito dá ordem de acender as luzes do interior regulando-a até à iluminação recomendada.
• O circuito será desactivado assim que todas as pessoas que estavam na sala em questão passem pelo detector de movimento da saída.
• Também é possível controlar o circuito manualmente (a partir de um comando por IV). Para isso o utilizador terá de carregar em primeiro lugar no botão de power (ligação) que está no comando e passar o circuito de automático para manual. É possível abrir ou fechar as persianas (com as teclas P+ e P-) Autorizar mais luz ou menos luz a partir da iluminação interior (com as teclas V+ e V) Para voltar ao modo automático o utilizador terá de carregar novamente no botão de power
que se encontra no comando.
Nota: as outras teclas do comando não têm uma função programada mas se o cliente estiver
interessado em mais funções, facilmente são programadas.
Alimentação 220V/24V-12V
Controlador (PIC)
Driver de corrente (ULN)
Detector de movimento Saída
Detector de movimento Entrada
Detector de iluminação exterior
Detector de iluminação interior
Comando (controle manual)
Interruptor de fim de curso do motor
(aberto)
Interruptor de fim de curso do motor
(fechado)
Sinalização (led on e buzzer)
Lâmpadas ou LEDS
Motor das persianas
12V 24V
1- Montagem e testes
2- Finalização dos testes
3- Placa de circuito impresso
4- Montagem dos componentes
5- Conclusão da montagem
6- Placa de circuito impresso para controle manual
7- Finalização do projecto
Resistências
Tipo Numero Valor Potência Outro Carvão R1,R11,R12,R13 4k7Ω 0.25W Tolerância 5% Carvão R2 22kΩ 0.25W Tolerância 5% Carvão R3 10KΩ 0.25W Tolerância 5% Carvão R4,R5 620Ω 0.25W Tolerância 5% Carvão R6 2*10Ω 0.25W Tolerância 5% Carvão R7,R8 220kΩ 0.25W Tolerância 5% Nota: A R6 fui substituída por 2 de 10Ω
Condensadores Tipo Numero Valor Tensão max. Outro
Poliéster C1 100nF ------------------- Não polarizado Electrolítico C2 2200uF 25V Polarizado Poliéster C3,C4 22pf ------------------- Não polarizado Díodos
Tipo Numero Valor Equivalente Rectificador D1,D2,D3,D4 1N4007 Gerador de frequência
Tipo Numero Valor Equivalente Cristal X3 4MHz Integrados e regulador de tensão
Tipo Valor Quantidade Integrado ULN2004AN 1 Integrado PIC16F873A 1 Regulador de tensão LM7805 1 Outros
Nome Tipo Quantidade Suporte para integrado 28 pinos 1 Suporte para integrado 16 pinos 1 Suporte para fusível 5x20 1 Fusível 5x20 1A 1 Régua de terminais macho 2.54 para PCI 2 Botões de pressão Quadrado de 10mm 3 LDR 12mm 2 1 interruptor 20x10 1 Suportes para lâmpadas Rosca de 8.5mm 2 Lâmpadas Rosca de 8.5mm 2 Led Vermelho de 5mm 1 Led Verde de 5mm 1 Suporte para led 5mm 2 Buzzer 30.75mm 1 Detector de movimento Sharp GP2D12 2 Picaxe IR remote control upgrade pack Axe 040 1 Transformador 220 para 12-0 e 21-0 80VA 1 Motor passo a passo 55SI-25 DAYA 1 Terminal macho de 3 pinos Para PCI com o passo de 2.54 mm 1 Terminal macho de 2 pinos Para PCI com o passo de 2.54 mm 1 Terminal femia de 2 pinos Para PCI com o passo de 2.54 mm 1 Terminal femia de 3 pinos Para PCI com o passo de 2.54 mm 1 Terminal femia de 6 pinos Para PCI com o passo de 2.54 mm 1 Nota: Led1,R9,R10 e C5 vem com o kit de controle remoto
Resistências
Tipo Numero Valor Potência Outro Carvão R9 4k7Ω 0.25W Tolerância 5% Carvão R10 330Ω 0.25W Tolerância 5% Carvão R15 10KΩ 0.25W Tolerância 5% Carvão R16 22KΩ 0.25W Tolerância 5% Condensadores
Tipo Numero Valor Tensão max. Outro Poliéster C1 47nF ------------------- Não polarizado Poliéster C2 10nF Não polarizado Electrolítico C5 4.7uf 16V Polarizado Integrados e regulador de tensão
Tipo Valor Quantidade Integrado PICAXE 8M 1 Regulador de tensão 78L05 1 Outros
Nome Tipo Quantidade Suporte para integrado 16 pinos 1 Régua de terminais macho 2.54 para PCI 1 Picaxe IR remote control upgrade pack Axe 040 1 Terminal macho de 3 pinos Para PCI com o passo de 2.54 mm 1 Nota: R9,R10 e C5 vem com o kit de controle remoto
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
AA
BB
CC
DD
EE
FF
C5
4.7u
F
R10
330Ω
5%
R9
4.7kΩ
5%
J14
HD
R1X
3
U3
DIP
8
2 3 45
1
78 6
J16
HD
R1X
3R
1510
kΩ5%
R16
22kΩ
5%11 10
9
8
0
4
0
650
3
4
3
J1
HD
R1X
2
U1
LM29
31Z-
5L
IN
EV
RE
G
CO
MM
ON
VO
LT
AG
E
C1
47nF
13
0
C2
10nF
J2
HD
R1X
4
9 10 11 0
507
Dat
e:S
heet
of20
08-0
5-15
11
Per
sian
as a
uto
mát
icas
Bru
no
Car
rilh
oC
on
tro
le m
anu
al
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
AA
BB
CC
DD
EE
FF
GG
HH
II
JJ
J1
HD
R1X
2
C1
470n
F
R1
4.7kΩ
5%
J3H
DR
1X3
R2
22kΩ
5%R
310
kΩ5%
U4
ULN
2004
_DIP
16I
N1
1I
N2
2I
N3
3I
N4
4I
N5
5I
N6
6I
N7
7
CO
M9
GN
D
8
OU
T7
10
OU
T6
11
OU
T5
12
OU
T4
13
OU
T3
14
OU
T2
15
OU
T1
16
J6 HD
R1X
6
J7 HD
R1X
2
X3
HC
-49/
US
_5M
Hz
C3
22pF
C4
22pF
R4
2.7kΩ
5%
R5
2.7kΩ
5%
R6
330Ω
5%
R7
200Ω
5% R8
200Ω
5%U
1
DIP
28
2
19
3
16
4
17
5
20
1
18
7 14
8 11
9 12
10
6 13
21
22
23
24
25
26
27
28
15
J4
HD
R1X
6
C5
4.7u
F
R10
330Ω
5%
R9
4.7kΩ
5%
J2H
DR
1X3 J8
HD
R1X
3 J9H
DR
1X4
J10
HD
R1X
2
R12
4.7kΩ
5%
R13
4.7kΩ
5%
R11
4.7kΩ
5%0 36
035
034
111
330
1
1112
1112
10
32
32
31
1031
1
28
28
27
26
25242322
1 00
9100218
17
4
1312
11
0
0
0010
9
8 7 6 5
00
32
1
Dat
e:S
heet
of20
08-0
5-15
11
pro
ject
fim
co
m 2
pic
s 17
-4-0
7
Bru
no
car
rilh
oE
squ
ema
com
ple
to c
om
2 p
ics
1 1
0
D1
1N40
07
D2
1N40
07
D3
1N40
07
D4
1N40
07
04
38
0
J11
HD
R1X
6
445678
J12
HD
R1X
2
150
J13
HD
R1X
2
160
J14
HD
R1X
3
40
4
X4
FUS
E14
37
C2
4.7m
F
U2
LM78
05C
TL
IN
EV
RE
G
CO
MM
ON
VO
LT
AG
E
J15
HD
R1X
2
R14
330Ω
5%
42
39
0
U3
DIP
8
2 3 45
1
78 6
10
J16
HD
R1X
3R
1510
kΩ5%
R16
22kΩ
5%
4344
0
400
30
19 20 21
192021
0 4345
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
AA
BB
CC
DD
EE
FF
GG
HH
II
JJ
J1
HD
R1X
2
C1
470n
F
U2
LM29
40T-
5L
IN
EV
RE
G
CO
MM
ON
VO
LT
AG
E
C2
22uF
R1
4.7kΩ
5%
J3H
DR
1X3
R2
22kΩ
5%R
310
kΩ5%
X1
LED
X2
LED
U4
ULN
2004
_DIP
16I
N1
1I
N2
2I
N3
3I
N4
4I
N5
5I
N6
6I
N7
7
CO
M9
GN
D
8
OU
T7
10
OU
T6
11
OU
T5
12
OU
T4
13
OU
T3
14
OU
T2
15
OU
T1
16
J6 HD
R1X
6
J7 HD
R1X
2
X3
HC
-49/
US
_5M
Hz
C3
22pF
C4
22pF
R4
2.7kΩ
5%
R5
2.7kΩ
5%
R6
330Ω
5%
R7
200Ω
5%R8
200Ω
5%U
1
DIP
28
2
19
3
16
4
17
5
20
1
18
7 14
8 11
9 12
10
6 13
21
22
23
24
25
26
27
28
15
J5
HD
R1X
3
J4
HD
R1X
6
LED
1
LTL-
30E
HJ
C5
4.7u
F
R10
330Ω
5%
R9
4.7kΩ
5%
J2H
DR
1X3 J8
HD
R1X
3 J9H
DR
1X4
J10
HD
R1X
2
R12
4.7kΩ
5%
R13
4.7kΩ
5%
R11
4.7kΩ
5%0 36
035
034
111
33
0
1
0
1112
1112
10
32
32
31
1031
1
29
30
29
28
28
27
26
25242322
1 021 20 19
09100218
17
0
4
0
016
15
4
13
1211
00
0010
9
8 7 6 5
00
32
1
Dat
e:S
heet
of20
08-0
5-15
11
Pro
ject
o f
im d
e an
o
Bru
no
car
rilh
oP
ersi
anas
au
tom
átic
as
1 1
X4
FUS
E4
0
D1
1N40
07
D2
1N40
07
D3
1N40
07
D4
1N40
07
014
37 38
14
1 '***************************************************************************'2 '***************************************************************************'3 '***************************************************************************'4 '************************* Feito por:Bruno Carrilho ************************'5 '*************************** Turma:TEL Numero:2 ***************************'6 '********************************** Ano:12 *********************************'7 '******************************* Versão:1.20 *******************************'8 '***************************** Data:11/02/2007 *****************************'9 '****************** Nome do projecto:Persianas automática ******************'10 '** Descrição: Ao passar pelo detector de movimento o circuito começaram **'11 '** a funcionar. Ele compara a luz interior com a luz exterior podendo **'12 '** automaticamente meter mais luz interior. Se a luz exterior for muito **'13 '** baixa ele acendera as iluminação interior. Este circuito também pode **'14 '** ser controlado manualmente a partir de um comando remoto. O circuito **'15 '** será desactivado logo depois de o detector de movimento ter detectado **'16 '******************************* movimento. ********************************'17 '***************************************************************************'18 '***************************************************************************'19 '***************************************************************************'202122 symbol entrada=w0 'grava em W0 os valores do sensor de entrada'23 symbol saida=w1 'grava em W1 os valores do sensor de saida'24 symbol luzint=w2 'grava em W2 os valores da LDR interior'25 symbol luzext=w3 'grava em W3 os valores da LDR exterior'26 symbol vel=b8 'grava em b8 o valor da velocidade'27 symbol i=b9 'grava em b9 o valor da contagem i'28 symbol t=b10 'grava em b10 o valor da contagem t'29 symbol s=b11 'grava em b11 o valor da contagem s'30 symbol e=b12 'grava em b12 o valor da contagem e'31 s=0 'o s começa em 0'32 t=0 'o t começa em 0'33 e=0 'o e começa em 034 vel=20 'o valor da pause para o motor é de 20'3536 '****************************************************************************'
3738 inicio:3940 readadc10 0,entrada 'le o detector de movimento da entrada'41 if w0>150 then alarme_a 'se a w0>150 vai para alarme_a42 goto inicio 'vai para inicio'4344 '****************************************************************************'
4546 det_saida:4748 readadc10 0,entrada 'le o detector de movimento da entrada'49 readadc10 1,saida 'le o detector de movimento da saida'50 if w0>150 then conta 'se a w0>150 vai para conta'51 if w1>300 then conta2 'se a w1>300 vai para conta2' 52 return 'volta á rotina anterior'
53 54 '****************************************************************************'
5556 conta:5758 e=e+1 'adiciona 1 ao e'59 return 'volta a rotina anterior'6061 '****************************************************************************'
6263 conta2:6465 if e=0 then alarme_fim 'Se o e=0 vai para alarme_fim'66 e=e-1 'retira 1 ao e'67 return 'volta a rotina anterior'6869 '****************************************************************************'
1
7071 alarme_a:7273 sound 4,(120,20,110,20,100,20)'toca uma melodia'74 goto automatico 'vai para inicio'7576 '****************************************************************************'
7778 alarme_fim:7980 sound 4,(100,20,110,20,120,20)'toca uma melodia'81 pwmout 1,18,0 'desliga as luzes'82 low 6 'desliga o led verde'83 low 5 'desliga o led vermelho'84 pause 1000 'pausa de 1segundo85 goto inicio 'vai para inicio'8687 '****************************************************************************'
8889 automatico:9091 gosub det_saida 'vai para a subrotina det_saida'92 high 6 'liga o led verde'93 low 4 'desliga o buzzer'94 if pin4=1 then manual1 'se o interruptor de para manual=1 95 'vai para manual1'96 readadc10 2,luzint 'le a LDR do interior'97 readadc10 3,luzext 'le a LDR do exterior'98 if w3<200 then motor4 'se luz externa<200 vai para motor4'99 if w2<400 then motor3 'luz interna<400 vai para motor3'100 goto automatico 'vai para automatico'101102 '****************************************************************************'
103104 motor3:105106 gosub det_saida 'vai para a subrotina det_saida'107 if portc pin2=1 then motor4 'se o interruptor de fim de curso=1108 'vai para motor4' 109 gosub motor 'vai para a subrotina motor'110 goto automatico 'vai para automatico'111112 '****************************************************************************'
113114 motor4:115116 gosub det_saida 'vai para a subrotina det_saida'117 if portc pin3=1 then luz2 'se o interruptor de fim de curso=1 118 'vai para luz2'119 gosub motor2 'vai para a subrotina motor2'120 goto motor4 'vai para motor4'121122 '****************************************************************************'
123124 luz2:125126 gosub det_saida 'vai para a subrotina det_saida127 gosub luz3 'vai para a subrotina luz3128 goto luz2 'vai para luz3'129130 '***************************************************************************'131132 luz3:133134 gosub det_saida 'vai para a subrotina det_saida'135 if pin4=1 then manual1 'se o interruptor de manual=1 136 'vai para manual1'137 readadc10 2,luzint 'le a LDR que esta no interior'138 if w2<27 then luz4 'luz exterior<26 vai para luz4'139 if w2<53 then luz5 'luz exterior<51 vai para luz5'
2
C
140 if w2<80 then luz6 'luz exterior<77 vai para luz6'141 if w2<107 then luz7 'luz exterior<102 vai para luz7'142 if w2<133 then luz8 'luz exterior<128 vai para luz8'143 if w2<160 then luz9 'luz exterior<154 vai para luz9'144 if w2<187 then luz10 'luz exterior<179 vai para luz10'145 if w2<213 then luz11 'luz exterior<205 vai para luz11'146 if w2<240 then luz12 'luz exterior<230 vai para luz12'147 if w2<267 then luz13 'luz exterior<256 vai para luz13'148 if w2<293 then luz14 'luz exterior<282 vai para luz14'149 if w2<320 then luz15 'luz exterior<282 vai para luz15'150 if w2<347 then luz16 'luz exterior<282 vai para luz16'151 if w2<373 then luz17 'luz exterior<282 vai para luz17'152 if w2<400 then automatico1 'luz exterior<307 vai para automatico1'153 goto luz3154155 '****************************************************************************'
156157 automatico1:158159 pwmout 1,18,0160 goto automatico161162 '****************************************************************************'
163164 T1:165166 gosub det_saida 'vai para a subrotina det_saida'167 pwmout 1,18,T 'controla a luminosidade com o valor de T'168 goto luz3 'vai para luz3'169170 '****************************************************************************'
171172 luz4:173174 t=72 'mete o t a 72'175 goto T1 'vai para T1'176177 '****************************************************************************'
178179 luz5:180181 t=67 'mete o t a 68'182 goto T1 'vai para T1'183184 '****************************************************************************'
185186 luz6:187188 t=62 'mete o t a 65'189 goto T1 'vai para T1'190191 '****************************************************************************'
192193 luz7:194195 t=58 'mete o t a 61'196 goto T1 'vai para T1'197198 '****************************************************************************'
199200 luz8:201202 t=53 'mete o t a 58'203 goto T1 'vai para T1'204205 '****************************************************************************'
206
3
C
207 luz9:208209 t=48 'mete o t a 54'210 goto T1 'vai para T1'211212 '****************************************************************************'
213214 luz10:215216 t=43 'mete o t a 50'217 goto T1 'vai para T1'218219 '****************************************************************************'
220221 luz11:222223 t=38 'mete o t a 47'224 goto T1 'vai para T1'225226 '****************************************************************************'
227228 luz12:229230 t=34 'mete o t a 43'231 goto T1 'vai para T1'232233 '****************************************************************************'
234235 luz13:236237 t=29 'mete o t a 40'238 goto T1 'vai para T1'239240 '****************************************************************************'
241242 luz14:243244 t=24 'mete o t a 36'245 goto T1 'vai para T1'246247248 '****************************************************************************'
249250 luz15:251252 t=19 'mete o t a 36'253 goto T1 'vai para T1'254255 '****************************************************************************'
256257 luz16:258259 t=14 'mete o t a 36'260 goto T1 'vai para T1'261262 '****************************************************************************'
263264 luz17:265266 t=10 'mete o t a 36'267 goto T1 'vai para T1'268269 '****************************************************************************'
270271 manual1:272
4
273 gosub det_saida 'vai para a subrotina det_saida'274 low 6 'apaga o led verde'275 high 5 'acende o led vermelho'276277 '****************************************************************************'
278279 manual:280281 infrain 'espera por um sinal do comando'282 gosub det_saida 'vai para a subrotina det_saida'283 if infra=10 then abrir 'tecla P+ vai para abrir'284 if infra=13 then fechar 'tecla P- vai para fechar'285 if infra=12 then luz_mais 'tecla V+ vai para luz mais'286 if infra=15 then luz_menos 'tecla V- vai para luz menos'287 if infra=1 then voltar 'tecla 1 vai para voltar'288 if infra=17 then desligar 'tecla de power vai para desligar'289 goto manual 'vai para manual'290291 '****************************************************************************'
292293 som:294295 sound 4,(120,10) 'toca um melodia'296 low 4 'mete baixo o pin4'297 return 'volta á rotina anterior'298299 '****************************************************************************'
300301 abrir:302303 gosub som 'toca uma melodia'304 gosub det_saida 'vai para a subrotina det_saida'305 for i=1 to 2 'faz o i 2 vezes'306 gosub motor 'vai para a subrotina motor'307 next 'faz a proxima rotina'308 goto manual 'vai para manual'309310 '****************************************************************************'
311312 motor:313314 gosub det_saida 'vai para a subrotina det_saida'315 high 3 'mete a 1 a saida 3 (vai para o motor)'316 low 2 'mete a 0 a saida 2 (vai para o motor)'317 high 1 'mete a 1 a saida 1 (vai para o motor)'318 low 0 'mete a 0 a saida 0 (vai para o motor)'319 pause vel 'pausa de 20 milisegundos'320321 high 3 'mete a 1 a saida 3 (vai para o motor)'322 low 2 'mete a 0 a saida 2 (vai para o motor)'323 low 1 'mete a 0 a saida 1 (vai para o motor)'324 high 0 'mete a 1 a saida 0 (vai para o motor)'325 pause vel 'pausa de 20 milisegundos'326327 low 3 'mete a 0 a saida 3 (vai para o motor)'328 high 2 'mete a 1 a saida 2 (vai para o motor)'329 low 1 'mete a 0 a saida 1 (vai para o motor)'330 high 0 'mete a 1 a saida 0 (vai para o motor)'331 pause vel 'pausa de 20 milisegundos'332333 low 3 'mete a 0 a saida 3 (vai para o motor)'334 high 2 'mete a 1 a saida 2 (vai para o motor)'335 high 1 'mete a 1 a saida 1 (vai para o motor)'336 low 0 'mete a 0 a saida 0 (vai para o motor)'337 pause vel 'pausa de 20 milisegundos'338339 low 3 'mete a 0 a saida 3 (vai para o motor)'340 low 2 'mete a 0 a saida 2 (vai para o motor)'341 low 1 'mete a 0 a saida 1 (vai para o motor)'342 low 0 'mete a 0 a saida 0 (vai para o motor)'343 return 'volta á rotina anterior'
5
344345 '****************************************************************************'
346347 fechar:348349 gosub som 'toca uma melodia'350 gosub det_saida 'vai para a subrotina det_saida'351 for i=1 to 2 'faz o i 2 vezes'352 gosub motor2 'vai para a subrotina motor'353 next 'faz a proxima rotina'354 goto manual 'vai para manual'355356 '****************************************************************************'
357358 motor2:359360 gosub det_saida 'vai para a subrotina det_saida361 low 3 'mete a 0 a saida 3 (vai para o motor)'362 high 2 'mete a 1 a saida 2 (vai para o motor)'363 high 1 'mete a 1 a saida 1 (vai para o motor)'364 low 0 'mete a 0 a saida 0 (vai para o motor)'365 pause vel 'pausa de 20 milisegundos'366367 low 3 'mete a 0 a saida 3 (vai para o motor)'368 high 2 'mete a 1 a saida 2 (vai para o motor)'369 low 1 'mete a 0 a saida 1 (vai para o motor)'370 high 0 'mete a 1 a saida 0 (vai para o motor)'371 pause vel 'pausa de 20 milisegundos'372373 high 3 'mete a 1 a saida 3 (vai para o motor)'374 low 2 'mete a 0 a saida 2 (vai para o motor)'375 low 1 'mete a 0 a saida 1 (vai para o motor)'376 high 0 'mete a 1 a saida 0 (vai para o motor)'377 pause vel 'pausa de 20 milisegundos'378379 high 3 'mete a 1 a saida 3 (vai para o motor)'380 low 2 'mete a 0 a saida 2 (vai para o motor)'381 high 1 'mete a 1 a saida 1 (vai para o motor)'382 low 0 'mete a 0 a saida 0 (vai para o motor)'383 pause vel 'pausa de 20 milisegundos'384385 low 3 'mete a 0 a saida 3 (vai para o motor)'386 low 2 'mete a 0 a saida 2 (vai para o motor)'387 low 1 'mete a 0 a saida 1 (vai para o motor)'388 low 0 'mete a 0 a saida 0 (vai para o motor)'389 return 'volta á rotina anterior'390391 '****************************************************************************'
392393 luz_mais: 394395 gosub som 'toca uma melodia'396 gosub det_saida 'vai para a subrotina det_saida'397 if T>71 then t71 'se o T>71 vai para t71398 T=T+3 'soma 3 ao T'399 pwmout 1,18,T 'regula a saida 1 do porto C em relação ao400 'valor de T'401 goto manual 'vai para manual'402403 '****************************************************************************'
404405 t71:406407 T=72 'mete o t a 72'408 pwmout 1,18,72 'Mete as lampadas no maximo409 goto manual 'vai para manual'410411 '****************************************************************************'
412413 luz_menos:
6
414415 gosub som 'toca uma melodia'416 gosub det_saida 'vai para a subrotina det_saida'417 if T<=2 then t0 'Se t<=2 vai para t0418 T=T-3 'retira 3 ao T'419 pwmout 1,18,T 'regula a saida 1 do porto C em relação ao 420 'valor de T'421 goto manual 'vai para manual'422423 '****************************************************************************'
424425 t0:426427 T=2 'mete o t a 2'428 pwmout 1,18,0 'desliga as lampadas429 goto manual 'vai para manual'430431 '****************************************************************************'
432433 desligar: 434435 gosub det_saida 'vai para a subrotina det_saida'436 if S=0 then apagar 'se S for 0 vai para apagar'437 if S=1 then ligar 'se S for 1 vai para ligar' 438439 '****************************************************************************'
440441 ligar:442443 S=0 'mete o S a 0'444 gosub som 'toca uma melodia'445 gosub det_saida 'vai para a subrotina det_saida'446 pwmout 1,18,T 'liga as luzes como elas estavam da ultima447 'vez448 high 5 'liga o led vermelho'449 goto manual 'vai para manual'450451 '****************************************************************************'
452453 apagar:454455 S=1 'mete o S a 1'456 gosub som 'toca uma melodia'457 gosub det_saida 'vai para a subrotina det_saida458 pwmout 1,18,0 'Desliga as luzes459 low 5 'desliga o led vermelho'460 goto manual 'vai para manual'461462 '****************************************************************************'
463464 voltar:465466 gosub som 'toca uma melodia'467 gosub det_saida 'vai para a subrotina det_saida'468 low 5 'desliga o led vermelho'469 pwmout 1,18,0 'Deslig as luzes470 goto automatico 'vai para automatico'471472 '****************************************************************************'
473474
7
O
1 '***************************************************************************'2 '***************************************************************************'3 '***************************************************************************'4 '************************* Feito por:Bruno Carrilho ************************'5 '*************************** Turma:TEL Numero:2 ***************************'6 '********************************** Ano:12 *********************************'7 '******************************* Versão:1.20 *******************************'8 '***************************** Data:11/02/2007 *****************************'9 '****************** Nome do projecto:Persianas automática ******************'10 '** Descrição: Ao passar pelo detector de movimento o circuito começaram **'11 '** a funcionar. Ele compara a luz interior com a luz exterior podendo **'12 '** automaticamente meter mais luz interior. Se a luz exterior for muito **'13 '** baixa ele acendera a iluminação interior. Este circuito também pode **'14 '** ser controlado manualmente a partir de um comando remoto. O circuito **'15 '** será desactivado logo depois de o detector de movimento ter detectado **'16 '******************************* movimento. ********************************'17 '***************************************************************************'18 '***************************************************************************'19 '***************************************************************************'2021 symbol entrada=w0 'grava em W0 os valores do sensor de entrada'22 symbol saida=w1 'grava em W1 os valores do sensor de saida'23 symbol luzint=w2 'grava em W2 os valores da LDR interior'24 symbol luzext=w3 'grava em W3 os valores da LDR exterior'25 symbol vel=b8 'grava em b8 o valor da velocidade'26 symbol i=b9 'grava em b9 o valor da contagem i'27 symbol T=b10 'grava em b10 o valor da contagem t'28 symbol s=b11 'grava em b11 o valor da contagem s'29 symbol e=b12 'grava em b12 o valor da contagem e'30 s=0 'o s começa em 0'31 T=0 'o t começa em 0'32 e=0 'o e começa em 0'33 vel=20 'o valor da pause para o motor é de 20'3435 '****************************************************************************'
3637 inicio:3839 gosub lows 'mete todas as saidas a 040 readadc10 0,entrada 'le o detector de movimento da entrada'41 if w0>150 then alarme_a 'se a w0>150 vai para alarme_a42 goto inicio 'vai para inicio'4344 '****************************************************************************'
4546 lows:4748 pins=0 'mete todas as saidas a 049 return 'volta onde estava5051 '****************************************************************************'
5253 det_saida:5455 if portc pin5=1 and pin6=0 and pin7=0 then manual156 've se alguem carregou no botao de power57 'do comando5859 '****************************************************************************'
6061 det_saida2:6263 readadc10 0,entrada 'le o detector de movimento da entrada'64 readadc10 1,saida 'le o detector de movimento da saida'65 if w0>150 then conta 'se a w0>150 vai para conta'66 if w1>300 then conta2 'se a w1>300 vai para conta2' 67 return 'volta á rotina anterior'
68 69 '****************************************************************************'
1
O
7071 conta:7273 e=e+1 'adiciona 1 ao e'74 return 'volta a rotina anterior'7576 '****************************************************************************'
7778 conta2:7980 if e=0 then alarme_fim 'Se o e=0 vai para alarme_fim'81 e=e-1 'retira 1 ao e'82 return 'volta a rotina anterior'8384 '****************************************************************************'
8586 alarme_a:8788 sound 4,(120,20,110,20,100,20)'toca uma melodia'89 goto automatico 'vai para inicio'9091 '****************************************************************************'
9293 alarme_fim:9495 sound 4,(100,20,110,20,120,20)'toca uma melodia'96 pwmout 1,18,0 'desliga as luzes'97 gosub lows98 pause 1000 'pausa de 1segundo99 goto inicio 'vai para inicio'100101 '****************************************************************************'
102103 automatico:104105 gosub det_saida 'vai para a subrotina det_saida'106 gosub lows 'mete todas as saidas a 0107 high 6 'liga o led verde'108 readadc10 2,luzint 'le a LDR do interior'109 readadc10 3,luzext 'le a LDR do exterior'110 if w3<200 then motor4 'se luz externa<200 vai para motor4'111 if w2<400 then motor3 'luz interna<400 vai para motor3'112 goto automatico 'vai para automatico'113114 '****************************************************************************'
115116 motor3:117118 gosub det_saida 'vai para a subrotina det_saida'119 if portc pin2=1 then motor4 'se o interruptor de fim de curso=1120 'vai para motor4' 121 gosub motor 'vai para a subrotina motor'122 goto automatico 'vai para automatico'123124 '****************************************************************************'
125126 motor4:127128 gosub det_saida 'vai para a subrotina det_saida'129 if portc pin3=1 then luz2 'se o interruptor de fim de curso=1 130 'vai para luz2'131 gosub motor2 'vai para a subrotina motor2'132 goto motor4 'vai para motor4'133134 '****************************************************************************'
135136 luz2:137
2
O
138 gosub det_saida 'vai para a subrotina det_saida139 gosub luz3 'vai para a subrotina luz3140 goto luz2 'vai para luz3'141142 '***************************************************************************'143144 luz3:145146 gosub det_saida 'vai para a subrotina det_saida'147 'vai para manual1'148 readadc10 2,luzint 'le a LDR que esta no interior'149 if w2<27 then luz4 'luz exterior<26 vai para luz4'150 if w2<53 then luz5 'luz exterior<51 vai para luz5'151 if w2<80 then luz6 'luz exterior<77 vai para luz6'152 if w2<107 then luz7 'luz exterior<102 vai para luz7'153 if w2<133 then luz8 'luz exterior<128 vai para luz8'154 if w2<160 then luz9 'luz exterior<154 vai para luz9'155 if w2<187 then luz10 'luz exterior<179 vai para luz10'156 if w2<213 then luz11 'luz exterior<205 vai para luz11'157 if w2<240 then luz12 'luz exterior<230 vai para luz12'158 if w2<267 then luz13 'luz exterior<256 vai para luz13'159 if w2<293 then luz14 'luz exterior<282 vai para luz14'160 if w2<320 then luz15 'luz exterior<282 vai para luz15'161 if w2<347 then luz16 'luz exterior<282 vai para luz16'162 if w2<373 then luz17 'luz exterior<282 vai para luz17'163 if w2<400 then automatico1 'luz exterior<307 vai para automatico1'164 goto luz3165166 '****************************************************************************'
167168 automatico1:169170 pwmout 1,18,0171 goto automatico172173 '****************************************************************************'
174175 T1:176177 gosub det_saida 'vai para a subrotina det_saida'178 pwmout 1,18,T 'controla a luminosidade com o valor de T'179 goto luz3 'vai para luz3'180181 '****************************************************************************'
182183 luz4:184185 t=72 'mete o t a 72'186 goto T1 'vai para T1'187188 '****************************************************************************'
189190 luz5:191192 t=67 'mete o t a 68'193 goto T1 'vai para T1'194195 '****************************************************************************'
196197 luz6:198199 t=62 'mete o t a 65'200 goto T1 'vai para T1'201202 '****************************************************************************'
203204 luz7:205206 t=58 'mete o t a 61'
3
O
207 goto T1 'vai para T1'208209 '****************************************************************************'
210211 luz8:212213 t=53 'mete o t a 58'214 goto T1 'vai para T1'215216 '****************************************************************************'
217218 luz9:219220 t=48 'mete o t a 54'221 goto T1 'vai para T1'222223 '****************************************************************************'
224225 luz10:226227 t=43 'mete o t a 50'228 goto T1 'vai para T1'229230 '****************************************************************************'
231232 luz11:233234 t=38 'mete o t a 47'235 goto T1 'vai para T1'236237 '****************************************************************************'
238239 luz12:240241 t=34 'mete o t a 43'242 goto T1 'vai para T1'243244 '****************************************************************************'
245246 luz13:247248 t=29 'mete o t a 40'249 goto T1 'vai para T1'250251 '****************************************************************************'
252253 luz14:254255 t=24 'mete o t a 36'256 goto T1 'vai para T1'257258259 '****************************************************************************'
260261 luz15:262263 t=19 'mete o t a 36'264 goto T1 'vai para T1'265266 '****************************************************************************'
267268 luz16:269270 t=14 'mete o t a 36'271 goto T1 'vai para T1'272
4
O
273 '****************************************************************************'
274275 luz17:276277 t=10 'mete o t a 36'278 goto T1 'vai para T1'279280 '****************************************************************************'
281282 manual1:283284 gosub lows 'mete todas as saidas a 0285 gosub det_saida 'vai para a subrotina det_saida'286 gosub som 'toca uma melodia287 high 5 'acende o led vermelho'288289 '****************************************************************************'
290291 manual:292293 'esta função é activada quando o botão de power for precionado, depois disso 294 'so sera desactivada quando voltar a tocar no botão power.295 'Ele detecta a entrada e as saidas das pessoas296297 gosub det_saida2298 if portc pin5=1 and pin6=0 and pin7=0 then auto299 if portc pin5=0 and pin6=1 and pin7=0 then abrir300 if portc pin5=1 and pin6=1 and pin7=0 then fechar301 if portc pin5=0 and pin6=0 and pin7=1 then luz_mais302 if portc pin5=1 and pin6=0 and pin7=1 then luz_menos303 goto manual304305 '****************************************************************************'
306307 auto:308309 gosub som 'toca uma melodia310 pwmout 1,18,0 'mete a saida 1 do porto C a 0311 goto automatico 'volta para automatico312313 '****************************************************************************'
314315 som:316317 sound 4,(120,10) 'toca um melodia'318 low 4 'mete baixo o pin4'319 return 'volta á rotina anterior'320321 '****************************************************************************'
322323 abrir:324325 gosub som 'Toca uma melodia326 gosub det_saida2 'vai para a subrotina det_saida'327 for i=1 to 2 'faz o i 2 vezes'328 gosub motor 'vai para a subrotina motor'329 next 'faz a proxima rotina'330 goto manual 'vai para manual'331332 '****************************************************************************'
333334 motor:335336 gosub det_saida2 'vai para a subrotina det_saida'337 high 3 'mete a 1 a saida 3 (vai para o motor)'338 low 2 'mete a 0 a saida 2 (vai para o motor)'339 high 1 'mete a 1 a saida 1 (vai para o motor)'340 low 0 'mete a 0 a saida 0 (vai para o motor)'
5
O
341 pause vel 'pausa de 20 milisegundos'342343 high 3 'mete a 1 a saida 3 (vai para o motor)'344 low 2 'mete a 0 a saida 2 (vai para o motor)'345 low 1 'mete a 0 a saida 1 (vai para o motor)'346 high 0 'mete a 1 a saida 0 (vai para o motor)'347 pause vel 'pausa de 20 milisegundos'348349 low 3 'mete a 0 a saida 3 (vai para o motor)'350 high 2 'mete a 1 a saida 2 (vai para o motor)'351 low 1 'mete a 0 a saida 1 (vai para o motor)'352 high 0 'mete a 1 a saida 0 (vai para o motor)'353 pause vel 'pausa de 20 milisegundos'354355 low 3 'mete a 0 a saida 3 (vai para o motor)'356 high 2 'mete a 1 a saida 2 (vai para o motor)'357 high 1 'mete a 1 a saida 1 (vai para o motor)'358 low 0 'mete a 0 a saida 0 (vai para o motor)'359 pause vel 'pausa de 20 milisegundos'360361 low 3 'mete a 0 a saida 3 (vai para o motor)'362 low 2 'mete a 0 a saida 2 (vai para o motor)'363 low 1 'mete a 0 a saida 1 (vai para o motor)'364 low 0 'mete a 0 a saida 0 (vai para o motor)'365 return 'volta á rotina anterior'366367 '****************************************************************************'
368369 fechar:370371 gosub som 'Toca uma melodia372 gosub det_saida2 'vai para a subrotina det_saida'373 for i=1 to 2 'faz o i 2 vezes'374 gosub motor2 'vai para a subrotina motor'375 next 'faz a proxima rotina'376 goto manual 'vai para manual'377378 '****************************************************************************'
379380 motor2:381382 gosub det_saida2 'vai para a subrotina det_saida383 low 3 'mete a 0 a saida 3 (vai para o motor)'384 high 2 'mete a 1 a saida 2 (vai para o motor)'385 high 1 'mete a 1 a saida 1 (vai para o motor)'386 low 0 'mete a 0 a saida 0 (vai para o motor)'387 pause vel 'pausa de 20 milisegundos'388389 low 3 'mete a 0 a saida 3 (vai para o motor)'390 high 2 'mete a 1 a saida 2 (vai para o motor)'391 low 1 'mete a 0 a saida 1 (vai para o motor)'392 high 0 'mete a 1 a saida 0 (vai para o motor)'393 pause vel 'pausa de 20 milisegundos'394395 high 3 'mete a 1 a saida 3 (vai para o motor)'396 low 2 'mete a 0 a saida 2 (vai para o motor)'397 low 1 'mete a 0 a saida 1 (vai para o motor)'398 high 0 'mete a 1 a saida 0 (vai para o motor)'399 pause vel 'pausa de 20 milisegundos'400401 high 3 'mete a 1 a saida 3 (vai para o motor)'402 low 2 'mete a 0 a saida 2 (vai para o motor)'403 high 1 'mete a 1 a saida 1 (vai para o motor)'404 low 0 'mete a 0 a saida 0 (vai para o motor)'405 pause vel 'pausa de 20 milisegundos'406407 low 3 'mete a 0 a saida 3 (vai para o motor)'408 low 2 'mete a 0 a saida 2 (vai para o motor)'409 low 1 'mete a 0 a saida 1 (vai para o motor)'410 low 0 'mete a 0 a saida 0 (vai para o motor)'411 return 'volta á rotina anterior'412413 '****************************************************************************'
6
O
414415 luz_mais: 416417 gosub som 'toca uma melodia418 gosub det_saida2 'vai para a subrotina det_saida'419 if T>71 then t71 'se T>71 vai para t71420 T=T+3 'soma 3 ao T'421 pwmout 1,18,T 'regula a saida 1 do porto C em relação ao422 'valor de T'423 goto manual 'vai para manual'424425 '****************************************************************************'
426427 t71:428429 T=72 'mete o t a 72'430 pwmout 1,18,72 'Mete as lampadas no maximo431 goto manual 'vai para manual'432433 '****************************************************************************'
434435 luz_menos: 436437 gosub som 'toca uma melodia438 gosub det_saida2 'vai para a subrotina det_saida'439 if T<=2 then t0 'Se t<=3 vai para t0440 T=T-3 'retira 3 ao T'441 pwmout 1,18,T 'regula a saida 1 do porto C em relação ao 442 'valor de T'443 goto manual 'vai para manual'444445 '****************************************************************************'
446447 t0:448449 T=2 'mete o t a 2'450 pwmout 1,18,0 'desliga as lampadas451 goto manual 'vai para manual'452453 '****************************************************************************'
454
7
1 '***************************************************************************'2 '***************************************************************************'3 '***************************************************************************'4 '************************* Feito por:Bruno Carrilho ************************'5 '*************************** Turma:TEL Numero:2 ***************************'6 '********************************** Ano:12 *********************************'7 '******************************* Versão:1.20 *******************************'8 '***************************** Data:03/05/2007 *****************************'9 '****************** Nome do projecto:Persianas automática ******************'10 '** Descrição: Ao passar carregar no botão de power ele liga ou desliga o **'11 '** circuito, o botao V+ e V- metem mais ou menos luz no interior da sala **'12 '*** e o botão P+ e P- abrem ou feicham as precianas da sala em questão. ***'13 '*** Este circuito apenas se destina ao funcionamento do comando, pois a ***'14 '******** detecção demovimento sera confirmada pelo outro circuito. ********'15 '***************************************************************************'16 '***************************************************************************'17 '***************************************************************************'1819 manual:2021 infrain2 'espera por um sinal do comando'22 if infra=16 then abrir 'tecla P+ vai para abrir'23 if infra=17 then fechar 'tecla P- vai para fechar'24 if infra=18 then luz_mais 'tecla V+ vai para luz mais'25 if infra=19 then luz_menos 'tecla V- vai para luz menos'26 if infra=21 then desligar 'tecla de power vai para desligar'27 goto manual 'vai para manual2829 desligar:3031 high 1 'mete a saida 1 alta32 pause 100 'pausa de 0.1segundo33 low 1 'mete a saida 1 baixa34 goto manual3536 abrir:3738 high 2 'mete a saida 2 alta39 pause 100 'pausa de 0.1segundo40 low 2 'mete a saida 2 baixa41 goto manual 'volta a manual4243 fechar:4445 high 1 'mete a saida 1 alta46 high 2 'mete a saida 2 alta47 pause 100 'pausa de 0.1segundo48 low 1 'mete a saida 1 baixa49 low 2 'mete a saida 1 baixa50 goto manual 'volta a manual5152 luz_mais:5354 high 4 'mete a saida 4 alta55 pause 100 'pausa de 0.1segundo56 low 4 'mete a saida 4 baixa57 goto manual 'volta a manual5859 luz_menos:6061 high 1 'mete a saida 1 alta62 high 4 'mete a saida 4 alta63 pause 100 'faz uma64 low 1 'mete a saida 1 baixa65 low 4 'mete a saida 4 baixa66 goto manual 'volta a manual67
1
1 '***************************************************************************'2 '***************************************************************************'3 '***************************************************************************'4 '************************* Feito por:Bruno Carrilho ************************'5 '*************************** Turma:TEL Numero:2 ***************************'6 '********************************** Ano:12 *********************************'7 '******************************* Versão:1.20 *******************************'8 '***************************** Data:02/02/2007 *****************************'9 '***************************************************************************'10 '****************** Comando com todos os dispositivos ********************'11 '***************************************************************************'12 '**** Ao carregar na tecla 1 o motor roda para um lado e ao carregar na ****'13 '******************** tecla 2 roda para o outro lado. **********************'14 '***************************************************************************'15 '***************************************************************************'16 '***************************************************************************'1718 symbol vel=b019 symbol i=b120 vel=20002122 '***************************************************************************'2324 inicio:2526 infrain2728 if infra=1 then abrir29 if infra=2 then fechar30 if infra=3 then luz31 if infra=16 then som32 if infra=17 then desligar3334 goto inicio3536 '***************************************************************************'3738 abrir:39 for i=1 to 240 gosub motor41 next4243 low 344 low 245 low 146 low 047 goto inicio4849 '***************************************************************************'5051 motor:5253 high 354 low 255 high 156 low 057 pause vel5859 high 360 low 261 low 162 high 063 pause vel6465 low 366 high 267 low 168 high 069 pause vel7071 low 372 high 273 high 174 low 075 pause vel
1
7677 return7879 '***************************************************************************'8081 fechar:82 for i=1 to 283 gosub motor284 next8586 low 387 low 288 low 189 low 090 goto inicio9192 '***************************************************************************'9394 motor2:9596 low 397 high 298 high 199 low 0100 pause vel101102 low 3103 high 2104 low 1105 high 0106 pause vel107108 high 3109 low 2110 low 1111 high 0112 pause vel113114 high 3115 low 2116 high 1117 low 0118 pause vel119120 return121122 '***************************************************************************'123
2
1 '***************************************************************************'2 '***************************************************************************'3 '***************************************************************************'4 '************************* Feito por:Bruno Carrilho ************************'5 '*************************** Turma:TEL Numero:2 ***************************'6 '********************************** Ano:12 *********************************'7 '******************************* Versão:1.20 *******************************'8 '***************************** Data:02/02/2007 *****************************'9 '***************************************************************************'10 '*************************** Teste ao comando ****************************'11 '***************************************************************************'12 '************ Liga e desliga os LED's e liga e desliga o buzer ************'13 '***************************************************************************'14 '***************************************************************************'15 '***************************************************************************'1617 inicio:1819 infrain2021 if infra=1 then swon122 if infra=2 then swon223 if infra=3 then swon324 if infra=4 then swoff125 if infra=5 then swoff226 if infra=6 then swoff32728 goto inicio2930 '***************************************************************************'3132 swon1: 3334 high 735 goto inicio3637 '***************************************************************************'3839 swon2:40 41 high 642 goto inicio4344 '***************************************************************************'4546 swon3:47 48 high 549 goto inicio5051 '***************************************************************************'5253 swoff1:54 55 low 756 goto inicio5758 '***************************************************************************'5960 swoff2:61 62 low 663 goto inicio6465 '***************************************************************************'6667 swoff3: 6869 low 570 goto inicio7172 '***************************************************************************'73
1
1 '***************************************************************************'2 '***************************************************************************'3 '***************************************************************************'4 '************************* Feito por:Bruno Carrilho ************************'5 '*************************** Turma:TEL Numero:2 ***************************'6 '********************************** Ano:12 *********************************'7 '******************************* Versão:1.20 *******************************'8 '***************************** Data:02/02/2007 *****************************'9 '***************************************************************************'10 '********************* teste ao motor passo a passo **********************'11 '***************************************************************************'12 '****************** motor passo a passo roda para um lado ******************'13 '***************************************************************************'14 '***************************************************************************'15 '***************************************************************************'1617 symbol vel=b018 vel=20001920 '***************************************************************************'2122 inicio:2324 high 325 low 226 high 127 low 028 pause vel2930 high 331 low 232 high 033 low 134 pause vel3536 high 237 low 338 high 039 low 140 pause vel4142 high 243 low 344 high 145 low 046 pause vel47 goto inicio4849 '***************************************************************************'50
1
O
1 '***************************************************************************'2 '***************************************************************************'3 '***************************************************************************'4 '************************* Feito por:Bruno Carrilho ************************'5 '*************************** Turma:TEL Numero:2 ***************************'6 '********************************** Ano:12 *********************************'7 '******************************* Versão:1.20 *******************************'8 '***************************** Data:02/02/2007 *****************************'9 '***************************************************************************'10 '******************** Teste ao detector de movimento *********************'11 '***************************************************************************'12 '**** Quando o valor do detector de movimento for maior que 250 toca uma ***'13 '******************************** melodia **********************************'14 '***************************************************************************'15 '***************************************************************************'16 '***************************************************************************'1718 symbol luzint=w019 symbol luzext=w12021 '***************************************************************************'2223 inicio:2425 readadc10 0,luzint26 'readadc10 1,luzext27 if luzint>250 then alarme28 pause 10029 goto inicio3031 '***************************************************************************'3233 alarme:34 sound 4,(1,50,6,50,4,50)35 goto inicio3637 '***************************************************************************'38
1