Escolar Documentos
Profissional Documentos
Cultura Documentos
|FOROS|Tutoriales|KIO4
NuevoconcursoparaEspaa,Argentina,Brasil,Chile,Colombia,Ecuador,Mxico,PeryPortugal.
Arduinoenespaol
CircuitosconArduinoJuanAntonioVillalpando
TutorialdeiniciacinaArduino
VolveralndicedeltutorialReturntoindextutorial
____________________________
Arduino.Delay.
8.Temporizador.
Alpulsarelpulsadorseespera8segundos.
AlcabodeesetiempoelLEDparpadea5veces.
Eltiempoempiezaacontardesdeelmomentoquesepulsaelpulsador.
http://kio4.com/arduino/8temporizador.htm 1/3
1/4/2017 ArduinoTemporizador.
Cdigo
/*
JuanA.Villalpando
kio4.com
agosto2015.
*/
/*Pulsamos,despusde8segundosempiezaaparpadearelLED.Hace5parpadeosyseapaga.
Alpulsarelpulsadorsemarcaactivado=1,seestablecetiempoinicialyfinal.
Cuandohasidoactivadoyeltiempoactualsuperaalfinal...
entraenfuncionamientolasubrutinaparpadeo.
Cadavezquehaceunparpadeocuenta1ms.
Cuandohace5parpadeoinicializatodo.Poneactivadoa0ycontadora0.
*/
#definepin22//Alterminal2lollamamospin2.Aquirelpulsador.
#defineLED1313//Alterminal13lollamamosLED13.AquirelLED.
intvalor2;//Estoesunavariableentera
intcontador=0;//Variablecontadorigualaceroenelinicio.
intactivado=0;//Alprincipionohasidoactivado.
longinicio,final,actual;//Tiempos.
voidparpadeo();//Vamosautilizarlasubrutinaparpadeo.Ladeclaramos.
//Enelsetupestablecemoslosparmetrosiniciales.
voidsetup(){
pinMode(pin2,INPUT);//Elpin2serentrada.Pulsador.
pinMode(LED13,OUTPUT);//ElLED13sersalida.LED.
}
voidloop(){
valor2=digitalRead(pin2);//Leeelvalordelpin2yseloasignaavalor2.(Puedeser0o1)
if(valor2==HIGH&&activado==0){//SihapulsadoHIGHynohasidoactivado=0antes...
activado=1;//marcaactivado=1yguardaeltiempodeinicio.
inicio=millis();
final=inicio+8000;//Tiempofinalesinicioms8segundos.
}
actual=millis();//Consultaeltiempoactual.
if(activado==1&&(actual>final)){//Sifueactivado=1yeltiempoactualesmayorqueelfinal....
parpadeo();//hazunparpadeo.
}
}
//Subrutinaparpadeo.
voidparpadeo()
{
contador=contador+1;//Cadavezquehaceunparpadeocuentaunoms.
if(contador==5){//Silacuentallegaa5,inicializatodo.
contador=0;
activado=0;
http://kio4.com/arduino/8temporizador.htm 2/3
1/4/2017 ArduinoTemporizador.
}
digitalWrite(LED13,HIGH);
delay(300);
digitalWrite(LED13,LOW);
delay(300);
}
Recuerdaquedebesguardarcadaarchivodeproyectoenunacarpetanicaparal.
Unasubrutinaesuntrozodecdigoalquepodemosllamardesdeelcdigoprincipal.
Lasubrutinaladeclaramosalprincipio:voidparpadeo();.
if(valor2==HIGH&&activado==0).Sivalor2esALTOYactivadoescero.Eldobleampersand"&&"significaY
inicio=millis();.millis()tomalosmilisegundosactualesdesdequeseinicilaejecucindelaaplicacin.
Supongamosquemillis=64010
inicio=64010
final=64010+8000=72010
Supongamosqueactual=65900
if(activado==1&&(actual>final))Actualnosuperaafinal.
Supongamosqueactual=72011
if(activado==1&&(actual>final))Actualssuperaafinalyhaceelcontenidodelif.
________________________________
Siquieresqueestetutorialsemantengayloactualiceconms
programas,escrbemeuncorreoaJuanAntonio:juana1991@yahoo.com
http://kio4.com/arduino/8temporizador.htm 3/3