Vous êtes sur la page 1sur 10

3/3/2017 (Arduino)ProgramandounSemaforoDesarrollandoJuntos

TecnologaEducativayDesarrolloPersonalparaJvenesynotanJvenesenACorua.close

(Arduino) Programando AcercaDe


TecnologaEducativa
un Semaforo

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

Vayamos por partes!

Material: Que necesitamos?


ParaprogramarlaslucesdelsemforovamosautilizarunaplacaFreaduinoUNOydosLedsque
hemossacadodenuestroPrimerKitdeRobtica.

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

Conectemos los cables


Siempre que conectemos o desconectemos componentes a la placa nos aseguraremos que no
estaalimentadaniporelcabledelaspilasniporelcableUSB.

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.

(Arduino) Semforo Configuracin con Variables


Globales

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

Puedes seguir las instrucciones completas para construir un semforo en la pagina de Bq


http://diwo.bq.com/construyetupropiosemaforo/

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

Ivan Garca Sainz-Aja

Usodecookies
Estesitiowebutilizacookiesparaqueustedtengalamejorexperienciadeusuario.Sicontinanavegandoestdandosu
consentimientoparalaaceptacindelasmencionadascookiesylaaceptacindenuestrapolticadecookies,pincheelenlace
paramayorinformacin.
Curso Gratuito de Introduccin a la Programacin con Scratch
CERRAR

APRENDE A PROGRAMAR MIENTRAS TE DIVIERTES


http://www.desarrollandojuntos.com/arduinoprogramandounsemaforo/ 7/10
3/3/2017 (Arduino)ProgramandounSemaforoDesarrollandoJuntos

APRENDE A PROGRAMAR MIENTRAS TE DIVIERTES


Introduccin a la programacin con Scratch (ver mas)

Nombre Email S, Inscribeme

Compartelo:


Related

(BitBloq+Arduino)LaCasa (BitBloq+Arduino)Robot CampamentoNavideode


Domtica Siguelineas ProgramacinyRobticaen
October26,2015 December26,2015 MonteAlto
In"Arduino" In"Arduino" November29,2016
In"Eventos"

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:

Curso Online Introduccin a la Programacion

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

Arduino BitBloq Blockly Desarrollo Personal Entrenamiento Mental


EventosLibrosRecomendadosNoticiasScratchTecnologaEducativa Tutoriales(Todos)
TutorialesAppInventorTutorialesBlockly TutorialesScratchTcnicasdeEstudioUncategorized
CopyrightDesarrollandoJuntosAvisoLegal
Usodecookies
FollowusonTwitter
Estesitiowebutilizacookiesparaqueustedtengalamejorexperienciadeusuario.Sicontinanavegandoestdandosu
consentimientoparalaaceptacindelasmencionadascookiesylaaceptacindenuestrapolticadecookies,pincheelenlace
JoinourFacebookGroup
paramayorinformacin.
SubscribetoourRSSFeed
CERRAR

http://www.desarrollandojuntos.com/arduinoprogramandounsemaforo/ 10/10

Vous aimerez peut-être aussi