Está en la página 1de 21

20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente

Buscar en este sitio …

Estás aquí: Inicio/Blog/Arduino/Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente

Múltiples LEDs y pulsadores, proyecto de un semáforo


inteligente
Comentarios(33)
Luis del Valle Hernández

Uno de los proyectos típicos cuando nos iniciamos con Arduino, es hacer un semáforo. En este
artículo vamos a darle una vuelta de tuerca, vamos a crear un semáforo inteligente.
Simularemos esa inteligencia con dos pulsadores, múltiples LEDs y mucha imaginación.

El objetivo de este tutorial es mostrarte cómo utilizar múltiples LEDs con Arduino y también
como integrarlo con dos pulsadores. Estos últimos se pueden sustituir por algún sensor de
presencia ya sea ultrasonidos (ya hemos visto un ejemplo en el sensor de aparcamiento) o
con infrarrojos.

https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 1/21
20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente

Semáforo inteligente con Multiples LEDs y Arduino

Vamos a simular un cruce de semáforos en una calle. Los semáforos van a tener una
característica especial, van a funcionar solos. Con los múltiples LEDs crearemos las luces
de los semáforos. Los pulsadores simularán sensores de presencia.

El funcionamiento es muy simple. Cuando un coche llega a un semáforo en rojo se detiene.


Esta situación la simularemos activando el pulsador asociado (como si fuera un sensor de
presencia). Tras un tiempo de espera, se pondrá en rojo el otro semáforo y el semáforo donde
está esperando el coche, se pondrá en verde.

Indice de contenidos

1 LEDs con Arduino, todo lo que necesitas saber


2 Pulsadores con Arduino, controla el flujo de la corriente
3 Circuito semáforo inteligente con múltiples LEDs y pulsadores
4 Programando el semáforo inteligente con múltiples LEDs y pulsadores
5 Conclusión de los múltiples LEDs y pulsadores con el semáforo inteligente

LEDs con Arduino, todo lo que necesitas saber


Lo primero que debemos saber antes de utilizar múltiples LEDs, es que se trata de un diodo.
Este tipo de componentes son muy particulares ya que solo dejan pasar la electricidad en un
sentido.

Pero ¿cuál es ese sentido? Es muy sencillo y con la práctica, te acostumbrarás a utilizarlos.
Los LEDs tienen una patilla más larga que otra, esa patilla se conoce como ánodo (el polo
positivo). Es por donde tiene que entrar la corriente. La patilla más pequeña se conoce como

https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 2/21
20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente

cátodo (polo negativo) y es por donde saldrá la corriente de electrones.

Teniendo claro esto ya podemos conectar múltiples LEDs a nuestro circuito. Ahora solo
nos hace falta saber quá resistencia poner. Para ello debemos hacer uso de la Ley de Ohm.
Esta Ley es la base fundamental sobre la que debemos construir nuestros circuitos.

¿Por qué debemos conectar una resistencia? Siempre tenemos que mirar la
hoja de características técnicas de los componentes. Para un LED típico de

500 mm, el voltaje de operación está entre 1,8 V y 2,2 V. En caso contrario

podemos dañar el LED o como mínimo, disminuir la vida útil del componente.

Ley de Ohm
Esta Ley relaciona las tres magnitudes básicas de un circuito voltaje, corriente y resistencia.
Debes conocer y memorizar las fórmulas que nos ayudan a calcular una magnitud en relación a
las otras. Existe un círculo que te ayuda fácilmente a recordar esta relación. Tapando la
magnitud que quieres calcular te dice cómo hacerlo en base a las otras dos magnitudes.

Donde:

V es voltaje
I es intensidad
R es resistencia

https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 3/21
20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente

Calcular Voltaje Calcular Intensidad Calcular Resistencia

Con esta fórmula ya podemos calcular cualquier magnitud. En principio, necesitamos conocer
dos de las magnitudes para calcular la tercera. En el ejemplo del semáforo inteligente con
múltiples LEDs y pulsadores, tendremos que calcularlo una sola vez. Veamos cómo hacerlo.

Obteniendo la información para conectar un LED con Arduino


Vamos a recopilar la información que tenemos. Imagínate este circuito.

En un circuito en serie como el del ejemplo, da lo mismo colocar la resistencia antes que
después. Si aplicas la Ley de Ohm se obtiene el mismo valor. En ningún momento esta Ley
https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 4/21
20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente

nos dice la posición de los componentes. Esto también es aplicable a múltiples LEDs.

Según aumentemos el valor de la resistencia, el Arduino LED suministrará



menos luminosidad.

Es un circuito muy simple, un LED y yba resistencia en paralelo. Pero, ¿cómo calculamos el
valor de la resistencia? Sólo tenemos que aplicar la Ley de Ohm. Conocemos el voltaje,
por los pines digitales se suministran 5 V. La intensidad la podemos sacar de la hoja de
características técnicas del propio Arduino. Si nos dirigimos a su web oficial podemos ver
el detalle que te muestro en la siguiente imagen.

La intensidad es de 20 mA (miliamperios) que son 0,02 A (Amperios). El voltaje que tiene


que caer en la resistencia es 5 V menos lo que consume el LED, entre 1,8 V y 2,2 V. Esto nos
da que la resistencia debe consumir como mínimo 3,2 V.

https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 5/21
20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente

Ya tenemos todo, solo hace falta sustituir los valores y calcular el valor de la resistencia.

Ojo, que este es el mínimo. Por debajo de ese valor de resistencia podemos dañar el LED, ya
que aumentaría el voltaje y nos saldríamos del rango de operación. En mi caso voy a utilizar
resistencias de 220Ω por comodidad. Esto me da como resultado que en la resistencia se
consumirán 4,4 V y quedarían 0,6 V para consumir en el LED. Estoy por debajo de lo
recomendado pero no dañaré el LED.

Pulsadores con Arduino, controla el flujo de la


corriente
Otro componente que vamos a utilizar y que debemos conocer son los pulsadores. Gracias a
estos componentes podemos dejar pasar o no la corriente. Al utilizar un pulsador con
Arduino tenemos que tener ciertas precauciones, sobre todo cuando la salida la conectamos a
un pin digital, como es el caso. Lo primero es ver un esquema general de un pulsador.

El típico tiene cuatro patillas. Están conectadas entre ellas dos a dos y entre ellas forman
el interruptor. Un pulsador no es más que un interruptor, deja pasar la corriente o no. Seguro
que te suena todo esto, dos estados posibles :). Exacto, a través de un pin digital podemos
saber si se ha pulsado o no un pulsador.

Resistencia pull down, evita indeterminaciones en los


pulsadores
Seguramente hayas oído hablar de las resistencias pull down y pull up. Se trata de dos
configuraciones que nos permiten tener un estado bajo (0 Voltios) o estado alto (5 Voltios)
cuando un cable está al aíre.

Esto es lo que sucede con los pulsadores, mientras que no pulsemos, tenemos el pin al aire y
se produce una indeterminación. Las dos configuraciones posibles son las siguientes.

https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 6/21
20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente

El valor típico de la resistencia debe ser el mayor posible. Los 10kΩ es el aconsejable para
utilizar un pulsador con Arduino.

Circuito semáforo inteligente con múltiples LEDs y


pulsadores
Pues ya tenemos todo claro de cómo utilizar múltiples LED, pulsadores y Arduino para
crear el semáforo inteligente. Ahora te detallaré los componentes que vamos a necesitar.

Componentes necesarios
Asegúrate que tienes los siguientes componentes para montar el circuito.

Arduino UNO (o equivalente)


Protoboard donde conectamos los componentes
6 resistencias 220 Ω
2 resistencias 10 kΩ
3 LEDs verdes
3 LEDs amarillos
3 LEDs rojos
2 pulsadores

Múltiples LEDs y pulsadores, Montando el circuito del semáforo


inteligente
En este circuito, al utilizar tantos componentes tenemos que llevar mucho cuidado con los
cortocircuitos. Esto haría que el sistema no se comporte como esperamos. Ves conectando
poco a poco y una vez conectado, prueba cada componente para asegurarte de que todo
funciona correctamente.

https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 7/21
20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente

Los múltiples LEDs van a formar los semáforos de un cruce. Los pulsadores simularán
sensores de presencia. El circuito sería el siguiente.

Las resistencias conectadas a los múltiples LEDs son de 220 Ω y la de los pulsadores 10 kΩ.

Es una buena práctica utilizar cables de colores agrupados para los múltiples

LEDs y para el pulsador. Eso te permitirá localizarlos más rápidamente.

Programando el semáforo inteligente con múltiples


LEDs y pulsadores
Lo primero es comprender el problema. Vamos a simular un cruce de calles con múltiples
LEDS, que harán de semáforos, y dos pulsadores, que harán de sensores de presencia.
El objetivo es que cuando se sitúe un coche en un semáforo que está en rojo, permita que se
ponga en verde y cierre el otro semáforo.

Para empezar tenemos que partir de unas condiciones iniciales, ¿qué semáforo comienza
abierto y qué semáforo comienza cerrado? Empezaremos con el semáforo 1 abierto y el
semáforo 2 cerrado. Para entendernos, en el esquema del circuito eléctrico, de izquierda a

https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 8/21
20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente

derecha será semáforo 1, semáforo 2, pulsador 1 (simula sensor de presencia del semáforo 1)
y pulsador 2 (simula sensor de presencia del semáforo 2).

Una vez que un coche esté parado ante un semáforo en rojo (simulamos pulsando su pulsador),
pasará un determinado tiempo y comenzará la secuencia para apagar el otro semáforo y abrir
el suyo. Sencillo ¿no?. Pues vamos a ver el algoritmo.

1. Establecer condiciones iniciales


1. LED verde semáforo 1 encendido
2. LED rojo semáforo 2 encendido
3. Semáforo 1 activo
2. Comprobar que semáforo está activo
1. Semáforo 1 activo
1. Comprobar pin pulsador 2
1. Si pulsado
1. Cambiar semáforo 1 a rojo
2. Cambiar semáforo 2 a verde
2. Semáforo 2 activo
1. Comprobar pin pulsador 1
1. Si pulsado
1. Cambiar semáforo 2 a rojo
2. Cambiar semáforo 1 a verde

Variables y constantes
Lo primero es declarar las constantes que identifiquen los múltiples LEDs y los
pulsadores. Eso lo hacemos en la parte de arriba del sketch o programa.

1 // Pines utilizados
2 #define LEDVERDE1 2
3 #define LEDAMARILLO1 3
4 #define LEDROJO1 4
5 #define LEDVERDE2 5
6 #define LEDAMARILLO2 6
7 #define LEDROJO2 7
8 #define PULSADOR1 8
9 #define PULSADOR2 9

Luego vamos a declarar tres variables. La primera será del tipo booleano, solo admite dos
valores a True (verdadero) o False (falso). Esta variable nos permitirá saber que semáforo
está activo. Cuando solo tenemos dos posibilidades, es una buena práctica utilizar este tipo de
variables.

En nuestro caso ponemos el nombre activo1. Si es True indica que el semáforo 1 está activo y
en verde y por lo tanto el semáforo 2 está no activo y en rojo. Si activo 1 es False, indicará que
el semáforo 2 está activo y en verde y el semáforo 1 estará no activo y en rojo.
https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 9/21
20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente

Las otras dos variables son los tiempos de espera. La primera es el tiempo que esperamos
para cambiar de luces (de verde a amarillo y luego a rojo) y la segunda es un tiempo más
largo. Sirve para esperar un tiempo prudencial antes de hacer el cambio de semáforos.

1 // Variables
2 bool activo1 = true; // Indica si el semáforo 1 está activo, de lo contrario será el semáforo 2
3 int tiempoCambio = 1500; // Tiempo de espera entre transición de LEDs
4 int tiempoEspera = 5000; // Tiempo de espera hasta comenzar transición

Función setup
Ahora vamos a pasar a indicar las condiciones iniciales. Ya lo he comentado anteriormente.
Comenzaremos con el semáforo 1 activo (verde) y el semáforo 2 no activo (rojo). Pero antes
de hacer esto, iniciamos el monitor serie, ponemos los pines de los múltiples LEDs en modo
salida (OUTPUT) y los pines de los pulsadores en modo entrada (INPUT).

Por último, apagamos los múltiples LEDs.

1 void setup() {
2 // Iniciamos el monitor serie
3 Serial.begin(9600);
4
5 // Modo entrada/salida de los pines
6 pinMode(LEDVERDE1, OUTPUT);
7 pinMode(LEDAMARILLO1, OUTPUT);
8 pinMode(LEDROJO1, OUTPUT);
9 pinMode(LEDVERDE2, OUTPUT);
10 pinMode(LEDAMARILLO2, OUTPUT);
11 pinMode(LEDROJO2, OUTPUT);
12 pinMode(PULSADOR1, INPUT);
13 pinMode(PULSADOR2, INPUT);
14
15 // Apagamos todos los LEDs
16 digitalWrite(LEDVERDE1, LOW);
17 digitalWrite(LEDAMARILLO1, LOW);
18 digitalWrite(LEDROJO1, LOW);
19 digitalWrite(LEDVERDE2, LOW);
20 digitalWrite(LEDAMARILLO2, LOW);
21 digitalWrite(LEDROJO2, LOW);
22
23 // Estado inicial: semáforo 1 activo, semáforo 2 no activo
24 digitalWrite(LEDVERDE1, HIGH);
25 digitalWrite(LEDROJO2, HIGH);
26 }

Función loop
Esta función es la que se va a repetir indefinidamente. Aquí comprobaremos el estado de
los pulsadores, encenderemos y apagaremos los múltiples LEDs según corresponda.
He dividido el código en dos funciones, a parte de la función loop(). Si tenemos que encender
el semáforo 1, llamamos a la función encenderSemaforo1(), y si tenemos que encender el
semáforo 2, llamamos a la función encenderSemaforo2().

1 void loop() {

https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 10/21
20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente
2 // Dependiendo del semáforo que tengamos activo
3 if (activo1)
4 {
5 // Está encendido el semáforo 1, comprobamos el pulsador 2
6 int valor2 = digitalRead(PULSADOR2);
7
8 // Si hay un coche esperando, pulsador pulsado
9 if (valor2 == HIGH)
10 {
11 // Encender semáforo 2
12 ecenderSemaforo2();
13
14 // Semáforo 2 activo
15 activo1 = false;
16 }
17 }
18 else
19 {
20 // Está encendido el semáforo 1, comprobamos el pulsador 1
21 int valor1 = digitalRead(PULSADOR1);
22
23 // Si hay un coche esperando, pulsador pulsado
24 if (valor1 == HIGH)
25 {
26 // Encender semáforo 1
27 ecenderSemaforo1();
28
29 // Semáforo 1 activo
30 activo1 = true;
31 }
32 }
33 }

Es importante cambiar de semáforo activo. Eso se hace poniendo a True o


False la variable activo1. También podríamos hacerlo poniendo activo1 =

!activo1; Esto quiere decir que cogerá el valor contrario False si es True o True
si es False.

Existen dos palabras reservadas dentro de la API de Arduino que indican el

estado de un pin digital, LOW y HIGH. Estas constantes se definen igual que las

constantes para indicar el número de un pin que hemos utilizado para un



componente en la parte inicial de este código. LOW tiene asociado el valor 0 u

HIGH tiene asociado el valor 1. Por eso podemos guardar el valor de una
entrada digital en una variable del tipo int.

La función encenderSemaforo1() y encenderSemaforo2() se encargan de hacer la secuencia


correspondiente para apagar y encender un semáforo. Primero esperamos el tiempo de
https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 11/21
20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente

espera definido por tiempoEspera. Luego apagamos el otro semáforo y por último
encendemos el semáforo activo.

18 // Encendemos semáforo 2
19 // Esperamos
20 delay(tiempoCambio);
21
22 // Pasamos a luz amarilla
23 digitalWrite(LEDROJO2, LOW);
24 digitalWrite(LEDVERDE2, HIGH);
25 }
26
27 void ecenderSemaforo1()
28 {
29 // Apagamos semáforo 2
30 // Esperamos
31 delay(tiempoEspera);
32
33 // Pasamos a luz amarilla
34 digitalWrite(LEDVERDE2, LOW);
35 digitalWrite(LEDAMARILLO2, HIGH);
36
37 // Esperamos
38 delay(tiempoCambio);
39
40 // Pasamos a luz roja
41 digitalWrite(LEDAMARILLO2, LOW);
42 digitalWrite(LEDROJO2, HIGH);
43
44 // Encendemos semáforo 1
45 // Esperamos
46 delay(tiempoCambio);
47
48 // Pasamos a luz amarilla
49 digitalWrite(LEDROJO1, LOW);
50 digitalWrite(LEDVERDE1, HIGH);

 51 }
CURSOS BLOG PODCAST ¿QUIÉN SOY?

CONTACTAR 
Aunque ACCEDER
es un tema algo más complejo, podemos utilizar interrupciones para

realizar este ejercicio. El único inconveniente que veo son los tiempos de

espera. Con las funciones callback de las interrupciones no podemos utilizar la

función delay().

Código final
Como siempre, te dejo todo el código unido para que lo utilices en tus proyectos con Arduino.
Intenta hacerlo tu sólo, ya que copiar y pegar no te ayuda a entender las cosas. Recuerda que
hemos utilizado múltiples LEDs y pulsadores.

https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 12/21
20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente
95 // Esperamos C++
96 delay(tiempoCambio);
97
98 // Pasamos a luz amarilla
99 digitalWrite(LEDROJO2, LOW);
100 digitalWrite(LEDVERDE2, HIGH);
101 }
102
103 void ecenderSemaforo1()
104 {
105 // Apagamos semáforo 2
106 // Esperamos
107 delay(tiempoEspera);
108
109 // Pasamos a luz amarilla
110 digitalWrite(LEDVERDE2, LOW);
111 digitalWrite(LEDAMARILLO2, HIGH);
112
113 // Esperamos
114 delay(tiempoCambio);
115
116 // Pasamos a luz roja
117 digitalWrite(LEDAMARILLO2, LOW);
118 digitalWrite(LEDROJO2, HIGH);
119
120 // Encendemos semáforo 1
121 // Esperamos
122 delay(tiempoCambio);
123
124 // Pasamos a luz amarilla Política de cookies
125 digitalWrite(LEDROJO1, LOW);
126 digitalWrite(LEDVERDE1, HIGH);
127 }

Conclusión de los múltiples LEDs y pulsadores con


el semáforo inteligente
Bueno pues otro ejercicio práctico para comenzar a cacharrear con Arduino y cualquier
dispositivo del movimiento Maker. Es importante ir practicando con esto ejemplos antes de
enfrentarnos a cualquier otro proyecto de mayor magnitud. La idea es que lo hagas tu sólo, sin
fijarte en lo que yo hago salvo que te quedes atascado.

Hemos utilizado múltiples LEDs para simular los semáforos y pulsadores para simular
los sensores de presencia. Prueba a cambiar estos componentes por otros.

Si te ha gustado comparte, y si tienes dudas deja un comentario, gracias :)

Gracias a Shutterstock por ceder los derechos de la imagen

39 Comentarios Programar Fácil con Arduino 


1 Acceder

Ordenar por los mejores


 Recomendar 1 ⤤ Compartir
https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 13/21
20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente
Ordenar por los mejores
 Recomendar 1 ⤤ Compartir

Únete a la conversación...

Camilo Andres • hace 5 días


Quisiera saber o que me despeje la duda de por que me aparece este mensaje a la hora de subir la
programacion al arduino ya e probado con dos placas y nada que se soluciona. Que podria ser gracias.
Miniatura

△ ▽ • Responder • Compartir ›

Luis del Valle Moderador > Camilo Andres • hace 2 días


¿Qué librería estás utilizando? Se corta la imagen y no veo el error completo.
△ ▽ • Responder • Compartir ›

Eileen Alfaro Calvo • hace 12 días


Hola buenos días estoy haciendo el semáforo, pero el prototipo no me funciona. adjunto la foto.

https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 14/21
20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente

ver más

△ ▽ • Responder • Compartir ›

Luis del Valle Moderador > Eileen Alfaro Calvo • hace 12 días
Hola Eileen, por lo que puedo intuir en tu foto, no tienes conectadas las resistencias de los LEDs
a tierra, fíjate bien en el esquema que pongo en el artículo, un extremo de la resistencia al LED y
el otro extremo a GND.
△ ▽ • Responder • Compartir ›

Eileen Alfaro Calvo > Luis del Valle • hace 12 días


Muchas gracias.
△ ▽ • Responder • Compartir ›

Luis del Valle Moderador > Eileen Alfaro Calvo • hace 8 días
Gracias a ti
△ ▽ • Responder • Compartir ›

Julio Zambrano • hace 2 meses


necesito utilizar sensores de proximidad y no pulsadores es para la aplicacion de un tipo carril de tren
para bajar la barra cuando estos esten por pasar por la viaa
△ ▽ • Responder • Compartir ›

Luis del Valle Moderador > Julio Zambrano • hace 2 meses


Hola Julio, quizás unos sensores de ultrasonidos puedan ser útiles o unos sensores de
infrarrojos. Aquí te dejo un tutorial de ultrasonidos https://programarfacil.com/...
△ ▽ • Responder • Compartir ›

Julio Zambrano > Luis del Valle • hace 2 meses


muchas gracias aplicare lo transmitido aunque necesito aplicar una barrera cuando este
en rojo
△ ▽ • Responder • Compartir ›

Luis del Valle Moderador > Julio Zambrano • hace 2 meses


Perfecto, ya me vas contando Julio
△ ▽ • Responder • Compartir ›

Marlenii Jimenez • hace 4 meses


Hola, buenos dias,como le puedo hacer para implementar los sensores,en lugar de los botones?
y que tipo de seonsores puedo utilizar?
△ ▽ • Responder • Compartir ›

Luis del Valle Moderador > Marlenii Jimenez • hace 3 meses

Hola Marlenii ¿qué quieres detectar con esos sensores? Si es presencia puedes utilizar un PIR o
un sensor de ultrasonidos por ejemplo
Responder
https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 15/21
20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente

△ ▽ • Responder • Compartir ›

Marlenii Jimenez > Luis del Valle • hace 3 meses


Lo que quiero es detectar el movimiento...
¿El PIR , para que me serviría?
△ ▽ • Responder • Compartir ›

Luis del Valle Moderador > Marlenii Jimenez • hace 3 meses


Detectar presencia o movimiento de algo.
△ ▽ • Responder • Compartir ›

Marlenii Jimenez > Luis del Valle • hace 3 meses


Entonces el sensor PIR, me detectaría ambos, tanto movimiento, cómo
presencia?
△ ▽ • Responder • Compartir ›

Luis del Valle Moderador > Marlenii Jimenez • hace 3 meses


No, el sensor PIR te va a detectar que algo se está moviendo. Cuando se para,
deja de detectar. Aquí te dejo un enlace que estaría bien que lo vieras
https://es.wikipedia.org/wi...
△ ▽ • Responder • Compartir ›

Mauricio Bustamante • hace 4 meses


Hola buen día, don luis
disculpe quería realizare una consulta.
Estoy trabajando en un proyecto parecido a este con Arduino y Proteus y la verdad su ejemplo me a
servido increíblemente a comprender el funcionamiento del software Arduino y le agradezco.
En mi proyecto tengo que utilizar 4 sensores ya realice la parte de la lógica y codificación pero al
colocarlo en marcha noto que en en la función loop que es donde tengo todas los condicionales if este
repite una y otra vez el proceso (yo se que es algo normal) y al realizar ese proceso, el vuelve y verifica
las condiciones y enciende o apaga las luces dependiendo de la condicion que se este cumpliendo, esto
hace que la luz amarilla encienda cierto tiempo (que es el tiempo de espera de encendido o apagado que
yo le eh asignado). Entonces después de esta explicación mi pregunta es, hay una forma de evitar esto?

gracias
△ ▽ • Responder • Compartir ›

Luis del Valle Moderador > Mauricio Bustamante • hace 4 meses


Hola Mauricio

No entiendo la pregunta ¿qué quieres evitar?¿que se repita una y otra vez el funcionamiento del
semáforo con Arduino?
△ ▽ • Responder • Compartir ›

Mauricio Bustamante > Luis del Valle • hace 4 meses


Hola Luis
ya solucione mi problema, lo que pasaba era que estaba usando muchos operadores
lógicos dentro de las condiciones if y esto me generaba el encendido de las luces, como
en una especie de ciclo. ya corregí esos errores, de todas manera muchas gracias por
responder.
△ ▽ • Responder • Compartir ›
https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 16/21
20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente
△ ▽ • Responder • Compartir ›

Luis del Valle Moderador > Mauricio Bustamante • hace 4 meses


Hola Mauricio, perfecto me alegra que hayas resuelto el problema con los
múltiples LEDs y Arduino :)
△ ▽ • Responder • Compartir ›

Felipe Coronado • hace 5 meses


Señor Luis Del Valle, me preguntaba como seria la codificación si utilizo infrarrojos?
△ ▽ • Responder • Compartir ›

Luis del Valle Moderador > Felipe Coronado • hace 5 meses


Hola Felipe, pues en principio sería sencillo. Solo tienes que sustituir los pulsadores por sensores
de infrarrojos.
1△ ▽ • Responder • Compartir ›

Emmanuel David Mendoza Zapata • hace 5 meses


Hola quisiera saber como se puede hacer para crear un codigo en el que presionando un boton me
mande los dos semaforos a un estado de emergencia que seria un amarrillo parpadeante.
△ ▽ • Responder • Compartir ›

Elmer Jeanpierre Lopez Ramirez > Emmanuel David Mendoza Zapata • hace 5 meses
Vaya, vaya, lo unico que tienes que ver primero es "dejar pegado el botón" y de preferencia
declarar parpadeo fuera
△ ▽ • Responder • Compartir ›

Luis del Valle Moderador > Emmanuel David Mendoza Zapata • hace 5 meses
En este caso lo mejor es que utilices interrupciones. Te paso un tutorial para que lo intentes tu
mismo https://programarfacil.com/...
△ ▽ • Responder • Compartir ›

Emmanuel David Mendoza Zapata > Luis del Valle • hace 5 meses
Y como se podria salir de la interrupcion, hay algun comando
△ ▽ • Responder • Compartir ›

Emmanuel David Mendoza Zapata > Emmanuel David Mendoza Zapata


• hace 5 meses
es que con un boton quisiera entrar en ese estado y con el mismo salir de ese
estado
△ ▽ • Responder • Compartir ›

Emmanuel David Mendoza Zapata > Luis del Valle • hace 5 meses
He creado una interrucion, que me lleve a un estado de emergencia en void setup. el
codigo del estado es
void estadoemergencia(){
digitalWrite(amarrillo1,HIGH);//Encender los focos de emergencia
digitalWrite(amarrillo2,HIGH);
digitalWrite(rojo1, LOW);//Apagar los otros focos
digitalWrite(verde1, LOW);
digitalWrite(rojo2, LOW);
digitalWrite(verde2, LOW);
https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 17/21
20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente
digitalWrite(verde2, LOW);
delay(15000000);
delay(15000000);
delay(15000000);
delay(15000000);
}
Pero como haría para salir de ese estado de emergencia
△ ▽ • Responder • Compartir ›

Luis del Valle Moderador > Emmanuel David Mendoza Zapata • hace 5 meses
Hola Emmanuel, dentro de la función ISR no puedes utilizar la función delay. Aquí
tienes un tutorial para utilizar interrupciones https://programarfacil.com/... lo miras
y me dices si no entiendes algo.
△ ▽ • Responder • Compartir ›

gabriel raay • hace 5 meses


Hola, conecte todo igual que el circuito que aparece segui todos los paso y resulta que no me prenden
los del sino que me prende los que trae la placa que solucion puedo tener?
△ ▽ • Responder • Compartir ›

Luis del Valle Moderador > gabriel raay • hace 5 meses


Con qué placa estás trabajando? Comprueba bien las conexiones porque el código no debería
fallar a no ser que te hayas equivocado al copiarlo.
△ ▽ • Responder • Compartir ›

gabriel raay > Luis del Valle • hace 5 meses


trabajo con arduino uno e copiado todo igual y no me enciende la luz de la plaqueta no del
programador

El 11/10/2017 13:45, "Disqus" <notifications@disqus.net> escribió:


△ ▽ • Responder • Compartir ›

Luis del Valle Moderador > gabriel raay • hace 5 meses

No entiendo que es la luz de la plaqueta o del programador. El código está bien y


tendría que funcionar. Te repito comprueba bien las conexiones de la protoboard.
△ ▽ • Responder • Compartir ›

Edwin José de Paz García • hace 7 meses


Buenas, tengo el circuito exactamente igual a excepción que estoy ocupando pulsadores de dos patas,
incluye en el funcionamiento? no anda para nada... :(
△ ▽ • Responder • Compartir ›

Luis del Valle Moderador > Edwin José de Paz García • hace 7 meses
Hola Edwin, comprueba bien las conexiones.
△ ▽ • Responder • Compartir ›

eefraa loopez • hace 7 meses


Hola que tal, como le puedo hacer para que funcione con 4 semáforos ? Necesito ayuda es para un
proyecto..
△ ▽ • Responder • Compartir ›

https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 18/21
20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente

Luis del Valle Moderador > eefraa loopez • hace 7 meses

Hola Eefraa

Para hacerlo con cuatro semáforos solo tienes que replicar el código anterior 4 veces y encajarlo
todo bien.
△ ▽ • Responder • Compartir ›

Edwin José de Paz García • hace 8 meses


Hola y gracias por compartir, una consulta, como podría hacer para que en lugar de pulsadores pudiera
conectar foto-resistencias y que dependiendo de la oscuridad o de cuantas foto-resistencias hay
ocupadas así sea la intermitencia en lugar de los pulsadores?
△ ▽ • Responder • Compartir ›

Luis del Valle Moderador > Edwin José de Paz García • hace 8 meses
Hola Edwin, no he entendido muy bien lo que pretendes hacer pero te recomiendo que veas este
artículo donde explico las foto-resistencias, te servirá de ayuda https://programarfacil.com/...
△ ▽ • Responder • Compartir ›

TAMBIÉN EN PROGRAMAR FÁCIL CON ARDUINO

Reloj con Arduino, cómo controlar los tiempos #107 Aplicaciones del IoT usos prácticos en el
con un RTC mundo real
57 comentarios • hace un año 2 comentarios • hace un año
Luis del V alle — Hola Arielito, te recomiendo que Luis del V alle — Muchas gracias a ti Alejo :)
utilices interrupciones, tiene toda la pinta de que
no te detecta las pulsaciones por eso. Aquí te
dejo …
#114 Sigfox, Arduino MKRFOX1200 y un #113 Aprender Arduino con Enrique Crespo
medidor de radiación UV (@jecrespom)
13 comentarios • hace 9 meses 4 comentarios • hace 10 meses
Luis del V alle — Muchas gracias Carlos :). Luis del V alle — No entiendo la pregunta,
Espero terminar pronto el proyecto y poderlo Arduino no está pensado para eso. Te
compartir :) recomiendo que eches un vistazo a Raspberry Pi

https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 19/21
20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente

Cayenne myDevices y Arduino para #131 Programar con un Nokia 2690, en


monitorizar sensores del IoT ensamblador o en código máquina, tu
Una de las plataformas que más prometen en el
eliges
panorama actual es Cayenne myDevices. Desde Bienvenido a este nuevo programa del podcast
hace tiempo la llevo siguiendo y poco a poco va La Tecnología Para Todos. Como ya habrás
incorporando … oído en pasados capítulos, de vez en cuando nos
juntamos José …
[+ info...]
[+ info...]
https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 20/21
20/03/18 Múltiples LEDs y pulsadores, proyecto de un semáforo inteligente

C OPYR IGH T © 2 0 1 8 · PROGRAMAR FÁCIL · AVISO LEGAL

https://programarfacil.com/blog/arduino-blog/multiples-leds-pulsadores-semaforo/ 21/21

También podría gustarte