PracticasClaseResueltasBitbloq

Page 1

SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

Práctica 1 PRACTICA 1 EJERCICIO 1: LED básico Conecta un LED y consigue que parpadee. Tiene que permanecer 1 segundo encendido, 1 segundo apagado, y así sucesivamente indefinidamente.

PRACTICA 1 EJERCICIO 2: PULSADOR básico Conecta un LED y un PULSADOR. Tienes que conseguir que al presionar el pulsador el LED se encienda, y al soltar el pulsador el LED se apague.

= Las dos soluciones son válidas. La única diferencia es que en la primera de ellas utilizamos una variable. MUY IMPORTANTE recordar que lo correcto es siempre acabar un SI…. Con un De lo contrario, ejecutar.

[1]


SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

PRACTICA 1 EJERCICIO 3: ZUMBADOR básico Conecta un ZUMBADOR y un PULSADOR. Tienes que conseguir que al presionar el pulsador el ZUMBADOR haga la escala musical básica y se pare. Al volver a pulsar el pulsador tiene que volver a repetir la escala musical básica.

Si os preguntáis si sería posible quitar el bloque DE LO CONTRARIO, la respuesta es SÍ, pero lo ponemos para que os acostumbréis a ponerlo. En cualquier caso el programa comprobará una y otra vez si he pulsado el botón. Cuando lo pulse reproducirá la escala musical durante un tiempo total de 3,5 segundos y al acabar volverá a comprobar si está pulsado el botón o no y así infinitamente.

[2]


SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

PRACTICA 1 EJERCICIO 4: LEDS apagan y encienden con pulsador Conecta dos LED y haz que uno se encienda y el otro se apague y viceversa, según el estado del pulsador. Inicialmente encendido el LED VERDE. Al pulsar el pulsador se apaga el verde y se enciende el LED AZUL. Al soltarlo queda de nuevo encendido el verde.

= Os volvemos a decir que lo correcto es la primera opción aunque la segunda sea válida (en un sensor digital si no es 1, tiene que ser un cero). La segunda es válida también pero veremos que cuando el sensor sea analógico y no digital la forma correcta de construir un condicional es siempre esta (con tantos EN CAMBIO SI como sea necesario, uno,dos, tres….., pero siempre acabando con un bloque DE LO CONTRARIO:

[3]


SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

PRACTICA 1 EJERCICIO 5: Semáforo de peatones Puedes usar un led de otro color si no tienes uno rojo (el azul). Inicialmente el semáforo está en rojo para los peatones (led AZUL encendido) Cuando pulses el botón, el led azul parpadea 4 veces y se apaga, y se enciende el verde durante 10 SEGUNDOS para que cruce el peatón. Trascurridos los DIEZ segundos el verde parpadea 4 veces y se apaga y vuelve a quedar encendido el rojo. PISTA: Usar funciones.

Importante. Aquí tienes que empezar por apagar para que se vea el primer parpadeo, puesto que si empiezas con encender, ,o habrá cambio porque el led ya estaba encendido. Si empiezas por encender, solo verás tres parpadeos en lugar de 4.

=

Introducimos aquí la función CONTAR CON (sentencia FOR en programación), que me permite realizar el número de repeticiones que yo quiera. En este caso se producen 4 repeticiones porque cuenta desde 0 hasta 3…….es decir 0,1,2 y 3.

[4]


SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

[5]


SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

PRACTICA 1 EJERCICIO 6: Semáforo de peatones para ciegos Cuando acabes, utilizando el zumbador, has que el semáforo este adaptado para personas ciegas, de forma que mientras la luz de peatones este verde suene un pitido que indique a la persona invidente que puede cruzar. Al ejercicio anterior, habría que añadirle lo siguiente: En la sección de FUNCIONES, declaramos una nueva función que hace los pitidos del semáforo:

[6]


SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

En la sección de BUCLE PRINCIPAL(Loop) el programa quedaría de la siguiente manera:

La función pitidoSemaforo según esta definida en la sección de funciones tiene una duración de: 9 primeros pitidos: 100ms suena pitido + 900ms espera = 9 segundos Ultimo pitido: 500ms suena pitido + 500ms espera = 1 segundo TOTAL TIEMPO FUNCION pitidoSemaforo = 10 segundos. Si ejecutamos la función pitido Semaforo (que como hemos visto dura 10 segundos) y además pusiéramos un bloque esperar de 10000 ms, entonces el LED VERDE ( Encender el LED ledVERDE) estaría encendido durante 20 segundos (10 que tarda la función en ejecutarse y otros 10 que le hemos puesto en el esperar sin hacer nada). Por eso NO TENEMOS QUE PONER EL BLOQUE DE ESPERAR 10000 ms (Como ves aparece desactivado en la imagen) Este es error más común que soléis cometer. ESTO ES FUNDAMENTAL ENTENDERLO.

[7]


SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

Práctica 2 PRACTICA 2 EJERCICIO 1: MINISERVO básico Conecta un MINISERVO y haz que: Se inicialice a la posición de 90º (solo ha de hacerlo al principio y una sola vez. Cuando se coloque en 90º es cuando hay que poner la media hélice) → ESTO SE DENOMINA “CALIBRAR EL MINISERVO” ➢

Mientras el pulsador no es pulsado permanece en esa posición.

Al pulsar el pulsador HAGA LA SIGUIENTE SECUENCIA:

Posicionamiento a 5º,(esperar2s)

posicionamiento a 45º (esperar 2s)

posicionamiento a 90º (esperar 2s)

posicionamiento a 135º (esperar2s)

posicionamiento a 175º (quedar parado)

Se queda en esa posición hasta que se pulsa de nuevo el pulsador y repite la secuencia.

LO MÁS IMPORTANTE AQUÍ, ES CALIBRAR EL MINISERVO. Cuando nosotros conectamos el miniservo, no sabemos en qué posición está, puesto que no sabemos quién lo ha podido usar o simplemente que es lo último que hicimos con él. Calibrarlo es tan sencillo como: 1. Movemos el motor a una posición que queramos, aunque lo más sencillo es 90º. Y esto queremos que solo lo haga una vez. Por tanto tenemos que escribirlo en el SETUP.

2. Ahora ya sabemos que el miniservo está en 90º seguro.

[8]


SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

90º

90º

3. Cogemos el acoplamiento o hélice del motor y lo colocamos en 90º. Ahora ya tenemos la referencia. 4. Borramos el bloque del SETUP porque YA NO NOS HACE FALTA y realizamos el programa en el LOOP. IMPORTANTE: Esto hay que hacerlo cada vez que lo voy a usar de nuevo si no se dónde está mi referencia.

5. Podéis ver que siempre que ponemos un SI, al final hemos de acabar con un DE LO CONTRARIO. En este caso, en el de lo contrario no queremos que haga nada en particular, por lo que lo podemos dejar vacío como podéis ver en la solución. Si alguien pone un bloque ESPERAR en ese de lo contrario hay que tener cuidado con una cosa y es que si ponemos el esperar muy grande (pej. 10000 ms) el programa no va a funcionar, ya que estará 10 segundos esperando y si presiono el pulsador en esos 10 segundos no va a funcionar. Por tanto si pongo un esperar ha de ser MUY PEQUEÑO, de unos 10 o 20 ms para que no afecte cuando yo vaya a presionar el pulsador.

[9]


SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

PRACTICA 2 EJERCICIO 2: SERVO DE ROTACIÓN CONTINUA básico Conecta un SERVO DE ROTACION CONTINUA que: 1) Realiza la calibración del servo de RC (rotación continua). Para ello coloca en el Bucle principal el bloque de:

Si el servo RC no está calibrado (vibra o gira), llama al profesor para que con el destornillador lo calibre. 2) Una vez calibrado el servo RC tiene que: • Comenzar parado • Mientras el pulsador no es pulsado permanece en esa posición. • Al pulsar el pulsador HAGA LA SIGUIENTE SECUENCIA: ➢ Comience a girar en sentido anti-horario durante 3 segundos (y 3 parpadeos del LED AZUL) ➢ Luego queda parado otros 3 segundos, ➢ Luego que comience a girar 3 segundos en sentido horario (y 3 parpadeos del LED VERDE) ➢ Se queda en esa posición hasta que se pulsa de nuevo el pulsador y repite la secuencia

Típico error que se comete: PONER EL BLOQUE PARAR SERVO EN EL SETUP, porque como el miniservo se calibra en el SETUP, pues aquí igual. NO ES IGUAL.

[10]


SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

FUNCION GIRO HORARIO: Usamos la función CONTAR. Al contar desde 0 hasta 2 hace tres veces el bucle (0, 1 y 2 total=3). Para poder dar vueltas en el bucle necesito definir una variable y ponerla a 0. En este caso a la variable la he llamado contador.

[11]


SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

En cada vuelta que da al bucle el servo gira en sentido horario y hace un parpadeo que dura 1 segundo (500ms que está encendido el LED y otros 500ms que está apagado el LED). Al hacer tres veces el bucle hará 3 parpadeos y durará por tanto 3 segundos (un segundo por parpadeo). Es MUY IMPORTANTE poner primero el girar servo y después los encender y apagar con los esperar (Todo bloque que lleve consigo asociado un esperar hay que hacerlo después) FUNCION GIRO ANTIHORARIO: Igual que la función giro horario, pero sin hacer uso del bucle contar. Podéis ver como ponemos primero el bloque que girar, para que empiece a girar y luego ya haga los parpadeos que llevan asociados bloques esperar. Si lo hago al revés no va a empezar agirar el sevo hasta que no hiciera los 3 parpadeos. Vemos que cada parpadeo al igual que antes dura 1 segundo (500ms que está encendido el LED y otros 500ms que está apagado el LED). Si lo hacemos tres veces, tendremos 3 parpadeos que tardaran 3 segundos en realizarse. LOOP PRINCIPAL: Cuando pulso el pulsador, se ejecuta GiroHorario (el servo empieza a girar en sentido horario y hace tres parpadeos de 1 segundo cada uno de ellos). Luego se para el servo durante 3 segundos. Por último ejecuta giroAntihorario en el que el servo empieza a girar en sentido antihorario durante 3 segundos (el tiempo que tardan en hacerse los parpadeos que he puesto detrás del bloque girar servo)

[12]


SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

PRACTICA 2 EJERCICIO 3: PSEUDOCOCHE (1) Consigue que cuando presione un pulsador, el coche avance hacia delante y que cuando el pulsador no esté pulsado el coche se detenga.

Un programa muy sencillo en el que solo tengo que tener en cuenta que como los dos motores son simétricos, para que avancen en la misma dirección uno tiene que girar en un sentido y otro en otro. Podemos tomar como norma, que el servo (motor) que pongamos a la derecha gire en sentido horario, y el servo (motor) que pongamos a la izquierda gire en sentido antihorario. Esta combinación hará que el coche avance hacia delante. Si usáramos la combinación: Servo (motor) derecho: giro antihorario servo (motor) izquierdo: giro horario Entonces nuestro pseudo-coche avanzaría hacia detrás.

[13]


SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

PRACTICA 2 EJERCICIO 4: PSEUDOCOCHE (2) Consigue ahora lo siguiente. En la misma estructura de coche anterior: Tenemos dos pulsadores: •

Al pulsar el PULSADOR1(pulsador situado a la derecha físicamente en tu montaje) gira a la derecha (el PULSADOR2 ha de estar sin pulsar. Girar a la derecha = servo izquierdo: ON (hacia delante)+ servo derecho:OFF

Al pulsar el PULSADOR2 (pulsador situado a la izquierda físicamente en tu montaje) gira a la izquierda (el PULSADOR1 ha de estar sin pulsar) Girar a la izquierda = servo izquierdo: OFF + servo derecho:ON (hacia delante)

Al pulsar a la vez ambos pulsadores el coche avanza hacia delante. Avanzar hacia delante = servo izquierdo: ON(hacia delante) + servo derecho:ON (hacia delante)

[14]


SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

Práctica 3 PRACTICA 3 EJERCICIO 1: LDR BÁSICO Conecta una LDR y los dos LED (azul y verde) • Hemos de simular lo siguiente: ➢ Cuando haya luz ambiente: Los 2 LED han de estar apagados. ➢ Cuando haya oscuridad total (tapar la LDR con los dedos): Han de parpadear alternativamente el LED AZUL y el LED VERDE a la vez HASTA QUE vuelva a haber luz ambiente

Aquí lo más importante es elegir bien el valor de corte: si cuando pruebo con el SERIAL MONITOR, me da un valor de 180 cuando le da la luz ambiente y 40 cuando lo tapo totalmente, NO PONGO JUSTO ESOS VALORES, sino un valor entre medias de ambos, por ejemplo 100. Si es menor que 100 será oscuro y si es mayor habrá luz ambiente.

[15]


SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

PRACTICA 3 EJERCICIO 2: POTENCIOMETRO BÁSICO

Conecta un POTENCIOMETRO y los dos led (AZUL y VERDE). Tendrás que:

Dependiendo de la posición en la que se encuentre el potenciómetro, tendrá que encenderse un LED o el otro dependiendo de lo siguiente:

➢ ➢ ➢ ➢ ➢ ➢

Cuando el potenciómetro esté entre los valores 0 y 170: LED VERDE ON Cuando el potenciómetro esté entre los valores 171 y 340: LED AZUL ON Cuando el potenciómetro esté entre los valores 341 y 512: LED VERDE ON Cuando el potenciómetro esté entre los valores 513 y 680: LED AZUL ON Cuando el potenciómetro esté entre los valores 681 y 850: LED VERDE ON Cuando el potenciómetro esté entre los valores 851 y 1023: LED AZUL ON

[16]


SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

Lo importante aquí es la estructura SI → EN CAMBIO -------→DE LO CONTRARIO. Si valor del potenciómetro es 300, ejecutará SOLO ESTE BLOQUE. Es importante entender que todo el conjunto es un bloque y que de las seis partes en las que está dividido, solo se ejecutará una, el resto serán ignoradas. Solo se ejecutará aquella que cumpla la condición. Típico error es pensar que 300 es menor que 341, pero también menor que 513, 681, etc…..y que por tanto se ejecutarán todos esos bloques, pero NO, puesto que cuando se cumple una condición se ejecuta esa parte y se sale del condicional. También es importante entender que, por ejemplo, si el valor es 300, entra en el si y no se cumple, por tanto el valor ya no puede ser menor de 171, ya tendrá que estar entre 171 y 340 para que se cumpla el siguiente en cambio si, y así sucesivamente.

[17]


SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

PRACTICA 3 EJERCICIO 3: TOLDO (LDR+miniservo) 1) Consigue hacer un programa que controle un toldo de tal manera que cumpla las siguientes condiciones:

a. Cuando hay poca luz (LDR a oscuras --> taparla con los dedos completamente), el toldo tiene que estar subido (Miniservo a una posición de 90º --> toldo SUBIDO) ya que la luz no molesta a través de la ventana b. Cuando la luz se incrementa (LDR luz ambiente de la clase), el toldo tiene que bajar un poco (Miniservo a una posición de 45º --> toldo A MEDIAS) para no dejar que entre mucha luz a través de la ventana c. Cuando hay mucha luz (LDR alumbrada con linterna del móvil), el toldo tiene que bajar completamente (Miniservo a una posición de 0º --> toldo BAJADO) para impedir que la luz atraviese la ventana y no moleste.

[18]


SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

[19]


SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

PRACTICA 3 EJERCICIO 4: EFECTO REFLEJO VARIACIÓN (POT + LEDs) 1) Consigue hacer un programa que haga lo siguiente: a. Cuando el mando del potenciómetro se encuentra en la SECCION0: ambos leds están APAGADOS: led azul OFF - led VERDE OFF b. Cuando el mando del potenciómetro se encuentra en la SECCION1: los leds se encuentran: led azul ON - led VERDE OFF c. Cuando el mando del potenciómetro se encuentra en la SECCION2: los leds se encuentran: led azul OFF - led VERDE ON d. Cuando el mando del potenciómetro se encuentra en la SECCION3: ambos leds están ENCENDIDOS: led azul ON - led VERDE ON

NOTA IMPORTANTE: Hay que utilizar la función MAPEAR obligatoriamente para hacerlo

[20]


SOLUCIONES PRÁCTICAS DE ROBÓTICA 1ª EVALUACIÓN. TECNOLOGIA, PROGRAMACIÓN Y ROBÓTICA 3º E.S.O. (19/20)

[21]


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.