Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Loop Parking Domótico Arduíno. Vídeo 2 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Loop Parking Domótico Arduíno. Vídeo 2
el problema que tenemos es que todo este código que hemos efectuado es para la entrada pero no
00:00:00
hemos configurado la salida vamos a ponerlo aquí ya ves como comentario esto sería la entrada
00:00:09
pero me queda configurar la salida claro tenemos que tener otro otra parte en el loop en el que
00:00:19
establezca cuando un vehículo sale y eso todavía no lo hemos hecho no hemos implicado ni al sensor
00:00:26
de distancia ni hemos aumentado el número de plazas cuando un vehículo sale sólo hemos hecho
00:00:32
la entrada entonces vamos a hacer ahora la salida y la vamos a hacer aquí después del if y vamos a
00:00:36
poner la salida vamos a poner aquí salida bien qué es lo que tenemos que hacer en la salida
00:00:48
Tenemos que hacer también un condicional. Tenemos que comprobar si los centímetros son menor, por ejemplo, de 30 centímetros, es que el vehículo ya no está cerca del sensor y por tanto es que se ha ido.
00:00:58
Y además tenemos que comprobar, bueno, vamos a poner aquí las llaves de apertura y de cierre y ponemos la condición.
00:01:10
Y ponemos, si centímetros es menor que 30 y además, acordaos que esto es un i, el número de plazas es menor que el máximo de plazas, max plazas, entonces ¿qué sucederá?
00:01:16
¿Por qué? Porque queremos ahora que incremente el número de plazas porque un vehículo se está yendo
00:01:36
Comprobamos si la distancia la cumple, si es que se ha ido
00:01:44
Y comprobamos que el número de plazas no sea el máximo
00:01:49
Porque ahora lo que vamos a hacer es incrementar el número de plazas
00:01:52
Si el número de plazas es el máximo no podemos incrementarlo
00:01:55
Porque si son 5 plazas y se va el vehículo y hay 5 plazas no podemos incrementar las 6
00:02:00
Porque son 5 las que tiene el parking
00:02:06
Entonces, hacemos las comprobaciones, pues tendremos que hacer ahora igual los LED. Aquí tendremos que el LED verde tendremos que se activará y el rojo se apagará.
00:02:08
¿Qué más tendremos? Además tendremos que abrir de nuevo la barrera, tenemos que llamar a la función abrir y cerrar barrera, que era esta. ¿Para qué? Para que el vehículo se pueda ir.
00:02:31
Lo ponemos aquí. ¿Y qué nos quedaría? Aumentar el número de plazas. Si un vehículo se va, pues tendremos que se aumenta en una plaza el número de plazas.
00:02:44
A continuación hay que actualizar la pantalla porque si hemos aumentado un número de plazas hay que actualizar la pantalla con la plaza incrementada. Entonces habrá que llamar a la función mostrar pantalla y esperar un tiempo para que le dé tiempo a actualizar. Vamos a ponerle de 800 milisegundos.
00:02:58
Y ya estaría. Eso sería el condicional para la salida. ¿Qué más nos quedaría?
00:03:23
Pues ahora nos quedaría aquí añadir digital, nos quedaría el digital, tal, right, y digital, tal, right, que serían LED verde, vamos a ponerlo aquí, y LED rojo.
00:03:32
Esto lo que va a hacer es invertir otra vez los valores. Entonces, ahora, ¿qué pondremos? En el led verde, o sea, el sáfaro verde, pondremos número plazas mayor que cero.
00:04:13
Y ahora explico esto. En el led rojo pondremos número de plazas igual a cero.
00:04:31
Si veis, está añadiendo aquí dos condiciones. Le está diciendo, oye, enciéndeme luz verde, el semáforo en verde o el led que hace de semáforo, me enciendes el semáforo en verde si el número de plazas es mayor que cero.
00:04:42
Con esto nos está diciendo que si el número de plazas es mayor que 0, será un 1.
00:05:02
Si el número de plazas es 0 o menor que 0, será un 0.
00:05:08
Eso que hace al generar un 1 o un 0, hará que o lo encienda o lo apague.
00:05:14
Si hay plazas, lo encenderá. Si no hay plazas, no lo encenderá.
00:05:22
y el rojo hará
00:05:25
solo que se encienda cuando el número de plazas sea igual a 0
00:05:29
cuando el número de plazas sea igual a 0 esto recibirá un 1 y por tanto entenderá el red rojo
00:05:33
si no es así estará apagado porque recibirá un 0
00:05:37
y ya tendríamos, esto sería el
00:05:42
hemos puesto el loop, tenemos la llave de cierre
00:05:45
que no nos habíamos equivocado y tendríamos todo el código del, vamos a ver si funciona
00:05:49
y se enciende, llegamos al, vamos a poner esto así y le damos al pulsador, al darle al pulsador nos va a decir que bienvenido placer 2, está abierto el, bueno vamos a detenerlo para que se vea, que no lo he visto, vale, al darle, veis, nos abre la, y nos, el vehículo entra en el parking,
00:05:53
Lo actualiza y lo que hace es que disminuye las plazas en una. Vamos a hacerlo otra vez. Vamos a poner el potenciómetro un poquito menos para que veamos que el tiempo que tarda la barrera es menos. Le damos otra vez y veis que tarda un poquito menos.
00:06:24
Quedaría una. Vamos a comprobar que se queda el parking y nos sale el parking lleno.
00:06:46
¿Cuándo se queda sin plazas?
00:06:52
Nos queda parking lleno y aunque demos al pulsador, nos quedaría una plaza.
00:06:53
¿Veis? Aquí tenemos un error.
00:07:00
Ahora lo vamos a subsanar.
00:07:03
En cuanto al sensor de distancia, vamos a ver si se comprueba que funciona.
00:07:05
¿Veis? Sí.
00:07:09
Sale un vehículo, cierra y pasa por parking lleno porque ha llegado un valor de menos uno.
00:07:11
Pero veis que funciona. Le hacemos otra vez y quedaría las plazas en una. Todo funciona. Lo único que no nos funciona es que llega un valor negativo. No se para cuando está lleno.
00:07:17
Y para eso, vamos a verlo, vamos a detenerlo y vamos a ver el código para subsanar eso.
00:07:36
Bien, concretamente, el problema lo tenemos en la entrada.
00:07:43
Tiene que comprobar que el parking está lleno.
00:07:50
Y aunque demos al pulsador, si está el parking lleno, aunque demos al pulsador, no tendría que llamar a la función, no tendría que realizar todo esto.
00:07:58
El problema que hemos tenido es que cuando estaba totalmente lleno, le hemos dado al pulsador y aún así nos ha descendido en una plaza, quedando un valor negativo.
00:08:12
Pero aquí no debería poder entrar. Entonces, aquí tenemos que si está lleno haga esto, pero que si no, descienda en una unidad. Y lo que no sé es por qué ha entrado en esta parte del condicional.
00:08:22
Vamos a verlo otra vez. Vamos a ejecutarlo y vamos a darle... Luego tenemos otro problema en el que debería aparecernos nada más llegar la pantalla con... quedaría más vistoso que apareciera con el número de plazas que tiene nada más llegar, sin necesidad de dar al pulsador.
00:08:40
vamos a ir descendiendo
00:09:06
otra
00:09:09
y ahora con el parking lleno
00:09:13
veis está en rojo, yo no tendría
00:09:19
la posibilidad de
00:09:21
aún dando al botón que esto
00:09:23
se activara y veis
00:09:25
se activa, vamos a eliminar eso
00:09:26
y lo vamos a modificar
00:09:28
y acabamos modificando que el LED
00:09:30
aparezca de partida nada más entrar
00:09:33
bueno eso lo podemos hacer ahora
00:09:35
llamando
00:09:36
claro en el
00:09:38
Eso lo podemos hacer llamando a la función mostrar pantalla.
00:09:41
A ver si lo voy a poner en el setup para que de inicio aparezca ya la pantalla con el bienvenidos.
00:09:53
Vamos a ver si lo hace.
00:10:05
Y veis, ya lo hemos mejorado.
00:10:08
Hemos puesto en el setup, en la inicialización, que nos aparezca para que esté de inicio ese bienvenidos plazas 3. Bien, ahora nos queda solucionar el tema de que no puede, yo aunque dé al botón, si el parking está lleno, no tiene por qué abrir la barrera ni tampoco descender el número de plazas.
00:10:10
Vamos a ver qué es lo que sucede, porque aquí dice abrir y cerrar barrera, pero solo podría entrar, veis aquí, está dando al pulsador, cuando le damos al pulsador y es un valor de 1, entra dentro, entonces si está lleno, hace esto, pero si no, pero lo que no sé es por qué, claro, si está lleno, lleno tendría que tener un valor de 1, entonces, y lleno no lo hemos actualizado.
00:10:32
lleno de inicio tiene un valor de 0
00:11:06
y lleno tendría
00:11:10
cuando es lleno
00:11:12
tendría que cambiar a un valor de 1
00:11:13
cuando está lleno
00:11:16
entonces nos falta aquí
00:11:16
que cuando
00:11:19
claro aquí es posible
00:11:20
que no entre nunca aquí
00:11:26
vale, entonces le vamos a poner que
00:11:28
cuando sería
00:11:32
si damos el pulsador comprobación
00:11:36
si el parking está lleno
00:11:38
Si está lleno, o sea, si tiene un valor de 1, lee esto.
00:11:39
Si no, si tiene un valor de 0, leerá lo otro.
00:11:46
Claro, lleno nunca acaba teniendo un valor de 1.
00:11:52
Cuando sucede que es lleno, tenemos que comprobarlo.
00:11:59
En algún lugar hay que comprobar que ya no hay plazas, o sea, que el número de plazas es igual a 0.
00:12:01
Eso, número de plazas, tendríamos que tenerlo puesto aquí. A ver, leer distancia, abrir y cerrar barreras. Entonces habría que poner aquí, si está lleno, o sea, si es un valor de 1, lo que estamos viendo es que aquí nunca entra.
00:12:09
Fijaos, voy a meter aquí un serial, serial.print y le pongo no entro, perdón, entro, entro en el if y veréis que por más que le damos al programa en el monitor en serie, vamos a darle,
00:12:36
Por más que, vamos a poner el marido en serie y veréis que no va a aparecer el valor de, fijaos, voy quitando plazas, ahora mismo está entrando en estas líneas, puesto que no está lleno, sigo, y ahora cuando ya está lleno, debería entrar aquí, no aquí, y veis, no entra porque lleno nunca tiene un valor de 1, siempre tiene un valor de 0, no lo hemos hecho en el programa, veis, le doy otra vez,
00:13:08
Y veis, no se imprime esa línea. Y, claro, hace que se disminuya el valor. Por lo tanto, hay que modificar eso. ¿Cómo lo vamos a hacer?
00:13:47
Claro, habrá que hacerlo con una comprobación del número de plazas. Entonces, aquí, que está disminuyendo el número de plazas, lo que tenemos que hacer es poner otro condicional y poner si número de plazas es mayor de cero.
00:13:57
Entonces, ¿qué disminuiría el número de plazas? Pero si no, ¿qué es lo que haríamos? No lo disminuye y además ponemos lleno con un valor de 1.
00:14:26
Lo mismo habrá que hacer en la salida. Cuando un vehículo sale y de nuevo le sume aquí, como vemos aquí, número de plazas, cuando se libere y pongamos que número de plazas es más uno, tendremos que actualizar lleno y tendremos que poner lleno igual a cero.
00:14:53
Vamos a ver si ahora funciona
00:15:17
Y vamos a darle al pulsador
00:15:20
Disminuir en una plaza
00:15:26
Le damos otra vez
00:15:32
Le damos otra vez
00:15:34
Y ahora el problema teníamos cuando dábamos cuando el parque estaba lleno
00:15:38
Si yo doy al pulsador
00:15:45
No lo actualiza, pero nos está abriendo la barrera
00:15:46
Vamos a ver si luego cuando un vehículo se va
00:15:54
Se vuelve a actualizar la barrera
00:15:58
Sí, estaría bien
00:16:02
Lo único que nos ha quedado de depurar el código sería evitar que cuando lleno es igual a 1 no se abra la barrera.
00:16:03
Pero veis, como he puesto el método abrir y cerrar barrera delante de esta comprobación, primero me abre y cierra la barrera y luego ya me pone el lleno igual a 1.
00:16:17
Entonces, si cambiamos la posición de la propia línea, la cortamos y la ponemos después. La ponemos aquí. Solo abrirá y cerrará la barrera mientras haya plazas y mientras estén entrando vehículos. Pero cuando esté lleno no va a abrir la barrera.
00:16:27
Vamos a comprobarlo ahora y ya con esto acabaríamos él. Vamos a dejar esto así y vamos a darle a abrir, una plaza, dos, la tercera y ahora tendría que aparecer el parking lleno y luz roja. Perfecto.
00:16:51
como no se va ningún vehículo
00:17:18
estaría el parking lleno
00:17:22
si le doy a abrir
00:17:23
ya no me abre la barrera
00:17:25
¿por qué? porque yo no puedo entrar
00:17:26
ahora si se va un vehículo
00:17:30
sale
00:17:31
actualiza de nuevo
00:17:32
y ya tenemos una plaza
00:17:35
ahora podríamos dar porque ya está en verde
00:17:37
le damos y ya funciona perfectamente
00:17:39
- Idioma/s:
- Materias:
- Informática
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado básico
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado medio
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado superior
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado básico
- Autor/es:
- Francisco José González Constanza
- Subido por:
- Francisco J. G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 2
- Fecha:
- 20 de diciembre de 2025 - 17:30
- Visibilidad:
- Público
- Centro:
- IES CIFP a Distancia Ignacio Ellacuría
- Duración:
- 17′ 55″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 441.70 MBytes