Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Setup Parking Domótico Arduíno - 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:
Setup Parking Domótico Arduíno
Buenos días, buenos días a todos. Tengo aquí donde lo habíamos dejado, habíamos creado el setup,
00:00:00
el loop y habíamos creado las constantes y las variables y habíamos incluido las librerías. Aquí
00:00:13
vamos a hacer las funciones que vamos a necesitar. Las voy a poner aquí una a una. Vamos a necesitar
00:00:20
primero una función a la que nosotros queremos llamar y que nos directamente
00:00:26
nos va a mostrar vamos a poner lo primero
00:00:31
función para mostrar
00:00:35
qué
00:00:42
talla lcd ahí nos va a mostrar pues el
00:00:48
bienvenidos el número de plazas que hay y se tendrá que ir actualizando en función de que
00:00:55
los vehículos vayan saliendo o entrando del propio parking domótico esta la vamos a llamar
00:01:00
en void no no va a devolver ningún valor por eso la ponemos void y la vamos a llamar mostrar
00:01:07
pantalla no va a requerir ningún parámetro de entrada y tendrá su llave de apertura y su
00:01:13
llave de cierre. ¿Veis? Ya la tenemos aquí. Esta será la función de mostrar pantalla.
00:01:22
Ahora luego haremos las líneas que irán dentro de la misma. A continuación, tengo
00:01:29
que generar también una función que lo que me haga es leer el potenciómetro.
00:01:34
Leer el potenciómetro. Esta, lógicamente, se lo llamará continuamente en el loop para
00:01:41
ver si hemos movido la rueda o no para saber si hay que esperar más tiempo o menos tiempo en
00:01:52
en el tiempo de la barrera eso lo vamos a decidir nosotros con el propio potenciómetro
00:02:00
a través de una señal analógica del potenciómetro a este por tanto va a ser una función también voy
00:02:04
y le vamos a llamar y leer potenciómetro
00:02:12
No va a tener ni un parámetro de entrada y le vamos a poner también así.
00:02:17
¿Veis? Ya hemos creado las cabeceras de las dos primeras funciones.
00:02:23
Entonces, perdón, el siguiente método que vamos a tener será,
00:02:31
queremos que una función nos realice también las operaciones de abrir y cerrar la barrera,
00:02:39
De tal manera que cada vez que llamemos a esa función nos abre y nos cierre con un tiempo de lapso entre apertura y cierre la barrera.
00:02:46
Por ello, lo que vamos a hacer es aquí también crear una función para abrir y cerrar la barrera.
00:02:55
Aquí lo vamos a llamar también, va a ser, no va a devolver ningún valor
00:03:07
Le vamos a llamar leer, no, abrir y cerrar barrera
00:03:13
Le ponemos sin parámetros y le cerramos
00:03:24
Y ya tendríamos la tercera función
00:03:28
Y por último vamos a necesitar otra función
00:03:31
que sería la de leer distancia, necesitamos leer la distancia para ver si un vehículo se está yendo
00:03:34
y entonces también va a requerir que se esté leyendo continuamente a través del Void Loop esa función,
00:03:44
se va a llamar constantemente a esa función para ver si ha habido alguna modificación en este sensor,
00:03:51
si se ha llegado a sobrepasar el umbral, quiere decir que ya no está a la distancia adecuada
00:03:57
y que un vehículo se ha ido y por tanto hay que abrir la barrera.
00:04:05
Entonces vamos a poner que esta sería la función para lectura de distancia del vehículo.
00:04:07
esta va a ser también void
00:04:22
no va a devolver ningún valor
00:04:26
no, perdón, esta sería, tiene que devolver un valor
00:04:28
claro, nos tiene que devolver la distancia a la que está el vehículo
00:04:31
con respecto al sensor
00:04:33
por tanto, como esa distancia puede ser
00:04:34
un valor decimal, no tiene por qué ser un valor entero
00:04:37
tenemos que
00:04:39
bueno, en principio
00:04:40
le vamos a poner
00:04:43
un valor de long, no le vamos a poner un valor
00:04:45
decimal, mejor
00:04:47
un valor long, un valor entero grande
00:04:49
y este sería el valor
00:04:51
que nos va a devolver, entonces por tanto
00:04:53
ahora la función ya no es void
00:04:55
sino que nos va a devolver un valor long
00:04:57
y se va a llamar
00:04:59
leer distancia
00:05:00
le cerramos las llaves
00:05:03
y tendríamos
00:05:07
la cuarta
00:05:09
para lectura
00:05:10
veis, he creado
00:05:13
las cuatro funciones, repaso
00:05:15
la función mostrar la pantalla de LCD
00:05:16
llamaremos cuando queramos que se
00:05:18
quiera mostrar una determinada
00:05:21
Por ejemplo, si se ha modificado una plaza porque ha de ser de un vehículo, pues tenemos que llamar a la pantalla para que muestre la actualización de la misma.
00:05:23
Otra función que será leer potenciómetro. Si movemos la ruedecita, tenemos que estar constantemente leyendo el pino analógico de ese potenciómetro para saber si realmente se ha movido o no.
00:05:32
y, por tanto, variar el tiempo de apertura y cierre del servo.
00:05:47
Otra sería abrir y cerrar la barrera.
00:05:55
Lógicamente, cuando un vehículo entra y puede entrar y se pone la luz en verde LED,
00:05:56
estaremos llamándole del loop a esta función para que abra y cierre la barrera.
00:06:01
Y la última sería una de leer distancia para ver constantemente a través del loop
00:06:04
qué sucede con el sensor, si está variando su distancia o si no.
00:06:09
Bien, ya tengo las cuatro funciones y a continuación lo que voy a hacer antes de generar estas cuatro funciones, vamos a generar el voice setup.
00:06:13
Acordaos que el voice setup era un método que se utilizaba para configuración. Aquí, ¿qué vamos a introducir?
00:06:25
Primero, queremos saber, vamos a utilizar también el monitor en serie.
00:06:35
Entonces, lo vamos a iniciar, acordaos, con el begin y a 9.600 baudios.
00:06:39
Vamos a ponerlo 9.600.
00:06:45
También, ahora necesitaremos, vamos a separarlo con respecto al monitor en serie, configurar los pines.
00:06:49
Acordaos que tenemos concretamente cinco pines, entonces hay que configurar esos pines con el pin mode
00:06:57
para saber si son de entrada o de salida
00:07:02
vamos a copiarlo aquí
00:07:05
y vamos a ponerlo en 5
00:07:07
pin mode 2, 3, 4 y 5
00:07:12
bien, configuramos el primer pin que vamos a configurar
00:07:16
es el pin pulsador
00:07:22
y le vamos a decir que es de entrada
00:07:24
¿por qué es de entrada?
00:07:29
porque el pin pulsador, concretamente, habíamos puesto que era el número 7.
00:07:32
Este era, que era el que aparecía aquí.
00:07:40
Entonces, es de entrada porque lo que vamos a leer, este pin digital lo que va a leer
00:07:44
es si recibe un valor de 1 o de 0.
00:07:49
¿Cuándo va a recibir un valor de 0?
00:07:53
Cuando no se apriete el pulsador, porque estos dos terminales y estos dos terminales están separados
00:07:54
Y por tanto no recibirá más que 0 voltios. Cuando le prendemos el pulsador y alimentación quede conectado con los otros dos terminales, por aquí irían 0 voltios porque hay una resistencia con alta impedancia, con el putdown, y aquí lo que recibiría ahora es un high o un 1.
00:08:00
Entonces tenemos que saber la lectura de ese pulsador y por tanto esa lectura además va a ser una lectura de entrada. Por eso le ponemos un pin de entrada.
00:08:20
el siguiente
00:08:31
pin sería el LED
00:08:36
verde
00:08:38
creo que lo hemos puesto, a ver como era
00:08:40
pin LED verde
00:08:42
y le ponemos aquí
00:08:47
el segundo es el
00:08:49
bueno este era el pin pulsador
00:08:52
el LED rojo
00:08:54
lo ponemos aquí
00:08:56
nos queda el pin servo
00:08:58
el pin
00:09:01
no, el eco
00:09:04
el pin eco, perdón
00:09:05
y el pin
00:09:08
trigger
00:09:11
y ahora ponemos aquí el LED
00:09:13
¿cómo sería? ¿de entrada o de salida?
00:09:19
lógicamente sería de
00:09:22
salida
00:09:23
estamos
00:09:24
cuando el LED verde se active
00:09:25
tiene que ser activado a través de este pin
00:09:30
no, del verde sería este
00:09:34
entonces necesita que se le comunique un 1
00:09:36
que lo indiqueremos a través del código
00:09:40
para que se encienda
00:09:42
por lo tanto tiene que ser de salida
00:09:43
tanto el led verde como el led rojo
00:09:45
entonces, tanto el led verde que le hemos puesto output
00:09:47
el rojo también tiene que ser de salida
00:09:51
en cuanto al eco, acordaos
00:09:56
el trigger es el que lanzaba
00:09:58
el eco es el que recibía
00:09:59
entonces lógicamente
00:10:01
si el eco es el que recibe
00:10:04
tiene que ser de entrada
00:10:06
mientras que
00:10:07
si el trigger era el que lanzaba
00:10:10
el ultrasonido tiene que ser
00:10:12
de salida
00:10:14
y ya tendríamos
00:10:14
los cinco pines configurados en el
00:10:17
seta, nos queda
00:10:20
también configurar la palanca
00:10:21
el servo y añadirle
00:10:23
acortados con el
00:10:26
attach a la palanca, attach, unirle el pin al que en el que tiene está
00:10:28
configurado su señal y ese cuál es, es el pin servo, pin servo, nos quedaría a
00:10:36
continuación decirle que el servo se quede en cero grados y por tanto como
00:10:47
por defecto, entonces palanca
00:10:54
punto write
00:10:55
acordaos para
00:10:58
comunicarle un ángulo al servo
00:10:59
se hacía a través del método write
00:11:02
y lo que vamos a hacerle es que
00:11:03
como los
00:11:06
cero grados, perdón
00:11:07
por defecto no son cero grados, son
00:11:09
noventa, que estarían aquí
00:11:12
noventa para que esté el servo
00:11:13
en horizontal
00:11:16
entonces hay que comunicárselo
00:11:17
de partida que se quede en horizontal
00:11:20
o sea, cerrado
00:11:22
la palanca o el servo. Y a continuación, no sé, aquí esto serían parámetros de inicialización de la palanca.
00:11:23
Esto es la configuración de los pines, de los pines, y aquí tenemos ahora la configuración del LCD,
00:11:43
¿Qué nos falta? Configuración del LCD. ¿Qué nos falta en la configuración del LCD? Nos faltaría iniciarlo, LCD, cogemos su objeto y lo iniciamos con init.
00:11:56
Y además necesitamos poner la luz del LED con el LCD, punto back, light y ya estaría.
00:12:12
Si podemos ahora darle a ejecutar, puesto que setup y loop están definidos y veríamos qué pasa.
00:12:28
No pasaría, vamos a ver si nos da algún error y ya nos ha dado algún error.
00:12:35
Vamos a repasar todo el código desde arriba.
00:12:39
Vemos que el servo está bien, wire.h, liquid cristal y 2c también, hemos creado el objeto con el 0.27, bien, servo palanca, vale, hemos creado la constante número de plazas, vale, lo que voy a hacer para, voy a quitar toda la parte de, cortar la parte del setup y vamos a ver si el error estaba ahí y así reducimos.
00:12:43
No, el error no estaba ahí, puesto que, vamos a dejarlo como estaba, estaba previo a el mismo.
00:13:10
Nos está diciendo que, a ver, vamos a repasar, grados 90 está bien, pin servo, pin pulsador, todo esto está bien.
00:13:18
Bien.
00:13:29
Estas tres variables también están bien.
00:13:31
Luego, mostrar pantalla.
00:13:34
Voy a leer potenciómetro.
00:13:36
Abrir y cerrar barrera.
00:13:39
Perfecto.
00:13:40
y leer distancia, también están bien
00:13:41
y luego el body loop
00:13:43
estarían bien
00:13:45
entonces
00:13:46
no veo el error
00:13:48
bien, he encontrado el error
00:13:50
el error estaría aquí, que no he puesto un igual
00:13:55
lo veis, sencillamente
00:13:57
no era nada más que esto
00:13:59
y nos faltaba un igual
00:14:00
entonces vamos a darle a ejecutar
00:14:03
y no, nos sigue saliendo otro error
00:14:05
y también veo que aquí
00:14:07
en pin servo lo hemos puesto
00:14:13
con, lo he puesto con minúsculas, porque la variable se llama pin servo, que estaría
00:14:16
aquí. Vale, le damos a ejecutar a ver si ahora funciona. Y veis, lo primero que nos
00:14:21
hace es configurar en el monitor en serie, lo veis, que no sale todavía nada porque
00:14:28
todavía no le hemos indicado nada, nos sale configurar los pines, la palanca se ha unido
00:14:36
pinservo y le ha puesto 90 grados para que esté ya horizontal y luego ha
00:14:41
inicializado la luz del lcd y inicializa lcd pero no hace mucho más
00:14:46
en el siguiente vídeo veremos la creación de las propias funciones para
00:14:53
que ya esto empiece a tener otra otro funcionamiento que sería pues el
00:14:58
correcto el que queremos que tenga nuestro propio parking domótico
00:15:05
CC por Antarctica Films Argentina
00:15:11
- 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:
- 1
- Fecha:
- 20 de diciembre de 2025 - 17:28
- Visibilidad:
- Público
- Centro:
- IES CIFP a Distancia Ignacio Ellacuría
- Duración:
- 15′ 16″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 347.56 MBytes