Escolar Documentos
Profissional Documentos
Cultura Documentos
ndice
2. Interfaceamento do Microcontrolador
Keste cap!tulo iremos eAplicar como reali*ar as interfaces para ;ue diferentes dispositivos de entrada e de sa!da possam ser li#ados ao microcontrolador. Iremos tratar dos se#uintes dispositivosC
Kote ;ue % comum colocar um d!odo invertido em paralelo com o dispositivo controlado 6d!odo de roda-livre7. Isto % essencial para car#as indutivasB como so os casos de motores e rel%s. 2empre ;ue se desli#a um destes dispositivos cria-se uma corrente inversa ;ue iria destruir o trans!stor. 8oder5 ser usado um vul#ar d!odo 1K&001.
A verso >LK /0$ cont%m / trans!stores. 2e for necess5rio controlar correntes mais elevadas podero ser li#adas duas sa!das como na fi#ura.
<s pinos do microcontrolador 8IC podem deiAar passar 6sink7 ou fornecer 6source7 correntes de 0 mAB o ;ue si#nifica ;ue % poss!vel li#ar directamente um LE" a um pino de sa!da. Lem1re-se de ;ue os pinos de um microcontrolador como o 8ICAXE vLm ?5 confi#uradosB uns como sa!das e outros como entradas. Al#uns so repro#ram5veis. 8ara limitar a corrente utili*a-se em s%rie uma resistLncia de $$0 o9ms. LE" li#ado N massa. 8ara li#ar o LE" 6<K7 - high 1 8ara desli#ar o LE" 6<''7 - low 1
LE" li#ado N alimentao. 8ara li#ar o LE" 6<K7 - low 1 8ara desli#ar o LE" 6<''7 - high 1
&
8ara produ*ir uma nota de tom 100B durao +0 no pino 1 sound 1, (100,50) 8ara produ*ir um som variado usando a vari5vel 11 for b1 = 1 to 100 P a instruo sound % repetida tomando os valores de tom sound 1, (b1,25) P de 1 a 100 next b1
2.2.,. Micromotores
Muitos pro?ectos re;uerem a utili*ao de motores de corrente cont!nua 6CC7 1aratos para criar movimento circular. EAistem v5rias possi1ilidades de interfacear motores ao microcontrolador. < circuito da fi#ura utili*a transistores "arlin#ton para accionar o motor. Este circuito funciona 1em com motores CC de 1rin;uedos 1aratos. Ko entanto importa acautelar o facto de ;ue os motores produ*em muito ru!do el%ctrico nas lin9as de alimentao do microcontroladorB podendo lev5-lo a deiAar de funcionar.
>ma soluo para o ru!do el%ctrico consiste em colocar entre os terminais do motor um condensador de poli%ster 6no polari*ado7 de 0n'.
8ara accionar motores de maior potLnciaB pode usar-se o circuito a M<2'E( anteriormente descrito.
Em v5rias circunst)ncias ir5 ser necess5rio accionar mais do ;ue um motorB como % o caso dos ro1Is m4veis. A soluo mais simples e 1arata consiste em utili*ar um inte#rado motor driver como o L 3$". Este inte#rado possi1ilita o controlo de dois motores CCB utili*ando ;uatro pinos de sa!da do microcontrolador. Katuralmente se tivermos um s4 motor 1astam dois pinos. Esta soluo ir5 ser utili*ada nos nossos ro1Is pois al%m de permitir o accionamento nos dois sentidos dos dois motoresB permite ainda o controlo de velocidade por 8QMB como se ver5 mais N frente.
Am1as as entradas 1aiAas - o motor p5ra 8rimeira entrada altaB se#unda entrada 1aiAa - motor para frente 8rimeira entrada 1aiAaB se#unda entrada alta - motor para tr5s Am1as as entradas altas - motor p5ra A mudana dos sinais nos pinos de entrada tem o efeito de produ*ir a alterao do sentido da corrente no enrolamento do motorB lo#o do seu sentido de rotao.
Kote ;ue o L 3$" a;uecer5 com uso intenso. < uso de um dissipador colocado no topo do inte#rado pode a?udar ao arrefecimento. Ko caso de monta#ens em placas pr%perfuradas 6stripboard7 a soldadura Ns pistas dos ;uatro terminais de massa centrais pode a?udar a dissipar. >ma maneira de redu*ir os efeitos do ru!do el%ctrico so1re o microcontroladorB consiste em usar fontes de alimentao separadas para a parte de controlo 6microcontrolador7 e para os motores. Ko caso dos ro1Is ;ue iremos construirB pode usar-se uma vul#ar pil9a de 3M com re#ulador de tenso para +M para a electr4nica e um pack de 1aterias de modelismo 6KiCad ou KiMR de 3B.M7 para os motores. Katuralmente continua a ser necess5rio manter um terminal de massa comum Ns duas alimenta@es. A separao total de circuitos pode ser reali*ada usando circuitos optoelectr4nicos mas apenas se ?ustificaB face N sua compleAidadeB no caso de ru!do el%ctrico eAcessivoB resultante de comutao de rel%s ou motores.
microprocessador utili*am ;uatro pinos de sa!da para controlar cada um dos ;uatro enrolamentos.
Como o motor passo-a-passo % alimentado a 1 MB % necess5rio um circuito a trans!stor para cada enrolamento. Como os enrolamentos so indutivosB % necess5rio prote#er cada trans!stor com um d!odo de roda-livre. < uso do inte#rado >LK 00$ 6ou /0$7 % neste caso de particular relev)nciaB simplificando o nEmero de componentes e as li#a@es. A ta1ela a1aiAo apresenta os ;uatro passos necess5rios para ;ue o motor rode.
Analisando com cuidado a ta1elaB reparamos ;ue eAiste um padro. < enrolamento % sempre o oposto 6operao l4#ica K<(7 do enrolamento 1. < mesmo se aplica aos enrolamentos $ e &. J assim poss!vel redu*ir a metade o nEmero de pinos do microcontrolador necess5rios para controlar o motorB desde ;ue se acrescentem duas portas l4#icas K<(. Ka fi#ura se#uinteB este sistema % implementado usando os trans!stores livres como inversores 6portas K<(7.
Antes de comear a pro#ramarB eAiste um outro padro a verificar na se;uLncia de passos. Analise a ta1elaB ;ue mostra os enrolamentos 1 e $.
Repare ;ue na passa#em do passo 1 para o passo B apenas muda o enrolamento $. Repare a#ora no passo se#uinte F s4 o enrolamento 1 muda. "e facto os dois enrolamentos mudam GN ve*H de alto para 1aiAo sucessivamente. Esta passa#em alto1aiAo-alto pode ser descrita como um estado de Gto##lin#H. Isso torna a pro#ramao ainda mais simples F 1asta usar a instruo toggle. steps: toggle 1 pause 200 toggle 2 pause 200 goto steps P (o##le pino 1 P Espera 00 ms P (o##le pino ; Espera 00ms ; Ciclo
10
Kote ;ue como os enrolamentos so indutivosB para prote#er os trans!stores da eAtracorrente de roturaB so necess5rios d!odos de roda-livre em paralelo com cada um deles. A ta1ela a1aiAo mostra os ;uatro passos necess5rios para fa*er rodar o motor.
AfortunadamenteB o motor driver L293D foi desen9ado especificamente para esta funo de comutao. Cada L 3$" possui / trans!stores e os respectivos d!odos num encapsulamento de 1. pinos. Uuatro pinos do microcontrolador so li#ados aos ;uatro pares de trans!stores 6pinos B 0B 10 e 1+7.
11
< pro#rama ?unto fa* o motor rodar 100 passos para a es;uerda e a se#uir 100 passos para a direitaB utili*ando duas su1rotinas. A su1rotina lstep fa* o motor rodar um passo para a es;uerdaB a su1rotina rstep fa* o motor rodar um passo para a direita. A vari5vel 11 % utili*ada para #uardar a posio do passo e dever5 ser utili*ada em ;ual;uer outra parte do pro#rama.
ain: for b! = 0 to "" gosub lstep next b! for b! = 0 to "" gosub rstep next b! lstep: let b1 = b1 % 1 goto step rstep: let b1 = b1 - 1 step: let b1 = b1 * 2 loo)up b1,(+1010,+1001,+0101,+0110),b2 let pins = b2 #ontrolo return ; ini#ia u #i#lo for$$$next ; #ha a subrotina left step ; #i#lo seguinte ; ini#ia u #i#lo for$$$next ; #ha a subrotina right step ; #i#lo seguinte ; ; ; ; ; ; so a 1 & 'ari('el b1 salta para tabela loo)up subtrai 1 da 'ari('el b1 as#ara os dois bits enos pesados de b1 guarda o #,digo loo)up e b2 fa- sair o 'alor de b2 para os pinos de
<s servos so vul#armente utili*ados nos carros e avi@es radiocontrolados para controlar mecanismos de direco. (rata-se de dispositivos muito precisos ;ue rodam sempre o mesmo )n#ulo para um dado sinalB pelo ;ue so ideais para utili*ao em automatismos. >m servo t!pico possui trLs condutores de li#aoB normalmente pretoB encarnado e 1ranco 6ou amarelo7. < condutor preto % a referLncia de massa da alimentao 60 volts7B o condutor encarnado % a alimentao de +M 6de &B/M a .M7 e o condutor 1ranco 6ou amarelo7 % o sinal de posicionamento. Este sinal de posio % um impulso de 0B0+ a B + milise#undos 6ms7B repetido cada 1/ ms aproAimadamente 6portantoB temos +0 impulsos por se#undo7. Com o impulso de 0B0+ ms o servo move-se 6roda7 para uma das eAtremidades e com o impulso de B + ms para a eAtremidade oposta. "esse modoB com um impulso de 1B+ msB o servo roda para a posio central. 2e os impulsos terminarem o servo move-se ao acaso. LamentavelmenteB os servos consomem correntes elevadas 6de 00 mA a 1 A7 e introdu*em ru!do el%ctrico nos condutores de alimentao. "everoB portantoB ser alimentados por fonte de alimentao
separadaB como se mostra na fi#ura a1aiAo. Lem1re-se ;ue o condutor de massa 6referLncia7 deve ser comum Ns duas alimenta@es.
loop: ser'o .,/5 pause 2000 ser'o .,150 pause 2000 ser'o .,225 pause 2000 goto loop ; ; ; ; ; ; ; o'e ser'o para u dos lados espera 2 segundos o'e ser'o para posi01o #entral espera 2 segundos o'e ser'o para o outro lado espera 2 segundos 'olta para o in2#io
>m solen4ide consiste num Lm1olo de ferro colocado no interior de uma 1o1ina 6indut)ncia7 el%ctricaB enrolada em torno de um tu1o. Uuando se alimenta electricamente a 1o1inaB cria-se um campo ma#n%tico ;ue atrai o Lm1olo para dentro do tu1o. Uuando se retira a alimentaoB uma mola empurra o Lm1olo para fora do tu1o. < controlo de um solen4ide pode ser efectuado com o circuito a M<2'E( atr5s descrito.
1$
2.3.1. Interru%tores
EAiste dispon!vel uma enorme variedade de interruptoresB mas a maior parte possui dois contactosB ;ue ou esto Ga1ertosH 6off7 ou Gfec9adosH 6on7. <s dois circuitos apresentados a1aiAo podem ser usados com a maioria dos interruptores. Com este primeiro circuito o pino de entrada 68in 07 fica 1aiAo 607 ;uando o interruptor est5 a1erto e alto 617B ;uando o interruptor % fec9ado. >m pro#rama poss!vel Mai para SsaltaT ;uando o interruptor est a ertoC if pin0 = 0 then salta Mai para SsaltaT ;uando o interruptor ! fec"adoC if pin0 = 1 then salta
Com o circuito se#uinte o pino de entrada 68in 07 fica alto 617 ;uando o interruptor est5 a1erto e 1aiAo 607B ;uando o interruptor % fec9ado. >m pro#rama poss!vel Mai para SsaltaT ;uando o interruptor est a ertoC
if pin 0 = 1 then salta
1&
2.3.2. Potenci4metro
>m potenci4metro 6ou resistLncia vari5vel7 possui um eiAo ;ue pode ser rodado para variar o valor da resistLncia do potenci4metro. 8odemos usar potenci4metros para medir movimentos circulares ou )n#ulos. 8ara serem utili*ados com o microcontroladorB os potenci4metros so colocados como divisores de tenso e o microcontrolador lL 1+
efectivamente a tenso ;ue converte para um valor num%rico 6di#ital7. 8ara isso usa-se a instruo readA"C ;ue activa o Conversor Anal4#ico-"i#ital. < valor da resistLncia vem assim transformado num valor entre 0 e ++B ;ue % #uardado numa vari5vel. A instruo ifVpoder5 a#ora ser utili*ada para definir as ac@es a desenvolver consoante o valor lido.
< pro#rama a1aiAo acende trLs LE"s diferentes 6li#ados aos pinos 1B e $7B dependendo da leitura do sensor anal4#ico 6potenci4metro7
ain: readad# 0,b1 if b13/5 then light1 if b131/5 then light2 goto light! ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; l5 o 'alor se b1 6 se b1 6 se b1 6 789 1 on 789 2 off 789 ! off loop 789 1 off 789 2 on 789 ! off loop 789 1 off 789 2 off 789 ! on loop no pin0 para a 'ari('el b1 enor do 4ue /5 ent1o salta para light 1 enor do 4ue 1/5 ent1o salta para light 2 aior do 4ue 1/5 ent1o salta para light !
light1: high 1 low 2 low ! goto ain light2: low 1 high 2 low ! goto ain light!: low 1 low 2 high ! goto ain
1.
Conv%m lem1rar ;ue a resposta de uma L"R no % linearB pelo ;ue as leituras no variam como num potenci4metro. Em #eralB eAiste uma #rande variao de resistLncia para n!veis de iluminao elevados. Isso pode ser compensado por soft=areB utili*ando #amas de variao menores para os n!veis escuros. EAperimente at% encontrar os a?ustes ade;uados ao circuito e Ns condi@es de iluminao.
ain: readad# 0,b1 if b1350 then light1 if b13100 then light2 if b131.5 then light! if b131/5 then light. goto ain ; ; ; ; ; leitura do 'alor ga a 0-50 = 50 ga a 50-100 = 50 ga a 100-1.5 = .5 ga a 1.5-1/5 = !0
K<(AC A 8ICAXE disp@e de uma placa 6Analo#ue Cali1ration ,oard F BAS8107 ;ue permite ver nos displa:s de 0 se#mentos o valor eAactoB entre 0 e ++B ;uando um sensor est5 l5 li#ado. 8ermite tirar leituras nas mais diversas condi@es de teste de modo a o1termos a mel9or #ama de valores para um pro#rama. 2e ;uiser consultar mais informa@esC ===.tec9supplies.co.uWDc#i1inDtec9supplies.storefrontD&$afe/010+0f0ef a 0&0c c3/a110010D8roductDMie=D,A2/10
Exemplo de ligao:
10
2.3.4. "ermistor
>m termistor % uma resistLncia vari5vel com a temperatura. Ka realidade todas as resistLncias variam com a temperaturaB s4 ;ue os termistores so feitos para terem uma #rande variao com a temperatura. A li#ao do termistor ao microcontolador % muito simplesB mas conv%m tam1%m cali1r5-lo 6com o BAS810B por eAemplo7.
Conv%m lem1rar ;ue a resposta de um termistor no % linearB pelo ;ue as leituras no variam como num potenci4metro. Em #eralB eAiste uma #rande variao de resistLncia para temperaturas 1aiAas. Isso pode ser compensado por soft=areB utili*ando #amas de variao menores para os n!veis de temperatura mais altos. EAperimente at% encontrar os a?ustes ade;uados ao circuito e Ns condi@es de temperatura.
ain: readad# 0,b1 if b1350 then light1 if b13100 then light2 if b131.5 then light! if b131/5 then light. goto ain ; ; ; ; ; leitura do 'alor ga a 0-50 = 50 ga a 50-100 = 50 ga a 100-1.5 = .5 ga a 1.5-1/5 = !0
contrapartida 95 consumo de ener#ia nos LE" en;uanto ;ue nos LC" praticamente no 95 consumos.
13
< preo a pa#ar % ;ue se tLm ;ue fa*er as li#a@es de acordo com os dois es;uemas a1aiAoC A% &I'A()E* D+ ,I-./A-E 0% &I'A()E* D+ .1D2&+ &CD
< 8ro#rama ;ue se se#ue escreve a frase SRello t9ereZT em duas lin9as do displa: LC". (emos ;ue usar trLs su1rotinas standard c9amadas init, &rins e &rchr. Elas resolvem todos os nossos pro1lemas no s4 de iniciali*ao como de envio para o LC" tanto das instru@es como das mensa#ens. Essas rotinas standard fa*em eAactament o se#uinteC init 'a* a iniciali*ao do LC"B deiAando-o pronto a aceitar as instru@es 5rins envia as instru@es arma*enadas na vari5vel 11 para o m4dulo LC" 5rc"r envia um caracter arma*enado na vari5vel 11 para ser mostrado no ecr LC" [5 N frente sero eAplicadas mais detal9adamente estas trLs su1rotinas.
88>?@A 0,(;<ello thereB=) gosub init ain: let b1 = 1 gosub wrins for b! = 0 to . read b!, b1 gosub wr#hr next b! let b1 = 1"2 gosub wrins for b! = 5 to 11 read b!, b1 gosub wr#hr next b! C ar a-ena o texto na Cinitiali-a o 7D9 Cb1=1 =E instru01o C#lear displaFG C en'ia instru01o para o 7D9 C#i#lo for$$$next (;<ello= . #ara#teres) C b1=88>?@AHb!I C en'ia #hara#ter para 7D9 C #ontinua Cb1=1"2 =E instru01o Cstart of se#ond lineG position C en'ia instru01o para o 7D9 C#i#lo for$$$next (;thereB=-posi0Jes 5 a 11) C b1=88>?@AHb!I C en'ia #hara#ter para 7D9 C#ontinua e ,ria 88>?@A
< pro#rama se#uinte fa* rodar na ?anela do LC" a mensa#em SRello t9ere ever:1od:ZT. Isto por;ue o teAto tem mais do ;ue as 1. letras ;ue um ecr suporta. A mensa#em % primeiro arma*enada na mem4ria do LC"B indo depois rodando na ?anela do displa: repetidamente para ;ue se?a mostrada toda a mensa#em.
88>?@A 0,(;<ello there e'erFbodFB=) gosub init start: let b1 = 1 gosub wrins for b! = 0 to 22 #ara#teres) read b!, b1 gosub wr#hr next b! let b1 = 12 gosub wrins ain: let b1 = 2. gosub wrins pause 250 goto ain C b1=88>?@AHb!I C en'ia #hara#ter para 7D9 C #ontinua Cb1=12 =E instru01o Chide #ursorG C en'ia instru01o para o 7D9 Cb1=2. =E instru01o Cs#roll displaF leftG C en'ia instru01o para o 7D9 C pausa 0$25s C roda a ensage (;<ello there e'erFbodFB=) C ar a-ena o texto na e ,ria 88>?@A
C initiali-a o 7D9 Cb1=1 =E instru01o C#lear displaFG C en'ia instru01o para o 7D9 C #i#lo for$$$next (;<ello there e'erFbodFB= 22
Kos pro#ramas ;ue vimos fa*endoB vemos ;ue o LC" tanto tem ;ue rece1er instru@es como caracteres. J o pino & 6R27 do LC" F controlado pela sa!da do microcontrolador F ;ue define se % instruo ou caracter o ;ue est5 N entrada. 8ondo o pin G1aiAoH o LC" est5 em modo de instruo en;uanto ;ue ;uando o pin est5 GaltoH fica em modo de caracter. Cada instruo ou caracter % enviada como um nEmero 1in5rio de & 1its para as lin9as de dados 6pinos 0-&7. "epois o LC"B ;uando rece1e um impulso de EKA,LEB no seu pino . - 2E 6e ;ue % enviado pela sa!da $ do microcontrolador7 lL os dados e imprime o caracter 6ou cumpre a instruo7 correspondente ao nEmero nas lin9as de dados. (odos os c4di#os de caracteres e instru@es 6comandos7 tLm / 1it. Como s4 95 & lin9as de dadosB os / 1it so mandados em duas metadesB uma a se#uir N outra. Cada um dos ;uatro 1it rece1e o nome de Gni11leH 6Sni11le altoT e Sni11le 1aiAoT7.
8ortantoB por cada caracter 6ou comando7 so transmitidos ni11les. 1011 0101 X 10110101 ni11le alto Y ni11le 1aiAo X 1:te A funo das trLs su1rotinas SstandardT 6init, &rins e &rchr7 % levar a ca1o toda esta tarefa GcomplicadaH ;uando tra1al9amos com displa:s LC".
init: let pins = 0 let b4 = 0 let dirs = 252 pause 200 let pins = 48 pulsout 3,1 pause 10 pulsout 3,1 pulsout 3,1 let pins = 32 pulsout 3,1 pulsout 3,1 let pins = 128 pulsout 3,1 let b1 = 14 gosub wrins return wrchr: let pins = b1 & 240 high 2 pulsout 3,1 let b2 = b1 * 16 let pins = b2 & 240 high 2 pulsout 3,1 Return wrins: let pins = b1 & 240 pulsout 3,1 Let b2 = b1 * 16 let pins = b2 & 240 pulsout 3,1 high 2 return Todas sadas=0 Reset variavel Pins 2-7 como sada (%11111100). 200 ms para reset ao LCD. Funcionamento LCD a 8-bit. Envia comando (enable) Espera 10 ms Envia comando outra vez(enable) Envia comando outra vez(enable) Funcionamento LCD a 4-bit. Envia comando(enable) Envia comando outra vez(enable) Funcionar em duas linhas Envia comando (enable). LCD ON e com cursor. Ecrever instruco no LCD nibble alto de b1=>fora(ateno RS=0). Enviar Caracter=> RS alto Pulsa enable (envia nibble alto). nibble baixo de b1=>b2. nibble baixo de b1=>fora(ateno RS=0). Caracter=> RS alto Pulsa enable pin (envia nibble baixo).
nibble alto de b1=>fora(RS=0->instru). Pulsa enable (envia nibble alto). b2=b1 rodado 4x p/ esquerda. nibble baixo de b1=>fora(+RS=0-instru). Pulsa enable pin (envia nibble baixo). Modo character
Nota: na subrotina init, o comando let dirs =252(%11111100) vai afectar os 8 pinos e no apenas os usados pelo !"#$ "omo se pode ver, nem wrins nem wrchr necessitam dos pinos 0 e 1$ %e o nosso pro&rama usar estas rotinas deve ter em conta 'ue, 'uando retorna da c(amada, o valor de b2 vem alterado (assim como )0)$
<s c4di#os das instru@es de comando para o LC"B como vimosB devem GirH na vari5vel 11 ;uando se c9ama a su1rotina &rinsB ;ue se encarre#a de modificar o estado do LC".
C8di4os das instru7es $comandos% para o &CD.
1 Limpa o displa: e move para a primeira lin9a Move o cursor e a ?anela de displa: para o in!cio da primeira lin9a & Modo Gescrever da direita para a es;uerdaH + Modo Sscroll para a es;uerdaT
. Modo Gescrever da es;uerda para a direitaH 0 Modo Sscroll para a direitaT 10 Misuali*ao do LC" off 1 2em cursor 1$ Cursor a piscar 1& Misuali*ao do LC" 6e cursor7 on 1. Move cursor para a es;uerda uma posio 0 Move cursor para a direita uma posio & 'a* o scroll da ?anela uma posio para a es;uerda / 'a* o scroll da ?anela uma posio para a direita 1 / Move o cursor para o in!cio da primeira lin9a 13 Move o cursor para o in!cio da se#unda lin9a
E9emp#os
Limpar o displa: clear: let b1 = 1 b1=instruo clear call wrins Envia para o LCD Mover o cursor para a se#unda lin9a clear: let b1 = 192 b1=incio da segunda linha call wrins Envia para o LCD 8iscar uma menssa#em 10 ve*es flash:for b3 = 1 to 10 let b1 = 10 gosub wrins pause 200 let b1 = 14 gosub wrins pause 200 next b3
for...next usando variable b3(nunca b1!!) b1= Visualizao do LCD off Envia para o LCD Pausa de 0.2 segundos b1= Visualizao do LCD on Envia para o LCD Pausa de 0.2 segundos Fim do loop for...next
'a*er scroll a uma mensa#em lon#a 6$0 caracteres7 scroll: for b3 = 1 to 30 let b1 = 28 gosub wrins pause 200 next b3 let b1 = 1 gosub wrins pause 200 goto scroll
for...next usando variable b3(nunca b1!!) b1= Scroll da janela uma posio p/ direita Envia para o LCD Pausa de 0.2 segundos Fim do loop for...next b1=instruo clear Envia para o LCD Pausa de 0.2 segundos Loop
&