Académique Documents
Professionnel Documents
Culture Documents
TecnologaEducativayDesarrolloPersonalparaJvenesynotanJvenesenACorua.close
DesarrolloPersonal
OrganizamosunTaller?
IvanGarcaSainzAja
HoyvamosaaprenderaprogramarlaslucesdeunsemforoutilizandounaplacaArduinoconla
ayudadeBitbloqteapuntas?
bqCity - Episodio 1
Usodecookies
Estesitiowebutilizacookiesparaqueustedtengalamejorexperienciadeusuario.Sicontinanavegandoestdandosu
consentimientoparalaaceptacindelasmencionadascookiesylaaceptacindenuestrapolticadecookies,pincheelenlace
paramayorinformacin.
CERRAR
Perocomodecimossiempre:
http://www.desarrollandojuntos.com/arduinoprogramandounsemaforo/ 1/10
3/3/2017 (Arduino)ProgramandounSemaforoDesarrollandoJuntos
La razn por la que utilizamos una placa Freaduino es porque al tener los pines de toma de
tierra(G)ycorriente(V)repetidosenunafila,esmasfcilhacerlasconexionessintenerque
usar una placa para cableado o protoboard, pero cualquier placa Arduino y dos leds serviran
igualmente.
El Semforo
Paraprogramarlaslucesdelsemforoloprimerotendremosquepensareselalgoritmo,esdecir,
la receta de instrucciones que tendremos que dar a la luces para que funcionen como un
semforo,veamos:
Veamosquesecuenciasiguenlaslucesdeunsemforo:
1.Seenciendelaluzverdeduranteuntiempodeterminado,traselque..
2.Laluzverdeseenciendeyapaga(parpadea)unnumerodevecesyseapaga,trasloque..
3.Seenciendelaluzrojaduranteuntiempodeterminadoyvueltaaempezar
Ahoravamosaconectarloscablesdelosledsalospinesdigitales,tenencuentaloscoloresal
Usodecookies
conectarloscables.Enlaforopuedesversealadoscondoscuadraditosazulesenlafilasuperior
Estesitiowebutilizacookiesparaqueustedtengalamejorexperienciadeusuario.Sicontinanavegandoestdandosu
de pins, que es donde se encuentran los pines digitales. Ojo con respetar los colores de los
consentimientoparalaaceptacindelasmencionadascookiesylaaceptacindenuestrapolticadecookies,pincheelenlace
paramayorinformacin.
cables!
CERRAR
http://www.desarrollandojuntos.com/arduinoprogramandounsemaforo/ 2/10
3/3/2017 (Arduino)ProgramandounSemaforoDesarrollandoJuntos
Vamosautilizar:
elpindigitalnumero2paraelcolorverde
yelpindigitalnumero5paraelcolorrojo
aunquecualquierotropin,exceptoelpinnumero0,serviranigual.
Ten en cuenta que aunque los dos leds son del mismo color, el color de las luces las vamos a
hacerluegoconpapeldecelofn.
Programando el semforo
Ahoraqueyatenemosconectadosloscablesvamosaprogramarnuestrarecetaparalaslucesdel
semforo.
Esteeselprogramacompletoparalaslucesdenuestrosemforo:
Usodecookies
Estesitiowebutilizacookiesparaqueustedtengalamejorexperienciadeusuario.Sicontinanavegandoestdandosu
consentimientoparalaaceptacindelasmencionadascookiesylaaceptacindenuestrapolticadecookies,pincheelenlace
paramayorinformacin.
CERRAR
http://www.desarrollandojuntos.com/arduinoprogramandounsemaforo/ 3/10
3/3/2017 (Arduino)ProgramandounSemaforoDesarrollandoJuntos
(Arduino)SemforoProgramaCompleto
Perovayamosporpartes:
Hemos utilizado variables globales para guardar los valores que configuraran el
comportamientodenuestrosemforo(tiemposdeespera,tiemposdeparpadeos,enque
pinhemosconectadocadaled..)
Hemosutilizadofuncionesparahacernuestroprogramamascortoyfcildeleer
Hemos aadido comentarios a aquellas partes de nuestro programa que pueden requerir
algunaexplicacinadicional
Deestaformaelbucleprincipaldenuestroprogramasereducea5bloquesdeinstrucciones
muysencillasdeentender.
Usodecookies
Estesitiowebutilizacookiesparaqueustedtengalamejorexperienciadeusuario.Sicontinanavegandoestdandosu
consentimientoparalaaceptacindelasmencionadascookiesylaaceptacindenuestrapolticadecookies,pincheelenlace
paramayorinformacin.
CERRAR
http://www.desarrollandojuntos.com/arduinoprogramandounsemaforo/ 4/10
3/3/2017 (Arduino)ProgramandounSemaforoDesarrollandoJuntos
BuclePrincipal(esfcildeleerverdad?)
(Arduino)SemforoFuncindeParpadeo
Es Tiempo de Manualidades
Conunpococartulinaycelofneshoradedarleunpocodevidaanuestrosemforo.
Usodecookies
Estesitiowebutilizacookiesparaqueustedtengalamejorexperienciadeusuario.Sicontinanavegandoestdandosu
consentimientoparalaaceptacindelasmencionadascookiesylaaceptacindenuestrapolticadecookies,pincheelenlace
paramayorinformacin.
CERRAR
http://www.desarrollandojuntos.com/arduinoprogramandounsemaforo/ 5/10
3/3/2017 (Arduino)ProgramandounSemaforoDesarrollandoJuntos
Detrs de la Magia
Aunqueahoranospuedaparecemagia,detrsdelosbloquesqueacabamosdeprogramarestael
cdigofuentequeluegosecompilaparasubiralaplaca.Sitienescuriosidadpuedespulsarsobre
elsiguienteenlaceyverelcodigoqueacabamosdeescribirconlaayudadeBitbloq:
[codelanguage=cppcollapse=truetitle=ExpandirCdigoArduinodenuestroSemforo]
/***Globalvariables***/
intluz_verde
intluz_roja
inttiempo_de_luz_verde=10000
inttiempo_de_parpadeo=4000
inttiempo_de_luz_roja=10000
//10.000milisegundosson10segundos
/***Functiondeclaration***/
voidencender_luz_verde()
voidparpadear()
voidencender_luz_roja()
Usodecookies
voidsetup()
{Estesitiowebutilizacookiesparaqueustedtengalamejorexperienciadeusuario.Sicontinanavegandoestdandosu
consentimientoparalaaceptacindelasmencionadascookiesylaaceptacindenuestrapolticadecookies,pincheelenlace
luz_verde=(2)
paramayorinformacin.
luz_roja=(5) CERRAR
}
http://www.desarrollandojuntos.com/arduinoprogramandounsemaforo/ 6/10
3/3/2017 (Arduino)ProgramandounSemaforoDesarrollandoJuntos
voidloop()
{
encender_luz_verde()
delay(tiempo_de_luz_verde)
parpadear()
encender_luz_roja()
//Estoscincobloquesrepresentanunciclo,yseejecutanrepeditamenteenbucle
delay(tiempo_de_luz_roja)
/***Functiondefinition***/
voidencender_luz_verde(){
pinMode(luz_verde,OUTPUT)
digitalWrite(luz_verde,HIGH)
pinMode(luz_roja,OUTPUT)
digitalWrite(luz_roja,LOW)
}
voidparpadear(){
intcontador=0
for(contador=1contador<=4contador++){
pinMode(luz_verde,OUTPUT)
digitalWrite(luz_verde,HIGH)
delay(tiempo_de_parpadeo/8)
pinMode(luz_verde,OUTPUT)
digitalWrite(luz_verde,LOW)
//Dividimoseltiempodeesperaentre8paraqueparpadee4veces
delay(tiempo_de_parpadeo/8)
}
}
voidencender_luz_roja(){
pinMode(luz_verde,OUTPUT)
digitalWrite(luz_verde,LOW)
pinMode(luz_roja,OUTPUT)
digitalWrite(luz_roja,HIGH)
}
[/code]
Esperamosquetehayagustado!Noolvidescompartirlocontusamigos!
Nosvemosenelprximotutorial!
About LatestPosts
Usodecookies
Estesitiowebutilizacookiesparaqueustedtengalamejorexperienciadeusuario.Sicontinanavegandoestdandosu
consentimientoparalaaceptacindelasmencionadascookiesylaaceptacindenuestrapolticadecookies,pincheelenlace
paramayorinformacin.
Curso Gratuito de Introduccin a la Programacin con Scratch
CERRAR
Compartelo:
Related
Tags:Arduino,nivelbasico
estaentradatiene0Comentarios/enArduino,Tutoriales(Todos)/porIvanGarcaSainzAja
Aprendeahablaringles!(previousentry)
(nextentry)(Scratch)LaMacedonia
RelatedPosts
(BitBloq+Arduino)LaCasaDomtica
UnirseaScratch
Usodecookies
Estesitiowebutilizacookiesparaqueustedtengalamejorexperienciadeusuario.Sicontinanavegandoestdandosu
IntroduccinalEditorScratch
consentimientoparalaaceptacindelasmencionadascookiesylaaceptacindenuestrapolticadecookies,pincheelenlace
paramayorinformacin.
CERRAR
http://www.desarrollandojuntos.com/arduinoprogramandounsemaforo/ 8/10
3/3/2017 (Arduino)ProgramandounSemaforoDesarrollandoJuntos
(Scratch)CazandoEstrellas
Comments
Leave a Reply
Wanttojointhediscussion?
Feelfreetocontribute!
Leave a Reply
Youremailaddresswillnotbepublished.Requiredfieldsaremarked*
Comment
Name*
Email*
Website
PostComment
Notifymeoffollowupcommentsbyemail.
Notifymeofnewpostsbyemail.
Sobre Mi:
Usodecookies
Estesitiowebutilizacookiesparaqueustedtengalamejorexperienciadeusuario.Sicontinanavegandoestdandosu
consentimientoparalaaceptacindelasmencionadascookiesylaaceptacindenuestrapolticadecookies,pincheelenlace
paramayorinformacin.
CERRAR
http://www.desarrollandojuntos.com/arduinoprogramandounsemaforo/ 9/10
3/3/2017 (Arduino)ProgramandounSemaforoDesarrollandoJuntos
InscrbeteGratis
Los ms recientes
CursoEntrenamientoMentalBsico(febrero2017)
Relajacin Muscular Progresiva (del Dr Jacobson): apretando soltando notando la
diferencia
EnquetcnicassebaseelmtododeEntrenamientoMental?
6HerramientasparaelCambio[C.H.A.N.G.E.]
TecnicasdeEstudio:RecordandoPalabras(Ejercicio)
Lo Ms Visto
Categories
http://www.desarrollandojuntos.com/arduinoprogramandounsemaforo/ 10/10