Está en la página 1de 6

Perfil del cono de luz

Arango Pérez M., Zapata Ciro K., y Villegas Guerra A.


August 30, 2019

Abstract
In this practice the intensity is measured in a cone of light, with the help of Arduino
and an LDR photoresistance (GL55 family or similar), using the analog inputs of
Arduino.

1 Introducción
Las fotorresistencias, también conocidas como resistencias dependientes de la luz (LDR), son
dispositivos sensibles a la luz que se utilizan con mayor frecuencia para indicar la presencia
o ausencia de luz, o para medir la intensidad de la luz.

En esta practica usaremos la fotoresistencia para tomar datos de intensidad de un cono de


luz que se desplaza con el tiempo y asi obtener una distribucion de la intencidad de la luz.

2 Montaje experimental
Se monta un láser sobre el brazo del servomotor y se ubica una pantalla que tiene la fotore-
sistencia que marcara la diferencia de intencidades.Para lograr que llegue a la fotoresistencia
como un cono, se le quita la lente que coloma la luz en el láser, y asi se dispersa formando
un cono que distribuye la intencidad en un area. En la fig. 1 se muestra la fotoresistencia
aislada de la lus ambiente y el láser sin lente unido al servomotor.

1
Figure 1: Iz:montaje para medir la intensidad del cono de luz.De:Láser unido al servomotor

Se conecta el servomotor y el láser a una placa arduino,y ademas se añade la fotoresistencia


atravez del circuito mostrado en la fig.2. Y se escribe el código mediante el cual se controlara
el avance del servomotor.

Figure 2: Circuito para variar la intensidad del láser

El siguiente código lee el dato de un sensor por el puerto A0, almacena los valores en un

2
arreglo y luego envı́a el arreglo por serial:
1 const int a n a l o g I n P i n = A0 ; // p i n a n l o g o de l e c t u r a
2 int s e n s o r V a l = 0 ; // i n i c i a l i z a c i n v a r i a b l e l e c t u r a s e n s o r
3 int d a t o s [ 2 0 ] ; // a r r e g l o con v a l o r e s l e d o s . Se d e f i n e t a m a o
4 int maxi = 1 0 ; // en un f u t u r o para c o n t r o l a r e l t a m a o d e l a r r e g l o
5
6 void s e t u p ( ) {
7 // p u t your s e t u p code here , t o run once :
8 S e r i a l . b e g i n ( 9 6 0 0 ) ; // I n i c i a l i z a e l s e r i a l
9 }
10

11 void l o o p ( ) {
12 // p u t your main code here , t o run r e p e a t e d l y :
13
14 // l e e e l v a l o r por A0 y l o almacena en d a t o s
15 f o r ( int c o n t = 0 ; c o n t < maxi ; c o n t++){
16 s e n s o r V a l = analogRead ( a n a l o g I n P i n ) ; // l e e d e l p i n
17 d a t o s [ c o n t ] = s e n s o r V a l ; // almacena en a r r e g l o
18 delay (200) ;
19 }
20 // E n v o d e l a r r e g l o por e l s e r i a l
21 f o r ( int i = 0 ; i < maxi ; i ++) { S e r i a l . p r i n t ( d a t o s [ i ] ) ;
22 Serial . print (” ,”) ;}
23 Serial . println () ;
24
25 delay (2000) ;
26 }

El siguiente códogo lee un arreglo del serial, construye una lista con los valores enteros del
arreglo y lo imprime. Al estar embebido en un for loop lo hace varias veces. Al final grafica
una curva por cada lista enteros.

1 import s e r i a l # comunicacion s e r i a l
2 import numpy a s np # f u n c i o n e s matematicas b a s i c a s
3 import pylab a s p l t # g r a f i c a s
4
5 # Se i n i c i a l a comunicacion s e r i a l
6 s e r = s e r i a l . S e r i a l ( p o r t = ’ / dev / cu . usbmodemFA131 ’ , b a u d r a t e = 9 6 0 0 )
7
8 p l t . f i g u r e ( ) # Se i n i c i a l i z a l a g r a f i c a
9 f o r i i in range ( 5 ) : #e s t e f o r c o r r e de 0 a 4
10 data = s t r ( s e r . r e a d l i n e ( ) ) # l e e e l a r r e g l o en e l s e r i a l y l o v u e l v e
string
11 print ( data ) # imprime t a l como l l e g a por e l s e r i a l
12
13 # usa d e c o d i f i c a d o r de l i s t a s + i s d i g i t ( ) + s p l i t ( )
14 # toma l o s e n t e r o s de l a l i s t a
15 r e s = [ int ( i ) f o r i in data . s p l i t ( ” , ” ) i f i . i s d i g i t ( ) ]
16 print ( r e s ) # imprime l a l i s t a de e n t e r o s
17 p l t . p l o t ( r e s ) # g r a f i c a l a l i s t a de e n t e r o s
18 p l t . show ( ) # p r e s e n t a l a s g r a f i c a s

3
3 Análisis y conclusiones
Las graficas que se muestran en las fig.3,fig.4,fig.5,fig.6 y fig.7, son el resultado del experi-
mento.En cada una de ellas se muestra el mismo experimento (el experimento se repitio seis
veces).La curva de luz, representa la variacion de intencidad medida por la fotoresistencia
con forme el servomotor se movia

Figure 3: Curva de luz

Figure 4: Curva de luz

4
Figure 5: Curva de luz

Figure 6: Curva de luz

5
Figure 7: Curva de luz

Al tratarse de un cono de luz que pasa alejandose y acercandose periodicamente de el con-


tador que en este caso serı́a la resistencia; se esperarı́a obtener una distribución en forma
de campana de o similar ya que la información de intensidad aumenta a medida que el se
acerca hasta llegar a un pico de intensidad y a partir de ahı́ va a ir disminuyendo a medida
que el laser se aleja.

Evidentemente en las gráficas que obtuvimos no se observa dicha distribución y los errores
reportados asociados a este experimento estriban en una imperfección en el servomotor ya
que en cada paso este presentaba una oscilación bastante notable antes de estabilizarse en
un punto en cada paso. Esto se evidencia en los multiples picos irregulares que se observan
en la mayorı́a de gráficos arrojados.

Del análisis de la gráfica se interpreta la pendiente como el mı́nimo avance que el servomotor
realiza cuando es controlado por la placa arduino cuyo valor es 0, 02 rad y el error en esa me-
dida se interpreta como la resolución que podemos alcanzar que en este caso es de 4, 8e−4 rad.

También podría gustarte