2.12 Bola Sensible a la Luz

En este proyecto, usamos un fotoresistor para hacer que la bola en el escenario vuele hacia arriba. Coloca tu mano sobre el fotoresistor para controlar la intensidad de luz que recibe. Cuanto más cerca esté tu mano del fotoresistor, menor será su valor y más alta volará la bola en el escenario; de lo contrario, caerá. Cuando la bola toca la cuerda, produce un sonido agradable y una luz de estrella parpadeante.

../_images/18_ball.png

Aprenderás

  • Rellenar el sprite con colores

  • Tocar entre los sprites

Componentes Necesarios

En este proyecto, necesitamos los siguientes componentes.

Es definitivamente conveniente comprar un kit completo, aquí está el enlace:

Nombre

ELEMENTOS EN ESTE KIT

ENLACE

3 in 1 Starter Kit

380+

3 in 1 Starter Kit

También puedes comprarlos por separado en los enlaces a continuación.

INTRODUCCIÓN DEL COMPONENTE

ENLACE DE COMPRA

Placa SunFounder R3

BUY

Protoboard

BUY

Cables Puente

BUY

Resistencia

BUY

Fotoresistor

BUY

Construir el Circuito

Un fotoresistor o célula fotoeléctrica es un resistor variable controlado por la luz. La resistencia de un fotoresistor disminuye con el aumento de la intensidad de luz incidente.

Construye el circuito según el siguiente diagrama.

Conecta un extremo del fotoresistor a 5V, el otro extremo a A0, y conecta una resistencia de 10K en serie con GND en este extremo.

Por lo tanto, cuando la intensidad de la luz aumenta, la resistencia del fotoresistor disminuye, la división de voltaje de la resistencia de 10K aumenta y el valor obtenido por A0 se hace mayor.

../_images/photoresistor_circuit.png

Programación

El efecto que queremos obtener es que cuanto más cerca esté tu mano del fotoresistor, el sprite de la bola en el escenario seguirá subiendo, de lo contrario caerá sobre el sprite del tazón. Si toca el sprite de la Línea mientras sube o cae, emitirá un sonido musical y lanzará sprites de estrellas en todas direcciones.

1. Seleccionar sprite y fondo

Elimina el sprite predeterminado, selecciona los sprites Ball, Bowl y Star.

../_images/18_ball1.png

Mueve el sprite Bowl al centro inferior del escenario y aumenta su tamaño.

../_images/18_ball3.png

Como necesitamos moverlo hacia arriba, establece la dirección del sprite Ball a 0.

../_images/18_ball4.png

Establece el tamaño y la dirección del sprite Star a 180 porque necesitamos que caiga, o puedes cambiarlo a otro ángulo.

../_images/18_ball12.png

Ahora añade el fondo Stars.

../_images/18_ball2.png

2. Dibujar un sprite de Línea

Añade un sprite de Línea.

../_images/18_ball7.png

Ve a la página Costumes del sprite Line, reduce ligeramente el ancho de la línea roja en el lienzo, luego cópiala 5 veces y alinea las líneas.

../_images/18_ball8.png

Ahora rellena las líneas con diferentes colores. Primero elige un color que te guste, luego haz clic en la herramienta Fill y mueve el ratón sobre la línea para rellenarla con color.

../_images/18_ball9.png

Sigue el mismo método para cambiar el color de las otras líneas.

../_images/18_ball10.png

3. Programar el sprite Bola

Establece la posición inicial del sprite Ball, luego, cuando el valor de luz sea menor a 800 (puede ser cualquier otro valor, dependiendo de tu entorno actual), deja que la Bola se mueva hacia arriba.

Puedes hacer que la variable light_value aparezca en el escenario para observar el cambio de intensidad de luz en todo momento.

../_images/18_ball5.png

De lo contrario, el sprite Ball caerá y limitará su coordenada Y a un mínimo de -100. Esto se puede modificar para que parezca que está cayendo sobre el sprite Bowl.

../_images/18_ball6.png

Cuando el sprite Line es golpeado, la coordenada Y actual se guarda en la variable ball_coor y se transmite un mensaje Bling.

../_images/18_ball11.png

4. Programar el sprite Estrella

Cuando comience el script, primero oculta el sprite Star. Cuando se recibe el mensaje Bling, clona el sprite Star.

../_images/18_ball13.png

Cuando el sprite Star aparezca como un clon, reproduce el efecto de sonido y establece sus coordenadas sincronizadas con el sprite Ball.

../_images/18_ball14.png

Crea el efecto de aparición del sprite Star y ajústalo según sea necesario.

../_images/18_ball15.png