SEMÁFORO
NOCTURNO Volumen 1º - Patente teórica
Juan Luis Pérez-Espinosa Ruíz
Tutores: Francisca Hernández y Santiago Roca
Afiliación: IES Licenciado Francisco Cascales
SEMÁFORO NOCTURNO JUAN LUIS PÉREZ-ESPINOSA RUÍZ
1
Resumen Con el fin de ahorrar energía eléctrica, los sistemas automáticos de control están
evolucionando constantemente, como muestra la situación actual en España,
destacando Murcia con la implementación de semáforos inteligentes, junto con
semáforos y farolas con tecnología led. Además, pese a que se está avanzando en
reducir la contaminación lumínica, esta sigue siendo un grave problema debido a la
abusiva utilización de los leds.
El proyecto Semáforo nocturno se divide en tres volúmenes: Patente teórica,
Maqueta practico-experimental y Proceso de comparación.
Para su creación, las ASN (Aplicación del Semáforo Nocturno) figuran como la base
de este nuevo semáforo; estas son conjunto de funcionalidades que han sido
desarrollas con C++ en el entorno de Arduino. Finalmente, el coste económico se
presenta como un factor favorable al ser este no muy elevado.
Este volumen tiene la finalidad de analizar el estado de la cuestión; estudiar el
funcionamiento de los distintos materiales para la creación de este proyecto, definir el
lenguaje de programación explicar el funcionamiento de los semáforos y utilizar uno de
ellos como base del trabajo; exponer nociones básicas de programación en C++;
desarrollar el código de las ASN; crear el diagrama de flujo de los distintos niveles; y
presupuestar, a grandes rasgos, el precio individual de los materiales necesarios para
la instalación
En sí es una introducción al proyecto del “Semáforo nocturno”. En él, a raíz de los
problemas que conllevan la contaminación lumínica y el derroche de energía eléctrica,
pese a las medidas tomadas por el gobierno de España, se plantea la implementación
de un nuevo modelo de semáforo. Se presentan funciones adicionales, las ASN, a un
semáforo convencional, que resultan ser sencillas de programar y que proporcionan
una mejor eficiencia de este aparato de regulación del tráfico; además de que sus
costes en cuanto a materiales, resultan asequibles.
Índice de contenido Resumen .................................................................................................................. 1
Introducción.............................................................................................................. 2
Objetivos .................................................................................................................. 3
Metodología ............................................................................................................. 3
Desarrollo ................................................................................................................. 4
Conclusiones .......................................................................................................... 10
Bibliografía ............................................................................................................. 10
SEMÁFORO NOCTURNO JUAN LUIS PÉREZ-ESPINOSA RUÍZ
2
Introducción Intentar optimizar el uso de las energías es actualmente necesario para el desarrollo
sostenible; un hecho cada vez más presente en nuestros tiempos debido a la agresiva
acción humana sobre el planeta. Por esta razón, surge este trabajo. Consiste en
desarrollar un semáforo vial sostenible, a través de la incorporación de código a su
funcionamiento, capaz de generar un ahorro considerable de energía eléctrica durante
el periodo nocturno y, a su vez, que logra reducir la contaminación lumínica.
Este proyecto de Investigación engloba todo lo investigado y creado relativo al
volumen 1º - Patente teórica.
El proyecto busca el desarrollo de un sistema de control automático de semáforos
basado en la programación de una placa Arduino y la utilización de sensores de
movimiento, proximidad y fotorresistores para, por una parte, la reducción del consumo
eléctrico y, por otra parte, la reducción de la contaminación lumínica. Además del uso
de paneles fotovoltaicos como fuente de energía en el periodo nocturno.
Su funcionamiento varía en que este semáforo cuenta con un panel fotovoltaico que
recoge energía durante el día para su posterior uso en la noche. Además de que durante
el periodo nocturno el semáforo está con los leds apagados excepto al detectar una
entidad, es decir, una persona o un vehículo, ya que dispone de un sensor de proximidad
y de movimiento para su detección; no obstante, esto no varía en el funcionamiento
interno de este.
Se sabe que los diodos leds en la iluminación de los semáforos consigue reducir el
consumo energético y ahorra 622 toneladas de emisiones de CO2 al año. En España,
se está sustituyendo un total de 100.000 semáforos convencionales A leds. Esto supone
1.000kWh menos por año, y eso se traduce en 85 € menos por año por semáforo.
Además, en el municipio de Murcia, se han Instalado 100 cruces con semáforos
inteligentes y 165 semáforos junto con 6.000 farolas de tecnología led. Por otra parte,
se sabe que la contaminación lumínica crece un 2,2% anualmente debido a que por la
tendencia de los diodos leds muchas localidades han instalado de manera excesiva
fuentes de iluminación led sin consultar previamente cuanta iluminación se necesitaba
en la zona. Esto ha que generado que se altere el metabolismo humano, se dificulte el
tráfico tanto aéreo como marítimo, se degrade el cielo nocturno y se dañe las rutinas de
otros seres vivos como animales y plantas.
Para la elaboración de este volumen se han utilizado los siguientes elementos: una
placa Arduino modelo MKR1000,un sensor de proximidad magnético por ultrasonidos,
un sensor de movimiento PIR, un sensor LDR, un relevador de tipo Reed, un panel solar
fotovoltaico policristalino y un transistor PNP. Además, se han estudiado las pautas a
seguir para establecer la relación entre el lenguaje de programación, que es C++, junto
con la IDE de Arduino, se han determinado algunos factores.
De este modo se consigue la creación de un semáforo que no emita luz y que no
gaste tanta energía durante un periodo nocturno a menos que se aproxime una entidad
hacia él. Y que en sí contribuya a la sostenibilidad y al medioambiente.
SEMÁFORO NOCTURNO JUAN LUIS PÉREZ-ESPINOSA RUÍZ
3
Objetivos Este proyecto busca crear un semáforo que contribuya a la sostenibilidad y al
medioambiente. Y en cuanto a los objetivos relativos a los volúmenes: el volumen 1º
busca desarrollar teóricamente el código del Semáforos (ASN) y presupuestar los
recursos para crear el código físicamente; el objetivo principal del Volumen 2º es
implementar físicamente el código a una maqueta, y perfeccionarlo; y ,finalmente, el
volumen 3º busca analizar la maqueta practica-experimental, desarrollada en el volumen
anterior, para para estudiar la rentabilidad en temas relativos a seguridad y viabilidad
económica y energética, entre otros.
Metodología Para la elaboración teórica de este volumen no se han utilizado ninguna clase de
materiales de manera práctica, ya que serán utilizados en próximos volúmenes. No
obstante, para realizar el Semáforo nocturno se necesita de los siguientes elementos:
Una placa Arduino, que en sí es un microcontrolador, cuyo funcionamiento permite
modificar las propiedades de las entradas y salidas tanto digitales como análogas de la
placa. Hay muchos tipos de placas Arduino que se ajustan a las necesidades de cada
usuario, y para este proyecto se ha utilizado el modelo MKR1000, que es una placa
Arduino básica con Wi-Fi integrado. La funcionalidad de este microcontrolador es crear
sobre sí el código de los sensores y del relevador para así poder operar sobre él, es
decir, se pueden escribir “las instrucciones” de los diversos periféricos.
Un sensor de proximidad por ultrasonidos cuyo modelo es HC-SR04. Es un
transductor que cumple la función detectar objetos y señales que se encuentren a un
cierto rango del elemento sensor. Se ha escogido el sensor por ultrasonidos; su
funcionamiento consiste en emitir un sonido ultrasónico y esperar que el sonido rebote
de algún objeto presente, el eco es captador por el segundo. La finalidad de esta
herramienta, junto al sensor de movimiento, es en sí el método de detección de los
automóviles.
Un sensor de movimiento o sensor de presencia , que es un dispositivo electrónico
compuesto de varias unidades receptoras y emisoras de señales que detectan y
reaccionan ante cualquier tipo de movimiento físico en un área limitada. Concretamente,
se ha escogido el sensor de movimiento pasivo (PIR) modelo 120º Mini ya que es barato,
pequeño, de baja potencia, y fácil de usar. Mas en profundidad, los dispositivos PIR
disponen de un sensor piezo-eléctrico capaz de captar esta radiación y convertirla en
una señal eléctrica y se les denomina pasivos porque no emiten ningún tipo de energía
para funcionar.
Un sensor LDR que es un sensor fotorresistor. Con él se detecta el valor lumínico de
la zona gracias a que el valor de la resistencia (R1) marcará la sensibilidad de las
medidas. Para leerlas se tiene que conectarlo a una entrada analógica de Arduino. Se
ha utilizado el modelo de sensor LDR 50-100K 100MW.
Un panel solar fotovoltaico, que es un dispositivo que aprovecha la energía del sol
para generar o electricidad. Para funcionar, estos paneles absorben la radiación del Sol
gracias al conjunto de cristales de material semiconductor que las componen. El
rendimiento de las células fotovoltaicas compuestas de silicio, que son más comunes,
depende de la estructura tridimensional interna que tengan estas láminas (células de
silicio monocristalino, células de silicio policristalino y células de silicio amorfo. Cabe
SEMÁFORO NOCTURNO JUAN LUIS PÉREZ-ESPINOSA RUÍZ
4
mencionar que el panel fotovoltaico lleva otros componentes indispensables para su
funcionamiento y que se ha utilizado un panel solar de tipo fotovoltaico con estructura
policristalina, más exactamente el modelo de 10W y 36 Células (12V) de la marca Sonali
Un transistor. Este componente por ello puede funcionar tanto como de un interruptor
(electrónica digital) como de un amplificador (electrónica analógica) al regula el flujo de
corriente o de tensión sobre un circuito. Esta herramienta se ha usado como amplificador
de la señal que mandan los sensores hacia el relevador, ya que la energía base no es
suficiente al requerir de voltajes más altos para su funcionamiento. Se ha utilizado el
Transistor ON Semiconductor BS170-D26Z.
Un relevador, cuyo modelo es tipo lengüeta de la marca Gebildet, Este funciona como
un interruptor controlado por un circuito eléctrico en el que por medio de un campo
magnético se acciona un juego de uno o varios contactos que permiten abrir o cerrar
otros circuitos eléctricos independientes Para este proyecto se ha utilizado un relevador
tipo Reed o de lengüeta, ya que su funcionamiento respecto a los otros interruptores es
que se ve activado por la presencia de un campo magnético; cuando es normalmente
abierto los contactos se cierran en la presencia del campo, cuando es normal cerrado
se abren en presencia de un campo magnético. Esta herramienta se ha utilizado como
interruptor en la etapa de potencia del circuito del semáforo.
El lenguaje de programación C++. Este lenguaje está orientado a objetos y toma la
base del lenguaje C, que es un lenguaje de programación de software que utiliza datos
estáticos, es decir, la comprobación de tipificación se realiza durante la compilación, y
no durante la ejecución. Se ha escogido este lenguaje porque el C++ es un lenguaje
versátil, potente y general que mantiene las ventajas del C en cuanto a riqueza de
operadores y expresiones, flexibilidad, concisión y eficiencia; y que, al tener la
tipificación de datos de manera estática, se facilita la comprobación de los fallos en la
realización del código de las ASN en futuros volúmenes; además, en este lenguaje se
han eliminado algunas de las dificultades y limitaciones del C original.
Las principales herramientas necesarias para escribir un programa en C++ son las
siguientes: Un compilador de C++, nociones sobre programación y un editor cualquiera
de texto o un entorno de desarrollo (IDE) ,que en este caso es la interfaz del software
de Arduino.
Desarrollo Los capítulos están orientados a la creación idealizada de las implantaciones
necesarias para poder realizar el proyecto, Semáforo Nocturno. Para crear estas
implementaciones se ha creado y definidos lo que son las ASN, se ha estudiado tanto
los materiales necesarios para su creación, el funcionamiento de los semáforos, el
lenguaje de programación requerido, el modelo básico de código de un semáforo, dos
factores previos a la teorización de las ASN, desarrollar el código de los distintos niveles
además de crear los diagramas de flujo de las ASN y presupuestar a grandes rasgos el
precio al mercado de los componentes.
Las ASN, es decir, las Aplicaciones del Semáforo Nocturno, son el conjunto de
implementaciones que convierten a un semáforo corriente en un semáforo nocturno.
En si su funcionamiento se basa en aislar cierta parte del código, el on/off de las luces
led, para tratar su distinto funcionamiento en el periodo nocturno, en el que se activa
una función denominada como “programa_sensores” en la IDE de Arduino junto con
SEMÁFORO NOCTURNO JUAN LUIS PÉREZ-ESPINOSA RUÍZ
5
C++ en la que las luces leds no se muestren encendidas a menos que los sensores
detecten una entidad, es decir, un vehículo en este proyecto, y manden al revelador un
impulso que active la visualización de la corriente led durante un periodo de tiempo
determinado. Además de que la implementación de la placa solar proporciona energía
limpia, renovable y gratis a la alimentación del semáforo.
Para la programación de C++ en el IDE de Arduino, se ha requerido la
implementación de la librería “SerialClass.h”, que es un conjunto de implementaciones
funcionales codificadas en un lenguaje de programación, que, a través de unos pasos,
crea una conexión entre ambos. Los pasos para cohesionar C++ y la IDE son construir
la comunicación, comprobar la conexión, leer la información que manda Arduino y enviar
información a Arduino. En sí, este proceso se basa en construir un medio por el que las
instrucciones programadas se transfieran desde el lenguaje, que es C++ a la IDE de
Arduino, y viceversa.
Serial* Arduino = new Serial("COM7"); //Nomenclatura para crear conexión con los puertos COM1 - COM9 Serial* Arduino = new Serial("\\\\.\\COM10"); //Nomenclatura para crear conexión con los puertos COM10 en adelante if ( Arduino->IsConnected() ) cout<<"Arduino Conectado"; char lectura[50]; //Crear un buffer de entrada Arduino->ReadData(lectura,50); //Hacer la lectura indicando el buffer de entrada y longitud #define longEnvio 20 char envio[longEnvio]; //Crear un buffer de salida Arduino->ReadData(envio,longEnvio) //Hacer el envío indicando el buffer de salida y longitud
Para poder realizar el código en la IDE de Arduino se han estudiado nociones básicas
de programación relativas a esta interfaz. Las ideas principales para la programación de
las ASN se han hecho sobre la base de que las sentencias se dividen por su manera de
funcionar dentro del programa en 3 grandes grupos: estructurales, es decir, muestran
la forma computacional del código y las operaciones lógicas a ejecutar; variables, que
definen qué tipo y qué características tendrán los valores del código; y las funciones,
que son una serie de operaciones varias agrupadas bajo un comando. Seguidamente
se ha programado el condigo con los comandos Void setup(), que se ejecutarán al iniciar
Arduino y una única vez, y Void loop() con el que se escriben todas las sentencias,
bucles y llamadas a funciones que necesitemos que nuestro Arduino repita
constantemente.
Se ha estudiado también los distintos tipos de semáforos porque la ubicación y
programación de estos se realiza teniendo en cuenta la importancia de las vías y los
volúmenes de vehículos que se mueven por ellas. Este estudio determina que: los más
antiguos, los semáforos tradicionales, programan con tiempos fijos la duración de cada
luz; Los más modernos, llamados semáforos inteligentes de lazo inductivo, determinan
la duración de cada luz de acuerdo al flujo vehicular; los semáforos de se limitan a
SEMÁFORO NOCTURNO JUAN LUIS PÉREZ-ESPINOSA RUÍZ
6
permanecer abiertos todo el tiempo para el paso de vehículos mientras no haya un
peatón que quiera cruzar; y cabe destacar que los sistemas de señalización ferroviaria
funcionan muy distinto al sistema de semaforización. Para este proyecto se ha decidido
escoger un semáforo tradicional como ejemplo, ya que estos son los que cuentan con
el código más sencillo para ilustrar tanto su código y explicación de este, como la
implementación de las ASN sobre él.
Además, se ha tenido en cuenta que se debe establecer un periodo de
funcionamiento de las ASN basado en la existencia de un periodo nocturno y otro diurno
que vienen dados por los valores que se establezcan en el sensor LDR. Sin embargo,
para establecer dichos valores se debe fijar la duración de estos periodos. Se ha
establecido como periodo nocturno para este proyecto la franja horaria comprendida
entre las 21:01 y las 07:00 del huso horario Central European Time (CET) UTC+1 y/o
(CEST) Central European Summer Time UTC+2 (desde Madrid, España), de este modo
se ha obtenido un periodo de 10 horas de duración en el que las ASN estarán
funcionando sobre el semáforo También se ha fijado un tiempo de la visualización led
al ser detectada una entidad por los sensores; por el momento se ha fijado en 15.000
milisegundos, que son15 segundos, y se emplean los milisegundos al ser esta la medida
temporal a la que funciona el reloj interno de la placa Arduino.
Cabe destacar que no hay conexión entre los diferentes niveles ya que sí tan solo se
ejemplifican las funciones que cumplen las herramientas; y que no es el código definitivo
porque podrá sufrir cambios en el próximo volumen no solo por la unión lógica del
código, sino por factores como la incidencia lumínica del alambrado público o los
reajustes de parámetros asociados con los experimentos de la maqueta que se realizará
en el posterior volumen.
Para realizar las ASN se ha utilizado como base el código de un semáforo tradicional
escrito por Fernando Martínez en su artículo “Tutorial Arduino: Ejemplo Semáforo”
publicado en marzo de 2015 en la web OpenWebinars. A modo de resumen el programa
primero declara los tres pines como salidas análogas, que son los leds verde, amarillo
y rojo, y después escribe el orden en el que los leds se encienden y su respectivo tiempo
en encendido y reposo.
Más en profundidad sobre la creación del código, se han llevado a cabo todas las
implementaciones sobre el semáforo de Fernando Martínez, pero afectando tan solo a
la sección dedicada a la visualización led. Para ello se ha optado por separar y aislar
esta parte del código, para trabajar sobre ella.
/* Luces leds (Nivel 1) */ int rojo=1; //definimos el valor del pin para el led rojo int amarillo=2; //definimos el valor del pin para el led amarillo int verde=3; //definimos el valor del pin para el led verde void setup() { pinMode(verde,OUTPUT); //declaramos el pin verde como salida pinMode(amarillo,OUTPUT); //declaramos el pin amarillo como salida pinMode(rojo,OUTPUT); //declaramos el pin rojo como salida } void loop() { digitalWrite(verde,HIGH); //encendemos el led verde delay(2000); //esperamos 2 segundos digitalWrite(verde,LOW); //apagamos el led verde delay(500); //esperamos 0,5 segundos
SEMÁFORO NOCTURNO JUAN LUIS PÉREZ-ESPINOSA RUÍZ
7
digitalWrite(amarillo,HIGH); //encendemos el led amarillo delay(2000); //esperamos 2 segundos digitalWrite(amarillo,LOW); //apagamos el led amarillo delay(500); //esperamos 0,5 segundos
digitalWrite(rojo,HIGH); //encendemos el led rojo delay(2000); //esperamos 2 segundos digitalWrite(rojo,LOW); //apagamos el led rojo delay(500); //esperamos 0,5 segundos }
Tras haber acotado la zona sobre la que se implementaran las ASN, es decir,
establecer el nivel 1, se ha creado el segundo nivel. Este contiene todo el
funcionamiento de las ASN en el periodo nocturno. Se implementará, a través de la
escritura del código necesario en la IDE de Arduino, tanto el mecanismo que active y/o
desactive las ASN basado en el empleo del sensor LDR que pregunte al sistema en
qué periodo del día se encuentre, como el método para mostrar o no las luces leds a
través del requerimiento obligatorio del relevador, el cual mandará la señal si recibe
respuesta de ambos sensores para mostrar los leds.
Arduino con LDR. Activación del periodo nocturno. (Nivel 2.1)
En esta fase de la teorización se ha configurado el sistema de activación y/o
desactivación de las ASN mediante el uso del sensor LDR, que establece en qué periodo
se encuentra el semáforo (diurno o nocturno).
Los sensores. Programa_sensores (Nivel 2.2)
En esta fase si uno de los sensores detecta una entidad enviará una señal al
transistor, que al pasar por el amplificará la señal para que el relevador pueda activar la
visualización de los leds por un periodo de tiempo determinado de 15 segundos. Todo
ello está contenido en la función programa_sensores.
/* Arduino con LDR */
/* Activación del programa de los sensores (Nivel 2.1) */
int pinLDR = A0; // definimos el LDR como entrada análoga
void setup() {
pinMode(pinLDR, INPUT); // establecemos el LDR como entrada
}
void loop() {
int v = analogRead(A0); // lectura del sensor en la entrada A0
if (v < 600) { // si el valor es mayor a 600
digitalWrite(programa_sensores); // activar programa_sensores
}
SEMÁFORO NOCTURNO JUAN LUIS PÉREZ-ESPINOSA RUÍZ
8
/* Los sensores*/ /*Función programa_sensores (Nivel 2.2) */ #include <TimerOne.h> const int pinTransistor1 = 1;// definimos el transistor 1 (led verde) const int pinTransistor2 = 2;// definimos el transistor 2 (led amarillo) const int pinTransistor3 = 3;// definimos el transistor 3 (led rojo) const int pinSensor1 = 4; // definimos el sensor1 (infrarrojos) const int pinSensor2 = 5; // definimos el sensor2 (ultrasonidos) int estado1; // definimos el estado1 int estado2; // definimos el estado2 void setup () { pinMode(pinSensor1, INPUT); // sensor1 como entrada pinMode(pinSensor2, INPUT); // sensor2 como entrada pinMode(pinTransistor1, OUPUT); // transsitor1 como salida digitalWrite(pinTransistor1, LOW); // transsitor1 apagado pinMode(pinTransistor2, OUPUT); // transsitor2 como salida digitalWrite(pinTransistor2, LOW); // transsitor2 apagado pinMode(pinTransistor3, OUPUT); // transsitor3 como salida digitalWrite(pinTransistor3, LOW); // transsitor3 apagado } void loop () { estado1 = digitalRead(pinSensor1); // leemos el estado del sensor1 estado2 = digitalRead(pinSensor2); // leemos el estado del sensor2 if(estado1 == HIGH || estado2 == HIGH) { // si el estado es high digitalWrite (pinTransistor1, HIGH); // encender transistor1 Timer1.initialize(15000); // durante 15 segundos digitalWrite (pinTransistor2, HIGH); // encender transistor2 Timer1.initialize(15000); // durante 15 segundos digitalWrite (pinTransistor3, HIGH); // encender transistor3 Timer1.initialize(15000); // durante 15 segundos } else { // si el estado no es high digitalWrite (pinTransistor1, LOW); // apagar transistor1 digitalWrite (pinTransistor2, LOW); // apagar transistor2 digitalWrite (pinTransistor3, LOW); // apagar transistor3 }
Además, la implementación de un panel permite recolectar energía durante el periodo
diurno para su posterior uso en el periodo nocturno, Y no requiere de la creación de
código. En sí la instalación del panel fotovoltaico es muy sencilla. Esta cuenta con: un
panel fotovoltaico, que genera la energía eléctrica; un regulador, que impide que las
baterías reciban energía cuando alcanzan su carga máxima; una batería, que acumula
la energía que será utilizada durante momentos de baja/nula insolación (periodo
nocturno); y, además, si se quiere utilizar corriente alterna, se debe utilizar un inversor.
SEMÁFORO NOCTURNO JUAN LUIS PÉREZ-ESPINOSA RUÍZ
9
Finalmente, en cuanto a su viabilidad económica, los costes de los materiales son:
Placa Arduino (Arduino MKR1000): 25,80€
Sensor de proximidad magnético (Ultrasonido HC-SR04): 8,00€
Relevador tipo reed (Gebildet Reed Interruptor): 1,20€
Sensor movimiento PIR (Sensor PIR 120º Mini): 5,95€
Panel fotovoltaico (Policristalino 10W 12V):18,24€
Sensor fotoresitor (LDR 50-100K 100MW): 0,30€
Transistor ON Semiconductor BS170-D26Z: 0,41€ x 3 = 1,23€
El total de las cinco piezas suma 60,80€, por lo que el coste individual de cada
semáforo sería de 61€ a precio de mercado.
Finalmente, y a modo de resumen, se ha creado un diagrama de flujo de las ASN:
¿En qué periodo se encuentra el
semáforo?
No implementar
programa_sensores
¿Valor x <600? (periodo nocturno)
Lectura del sensor
LDR
S
í
N
o
¿Detectan una
entidad?
Lectura del sensor2
(ultrasonidos)
Lectura del sensor1
(infrarrojos)
S
í
N
o
No activar
transistor
Activar transistor (leds del
semáforo)
Desactivar la visualización
led
Desactivar los
transistores
Esperar 15 segundos
Implementar
programa_sensores y uso de la
energía recolectada
SEMÁFORO NOCTURNO JUAN LUIS PÉREZ-ESPINOSA RUÍZ
10
Conclusiones A lo largo de la investigación se ha determinado el estado de la cuestión; se ha
estudiado el funcionamiento de los distintos materiales para la creación de este
proyecto, se ha definido el lenguaje de programación se ha explicado el funcionamiento
de los semáforos y utilizado uno de ellos como base del trabajo; se han expuesto
nociones básicas de programación en C++; se ha desarrollado el código de las ASN; se
ha creado el diagrama de flujo de los distintos niveles; y se ha presupuestado, a grandes
rasgos, el precio individual de los materiales necesarios para la instalación.
Tras investigar todo ello, este volumen plantea que la creación de las
implementaciones sugeridas es totalmente factible a nivel de materiales y código escrito
en C++ junto con la IDE de Arduino, además de que en el contexto en el que se
encuentra, sustitución de bombillas tradicionales por leds y crecimiento de la
contaminación lumínica, este proyecto se presenta como una solución para contribuir al
desarrollo sostenible y al medioambiente.
Bibliografía Fernando Martínez, F. M. (2019, 17 octubre). Tutorial Arduino: Ejemplo Semáforo.
Recuperado de https://openwebinars.net/blog/tutorial-arduino-ejemplo-semaforo/
ALBERTO GÓMEZ, A. G. (2019, 18 mayo). La instalación de la tecnología led en
6.000 puntos de luz reducirá a la mitad el consumo en electricidad en Murcia.
Recuperado de https://www.laverdad.es/murcia/ciudad-murcia/instalacion-
tecnologia-6000-20190518005852-ntvo.html
Yúbal FM, Y. F. M. (2018, 3 agosto). Qué es Arduino, cómo funciona y qué puedes
hacer con uno. Recuperado de https://www.xataka.com/basics/que-arduino-como-
funciona-que-puedes-hacer-uno
SICK. (s.f.). Sensores de proximidad magnéticos. Recuperado de
https://www.sick.com/es/es/sensores-de-proximidad/sensores-de-proximidad-
magneticos/c/g201656
Gebildet 10 Piezas 4W 3 Pin Reed Interruptor Normalmente Abierto N/O N/C SPDT,
Interruptor de Lengüeta, Contacto de Lengüeta, Interruptor Magnético de Inducción
(2.5mm x 14mm): Amazon.es [Enlace de compra en Amazon]. (s.f.). Recuperado de
https://www.amazon.es/Gebildet-Interruptor-Normalmente-Magn%C3%A9tico-
Inducci%C3%B3n/dp/B07X3BKXDG/ref=asc_df_B07X3BKXDG/?tag=googshopes-
21
Pack Detector de Movimiento PIR 120º Mini (4 un) [Enlace web de compra]. (s.f.).
Recuperado de https://www.efectoled.com/es/comprar-packs-componentes-
electricos/6040-detector-de-presencia-pir-120-
mini.html?gclid=Cj0KCQiAl5zwBRCTARIsAIrukdM8NYs-
ssk99x9PDkLtnQPnwb8v1K_YOsuqwoMcCYTtvEaijDr_Md8aAlcvEALw_wcB
Estudio de detalle Semáforos. (2020). [Ebook] (5th ed.). Retrieved from
http://www.estepona.es/perfil/docs/109_12%20MANTENIMIENTO%20INFRAESTR
UCTURAS/Prescripciones%20T%C3%A9cnicas/POE%20(anexo%20II)/E_Cap%C
3%ADtulo%206_Semaforos.pdf
MAPS Informática Industrial. (s.f.). Controlador Lazo Inductivo. Recuperado de
http://maps.es/uv/es/LazoInductivo.php
SEMÁFORO NOCTURNO JUAN LUIS PÉREZ-ESPINOSA RUÍZ
11
HogarSense. (s.f.). Componentes instalación fotovoltaica. Recuperado de
https://www.hogarsense.es/energia-solar/componentes-instalacion-fotovoltaica
Instituto para la Diversificación y Ahorro de la Energía. Producto Energético IDAE
Semáforos con tecnología LED Diodos Luminiscentes [PDF] (1st ed.). Madrid.
Recuperado de https://www.idae.es/publicaciones/semaforos-con-tecnologia-led-
diodos-luminiscentes
Roberto Bravo, R. B. (2019, 21 mayo). Mapas de Contaminación Lumínica.
Recuperado de https://astroaficion.com/2019/05/09/los-mejores-mapas-de-
contaminacion-luminica/
ABC.es. (2015, 13 febrero). Los semáforos, el sitio más contaminado. Recuperado
de https://www.abc.es/salud/noticias/20150213/abci-semaforo-contaminacion-
salud-201502131214.html
Siemens crea el semáforo del futuro, capaz de ahorrar un 85% de energía. (2016,
20 abril). Recuperado de https://elperiodicodelaenergia.com/siemens-crea-el-
semaforo-del-futuro-capaz-de-ahorrar-un-85-de-energia/
Marga Jiménez-Fontes, M. J. F. (2009, 15 julio). Instalan en 165 cruces semáforos
que ahorran luz. Recuperado de
https://www.laopiniondemurcia.es/murcia/2009/07/15/instalan-165-cruces-
semaforos-ahorran-luz/182588.html
Marga Jiménez-Fontes, M. J. F. (2015, 2 noviembre). Murcia ya cuenta con más de
100 cruces regulados por semáforos ´inteligentes´. Recuperado de
https://www.laopiniondemurcia.es/murcia/2015/11/02/murcia-cuenta-100-cruces-
regulados/688900.html
PANEL SOLAR SONALI SOLAR POLICRISTALINO 10W 36 CÉLULAS (12V)
[Enlace de compra]. (s.f.). Recuperado de https://greenice.com/es/modulos-
fotovoltaicos/17634-sonali-solar-policristalino-10w-36-celulas-12v-
8435584075168.html?currency=EUR
David Blanchard, D. B. (2013, 6 mayo). Introducción a C++ ¿qué es? Recuperado
de https://blanchardspace.wordpress.com/2013/05/06/introduccion-a-c-que-es/
Geeky Theory. (s.f.). Cómo usar Arduino y C++. Recuperado de
https://geekytheory.com/como-usar-arduino-y-cplusplus
C++ – Aprendiendo Arduino [Publicación en un blog]. (2019, 29 mayo). Recuperado
24 enero, 2020, de https://aprendiendoarduino.wordpress.com/category/c/
Diotronic. (s.f.). FOTORESISTOR LDR 50-100K 100MW . Recuperado de
https://diotronic.com/fotoresistor-ldr-50-100k-100mw_31156/
Naylamp Mechatronics. (s.f.). Sensor Ultrasonido HC-SR04 [Enlace de compra].
Recuperado de https://naylampmechatronics.com/sensores-proximidad/10-sensor-
ultrasonido-hc-sr04.html
Mouse Elecronics. (s.f.). BS170-D26Z. Recuperado de
https://www.mouser.es/ProductDetail/ON-Semiconductor-Fairchild/BS170-
D26Z?qs=0lQeLiL1qyaftwlWM%252BQRMQ%3D%3D