jueves, 28 de abril de 2016

Medir el periodo de un péndulo con S4A y Arduino.


Medir el periodo de un péndulo con S4A y Arduino.
Hoy vamos a hacer un circuito en nuestro Arduino para medir el periodo de oscilación con un receptor y un emisor IR, el programa en S4A será el encargado de calcular el periodo del péndulo, como podemos ver en el siguiente vídeo.
Para medir el periodo colocaremos el péndulo de forma que la lenteja pase entre el emisor y el receptor IR en el punto más bajo del recorrido, y calculando los tiempos en los que la lenteja del péndulo corta la comunicación entre emisor y receptor sabremos el tiempo que le ha costado un ciclo completo.
En el circuito incluimos un led que estará encendido mientras contamos el tiempo del ciclo.
Componentes:
§  Placa Arduino
§  Placa prototipos
§  Emisor IR
§  Receptor IR
§  Led
§  Resistencias de 10KΩ y 270Ω


En nuestro caso, el emisor y el receptor infrarrojo son muy parecidos a los leds, el de color obscuro es el emisor y el transparente es el receptor.

Conexión de los componentes IR.
La polaridad del emisor es similar a la de los led, se conecta con una resistencia pequeña (270Ω) con la pata más larga conectada a los 5V y la más corta hacia tierra.

En el receptor la polaridad es la contraria, con la pata más larga hacia tierra y la más corta hacia los 5V.
En el circuito, el receptor se comportará como un interruptor, por lo tanto colocaremos una resistencia grande (10kΩ) entre la pata larga y tierra a modo de Pull down.

El punto de conexión a la placa arduino será la unión entre el receptor IR y la resistencia de 10kΩ que ira conectado a la entrada Analog 6.
Funcionamiento del montaje
Desplazamos la lenteja del péndulo hacia uno de los lados y la soltamos, al pasar la lenteja entre el emisor y receptor producirá el primer corte de señal (en este momento encenderá el led), en ese momento usaremos la sentencia reiniciar cronómetro para que Scratch empiece a contar el tiempo.
El péndulo llegará al otro extremo y volverá hacia el punto más bajo y cuando llegue volverá a cortar la señal (en este momento ha pasado medio periodo) continuará hacia el desplazamiento inicial y volverá hacia el punto central.
Cuando llegue al punto central cortará la señal por tercera vez (en este punto ha realizado un ciclo completo), en este momento se apagará el led y se asignará el tiempo que marque el cronómetro de scratch a la variable tiempo. Esta es la variable que se muestra en pantalla.

Código S4A
El programa empieza apagando el led y espera hasta que el sensor (puerto Analog6) indique que recibe señal del emisor IR.
Esto ocurre al desplazar la lenteja del péndulo desde la posición de reposo.

A continuación, cuando el péndulo se suelta pasará por la posición más baja cortando la señal, el programa espera este momento (el valor del sensor < 600) como el inicio del periodo así que reincida el cronómetro y enciende el led.
Ahora vienen la serie de esperas (instrucción esperar hasta que):
§  La primera es hasta que la señal vuelve a recibirse (el péndulo sale del sensor)
§  La segunda cuando el péndulo vuelve a cortar la señal, esta vez pasa por el mismo sitio pero en sentido contrario.
§  La tercera cuando el sensor vuelve a recibir señal, el péndulo sale del sensor.
§  La cuarta cuando se vuelve a cortar la señal, el péndulo está en la misma posición que al empezar a contar el tiempo y va en el mismo sentido, ha pasado un periodo.

En este corte de señal se apaga el led y se asigna el valor del cronómetro a la variable tiempo que es la que se muestra en la pantalla!

No hay comentarios.:

Publicar un comentario