Unidad didáctica: Funcionamiento de un parking Descripción: Actividad: Funcionamiento de un parking de vehículos con entrada y salida automática con: Detección del vehiculo entrante Recogida de ticket Apertura de barrera Detección y conteo (suma) del vehiculo a efectos de ocupación Detección del vehiculo saliente Entrega de ticket Apertura de barrera Detección y conteo (resta) del vehiculo a efectos de ocupación Indicador de ocupación. Indicador de Parking Libre o Parking lleno Se trata de realizar una actividad que utilice: El pensamiento computacional para describir los procesos necesarios y crear los algoritmos adecuados. Scratch como herramienta de simulación de procesos a través de la interacción del usuario. Construir un parking a efectos didácticos es una tarea difícil, así que solo es posible simular su funcionamiento para comprobar que los diferentes sistemas implementados están actuando de manera correcta. Scratch, como lenguaje estructurado y visual, es una herramienta que permite dotar de animación a este tipo de actividad, a la vez que permite actuar sobre diferentes elementos para provocar cambios en la funcionalidad Objetivos docentes Conocer la construcción y funcionamiento de un parking de vehículos automatizados, así como los diferentes elementos que los forman. Construcción y funcionamiento de un bucle de inducción (detección de vehículos) Funcionamiento de una máquina para la entrega o recogida de tickets. Construcción y funcionamiento de una barrera automática. Funcionamiento de un visualizador con matriz de diodos leds. Identificar las etapas de funcionamiento de cada proceso. Identificar los problemas de funcionamiento en cada una de las etapas. Análisis de los problemas, para delimitar fallos en los elementos o programación de los mismos. Corrección de los problemas in situ si es posible, o por medio de servicio técnico específico. 1
Detalle de la actividad En la construcción y el funcionamiento de un parking, intervienen una serie de elementos, que una vez instalados adecuadamente, interactúan entre sí para permitir la entrada y salida de vehículos, así como realizar un conteo de los mismos. El parking tendrá una capacidad de 10 vehículos como máximo, para poder comprobar su funcionamiento fácilmente. Una vez que el parking se llena es necesario delimitar los procesos que adviertan a los nuevos vehículos de esta incidencia y permanezcan a la espera. En cuanto un vehiculo abandona el parking, este ya no estará lleno, y se podrá emitir un nuevo ticket, si es que había algún vehículo en espera. Gráfico de detalle En la zona de la entrada se procederá a realizar una doble detección del vehiculo mediante bucles inductivos colocados en el suelo que realizarán la siguiente funcionalidad: Detección del vehiculo que llega para emitir el correspondiente ticket una vez que el conductor toca en el pulsador. Una vez recogido el ticket, se procederá a abrir la barrera correspondiente. Detección del vehículo, una vez que ha superado la barrea y está dentro del parking. De esta manera si el vehiculo queda parado en la barrera, esta no se cerrará ni se emitirá un nuevo ticket si hay vehículos detrás. También se incrementará un contador de vehículos a efectos de cómputo de ocupación. En la zona de salida también se procederá a realizar una doble detección del vehiculo con la siguiente funcionalidad: Detección del vehiculo que quiere salir para aceptar el ticket como elemento de salida. Se abrirá la barrera de salida. Detección del vehiculo, una vez que ha superado la barrera y está fuera del parking. Si el vehiculo queda parado en la barrera, esta segunda detección impedirá que la barrera vuelva a bajar. El 2
contador de vehículos se decrementara en una unidad. Un visualizador mostrara la ocupación del parking solo a efectos didácticos. Otro visualizador mostrará los mensajes de Parking Libre o Parking Lleno. Los alumnos cuentan con conocimientos previos en el manejo de automatismos y la programación de autómatas programables. Sin embargo es necesario dar a conocer el lenguaje de Scratch entre los alumnos para que puedan abordar la construcción de programa de simulación. Con Scratch se pretende ilustrar o simular el funcionamiento en la pantalla de un ordenador o de un proyector, así como observar los procesos y subprocesos de los elementos que forman el parking, y como se comunican entre ellos mediante mensajes. Planificación temporal Paso 1: Representación gráfica mediante un programa (Gimp o similar) de todos los elementos del parking. Paso 2: Representación gráfica de los diferentes procesos subprocesos, así como la interacción entre ellos. Paso 3: Búsqueda de los elementos gráficos necesarios par a implementar en Scratch o en su defecto diseño de los mismos con GIMP. Paso 4: Implementar en Scratch todos los fondos, sonidos y sprites necesarios. Paso 5: Diseño de los programas asociados a cada elemento y de los mensajes que se van a pasar. Paso 6: Creación de los programas necesarios mediante elementos de Scratch. Paso 7: Prueba de funcionamiento de todos los elementos. Paso 8: Detección y corrección de aquellos procesos que no funcionan o no lo hacen de acuerdo a lo esperado. Mecanismos de evaluación Haber creado los diseños gráficos necesarios que muestren en bloques el funcionamiento del parking. Haber recopilado todos los elementos gráficos necesarios para la simulación. Haber implementado los elementos dentro de Scratch y realizado la programación. Prueba de funcionamiento. Valoración de la calidad de los procesos diseñados con Scratch, atendiendo a criterios de funcionalidad, sencillez o re-usabilidad. Tiempo empleado en la consecución de los objetivos 3
propuestos. Reflexión La consecución de los objetivos vendrá dada por la capacidad de Scratch para implementar una simulación a partir de unos principios teóricos basados en el pensamiento computacional. Scratch presenta una serie de limitaciones que quizás imposibiliten la realización de este tipo de actividades, pero es una herramienta interesante que quizás pueda ayudar a tomar contacto con procesos industriales en el ámbito de la Educación Secundaria y los Ciclos Formativos. Solamente analizando todo el proceso de creación y ejecución se podrá determinar la idoneidad de este lenguaje aplicado a la simulación de procesos industriales. Opcionalmente es posible publicar todo el trabajo en un blog, con enlaces al programa de Scratch y poderlo compartir con otros grupos de alumnos/as, que puedan realizar aportaciones o mejoras al mismo. 4
Ejecución del programa: Simulación funcionamiento Parking Enlace: http://scratch.mit.edu/projects/39445454/#player Conclusiones Tras la realización del programa que simula el funcionamiento del un parking, Scratch se ha demostrado cómo una herramienta potente para representar procesos de cualquier tipo que ayuden a comprender de manera gráfica cualquier trabajo planteado. Pese a que la aplicación estaba pensaba en un ámbito de Ciclos Formativos, veo que también es posible aplicarla en la asignatura de Tecnología, he incluso en otras asignaturas (matemáticas o física) dentro de la Secundaria. No tengo experiencia en Primaria, así que no puedo opinar. Scratch es potente, aunque algunos procesos se simplificarían, si contase con la capacidad de tener variables de lista de dos dimensiones. El apartado de envío de mensajes entre elementos, se muestra como el recurso más potente a la hora de trabajar con Scratch, ya que permite estructurar detalladamente cada proceso en cada elemento. Otros datos Distribución del parking La parte más relevante ha sido la asignación aleatoria tanto del vehículo seleccionado, cómo de la plaza de parking de entre las que se encontraban libres. En una primera versión del programa, la asignación se realizaba empezando siempre por el vehículo_1, el cual era dirigido a plaza parking_1 siempre. Al disponer de solo 10 vehículos, el funcionamiento siempre era el mismo. http://scratch.mit.edu/projects/38591810/#player 5
En la solución definitiva, objeto de este trabajo, la función aleatoria hace que solo 10 de los 12 vehículos puedan aparcar, y que no siempre sean los mismos, o en la misma plaza. La asignación y el control se han realizado mediante varias variables de lista, que llevaban el control del vehículo seleccionado y la plaza de parking que se le asignaba: estado_coche: Tiene 12 registros uno por cada coche que toman el valor: 0->cuando el vehículo esta fuera del parking. 1->cuando es seleccionado. 2->cuando está en marcha dentro del parking en dirección a la plaza asignada. 3->cuando está aparcado en su plaza. De esta manera solo es posible hacer clic en un vehículo para que salga, si previamente está aparcado (valor 3). plaza_coche: Tiene 12 registros, uno por cada coche que toman el valor: 0->Si el vehículo no tiene asignada plaza. xx->número de plaza asignada. plaza_ocupada: Tiene 10 registros, uno por cada plaza que toman el valor: 0->Si la plaza está libre. xx->número del vehículo que va a esa plaza. Una vez que el vehículo ha salido del parking, todos los valores de los registros asociados al vehículo y la plaza del parking se ponen a 0. Entiendo que esta parte de asignaciones aleatorias y relaciones entre registros es la que va a resultar más difícil de comprender por parte de los alumnos. El resto son desplazamientos y mensajes entre objetos que tienen una explicación y funcionamiento sencillos. F.J. del Campo (Dic-2014) 6