foram nos propostos vrios projectos pelo professor leotte ... · fiquei logo a pensar como havia de...

34

Upload: hadien

Post on 11-Nov-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

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