Curso Introducción a Lego Mindstorms NXT Contenidos Segundo Trimestre
-
Upload
cris-melgar -
Category
Documents
-
view
17 -
download
0
description
Transcript of Curso Introducción a Lego Mindstorms NXT Contenidos Segundo Trimestre
17/04/2015
1
INTRODUCCIÓN A LA PROGRAMACIÓN
• ¿QUÉ ES PROGRAMAR?• Arte de dar comandos a algo o alguien que pueden ser ejecutados después.
• ¿QUÉ ES UN COMANDO?• Orden para algo o alguien para realizar determinada acción
• ¿QUÉ ES DISEÑAR?• Acto de organizar los comandos
INTRODUCCIÓN A LA PROGRAMACIÓN
• ¿QUÉ ES UN PROBLEMA COMPLEJO?• Es aquel cuya solución no es inmediata• Para enfrentarnos a un problema complejo, debemos dividir en problemas
mas chicos.
• ¿HASTA CUANDO?• Hasta que la solución sea evidente• Dividir para conquistar• Utilizar “niveles de abstracción” (En programación, el término se refiere al
énfasis en el "¿qué hace?" más que en el "¿cómo lo hace?“)
17/04/2015
2
INTRODUCCIÓN A LA PROGRAMACIÓN
• ALGORITMO• Un algoritmo (del griego y latín, dixit algorithmus y este a su vez del
matemático persa Al-Juarismi ) es un conjunto prescrito de instrucciones oreglas bien definidas, ordenadas y finitas que permite realizar una actividadmediante pasos sucesivos que no generen dudas a quien deba realizar dichaactividad. Dados un estado inicial y una entrada, siguiendo los pasossucesivos se llega a un estado final y se obtiene una solución. Los algoritmosson el objeto de estudio de la algoritmia.
INTRODUCCIÓN A LA PROGRAMACIÓN
• EJEMPLO DE UN ALGORITMO1. Destapar la pasta de dientes2. Coger el cepillo de dientes3. Aplicar la pasta de dientes al
cepillo4. Tapar la pasta de dientes5. Abrir el grifo6. Remojar el cepillo con la pasta
de dientes7. Cerrar el grifo8. Frotar los dientes con el cepillo
9. Abrir el grifo10. Enjuagarse la boca11. Enjuagar el cepillo12. Cerrar el grifo13. Secarse la cara y las manos con
una toalla
17/04/2015
3
INTRODUCCIÓN A LA PROGRAMACIÓN
• DIAGRAMAS DE FLUJO• Es la representación gráfica de flujo o secuencia de rutinas simples, es una
forma de especificar los detalles algorítmicos de un proceso mediante laesquematización gráfica.
INTRODUCCIÓN A LA PROGRAMACIÓN
Voy a laescuela
Salgo dela cama
Desayuno
Medespierto
Medespierto
Salgo dela cama
Desayuno
Voy a laescuela
EJEMPLO DIAGRAMAS DE FLUJO
17/04/2015
4
INTRODUCCIÓN A LA PROGRAMACIÓN
• PSEUDOCÓDIGO• Describe un algoritmo utilizando una mezcla de frases en lenguaje común,
instrucciones de lenguaje de programación y palabras claves que definen lasestructuras básicas.
INTRODUCCIÓN A LA PROGRAMACIÓN
1. Inicio2. Me despierto3. Salgo de la cama4. Desayuno5. Voy a la escuela6. Fin
1. Inicio2. Camina3. Gira a la derecha 90 grados4. Camina5. Gira a la derecha 90 grados6. Camina7. Gira a la derecha 90 grados8. Camina9. Gira a la derecha 90 grados10. Fin
EJEMPLOS PSEUDOCÓDIGO
17/04/2015
5
• BUCLES O CICLOS• Un bucle o ciclo, en programación, es una sentencia que se realiza
repetidas veces a un trozo aislado de código, hasta que la condiciónasignada a dicho bucle deje de cumplirse.
• Generalmente, un bucle es utilizado para hacer una acción repetida sintener que escribir varias veces el mismo código, lo que ahorra tiempo, dejael código más claro y facilita su modificación en el futuro.
PSEUDOCODIGO FIGURA GEOMETRICA DECUATRO LADOS
1. Inicio2. Camina3. Gira a la derecha 90 grados4. Camina5. Gira a la derecha 90 grados6. Camina7. Gira a la derecha 90 grados8. Camina9. Gira a la derecha 90 grados10. Fin
17/04/2015
6
Practica
1. Realice un pseudocódigo para hacer una figura geométrica de 8lados sin utilizar un bucle o ciclo.
PSEUDOCODIGO FIGURA GEOMÉTRICA DE 8LADOS
1. Inicio2. Camina3. Gira a la derecha 45 grados4. Camina5. Gira a la derecha 45 grados6. Camina7. Gira a la derecha 45 grados8. Camina9. Gira a la derecha 45 grados10. Camina
11. Gira a la derecha 45 grados12. Camina13. Gira a la derecha 45 grados14. Camina15. Gira a la derecha 45 grados16. Camina17. Gira a la derecha 45 grados18. Fin
17/04/2015
7
Ejemplo
• Realice un pseudocódigo para hacer una figura geométrica de 8lados utilizando un bucle o ciclo.
FIGURA GEOMÉTRICA DE 8 LADOSUTILIZANDO UN BUCLE O CICLO.
1. Inicio2. Lados=13. Hacer Mientras Lados<=8
4. Camina5. Gira a la derecha 45 grados6. Lados=Lados+1
7. Fin del Hacer8. Fin
17/04/2015
8
INSTRUCCIONES CONDICIONALES O TOMAS DEDECISIÓN
• Las instrucciones condicionales o tomas de decisión permitenrealizar opciones alternativas; por tanto, la ejecución de una líneao grupos de líneas de un programa dependen de que si cumplenuna o varias condiciones.
EJEMPLOS DE INSTRUCCIONESCONDICIONALES O TOMAS DE DECISIÓN
• ESCRIBIR "Introduce un numero: "LEER numSI num = int( num / 2 ) * 2 ENTONCES
ESCRIBIR "es par"SINO
ESCRIBIR "es impar"FINSI
FINPROGRAMA
17/04/2015
9
TEMAS
• Lenguaje De Programación Nxt – G• GUI Nxt - G• Bloque De Movimiento• Bloque de bucle o ciclo• Bloque de condición• Ejercicios propuestos
LENGUAJE DE PROGRAMACIÓN NXT - G
17/04/2015
10
GUI Nxt - G
GUI Nxt - G
• Robot Educator• Aquí puede encontrar instrucciones de construcción y programación
utilizando el modelo Robot Educator.
• Mi portal• Aquí puede acceder a www.MINDSTORMSeducation.com para obtener
herramientas, descargas e información.
• Barra de herramientas• La barra de herramientas incluye los comandos más frecuentemente
utilizados de la barra de menú en una ubicación de fácil acceso.
17/04/2015
11
GUI Nxt - G
• Zona de trabajo• Es el espacio en la pantalla donde se realiza la programación. Arrastre
bloques de programación desde la paleta de programación a la zona detrabajo y coloque los bloques en la viga de secuencia.
• Ventana Ayuda contextual• Aquí siempre puede obtener ayuda si la necesita.
• Mapa de zona de trabajo• Utilice la panorámica en la barra de herramientas para moverse por la zona
de trabajo, y utilice el mapa de zona de trabajo [ficha en la esquina inferiorderecha] para obtener una visión general.
GUI Nxt - G
• Paleta de programación• La paleta de programación contiene todos los bloques de programación que
necesitará para crear sus programas. Las fichas en el margen inferior de lapaleta le permiten cambiar entre la paleta común [que contiene los bloquesmás frecuentemente utilizados], la paleta completa [que contiene todos losbloques] y la paleta personalizada [que contiene los bloques que puededescargar o crear por su cuenta].
• Panel de configuración• Cada bloque de programación dispone de un panel de configuración que le
permite personalizar el bloque para la entrada y salida específica que usteddesea.
17/04/2015
12
GUI Nxt - G
• Controlador• Los cinco botones en el controlador le permiten descargar programas (o
partes de programas) desde el ordenador al NXT. Con el controlador,también podrá cambiar la configuración del NXT.
• Ventana del NXT• Esta ventana emergente proporciona información sobre las configuraciones
de memoria y comunicación del NXT.
GUARDANDO NUESTRO PRIMER PROGRAMA
• 1 camina 1 segundo• 2 gira a la izquierda 90 grados• 3 camina 1 segundo
17/04/2015
13
PANEL DE CONFIGURACIÓN BLOQUE DEMOVIMIENTO
• Este bloque permite controlar dos motores de modo sincronizado.Dichos motores pueden ser seleccionados por medio del panel decontrol estableciendo cuál es el de la izquierda y cuál el de laderecha, facilitando de esa manera el control del giro.
PANEL DE CONFIGURACIÓN BLOQUE DEMOVIMIENTO
• Port• Nos permite seleccionar los puertos de los motores que van ha
funcionar.• Direction
• Sentido de avance, hacia adelante, hacia atrás o parar.• Esteering
• Dirección de avance, izquierda o derecha.
17/04/2015
14
PANEL DE CONFIGURACIÓN BLOQUE DEMOVIMIENTO
• Power• Fuerza que ejerce el motor.
• Duration• Tiempo en que el motor va funcionar, tenemos cuatro funciones
ilimitado, grados, rotaciones y segundos.• Next Action
• Es lo que hace el motor después de que termina la configuraciónde DURATION, frena el motor inmediatamente o suavemente.
BLOQUE DE BUCLE O CICLO
• La función del bloque Bucle o Ciclo es ejecutar una y otra vez unconjunto de bloques mientras una condición se cumpla.
17/04/2015
15
PRÁCTICA DEL BLOQUE DE BUCLE O CICLO
1. Que el robot avance trazando un octágono, utilice un ciclo pararesolver el problema.
BLOQUE DE CONDICION
17/04/2015
16
EJEMPLO BLOQUE DE CONDICION
• Reconozca el color de una pelota y emita un sonido
Practicas
1. Que el robot avance y se detenga.2. Que avance, se detenga por 5 segundos y luego vuelva avanzar.3. Que el robot avance, se detenga y regrese al mismo punto de
inicio.4. Que el robot avance trazando un cuadrado.5. Que el robot avance y cuando detecte el color negro se detenga.
17/04/2015
17
EJERCICIOS PROPUESTOS PARA PROGRAMAREL ROBOT (1 Hora)
TEMAS
• Sensor ultrasónico• Sensor de presión• Sensor de luz y color• Calibrando sensor de luz y color• Sensor De Sonido• Ejercicios propuestos
17/04/2015
18
SENSOR ULTRASÓNICO
• El sensor de ultrasonidos es muy útil para detectar objetos sinnecesidad de tocarlos. Mide la distancia a los objetos que seencuentran frente a él. Para ello, emite ultrasonidos que rebotansobre los objetos que se interponen y mide el tiempo que lescuesta volver tras rebotar. La medida de ese tiempo se convierteen distancia.
CONFIGURACION DEL SENSOR ULTRASONICO
17/04/2015
19
SENSOR DE CONTACTO
• Este sensor sirve para detectar un objeto cuando se choca con él.Es el más sencillo de todos, de hecho no es mas que un pulsadorque al apretar cierra un contacto y al soltarlo lo abre. Además depara detectar obstáculos, también puede ser útil para actuarsobre un programa en lugar de utilizar los botones del NXT, o paradetectar cuando un robot llega al borde de una mesa y evitarcaerse. Su posición de inicio puede ser tanto pulsado como sinpulsar, dependiendo de lo que se desee hacer.
SENSOR DE CONTACTO
17/04/2015
20
SENSOR DE LUZ
• El sensor de luz puede medir la intensidad de luz en un ambientedeterminado o la luz reflejada por una superficie. Para esto últimodispone de un led rojo que emite la luz que dicha superficiereflejará. Si la superficie es oscura reflejará menos luz que si esclara. Si es necesario, es posible mantener este led emisor de luzapagado.
SENSOR DE LUZ
17/04/2015
21
CALIBRANDO EL SENSOR DE LUZ
• Para calibrar el sensor debemos medir la luz, en la superficie claray también en la línea negra, para ello utilizaremos la función“View” directamente en el NXT En el menú principal, View,Reflectec light, Port 3 si la medición sobre el color claro es 60 ysobre la línea negra es 40, entonces elegimos 50, la idea es usar elpunto medio.
SENSOR DE COLOR
• El sensor de color es el resultado de la evolución del sensor de luz.Además de cumplir las funciones del sensor de luz es capaz deidentificar 4 color diferentes además del negro y blanco.
17/04/2015
22
SENSOR DE COLOR
SENSOR DE SONIDO
• El sensor de sonido detecta niveles de sonido en el cuarto. Puededetectar tanto decibelios [dB] como Decibelio Ajustado [dBA].
• 4-5% - silencio• 5-10% - persona hablando a cierta distancia del sensor.• 10-30% - conversación normal cerca del sensor o música• 30-100% - personas gritando o música alta.
17/04/2015
23
SENSOR DE SONIDO
PRÁCTICA RECORRIDO CON OBSTÁCULOS(SENSOR DE ULTRASONICO)
• Sensor de ultrasónico• El robot avanza hasta encontrar un primer obstáculo
deteniéndose a 10 centímetros antes de que colisione, yretrocede hasta el inicio.
• Debe realizar el circuito marcado, cambiando de direccióncada vez que esté a punto de chocar con un obstáculo.
17/04/2015
24
PRÁCTICA RECORRIDO CON OBSTÁCULOS(SENSOR DE CONTACTO)
• Sensor de presión• El robot avanza hasta encontrar un primer obstáculo con el que
colisiona, se detiene y retrocede hasta el inicio.
• Debe realizar el circuito marcado, cambiando de direccióncada vez que choque con un obstáculo.
PRÁCTICA CAMBIO DE COLOR (SENSOR DE LUZ YCOLOR)
• Cambio de color• En dicha práctica se estudia como regular el sensor de luz y color para
detectar cambios de color en el terreno, Debe realizar el circuito marcado,cuando el robot cambie de tono de color en el terreno debe emitir un pitidoy detenerse, después continuar avanzando. Mediante esta sencillainiciación, permite el concretar los umbrales de funcionamiento del sensorde luz.
17/04/2015
25
PRÁCTICA SEGUIR LA LÍNEA (SENSOR DE LUZ YCOLOR)
• Circuito seguir la línea• Debe realizar el circuito marcado mediante el sensor de luz o color. Para
ello aplicarán los conocimientos adquiridos en el apartado anterior,regulando la velocidad de desplazamiento, ya que es bastante probable quesi emplean altas velocidades el robot pierda el camino en alguna curva.
• Seguir la línea• Inicialmente se sigue la línea recta hasta encontrarse el obstáculo a una
distancia de 10 centímetros, para ello se emplea el sensor de luz o color yultrasonidos. El objetivo del apartado es iniciarles en la programación debucles y ver como el robot debe tomar decisiones dependiendo de losestímulos que le llegan del exterior
PRÁCTICA RECORRER LA LÍNEA (SENSORSONIDO)
• Desplazarse y parar
• En este primer apartado el robot debe desplazarse por la líneahasta la primera marca y detenerse 2 segundos, después reiniciarla marcha hasta la segunda marca, detenerse 3 segundos ycompletar el circuito.
17/04/2015
26
PRÁCTICA RECORRER LA LÍNEA (SENSORSONIDO)
• Control mediante una palmada• El robot debe realizar el mismo recorrido que en el apartado anterior, pero
al detenerse en cada marca solo reinicia la marcha mediante una palmada.
• Sonidos y melodías• Realiza el mismo recorrido que en el apartado anterior y del mismo modo,
cada vez que reinicie la marcha debe emitir un sonido.
• Intensidad acústica• Realizara el mismo recorrido que en el segundo apartado, dependiendo de
la intensidad del sonido, avanza a una velocidad superior si la palmada esmás fuerte.