Subido por Carlos

Tema robótica pptt

Anuncio
TEMA 1. PROGRAMAR. ALGORITMOS Y
MUCHO MÁS
Máster TIC
PROFESOR: VICENTE LUQUE
CENTENO
[email protected]
ÍNDICE
1. INTRODUCCIÓN
2. ALGORITMOS
3. VARIABLES
4. ESTRUCTURAS DE CONTROL
5. FUNCIONES
6. LENGUAJES DE PROGRAMACIÓN
¿PROGRAMAR SOLO
ES UN ORDENADOR?
La programación es una herramienta, no un fin. No
es enseñar programación para convertirles en los
mejores programadores del mundo; igual que no se
enseña a escribir para que los alumnos y alumnas
sean escritores, enseñamos programación porque
nos proporciona un conjunto de valores extra como
el pensamiento computacional, matemático y
científico. Es una herramienta para llegar a ello, no
un fin.
1. INTRODUCCIÓN
En la actualidad se trata de potenciar la enseñanza de la programación informática en el aula cada vez más, pero como
decimos al inicio de este tema, su utilidad no se centra en el fin sino en las herramientas que nos ofrece como docentes.
Como bien se recoge en un artículo publicado en la página del Instituto Nacional de Tecnologías Educativas y
Formación del Profesorado, INTEF, en un futuro gobernado por el uso de aplicaciones, solo utilizarlas y no programarlas,
o al menos no entender de forma leve su forma de creación, nos condenará a ser solo espectadores pasivos de la
tecnología.
La idea de enseñar a programar desde edad temprana, se remonta muchas décadas atrás, ya en los años 80, muchos
controles escolares, sobre todo en Estados Unidos, comenzaron a introducir la programación en el aula, a través del
programación Logo. Este lenguaje es creado crea en 1967 por Seymor Papert, Wally Feurzeig, Cynthia Solomon y Danny
Bobrow, el cual estaba diseñado con fines didácticos, que permitía aprender de manera más eficaz determinadas materias y
desarrollar una serie de habilidades como el pensamientocomputacional.
1. INTRODUCCIÓN.
VENTAJAS
Algunas de las ventajas y beneficios que se obtienen del aprendizaje de la programación son:
•Mejores resultados en pruebas matemáticas, de razonamiento y de
resolución de problemas
•Mayor capacidad de atención
•Más autonomía y un mayor placer por el descubrimiento de nuevos
conceptos;
•Desarrollan en mayor grado habilidades cognitivas y socio-emocionales
•Demuestran menos estereotipos de género en relación a las carreras
STEM (Ciencias, Tecnología, Ingeniería y Matemáticas) y menos reticencias
para continuar sus estudios y profesiones en estas disciplinas.
2. ALGORITMOS
Un algoritmo consiste en una secuencia de pasos e instrucciones cuyo objetivo principal es dar
solución a un problema o llevar a cabo una tarea.
•Realizable. Es decir, todo algoritmo debe concluir después de ejecutar una cantidad finita de instrucciones o pasos, se
debe obtener un resultado final, sea satisfactorio o no. Diremos que es irrealizable si no se concluye la ejecución de pasos
o estos son infinitos.
•Comprensible. Las instrucciones y operaciones codificadas deben ser comprensibles, en este caso por el ordenador, para
que la ejecución pueda llevarse a cabo.
•Preciso. El algoritmo debe ser preciso, es decir, antes una misma entrada y mismo proceso de ejecución, el resultado
debe ser siempre el mismo.
La resolución de problemas se puede dividir en tres grandes bloques generales: Análisis del problema, diseño o desarrollo del
algoritmo y resolución del algoritmo en el ordenador, estas a su vez se subdividirán en otras, nos vamos a centrar en los tres
grandes bloques principales:
3. VARIABLES
Las variables son secciones reservadas en memoria para almacenar datos los cuales pueden cambiar durante la ejecución del
programa. Las variables no son de un tipo único, sino que existen varios tipos de datos informáticos, en función de los cuales queda
determinado el valor que puede tomar una variables, así como las operaciones que se pueden realizar sobre ellas. Los tipos de datos
más comunes son: enteros, carácter, cadenas de caracteres, booleanos …
Es importante, conocer la diferencia que existe entre variables y constantes, puesto el uso y aplicación de estas es diferentes:
•Constantes. Se trata de elementos que no varían durante la ejecución del programa. Existe la posibilidad de asignarles
un nombre, generalmente al principio del algoritmo, de forma que su denominación y su localización a lo largo de la
ejecución sea más cómoda. Dependiendo del tipo de datos al que le asignemos un nombre, podemos encontrarnos con
constantes numéricas, tanto enteras como reales, alfabéticas o alfanuméricas. Ejemplo: pi = 3.1416
•Variable. Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la
ejecución de un proceso, su contenido puede cambiar durante la ejecución del programa. Para poder reconocer una
variable en la memoria de la computadora, es necesario darle un nombre con el cual podamos identificarla dentro de un
algoritmo.
4. ESTRUCTURAS
DE CONTROL
if-else
Verdadero
Falso
CONDICIÓN
Otros de los aspectos importantes cuando
hablamos de programación son las las
estructuras de control, estas permiten
modificar el flujo de ejecución de las
instrucciones de un programa, es decir, permiten
realizar una serie de operaciones que
incrementan las posibilidades de un programa,
sino existieran el código sería completamente
lineas. Todos los lenguajes de programación
presentan sus estructuras de control, similares
entre ellas, añadiendo particularidades de
funcionamiento en función del lenguaje
escogido. De forma general, las estructuras de
control permiten
ACCIÓN 1
ACCIÓN 2
do-while
CONDICIÓN
Verdadero
OPERACIONES
Falso
4. ESTRUCTURAS
DE CONTROL
do-until
for
CONDICIÓN
Verdadero
Valor inicial variable
Falso
Falso
OPERACIONES
Valor incrementado o
decrementado
Si valor mayor o menor que límite
establecido
Verdadero
ACCIONES
5. FUNCIONES
Inicio
Cuando hablamos de funciones en programación,
estamos refiriéndonos a una subrutina o
subprograma, que forma parte del programa
principal.
Cada una de estas funciones recibe un nombre
que la identifica entre el resto de subrutinas, y que
permite que sea invocada desde cualquier parte del
código total del programa. Opcionalmente puede
recibir valores, se ejecuta y puede devolver un
valor.
La existencia de las funciones permite obtener un
programa total más ordenado.
Declaración de variables.
int variable=4
Verdadero
CONDICIÓN
Si variable es iguala 4
Falso
ACCIÓN 2 IMPRIME
no soy 4
ACCIÓN 1
IMPRIME soy 4
Fin
6. LENGUAJES
Un lenguaje de programación es un conjunto de instrucciones y reglas propio de cada lenguaje,
expresadas de forma algorítmica, que han de ser entendidas y ejecutadas por un ordenados, los
lenguajes se emplean para llevara a cabo el diseño y posterior desarrollo de programas.
Programación por bloques
La programación “tradicional” se realiza tecleando el código compuesto por las instrucciones
propias de cada lenguaje de programación, a través de las herramientas diseñadas para tal fin, los
entornos de desarrollo, por ejemplo, algunos de los más conocidos con Elipse o Netbeans.
En cambio, en la programación por bloques implica se utilizan piezas prediseñadas, encajando
unas con otras, como si de un puzzle se tratara, generando una secuencia de acciones que
describen el algoritmo a seguir para solucionar el problema a la que la programación está dando
solución. Algunas herramientas interesantes para probar la programación por bloques se detallan a
continuación.
6. LENGUAJES
• Coding for Carrots. Creado por Google, se trata de un
juego basado en la correcta utilización de secuencias de
programación, para conseguir como objetivo final que el
protagonista, un conejo, alcance su objetivo final, la
zanahoria. Esta aplicación puede utilizarse en las primeras
etapas, no aparece código como tal en forma de bloques,
sino que se utilizan elementos visuales, tales como flechas.
• Lightbot. Similar a la anterior, se lleva a cabo una
programación por bloques, donde cada uno de estos
aparece representación de forma gráfico a través de
flechas, giros y otras acciones, esta vez protagonizadas por
un robot. Constituyen una buena forma para comenzar a
programar, puesto que ayuda a la comprensión de la
creación de algoritmos complejos a través de secuencias
de acciones concretas.
6. LENGUAJES
• La
academia
de
la
tortuga.
Esta
plataforma
https://turtleacademy.com permite comenzar el aprendizaje de
la programación a través de comandos, introducidos a través
del teclado, se trata de instrucciones sencillas, normalmente
formadas por un verbo (que describe la acción a realizar:
adelante, girar, borrar,…) y un valor (una variable que
determina el grado de giro o la distancia que se debe
desplazar). El protagonista en esta ocasión e una tortuga. Esta
plataforma permite comenzar a familiarizarse con la
programación escrita, y utiliza el lenguaje de programación
Logo.
• code.org. Se trata de una organización sin ánimo de lucro, cuyo
objetivo principal es fomentar la programación. Esta plataforma
recoge multitud de herramientas, desde aplicaciones ya
desarrolladas para ponerlas en práctica en el aula, recursos
para docentes, vídeos prácticos sobre la programación en
bloques, actividades de revisión sobre los vídeos vistos…en
resumen, una gran plataforma para comenzar a adentrarnos en
el mundo de la programación.
CAMPUS MADRID - VILLAFRANCA
Castillo de Alarcón, 49
Urb. Villafranca del Castillo
28692 Madrid
ESCUELA DE POSGRADO UCJC
Calle de Almagro, 5
28010 Madrid
WWW.UCJC.EDU
EMAIL: [email protected]
TEL: +34 91 815 31 31
TEMA 2. PROGRAMACIÓN POR
BLOQUES
Máster TIC
PROFESOR: VICENTE LUQUE
CENTENO
[email protected]
ÍNDICE
1. INTRODUCCIÓN
2.METODOLOGÍAS DE APRENDIZAJE EN LA
ENSEÑANZA DE LA PROGRAMACIÓN
3. HERRAMIENTAS DE APRENDIZAJE
4. LENGUAJES DE APRENDIZAJE
5. PLATAFORMAS DE APRENDIZAJE
6. LENGUAJES DE PROGRAMACIÓN
1. INTRODUCCIÓN.
APRENDIZAJE BASADO
EN VÍDEO
El uso del aprendizaje basado en vídeo produce una adquisición de conocimientos de forma gradual y reflexiva, dado que, si
el alumno se encuentra ante un reto de creatividad que despierte su curiosidad, se motivará para investigar sobre un tema en
profundidad. La metodología de esta propuesta está definida en cuatro fases:
▪ Análisis: consiste en identificar, almacenar y criticar los distintos recursos en formato de vídeo que los estudiantes deben
encontrar en la web y gestionarlos dentro de un repositorio común. El objetivo pedagógico de esta fase es desarrollar la
creatividad, pensamiento crítico, capacidad de síntesis y socialización de ideas, bajo un enfoque de aprendizaje
constructivista.
▪ Síntesis: propone identificar los mejores recursos disponibles en las áreas temáticas del dominio de conocimiento y realizar
una argumentación de conceptos e identificación de relaciones entre los mismos.
▪ Composición: propone la construcción de objetos de aprendizaje basados en combinación de elementos multimedia con
mecanismos de interactividad. Para ello, los estudiantes utilizan recursos tales como vídeos, textos, imágenes y contenidos
web, entre otros. Este proceso favorece el desarrollo creativo del estudiante y le pone en contacto directo con elementos de
información fomentando un aprendizaje significativo.
▪ La cuarta y última fase consiste en el consumo del material elaborado. Esto se realiza a través de sesiones de discusión en
las que los participantes tienen la oportunidad de exponer sus ideas y defender sus creaciones en un debate abierto frente a
sus pares. Dicha discusión también puede ocurrir de mediante servicios de votación y comentarios que permiten a los
consumidores manifestar su opinión acerca de los contenidos compartidos
2. METODOLOGÍAS DE
APRENDIZAJE EN LA
ENSEÑANZA DE LA
PROGRAMACIÓN
Just-in-time Teaching
En la estrategia pedagógica just-in-time teaching (JiTT), los instructores usan los datos
de rendimiento de sus estudiantes para saber qué conceptos se van adquiriendo y cuales
les cuestan entender. De esta forma, se consigue dar una atención más personalizada al
alumno y poder hacer hincapié en las cuestiones que más lescuesta.
En la mayoría de entornos de aprendizaje de JiTT, los estudiantes responden de forma
electrónica a una evaluación que deben realizar justo antes de la clase, aunque se puede
realizar también entre actividades propuestas. Una vez los alumnos realizan la prueba, el
profesor evalúa los datos y reajusta la lección que impartirá en el aula para ajustarse a las
necesidades de los estudiantes.
2.METODOLOGÍAS DE
APRENDIZAJE EN LA
ENSEÑANZA DE LA
PROGRAMACIÓN
1.Maximizar la participación de los estudiantes. Hacer un esfuerzo por conseguir la máxima implicación de los
estudiantes en las evaluaciones antes de las clases. De esta manera, cuantos más estudiantes participen, mejor se
podrán evaluar las fortalezas y debilidades de los mismos y adaptar el nivel a las circunstancias de la clase.
2.Realizar las preguntas correctas. Es importante ser meticuloso a la hora de diseñar y estructurar las evaluaciones.
Debemos asegurarnos que los conceptos evaluados están cubiertos y que cada pregunta proporcionará datos
relevantes.
3.Ser realista. Se debe seleccionar un número razonable de conceptos a cubrir en la siguiente clase tras haber revisado
las evaluaciones. Se recomienda abordar los conceptos que vaya a dar tiempo a explicar en una clase y que son
necesarios entender antes de pasar a otros más complejos en sucesivas sesiones.
4.Dar una respuesta rápida. Siempre que sea posible, es recomendable abordar cuanto antes los fallos de comprensión
que tengan los alumnos tan pronto se identifiquen. Las investigaciones han demostrado que el retraso en proporcionar a
los estudiantes información sobre conceptos mal entendidos, disminuye su comprensión.
2. METODOLOGÍAS DE
APRENDIZAJE EN LA
ENSEÑANZA DE LA
PROGRAMACIÓN
Peer teaching
La enseñanza entre compañeros o iguales, en inglés peer teaching, es una técnica pedagógica en
la que los estudiantes comparten sus conocimientos y apoyan el aprendizaje de sus propios
compañeros a través de asumir un papel de experto frente a otros que actúan de aprendices.
Esta metodología se basa en que, si un alumno ha entendido bien un concepto, debe ser capaz de
resumir lo esencial, de tal forma que sea capaz de explicarlo a otros compañeros. Una técnica de
evaluación muy utilizada es realizar preguntas de test dónde podemos presentar una serie de
definiciones mejores y peores con distintos grados de certeza y precisión, de tal forma que se
pregunte a los alumnos cuál cree que es la mejor opción y tengan que argumentar cuál es su
respuesta.
2. METODOLOGÍAS DE
APRENDIZAJE EN LA
ENSEÑANZA DE LA
PROGRAMACIÓN
Team based learning
El aprendizaje basado en el trabajo en equipo (TBL), es una estrategia de
enseñanza y aprendizaje que se basa en la interacción de los estudiantes en
grupos pequeños. En este tipo de enseñanza, los estudiantes trabajan en sus
respectivos grupos durante la mayor parte del tiempo. Además, serán ellos
quienes pongan en práctica los conocimientos y aprendan a administrar su
propio aprendizaje por medio de tareas en equipo.
En primer lugar, se les asigna a los estudiantes unos vídeos para que los
visualicen antes de llegar a clase, para después llevar a cabo un ciclo de
evaluación formativa. Durante esta evaluación, se retoman conceptos e ideas
fundamentales para el tema que se discutirá en la próxima sesión.
Esta prueba se realiza en primer lugar de forma individual y después, se
reúne cada equipo y los miembros discuten las respuestas con el fin de llegar
a un consenso. Durante este proceso formativo, los integrantes del equipo
reciben retroalimentación inmediata. Además, pueden buscar los argumentos
que respalden sus respuestas o replantear alguna idea. El último paso es el
tiempo de la explicación que será corto y durante el cual el instructor aclarará
dudas o interpretaciones equivocadas de los estudiantes.
2. METODOLOGÍAS DE
APRENDIZAJE EN LA
ENSEÑANZA DE LA
PROGRAMACIÓN
Flipped classroom
Dinámica
Just-in-time Teaching
Se revisa el contenido teórico en casa Énfasis en los conceptos que más
y en clase se hace trabajo colaborativo cuesta asimilar
Peer teaching
Team based learning
Un alumno explica a otros
compañeros
Interacción de estudiantes en grupos
pequeños
Rol del educador
Guía
Adaptarse a las dificultades de la
clase
El propio alumno
Aclarar dudas
Rol del estudiante
Protagonista
Tradicional
El alumno
Gestor de conocimientos
Los alumnos aprenden a construir su
propio conocimiento
Atención personalizada a los
alumnos
Abstracción de lo esencial por parte
de los alumnos para poder explicarlo
Trabajar problemas que pueden darse en
la vida real
Previa a la asistencia a clase
Previa a la asistencia a clase
Respuesta justificada ante los demás
Primero prueba individual y después
grupal
Desarrollo del pensamiento crítico,
adopción de responsabilidades y
mayor autonomía
Atención personalizada al nivel de
cada clase y adaptación a las
debilidades
El mayor aprendizaje se realiza
cuando explicamos a los demás
Promover pensamiento crítico, creativo,
trabajo en equipo y capacidad de síntesis
Requiere que el profesor prepare los
recursos adecuados e invierta tiempo
en crear material
No siempre la participación de los
alumnos en las evaluaciones previas
es la deseada
El concepto a explicar puede no
estar lo suficientemente asimilado
Controlar que todos participen
Objetivo
Evaluación
Ventajas
Desventajas
3. HERRAMIENTAS DE
APRENDIZAJE PARALA
ENSEÑANZA DE LA
PROGRAMACIÓN
La informática es una disciplina que requiere someterse a una constante formación. A continuación, se explican
entornos que tratan de obtener un primer contacto motivador para el aprendizaje de la informática en la actualidad.
En algunos casos mediante un aprendizaje con enfoque tradicional donde el profesor sube los vídeos a la
plataforma y en otros, mediante un aprendizaje más activo, fomentando que los alumnos creen sus propios vídeos
e historias interactivas haciendo uso de la programación.
En primer lugar, se van a explicar las características más destacables de dos experiencias basadas en
herramientas de creación de contenido audiovisual para el aprendizaje de la programación como son Scratch,
Scratch Jr. y Alice. Después, se resumen algunas de las plataformas de educación en línea basadas en vídeo más
importantes hoy en día: edX, Coursera, Udacity y Khan Academy, en las que los profesores suben los vídeos de
los contenidos y por último, se analiza una herramienta donde los alumnos suben sus propios vídeos: ClipIt.
4. LENGUAJES.
SCRATCH Y SCRATCH
JR
Scratch es una herramienta gratuita que permite programar tus propias historias interactivas, juegos y
animaciones y, compartir tus creaciones con otros en la comunidad online. Además, ayuda a los jóvenes a
aprender a pensar de forma creativa, a razonar sistemáticamente, y a trabajar de forma colaborativa. En
2008 se realiza un estudio (Maloney, Peppler, Kafai, Resnick y Rusk, 2008) que analiza 536 proyectos
realizados como actividades extraescolares en los cuáles se ha demostrado que los jóvenes han adquirido
conceptos clave usando Scratch, incluso sin la intervención de mentores. Esto se debe a su sistema de
programación en bloques, que facilita a los programadores principiantes poder abstraerse de la dificultad
de programar las líneas de código desde cero.
También se ha realizado una adaptación de esta herramienta para los más pequeños, conocida como
ScratchJr que es posible usar a partir de los 5 años. Su creación radica en la necesidad de herramientas
para la enseñanza de la programación adaptadas para niños, que permitan un acercamiento al mundo
digital y empezar a desarrollar el pensamiento computacional.
Otro aspecto destacable de la plataforma Scratch es la adaptabilidad al aprendizaje de diversas
asignaturas y no únicamente a la programación. En el caso del uso de videojuegos para el aprendizaje
de conceptos de probabilidad en la Educación Secundaria, los alumnos son capaces de aprender y
desarrollar algoritmos basados en la probabilidad, construyen sus propios modelos probabilísticos,
ejecutan pruebas y analizan resultados.
4. LENGUAJES.
ALICE
Este entorno de programación nace con el objetivo de motivar a los
alumnos de secundaria a crear sus propias películas de animación,
videojuegos o vídeos para compartir en la web. Con Alice se puede
aprender conceptos de programación en el contexto de la creación de
vídeos, mediante el uso de objetos tridimensionales que componen un
mundo virtual y permite crear un programa animándolos.
El funcionamiento de su interfaz se basa en arrastrar y soltar bloques
de palabras para formar las órdenes del programa en forma de código. Las
instrucciones corresponden a declaraciones estándar de un lenguaje
orientado a objetos. De esta forma se solventa uno de los principales
errores técnicos que se encuentran las personas cuando empiezan a
programar, como puede ser escribir el códigodesde cero.
La principal ventaja que muestra este entorno es la visualización en el
momento de lo que estás programando, al ver los resultados de forma
inmediata se puede entender mejor la relación entre el código y el
comportamiento de los objetos. Además, es eminentemente visual,
característica que aunque es innata al ser humano, es más acentuada en
niños que en adultos.
5. PLATAFORMAS
DE APRENDIZAJE
a) edX https://www.edx.org/es
La plataforma de cursos en línea masivos y abiertos edX, fundada por el Instituto Tecnológico de
Massachusetts y la Universidad de Harvard, contiene cursos en línea de nivel universitario de una gran variedad
de temas. Actualmente hay más de 500 cursos en esta plataforma, siendo hoy en día más de 130 cursos los
ofertados. edX tiene una amplia gama de cursos de educación superior relacionados con las ciencias. Una de
las características cruciales de sus cursos es su auto-ritmo, lo que se traduce en que el alumno puede
gestionarse el tiempo de su aprendizaje. En estos cursos, el recurso educativo que más se utiliza es el vídeo,
junto con herramientas innovadoras como son los laboratorios gamificados o la construcción de moléculas
virtuales en 3D. En esta plataforma se pueden obtener pruebas de inscripción o certificados de honor de forma
gratuita, pero el estudiante no recibe credenciales en forma de diploma.
b) Coursera https://www.coursera.org
Esta plataforma de educación virtual cuenta con cursos de educación masiva de nivel universitario tanto
gratuitos como de pago. Coursera fue fundada en 2011 por dos profesores, ofreciendo dos cursos gratuitos
de informática.
En los sucesivos años, se incorporaron más universidades con gran reputación. A lo largo del tiempo se
han añadido nuevas temáticas de cursos acerca de ciencias sociales, estadística, matemáticas y programación.
Coursera tienen cursos de auto-ritmo, cursos a la carta y clases cortas, además, de todas las plataformas
analizadas es la que tiene mayor variedad de cursos. La mayoría de los cursos de esta plataforma son gratuitos
y algunos requieren una pequeña cuota para participar en programas de certificación y especializaciones, o una
secuencia de clases que incluyen un proyecto final para lograrla certificación.
5. PLATAFORMAS
DE APRENDIZAJE
c) Udacity https://eu.udacity.com
Udacity nace como resultado de las clases de informática gratuitas ofrecidas en el año 2011 a
través de la Universidad de Stanford, contando actualmente con 25 cursos activos. Cada uno de ellos
consta de varias unidades que comprenden clases de vídeo, junto con cuestionarios integrados para
ayudar a los estudiantes a comprender conceptos y reforzar las ideas, así como tareas de seguimiento
que promueven el modelo "aprender haciendo".
Esta plataforma contiene una amplia gama de clases, especialmente de programación e
informática. El contenido de los cursos de Udacity es gratuito, pero para obtener un certificado verificado
se tiene que pagar, y los precios son generalmente más altos que los de Coursera y EdX. Además,
Udacity tiene menor número de cursos y menos variedad que Coursera y Edx.
d) Khan Academy https://es.khanacademy.org
Khan Academy es una organización educativa y un sitio web creado en 2006 con la misión de
"proporcionar una educación a nivel mundial para cualquier persona, en cualquier lugar". Contiene más
de 4.300 vídeos dirigidos a estudiantes de enseñanza primaria y secundaria, con módulos de aprendizaje
de matemáticas, ciencia, computación y economía. La Ilustración 7 muestra un ejemplo de un proyecto
realizado en el entorno de aprendizaje de código en Khan Academy. Sus lecciones consisten en un
itinerario perfectamente trazado para el aprendizaje de diversos lenguajes de programación mediante
vídeos, retos y tutoriales junto con una consola de programación que utiliza el estudiante.
CAMPUS MADRID - VILLAFRANCA
Castillo de Alarcón, 49
Urb. Villafranca del Castillo
28692 Madrid
ESCUELA DE POSGRADO UCJC
Calle de Almagro, 5
28010 Madrid
WWW.UCJC.EDU
EMAIL: [email protected]
TEL: +34 91 815 31 31
TEMA 3. PROGRAMACIÓN POR
BLOQUES
Máster TIC
Vicente
Luque
ÍNDICE
1. ¿QUÉ ES
SCRATCH?
2. VARIABLES EN
SCRATCH
3. EVENTOS EN SCRATCH
4. BLOQUES. TIPOLOGÍAS
5. CASO PRÁCTICO
2. ¿QUÉ ES
SCRATCH?
Como hemos visto en el capítulo primero, en la programación por bloques
se utilizan piezas prediseñadas, en lugar de código escrito como tal,
encajando unos bloques con otros, como si de un puzzle se tratara,
generando una secuencia de acciones que describen el algoritmo a seguir
para solucionar el problema a la que la programación está dando solución.
Uno de los lenguajes más utilizados en la actualidad para programar por
bloques es Scratch, desarrollada por el Grupo Lifelong Kindergarten del MIT
Media Lab. Algunas de sus claves de éxito radican en su facilidad de uso, así
como en la amplia variedad de bloques que simulan estructuras de control,
variables, y otras múltiples operaciones, es posible crear programas
completos a través de la creación, de lo que podíamos denominar como
subrutinas.
Además, permite la opción e personalizar los programas, es decir, crear
escenarios y personalizar al protagonista del juego. Existe toda una
comunidad en torno a este lenguaje de programación, que permite compartir
y publicar nuestras creaciones, contribuyendo así al aprendizaje de todos.
https://scratch.mit.ed
u
2. VARIABLES EN
SCRATCH
Una variable es una estructura de datos identificada
mediante una etiqueta, cuyo contenido puede variar durante
la ejecución del programa. En Scratch, es posible crear
etiquetas bajo un nombre con un valor inicial, que podrá
variar a durante la ejecución del programa. Gracias a esta
etiqueta, podrá ser referenciado en cualquier punto del
programa.
¿Qué usos puedo dar a una variable cuando estoy
programando en Scratch? Innumerables, como pueden ser
almacenar la puntuación total conseguida durante un juego,
indicar el número de posiciones que tiene que avanzar el
gato de Scratch.
2. VARIABLES EN
SCRATCH
En primer lugar, se crea una variable con el nombre deseado (Make a Variable) las opciones para
la
definición y modificación de variables en Scratch son las siguientes:
En el siguiente ejemplo, cada vez que se pulse el icono de la bandera verde, la variable
total_repeticiones tomará el valor 1:
3. EVENTOS EN
SCRATCH
Los bloques de eventos son una de las
herramientas más importantes de esa plataforma,
puesto que nos permite interacciones con el
objeto de la programación.
Uno de los bloques más utilizados es el de
“inicio”, este aparece identificado con una bandera
una verde, que podemos decir, se tratará del
botón que da comienzo a la animación. En el
ejemplo anterior, cuando se pulsaba este evento,
se asignaba el valor 1 a la variable creada, y a
continuación, el protagonista mostraba un mensaje
indicando el contenido de dicha variable.
3. EVENTOS EN
SCRATCH
En el siguiente ejemplo, cada vez que se pulsa la
barra de espacio el gato, objeto del juego, gira un
ángulo de 15º. Pero además, estamos haciendo un
envío de mensajes, a través del bloque “broadcast
message1”. Desde el segundo objeto se recibe este
mensaje, y añadimos un
bloque “when I
receive message1”, el cual ante la ocurrencia de
dicho evento realizará la acción asociada a
decir “Hello”.
Veámoslo paso por paso en el
continuación,
siguiente diagrama.
Al pulsar la barra espaciadora….
4. BLOQUES.
TIPOLOGÍAS
a)Bloque de apariencia (Looks) (bloques morados)
Los bloques de instrucciones de tipo apariencia,
permiten realizar determinadas acciones sobre el objeto
que estamos modelando en ese momento. Este tipo de
bloques permiten variar características tales como el
tamaño, el color, el pixelado, enviar al frente, o
posicionar en algún determinado de todas las capas
que compongan nuestro escenario, etc…
Estos bloques también ofrecen la opción de que el
protagonista emita algún tipo de mensaje de forma
escrita. En el ejemplo del apartado anterior, se utiliza
uno bloque de tipo apariencia para que el dinosaurio
muestre por pantalla el mensaje enviado desde el gato.
4. BLOQUES.
TIPOLOGÍAS
b) Bloque de movimiento (azul oscuro)
Los bloques de movimiento permiten desplazar al objeto tanto en el eje x, como en el y, girar en el sentido de las
agujas del reloj o contra él, cambiar la dirección del objeto,… en definitiva, permite establecer su posición con
respecto al espacio que ocupa.
c) Bloque de control (control) (naranja)
Los bloques de instrucciones de tipo control permiten detectar eventos o acciones realizados por otros objetos y
reaccionar ante estos sucesos. Son los bloques donde se encuentran las estructuras de iteración y condicionales,
dentro de las cuales se llevan a cabo los grupos de instrucciones deseados para desempeñar el algoritmo final,
recordad los grupos de bucles vistos en el Capítulo 1.
Verdader
o
ACCIÓN 1
Falso
CONDICIÓN
ACCIÓN 2
4. BLOQUES.
TIPOLOGÍAS
c) Bloque de operadores (Operators)
Este tipo de bloques se utilizan sobre todo en combinación con los bloques de control. Se
deben diferenciar entre operaciones lógicas, los bloques de forma hexagonal, y
operaciones matemáticas, los bloques de forma elíptica.
d) Bloque de sonido (sound) (rosa)
Scratch, también proporciona un
conjunto
de bloques para
la manipulación
sonido,
que permite la reproducción del
de archivosde audio dentro del
programa, tanto
sonidos puntuales asociados a alguna acción, como una música de fondo.
Los ficheros de sonido se importan directamente sobre el área del objeto y los bloques de
instrucciones permite personalizar el valor y el tipo de reproducción de estos.
e) Bloque de sensores (sensing) (azul claro)
Los sensores permiten en Scratch permiten detectar si el objeto está realizando algún tipo
de acción sobre el escenario, o si alguna tecla del teclado está siendo pulsada, el cursor del
ratón, etc. Además, estos bloques son lo usados cuando se está trabajando con algún tipo
de kit externo.
CASO PRÁCTICO
1. ESTRUCTURA DEL PROGRAMA. Fondos y personajes.
El juego dispone de dos escenarios. El primero llamado „room1‟ es similar al „room2' a diferencia
que este último dispone de un bocadillo informativo en el que se indica las operaciones posibles a
realizar con la calculadora.
CASO PRÁCTICO
2. TAREAS REALIZADAS
El programa comienza con el personaje, las variables que se utilizarán a lo largo del programa y con la guitarra y el
altavoz en el escenario (los cuales pueden pulsarse desde el comienzo). El funcionamiento es:
1. ¡Hola chicos! ¡Bienvenidos al programa "Calculadora"!
2. Su uso es sencillo: a continuación, voy a preguntar dos números y
un tipo de operación.
3.El tipo de operaciones que podéis realizar son las siguientes:
4.Suma,
resta,
producto,
división,
raíz,
seno,
arcoseno,
coseno,
arcocoseno, tangente, arcotangente, logaritmo, exponencial,
potencia de diez (las operaciones han de escribirse sin tildes, pues
las instrucciones en el programa están escritas sin tilde).
5.Si necesitáis ayuda, pulsad el botón de ayuda que aparecerá ahora.
También puedes pulsar el botón "RESET" para detener el programa.
CASO PRÁCTICO
En ese instante aparecen en el escenario tanto el botón de “RESET” como el de
“AYUDA”, los cuales se pueden empezar a usar desde este momento, y las variables
se inicializan para dar paso a la nueva asignación. El personaje continúa:
1. Elige el primer número:
El usuario inserta un número y presiona el botón intro. La variable “num1”
tomará el valor que el usuario haya elegido.
2. Elige el segundo número:
El usuario inserta el segundo número y presiona el botón intro. La variable
“num2” tomará el valor que el usuario haya elegido.
3. ¿Qué operación deseas hacer?
El usuario escribe una de las operaciones disponibles y la variable “op” tomará el
valor que el usuario haya elegido. En caso de insertar mal un nombre de operación,
las variables se inicializarán y el personaje volverá a preguntar por las mismas de
nuevo.
CASO PRÁCTICO
Seguidamente, la variable
“res” tomará el valor
resultado de la operación realizadaentre
los
dos
números elegidos y el personaje dirá el valor resultante
durante unos segundos.
Una vez pasado el tiempo en que se muestra el
resultado, las variables se inicializarán y el personaje
volverá a preguntar por los números y por la operación
deseada desde el punto 6.
El programa continuará en ejecución hasta que el
usuario pulse el botón “RESET”.
RESUMEN
Valores
lógicos:
cierto o falso
Hexágonos
RESUMEN
Expresiones:
números o
textos
Óvalos
RESUMEN
Instrucciones:
órdenes
Puzzle
RESUMEN
Eventos:
puntos de
comienzo
Puzzle con
óvalo
CAMPUS MADRID VILLAFRANCA
Castillo de Alarcón, 49
Urb. Villafranca del
Castillo 28692 Madrid
ESCUELA DE POSGRADO
UCJC
Calle de Almagro,5
28010 Madrid
WWW.UCJC.EDU
EMAIL: [email protected]
TEL: +34 91 815 31
31
TEMA 4. ARDUINO
Máster TIC
PROFESOR: VICENTE LUQUE
CENTENO
[email protected]
ÍNDICE
1. INTRODUCCIÓN
2. LA PLACA ARDUINO
3. OTROS COMPONENTES
4.LENGUAJES DE PROGRAMACIÓN Y
PLATAFORMAS
1. INTRODUCCIÓN
Arduino es una plataforma de prototipos electrónica de código abierto basada en
hardware y software flexibles y fáciles de usar. Arduino puede comunicarse con su
entorno mediante la recepción de entradas, a través de sensores y puede afectar a su
alrededor mediante el control de luces, motores y otros artefactos. El microcontrolador de
la placa se programa usando el “Arduino Programming Language” y el “Arduino
Development Environment”.
1. INTRODUCCIÓN
• Fomentar el uso de la programación en el aula.
• Usar de la programación en escuelas e institutos utilizando programación
para ser capaces de desarrollar un pensamiento creativo y
computacional.
• Hacer proyectos interactivos que faciliten el aprendizaje de cualquier
asignatura sin estar relacionada con la tecnología.
• Iniciarnos en el mundo de la electrónica y robótica.
• Construir componentes electrónicos a nuestro gusto.
• Interaccionar con el mundo exterior mediante actuadores en función de las
variables ambientales que leemos mediante los sensores.
1. INTRODUCCIÓN
Arduino Education es un equipo de Arduino dedicado al desarrollo de la próxima generación de programas
STEAM y apoyo a las necesidades de profesores y estudiantes. La tecnología de Arduino se usa para:
• Jugar, en la escuela primaria como juguetes con tecnología Arduino para introducir al alumno en el
aprendizaje físico, lógica, creación de habilidades y resolución de problemas.
• Enseñar y aprender en la escuela secundaria para usar con técnicas innovadoras para estudios croscurriculares
• Desarrollo en las universidades, Arduino está ampliamente usado en los campos de la ingeniería, IoT,
robótica, arte y diseño entre algunos de ellos.
El término STEM es el acrónimo de los términos en inglés Science,
Technology, Engineering and Mathematics (Ciencia, Tecnología,
Ingeniería y Matemáticas). El concepto “Educación STEM” se ha
desarrollado como una nueva manera de enseñar conjuntamente
Ciencia, Matemáticas y Tecnología con de manera integrada en lugar de
como áreas de conocimiento compartimentadas.
2. LA PLACA
ARDUINO
Arduino es una placa basada en un microcontrolador, esto es, es un circuito integrado en el cual se
pueden grabar instrucciones. Estas instrucciones se escriben utilizando un lenguaje de programación
que permite al usuario crear programas que interactúan con circuitos electrónicos.
•Entradas. Se denomina así al conjunto de pines a través de los
cuales se realizan las lecturas. Estas pueden ser de tipo analógico
o digital, las primeras se encuentran entre los pines analógicos A0
al A15, y los pines digitales se ubican entre el 0 y el 13.
Botón de reinicio
Pines digitales
Conector
USB
Indicador LED
alimentación
•Salidas. De la misma forma existen pines de salida, utilizados para
el envío de señales. En este caso solo existen pines digitales, en
concreto, 13.
•Alimentación. La alimentación de la placa suele realizarse a
través del jack de alimentación con una tensión de 7 a 12 Voltios.
También es posible alimentarlo por el puerto USB, pero en la
mayor parte de los casos no estará conectado a un ordenador.
LED’s de emission y
recepción. Indicansi
en cada momento
está transmitiendo o
recibiendo
Conector para
alimentación
•Comunicación. Una de las maneras más comunes para transferir
los programas a la placa, o para enviar y recibir datos, es a través
de USB. P
Microcontrolador
5V y 3,3V
GND
Pines analógicos
3. OTROS
COMPONENTES
Los módulos y Shields en Arduino permite incrementar la funcionalidad básica de cualquier placa. Habitualmente se
utilizan para establecer algún tipo de comunicación.
 Internet. Shield para la conexión del dispositivo Arduino a Internet. Recuerda que además del lenguaje que utilizas
para programar tu placa Arduino necesitarás saber algo deHTML.
 Bluetooth. Este módulo se utiliza para aquellos casos en los que se desea conectar a un dispositivo móvil y
manejarlo desde ahí. Por ejemplo, imaginemos que vamos a construir un coche con una placa Arduino y va a ser
controlado a través de un teléfono móvil, en este caso, se necesita un módulo capaz de recibir datos para situarlo
en el Arduino y así pueda interpretar las órdenes que recibe desde el móvil. En este caso, también se necesitará un
programa en el móvil capaz de enviar las órdenes necesarias a la placa.
 Comunicación por infrarrojos. La comunicación con infrarrojos es similar a a la anterior, cuando instalamos un
módulo detector de infrarrojos el dispositivo podrá ser controlado desde un transmisor de este tipo de señales.
Normalmente, los mandos a distancias se comunican a través deinfrarrojo.
3. OTROS
COMPONENTES
 Módulo detector de obstáculos. A través de este módulo es posible disponer
de un sensor de presencia. Por ejemplo, si estamos diseñando un “robot” que se
desplaza y debe evitar chocarse contra las paredes.
 Sensores para controlar condiciones atmosféricas. Se trata de módulos
utilizados para medir temperatura, presión atmosférica, humedad, luz, entre
otras, y actuar en consecuencia. Por ejemplo, si se desea medir la humedad de
una planta y si esta baja de un determinado valor, se activo el mecanismo para
que sea regada, a través de un sistema de riego controlado mediante Arduino.
Cuando el sensor detecte un valor de humedad límite, se activará una señal que
hará que el dispositivo de riego comience a funcionar.
 Servomotores. Es común realizar proyectos en Arduino basados en la
construcción de robots u otro tipo de dispositivos que se desplacen o que
generen un determinado tipo de movimiento, para ello será necesario el uso de
motores. .
4. LENGUAJES DE
PROGRAMACIÓN Y
PLATAFORMAS
A lo largo de este capítulo hemos aprendido en que consiste una placa Arduino, qué es, cómo está
formada y cómo es capaz de comunicarse con el exterior, así como que componentes podemos encontrar
para trabajar conjuntamente (sensores, servomotores, módulos de comunicación, …). Pero para conseguir
que el funcionamiento de cualquier proyecto se lleve a cabo, será necesario programar los algoritmos y
rutinas necesarias para implementar la funcionalidad requerida. La programación en Arduino se realiza a
través del lenguaje de programación C++, junto a unas librerías propias de Arduino, donde se proporcionan
funcionalidades para trabajar con pines y el resto de puertos de comunicación, escrito en un entorno de
desarrollo. Los lenguajes de programación en modo texto son: Arduino IDE, y Arduino Web Editor.
Ahora bien, en esta asignatura nos vamos a centrar en diferentes recursos, los cuales nos permitirán
trabajar con la ya conocida programación por bloques, similar a Scratch. Algunos de estos son: Scratch
4 Arduino, mBlock, bitBloq o Visualino, entre otros.
4. LENGUAJES DE
PROGRAMACIÓN Y
PLATAFORMAS
S4A consiste en un torno creado a partir de la plataforma de
código abierto Scratch ,cuya finalidad es aplicar la programación
por bloques a Arduino. Esta versión, además de los bloques
propios de Scratch, incluye nuevos bloques para controlar los
pines y sensores propios de una placa, vistos en el apartado 3.2 y
3.3. de este capítulo.
4. LENGUAJES DE
PROGRAMACIÓN Y
PLATAFORMAS
Bitbloq, al igual que S4A, es una herramienta para la llevar a cabo la creación de programas con Arduino, en concreto, a
través de la programación por bloques, desarrolla por la empresa española BQ, está recomendado para niños a partir de 8
años.
BQ ha desarrollado su propia placa, bq ZUM, junto con varios kits de robótica. El funcionamiento es similar al descrito en este
capítulo para una placa de Arduino, a través de una conexión por el puerto usb, la placa se conecta con el ordenador,
sincronizándose las instrucciones creadas desde la aplicación.
Esta aplicación permite realizar la programación y simulación del algoritmo que se desea implementar, cuando este esté listo
basta con pasarlo a la placa Arduino y se debe reproducir el mismo comportamiento.
4.LENGUAJES DE
PROGRAMACIÓN Y
PLATAFORMAS
Lego Mindstorms, desarrollado por LEGO, se trata de una línea de robots para comenzar a investigar en el mundo de
la programación y la robótica. Presentan elementos básicos de construcción robótica, basada en la metodología
general de LEGO, como la unión de piezas, junto a la programación de acciones en forma interactiva. La versión
educativa se conoce con el nombre Lego Mindstorms for Schools, en combinación con el software Robolab.2
1.En primer lugar, se lleva a cabo la construcción del robot a
través de los kits de Lego Mindstorm.
2.A continuación, a través de la aplicación EV3 se lleva a cabo
la construcción por bloques del
código qué se va a
implementar. Consiste en un lenguaje de programación por
bloques, basados en imágenes, es decir, el código aparece
representado, por esta razón, este tipo de herramientas
conjuntos de robótica y programación son muy útiles para
cursos de iniciación.
3.El control del robot se lleva a cabo a través de un dispositivo
móvil o tablet.
CAMPUS MADRID - VILLAFRANCA
Castillo de Alarcón, 49
Urb. Villafranca del Castillo
28692 Madrid
ESCUELA DE POSGRADO UCJC
Calle de Almagro, 5
28010 Madrid
WWW.UCJC.EDU
EMAIL: [email protected]
TEL: +34 91 815 31 31
TEMA 5. APP INVENTOR
Máster TIC
PROFESOR: VICENTE LUQUE
CENTENO
[email protected]
ÍNDICE
1. INTRODUCCIÓN
2. EL ENTORNO
3. PRIMEROS PASOS
4. APP INVENTOR DESIGNER. (I) (II) (III ELEMENTOS)
5. APP INVENTOR BLOCKS
6. CASO PRÁCTICO
1. INTRODUCCIÓN
http://ai2.appinventor.mit.edu
AppInventor es un entorno de desarrollo de software gratuito, a través de
una plataforma web, para la elaboración de aplicaciones móviles bajo el
sistema operativo de Android, de forma fácil e intuitiva.
1. INTRODUCCIÓN
http://ai2.appinventor.mit.edu
AppInventor, permite crear aplicaciones a través de bloques, similares a los vistos en Scratch, S4A y BitBloq,
sin necesidad de tener grandes conocimiento de programación a través de código. Una de las mayores
desventajas que presenta, es que solo permite desarrollo para dispositivos Android. Algunas de las
características de AppInventor:
1. Se trata de un sistema gratuito
2. Sistema fácil de acceder, utilizar y descargar
3. Facilita la creación de aplicaciones móviles, aunque estas suelen ser bastante sencillas
4. Existe un centro de descarga y distribución de aplicaciones para Android
El funcionamiento se basa en la programación a través de bloques de los algoritmos y secuencias que forman
parte de la funcionalidad final del programa, a través de App Inventor blocks, y por otro lado, permite realizar el
diseño de la interfaz de presentación de la aplicación, es decir, de aquello que se muestra al usuario a través del
dispositivo móvil con Android, a través de App Inventor Designer. Una vez que se combinan estas dos partes, se
realiza el proceso de compilación, que consiste en la traducción del código en bloques, a código capaz de ser
ejecutado por una dispositivo.
2. ENTORNO
El entorno de desarrollo se basa en dos grandes bloques,
en primer lugar, el entorno de diseño de interfaces, donde se
lleva a cabo la distribución de elementos visuales que
forman parte de la aplicaciones, tales como, imágenes,
botones o cuadros de texto, esta parte se conoce con el
nombre de App Inventor Designer.
Por otro lado, se encuentra el App Inventor Blocks Editor,
esta sección está dedicada a la programación de la
aplicación, es decir, mientras que desde App Inventor
Designar se diseña la parte más visual, con la que
interactuará el usuario final, sin una programación por
debajo que implemente su funcionalidad, la aplicación no
realizará ninguna acción, no tendrá sentido. Por lo tanto, la
programación (por bloques) se lleva a cabo en el App
Inventor Blocks. En el siguiente diagrama se muestra el
proceso general de actuación a través de la aplicación.
App Inventor Designer
App Inventor Blocks
3. PRIMEROS
PASOS
Para comenzar el diseño de nuestra aplicación con
AppInventor basta con crear una cuenta en la plataforma,
para ello podemos utilizar nuestra dirección de correo
electrónico de Gmail. Tras ingresar en el sitio, la primera
pantalla nos muestra todos los proyectos que hayamos
desarrollado, por lo tanto, será posible que realicemos tantos
diseños como nuestra imaginación sea capaz, y tenerlos
todos almacenados para su posterior edición, modificación o
simplemente para tener un backup de copia de aplicaciones
desarrolladas.
En la parte superior de la primera pantalla, en la que se
muestra un listado en el que aparecen todos los proyectos
desarrollados, encontramos un menú para la creación,
borrado y publicación. Para crear un nuevo proyecto
seleccionamos la opción de Start new project, indicados el
nombre del nuevo proyecto y pulsamos OK.
4. APP INVENTOR
DESIGNER (I)
El entorno de la parte dedicada al diseño se
encuentra dividida por 4 grandes bloques:
• Paleta de elementos (1). Listado con todos los
elementos que podemos utilizar para crear una
aplicación. Su funcionamiento es sencillo, basta
con arrastrarlos hasta la zona del visor (2) y
colocarlos en la posición deseada, desde el
menú de propiedades (4) es posible modificar
las características preestablecidas para cada
elemento. Por ejemplo, si se inserta un botón,
desde las propiedades cambiar el texto, entre
otros.
1
3
2
• Visor del diseño de interfaz (2). Esta zona
reproduce la pantalla de un dispositivo móvil,
para el cual estamos realizando el desarrollo de
la aplicación. Los elementos se arrastran hasta
zona, desde la paleta de elementos (1) y se
colocan en la pantalla, emulando al diseñofinal.
4
4. APP INVENTOR
DESIGNER (II)
• Mapa de navegación (3). Podemos llamar
así a la ventana en la que se aparece un
resumen con todos los elementos y
pantallas que componen la aplicación. De
esta forma, es posible una navegación
mucho más ágil e intuitiva por toda la
aplicación que está en desarrollo.
1
3
• Menú de propiedades (4). Este cuadro de
opciones permite personalizar cada uno de
los elementos que se colocar en la zona de
diseño (2), escogidos de la paleta de
elementos (1). Es posible modificar casi
cualquier característica de cada elemento.
2
4
4. APP INVENTOR
DESIGNER (III)
ELEMENTOS
La lista de componentes es muy extensa, existen multitud de componentes más, que se pondrán en práctica
junto con los anteriores en el Taller 4. Estos son los que podemos encontrar bajo los nombre de Sensores,
Maps, Conectividad o Social. Incluso se incorpora una sección especial para la creación de aplicaciones que
trabajan junto a los kits de robótica vistos en el Capítulo 4, LEGO Mindstrom.
• botones. Elementos que realizan alguna acción cuando son pulsados por el usuario.
• canvas. Elementos sensible al tacto sobre la que se puededibujar.
• checkBox. Se trata de una casilla de verificación que detecta cuando el usuario la ha
marcado.
• image. Se usa para insertar una imagen en la pantalla, estas pueden ser seleccionadas y
manipuladas por el usuario.
• label. Las etiquetas se utilizan para mostrar una cadena de texto. Este se especifica en una
de las propiedades del elemento, llamadaText.
• TextBox. Caja de texto donde los usuarios introducen una cadena de texto solicitada para
alguna acción concreta. Existen diversas opciones, como la posibilidad de introducir más de
una línea o la restricción de solo introducirnúmeros.
• ListPicker. O lista de selección, se muestra un listado de cadenas de texto, dentro de los
cuales el usuario podrá seleccionar el que desea. Por ejemplo, si tenemos una aplicación y
vamos a escoger el idioma, este puede aparecer en una lista de selección, donde se indican
todos los idiomas disponibles.
5. APP INVENTOR
BLOCKS
El entorno de App Inventor Blocks, donde se realiza la
programación por bloques de la aplicación, está dividida
por 3 bloques:
• Paleta de bloques (1). Listado con todos los
tipos de bloques que podemos utilizar para
crear una aplicación (estructuras de control,
operadores matemáticas, variables, …). Al
seleccionar uno de estos tipos, en el visor (2)
aparecen todos los tipos de bloques existentes
para una misma tipologías.
• Visor de bloques (2). Se muestran todos los
bloques disponibles en función del tipo
seleccionado en la paleta (1). Para utilizar uno
de estos bloques, basta con arrestarlo hasta la
pantalla en blanco de la derecha (3).
• Pantalla de programación (3). En esta zona
se sitúan y desarrollan los bloques que
implementan la funcionalidad de la aplicación.
1
2
3
5. APP INVENTOR
BLOCKS
En la descripción del entorno App Inventor Blocks,
ya veíamos que este contiene los bloques de código
que permiten programar la aplicación. La paleta de
bloques contiene los fragmentos de código que
podemos considerar genéricos, como son las
estructuras de control, las secuencias de inicialización y
modificación de variables, y las operaciones
matemáticas y lógicas, entre otras.
Pero además, esta paleta muestra los elementos
ubicados en la pantalla mediante el App Inventor
Designer. Estos contienen sus propios bloques de
código asociados, por ejemplo, en el caso de un botón
los bloques representan los eventos característicos del
mismo, como pueden ser que se detecte si el botón
está pulsado o está puesto el foco en él.
Bloques generales:
Bloques específicos:
6. CASO
PRÁCTICO
Para comenzar a practicar con el diseño de aplicaciones
móviles, vamos a diseñar un primer prototipo con una caja de
texto en la que vamos a escribir nuestro nombre, a
continuación, al pulsar el botón Saludar, nos devuelva un
mensaje seguido del nombre introducido en la caja, se trata
de una aplicación muy sencilla, gracias a la cual comenzamos a
familiarizarnos con el funcionamiento de laherramienta.
Desde el App Inventor Designar situamos en la pantalla de
diseño un botón, una etiqueta de texto y una caja de texto.
En el primer caso, desde el menú de propiedades modificamos
el texto del botón.
Ahora bien, desde App Inventor Blocks se realiza el
siguiente diseño de bloques, este se activa cuando el botón
está pulsado. A continuación, devuelve por pantalla el mensaje
resultado de unir una cadena de texto cualquiera, que hemos
creado con el mensaje “Hola Mundo” y el texto contenido en la
caja. Como se puede observar en la imagen, no basta con tomar
el nombre de la caja, sino que es necesario indicar de cuál de
sus atributos vamos a extraer elvalor.
CAMPUS MADRID - VILLAFRANCA
Castillo de Alarcón, 49
Urb. Villafranca del Castillo
28692 Madrid
ESCUELA DE POSGRADO UCJC
Calle de Almagro,5
28010 Madrid
WWW.UCJC.EDU
EMAIL: [email protected]
TEL: +34 91 815 31 31
TEMA 6. DISEÑO 3D. MANEJO DE SOFTWARE PASO A
PASO
Máster TIC
PROFESOR: VICENTE LUQUE CENTENO
[email protected]
ÍNDICE
1. INTRODUCCIÓN
2. APLICACIONES SOFTWARE PARA EL DISEÑO 3D
3. THINKERCAD
4. THINKERCAD. EL ENTORNO DE DISEÑO
5. THINKERCAD. CREACIÓN DE UN OBJETO
6. ESTRUCTURA Y CARACTERÍSTICA DE LAS CAPAS
1. INTRODUCCIÓN
La impresión 3D consiste en un hardware que permite la fabricación de piezas mediante el
modelado a través de software que permiten la elaboración de casi cualquier tipo de diseño, en
prácticamente cualquier ámbito.
La impresora 3D utiliza filamentos de plástico, estos se introducen en la máquina y llegan hasta la
boquilla, a 210ºC. Esta boquilla y la base de impresión se combinan para realizar movimientos en el largo
y ancho de la pieza. Cuando una capa se ha construido, se pasa a la siguiente, y así
sucesivamente, hasta como completar toda la pieza
La impresión 3D supone una auténtica revolución en múltiples
ámbitos en la actualidad, no solo por la utilidad que esta puede
suponer en el futuro, donde el uso de esta tecnología llegará a picos
por ahora casi inimaginables, sino por los beneficios que puede
aportar en el presente. La impresión 3D, permite su integración
en diferentes asignaturas.
1. INTRODUCCIÓN
VENTAJAS Y CARACTERÍSTICAS DE LA IMPRESIÓN 3D EN EL ÁMBITO
EDUCATIVO:
La impresión 3D está avanzando e implantándose muy rápido. Los estudiantes pueden
comenzar a familiarizarse con una tecnología que tendrá un papel muy importante en el futuro.
Nuevas formas de trabajo: fabricación aditiva.
Los estudiantes no replican un modelo ya creado, sino que lo diseñan y luego lo
construyen, modifican e incluso pueden llegar a mejorar.
A través de la unión de programación, electrónica e impresión 3D se pueden construir
multitud de proyectos, abarcando la robótica, la domótica e multitud de inventos caseros que
ayuda a descubrir el funcionamiento de las cosas.
Los estudiantes “aprenden haciendo”. Se enseña al alumnado a través de la práctica.
2. APLICACIONES Y SOFTWARE
PARA EL DISEÑO 3D
Software Cura. La empresa BQ ha creado su propia impresora,
llamada Witbox 2, que trabaja con el software Cura. Este es uno
de los software 3D más conocidos, puesto que su forma de uso es
fácil e intuitiva. Es gratuito y fue desarrollado por 3D Ultimaker. Se
trata de una software indicado tanto para principiantes como para
expertos
Microsoft Paint 3D. Se trata del conocido Paint de Windows,
disponible en la actualización de Windows 10. En la última versión
de esta conocida herramienta, se añade la tercera dimensión que
permite crear diseños en 3D. Una de las principales
características que ofrece esta herramienta, es el uso de
dispositivos como lápices digitales y pantallas táctiles, tan
https://www.microsoft.com/es-es/p/paint-3d/9nblggh5fv99?activetab=pivot:overviewtab
habituales en los dispositivos escolares
2. APLICACIONES Y SOFTWARE
PARA EL DISEÑO 3D
Customizer. Esta herramienta fue creada por Thingiverse, se trata
de una aplicación online, a través de la cual no solo es posible
diseñar tus propios proyecto 3D, sino que existe toda una
comunidad que permite compartir todos los proyectos creados, de
esta forma se crea un repositorio que puede ayudarnos con nuestro
trabajo. Es posible tomar un proyecto ya existente y modificarlo
para adaptarlo a nuestro caso.
https://www.thingiverse.com/customizer
3DSlash. Herramienta online muy sencilla de utilizar, recomendada
para que los estudiantes más jóvenes comiencen con el diseño y
modelo en 3D. Evidentemente, las posibilidades de diseño que
ofrecen son menores que las anteriores, pero su finalidad no está
dirigida tanto a la impresión final en un producto 3D, sino en el
trabajo sobre la visión espacial y el diseño de piezas..
https://www.3dslash.net
3. THINKERCAD
https://www.tinkercad.com/
Tinkercad es una herramienta online gratuita, desarrollado
por la empresa Autodesk. Constituye una interfaz de trabajo
amigable y fácil de utilizar, a través de la cual es posible
crear casi cualquier tipo de diseño de piezas para ser
impresas a través de una impresora 3D. Entre sus ventajas
destaca la facilidad de uso, lo que la convierte en una
herramienta indicada para iniciarnos en el diseño 3D desde
casi cualquier edad.
Para acceder y comenzar a utilizar Tinkercad basta con
navegar desde el siguiente enlace y registrarnos en la
página web. Una vez que se ha completado el registro
aparecerá nuestro “dashboard” en el cual aparecerán
cargados todos nuestros proyectos y desde donde podemos
crear nuevos, solo hace falta pulsar “Create new design”.
4. THINKERCAD. EL
ENTORNO DE DISEÑO
• NOMBRE DEL DISEÑO.Basta con pulsar sobre él para editarlo con el
nombre deseado.
• BARRADE OPCIONES. Incluye las opciones de de copiar, pegar,
duplicar, borrar, deshacer yrehacer.
• VISTA. Permite rotar el escenario a la posición deseada
• OPCIONES VISTA. Permite
reiniciarla vista, ampliar y reducir la
misma.
• ZONADE TRABAJO. Área de diseño de nuestro dibujo.
• AJUSTE DE LA REJILLA: Permite cambiar
las opciones de
configuración de la rejilla
• PROPIEDADES DEL OBJETO. Este menú aparece
cuando se
selecciona algunos de los objetos situados en la zona de trabajo,
permite modificar propiedades tales como el radio, la altura y la
anchura.
• OBJETOS. En este menú se pueden seleccionar diferentes elementos
geométricos de diseño.
• EXPORTAR/IMPORTAR. Permite tanto cargar el diseño de un modelo
ya creado, tanto exportarlo para ser almacenado o para ser cargado
en una impresora 3D para su impresión.
5. THINKERCAD. CREACIÓN DE
UN OBJETO
DISEÑO DE PIEZA. SELECCIÓN Y DESPLAZAMIENTO
En primer lugar, debemos planificar las formas geométricas con las que
vamos a construir nuestro objeto, trabajaremos a lo largo de este aparato en la
elaboración de una torre, cuya construcción va a estar basada en un cubo y
sobre este vamos a situar cubitos de menor tamaño simulado las almenas.
Desde el menú OBJETOS, seleccionamos las dos figuras citadas y las
situamos en el plano de trabajo, a continuación las redimensionamos.
Para desplazar los elementos por el plano basta con pinchar
sobre ellos con el ratón y situarlos en el punto deseado, ahora
bien, es muy importante que conozcamos como ubicarlos en
altura, o lo que es lo mismo, como desplazarlos en el eje z,
para ello hay que pulsar sobre la flecha de color negro situada
encima del elemento. En este tipo de desplazamientos de
aconseja mover la vista hasta que quede totalmente de frente,
para asegurarnos de la posición exacta en el eje z.
5. THINKERCAD. CREACIÓN DE
UN OBJETO
CREANDO HUECOS
Una de las operaciones más importantes es la creación de huecos, puesto
que nos va a permitir aportar mucho más realismo al diseño de la pieza. En el
caso de la torre que estamos trabajando en el ejemplo, vamos a bajar el hueco
que hay dentro de la torre, justo debajo de las almenas, acercándose más a un
diseño real. El procedimiento se detalla a continuación:
1.Se crea un segundo objeto, que modele el hueco que queremos
abrir en la pieza base. Lo dimensionamos y lo situamos próximo a
la figura principal, para estimar mejor el tamaño que debe tener la
pieza que abrirá el hueco, con respecto a la primera.
2. Editamos el segundo objeto, modificando en su apariencia de color
sólido a hueco (solid - hole).
5. THINKERCAD. CREACIÓN DE
UN OBJETO
3. A continuación, podemos situar la pieza que abre el hueco
en su posición final, en este caso, la desplazamos hacia
abajo, creando un espacio en la parte superior de la caja.
4. Finalmente, seleccionamos todas las piezas que componen
el diseño final y desde el menú situado en la parte superior a
la derecha, “agrupamos”, compactándose la pieza final. La
opción agrupar permite unir dos o más objetos como si
fueran una sola entidad.
6.ESTRUCTURA Y
CARACTERÍSTICAS DE LAS
CAPAS
Es necesario definir la altura concreta que tendrá cada capa, este factor determina el tiempo de impresión, ya que define la
cantidad de capas que tendrán que realizarse para obtener la pieza. Si el valor de la altura es de 0,5 mm serán necesarias menos
capas que si la altura de capa de 0,1 mm. Las capas están compuestas de 2 elementos: las paredes y el relleno.
• Las paredes son los perímetros que delimitan el borde de la pieza.
• Relleno. El relleno hace referencia a la estructura interna de la pieza, es posible elegir cómo será la composición de esta. En
concreto, se puede seleccionar la cantidad de material que tendrá el relleno como el diseño del patrón que se usará.
Normalmente, se suele utilizar un patrón de relleno bajo para los objetos meramente decorativos, mientras que en aquellos
en los que se requiere una mayor resistencia, se escogen patrones de relleno más elevados, es decir, su estructura interna
estará compuesta por más material de relleno.
• Posición. La orientación del diseño de impresión es muy importante. Se aconseja escoger como base de apoyo durante la
impresión el lugar más plano de la pieza, para darle más estabilidad durante la impresión.
CAMPUS MADRID - VILLAFRANCA
Castillo de Alarcón, 49
Urb. Villafranca del Castillo
28692 Madrid
ESCUELA DE POSGRADO UCJC
Calle de Almagro, 5
28010 Madrid
WWW.UCJC.EDU
EMAIL: [email protected]
TEL: +34 91 815 31 31
Descargar