Anda di halaman 1dari 7

TRABAJO PRACTICO N6

CAMINANDO HACIA LA LUZ

1)- Que significan las siglas LDR?

Es un resistor dependiente de luz (LDR, por sus siglas en ingls) es decir un fotoresistor
Lo cual quiere decir, que su valor de resistencia depende en la luminosidad en el ambiente que
es reflejada sobre su superficie detectora de luz.

2)- Como se comparta el valor de la resistencia interna de las foto resistencias ante una
luz muy brillante o muy dbil? y si es una luz intermedia?

La LDR tiene poca resistencia cuando est muy iluminada, mientras que si est en la oscuridad
puede superar los 50 K.
Para niveles de luz intermedia, la resistencia estar entre valores de luz brillante y obscuridad

3)- Tiene un pin de E/S algn efecto sobre el circuito cuando esta configurado como
entrada? Que tiene que ocurrir para que un registro asociado a un pin de E/S
configurado como entrada almacene un 1 o un 0?

Cuando el pin funciona como entrada lo que haces es escuchar. Si el pin de entrada detecta
un voltaje superior a 14 V almacena un 1 lgico en el biestable correspondiente. Si el voltaje es
inferior almacenar un 0.

4)- Que quiere decir voltaje limite o umbral? cual es el voltaje limite para un pin de E/S
de la Home Work?

El voltaje umbral es un valor que por encima de l se considera como 1 lgico, y por debajo se
considera como 0 lgico. El voltaje umbral para la Home Work es de 1.4 voltios.

5)- Que es un divisor de voltaje?

Cuando dos resistores se encuentran conectados en serie para establecere un voltaje Vo,
el circuito es llamado divisor de voltaje.

6)- Segn la figura 7-2, que hace que Vo suba por encima o baje por debajo del voltaje limite
de un pin de de E/S de la Home Work? Cual es el circuito que hace que se produzca esta
variacin de Vo?

El valor de Vo es determinado por la relacin entre los resitores. Vo cambia su valor porque el
resistor R cambia de valor. R es un fotoresistor que cambia su valor dependiendo del nivel de
iluminacin que recae sobre l

7)- Que ajuste puedes hacer en el ciucuito de la figura 7-2 para que el Home Boe-Bot
pueda funcionar en un rea mas iluminada? y para que lo haga en un rea menos
iluminada?

Si el cuarto tiene poca iluminacion puedes reemplazar las resistencias de 2 k con


unos de 4.7 k
(Amarillo Violeta Rojo). Esto har que tu divisor tenga mejor desempeo en condiciones de luz
baja.
Para condiciones de luz realmente bajas, hasta puedes usar resistores de 10 k
(marrn-negro- naranja).
Si el cuarto est muy iluminado, puede que necesites subsituir por un valor menor, el
resistor de 2 k. Trata con un resistor de 1 k (marrn-negro-rojo), o inclusive con uno
de 470 (amarillo-violeta-marrn) si te encuentras en un rea al aire libre
8)- Cuales son los minimos cambios que debes hacer en RoamingWithWhisker.bs2 para que
funcione con los fotoresistencias.
Ajustar las condiciones del IF...THEN para que monitoricen IN6 e IN3 en vez de IN7 e IN5. La
figura 7-5 muestra como hacerlo
' -----[ Ttulo ]--------------------------------------------------------------
' El robot Home Boe-Bot - RoamingPhotoresistorDividers.bs2
' El Boe-Bot detecta sombras mediante la tensin que proporcionan las foto
' resistencias y acta en funcin de ellas

' {$Stamp bs2}


' {$PBASIC 2.5}

' -----[ Variables ]----------------------------------------------------------

pulseCount VAR Byte ' Contador para el bucle For..next.

' -----[ Inicializacin ]-----------------------------------------------------

FREQOUT 4, 2000, 3000 ' Seal de Inicio/reset

' -----[ Rutina principal ]-------------------------------------------------------


DO
IF (IN6 = 0) AND (IN3 = 0) THEN ' Ambas LDR detectan sombras
GOSUB Back_Up ' retroceso y giro a la izda.
GOSUB Turn_Left
GOSUB Turn_Left
ELSEIF (IN6 = 0) THEN ' La LDR izda. detecta sombra,
GOSUB Back_Up ' retroceso y giro a la dcha.
GOSUB Turn_Right
ELSEIF (IN3 = 0) THEN ' La LDR dcha detecta sombra,
GOSUB Back_Up ' retroceso y giro a la izda.
GOSUB Turn_Left
ELSE ' Ninguna LDR detecta sombras,
GOSUB Forward_Pulse ' avance
ENDIF
LOOP

' -----[ Subrutinas ]--------------------------------------------------------

Forward_Pulse: ' Enva un pulso de avance.


PULSOUT 12,650
PULSOUT 13,850
PAUSE 20
RETURN

Turn_Left: ' Giro a la izda. 90.


FOR pulseCount = 0 TO 20
PULSOUT 12, 650
PULSOUT 13, 650
PAUSE 20
NEXT
RETURN

Turn_Right:
FOR pulseCount = 0 TO 20 ' Giro a la dcha. 90.

Back_Up: ' Retroceso.


FOR pulseCount = 0 TO 40
PULSOUT 12, 850
PULSOUT 13, 650
PAUSE 20
NEXT
RETURN

9)- Cuales son las diferencias entre ShadowGuidedBoeBot.bs2 y


RoamingWithPhotoresistorDividers.bs2? En que varia el funcionamiento del Home Boe Bot?

El ShadowGuidedBoeBot.bs2 chequea los sensores entre cada pulso, en vez de tener


maniobras fijas de muchos pulsos. Esto hace que el Boe-Bot sea mas eficiente.
Se eliminan las maniobras de retroceso que estaban anterioremente diseadas para los
bigotes , esto hace que el robot responda mas rpidamente de acuerdo a la intensidad de luz
encontrada.

10)-Cual es la diferencia entre un faradio y un microfaradio?

La diferencia es 1 faradio es 106 F (microfaradios)

11)- Segn la figura 7-10 que efectos tiene HIGH 6 en el voltaje que atraviesa el condensador?
Que hace PAUSE 3? Y RCTIME?

HIGH 6 Inicio carga del condensador (se carga el condensador conectando el circuito a 5 V
utilizando para ello el comando HIGH).en P6
PAUSE 3 Retardo dar tiempo a la carga (para darle suficiente tiempo a HIGH para que cargue
el condensador del circuito) 3 ms
RCTIME 6,1,timeLeft `Medicin del tiempo de descarga . El comando RCTIME, configura el
pin de E/S como entrada, mide el tiempo de descarga (desde casi 5 V hasta 14 V), y lo
almacena en la variable timeLeft.

12)- Que es una declaracin de constantes? Que es lo hace? Como lo puedes usar en un
programa?

Una declaracin de constante le dice al compilador el valor de tu constante. Por ejemplo,


MaxTemp CON 212 es una declaracin de una constante . Una declaracin de una constante
le da un nombre significativo a un nmero o valor usado en un programa. Para usar una
constante, escribimos su nombre en cualquier parte del programa donde su valor es necesario.

13) Como se evalan las expresiones matemticas en PBASIC?

Las expresiones son evaluadas de izquierda a derecha. Esto es diferente a evaluaciones


algebricas normales, donde la multiplicacin y divisin son evaluadas antes de la suma y la
resta

14)- Cual es la diferencia entre utilizar un numero y una constante en un bloque IF.THEN?
Cual es la diferencia entre usar una medicin RCTIME en un bloque IF.THEN y usar un valor
obtenido de un pin de E/S?

La Constante : determina valor que van a ser utilizados muy a menudo. Puede ser utilizado
para calcular otra constante.
Los numero que voy a utilizar muy a menudo lo puedo transformar en una constante
asignndole un nombre luego los llamo por su nombre facilitando la operacin
Ejemplo:
A=1
3+A= 4
Es mejor utilizar una medicin RCTIME porque puedo menipular mejor las variables de
luminosidad mientras que con el pin E/S utilizo solamente valores binarios (por debajo o por
encima de 1.4 v)

15) Que dos ejemplos en este capitulo utilizan el PBASIC para calcular una media? Porque son
distintos? Por que son iguales?

En el programa FlashLightControlledBoeBot.bs2, los promedios fueron usados para calcular los


umbrales de luminosidad. En el programa RoamingTowardTheLight.bs2, un promedio de las
medidas izquierda y derecha fue calculado. Los dos programas difieren en que el primero es
calculado estticamente en una declaracin constante, mientras que el segundo es calculado
dinmicamente mientras el programa es ejecutado. Se asemejan debido a que ambos suman
dos valores y dividen por 2.

17-19)- Ver Hoja Adjunta

20)- ' El Robot Home Boe-Bot - Ejercicio 20.bs2


' El robot trata de seguir el foco de luz.

' {$Stamp bs2} ' Stamp directive.


' {$PBASIC 2.5} ' PBASIC directive.

' -----[ Constantes ]----------------------------------------------------------

' CAMBIAR ESTOS VALORES POR LOS QUE TU DETERMINES E INCLUIRLOS EN


LA TABLA 6-1.

LeftAmbient CON 1250 'izquierda debil


RightAmbient CON 1450 'derecha debil
LeftBright CON 4 'izquierda brillante
RightBright CON 5 'derecha brillante

' Calcular el factor de escala


LeftThreshold CON LeftBright + LeftAmbient / 2 * 5 / 8
RightThreshold CON RightBright + RightAmbient / 2 * 5 / 8

' -----[ Variables ]----------------------------------------------------------

' Declarar variables para almacenar los tiempos RC medidos en las LDR izda.
' y dcha.

timeLeft VAR Word


timeRight VAR Word

' -----[ Inicializacin ]-----------------------------------------------------


FREQOUT 4, 2000, 3000

' -----[ Rutina principal ]-------------------------------------------------------

DO
GOSUB Test_Photoresistors
GOSUB Navigate
LOOP

' -----[ Subroutina - Test_Photoresistors ]-----------------------------------


Test_Photoresistors:

HIGH 6 ' Medir el tiempo RC izdo.


PAUSE 3
RCTIME 6,1,timeLeft

HIGH 3 ' Medir el tiempo RC dcho.


PAUSE 3
RCTIME 3,1,timeRight

RETURN

' -----[ Subroutina - Navigate ]----------------------------------------------

Navigate:

IF (timeLeft < LeftThreshold) AND (timeRight < RightThreshold) THEN


PULSOUT 13, 850 ' Luz en ambas LDR,
PULSOUT 12, 650 ' avance a toda velocidad.
ELSEIF (timeLeft < LeftThreshold) THEN ' Luz en la LDR izda,
PULSOUT 13, 720 ' mover a izda..
PULSOUT 12, 650
ELSEIF (timeRight < RightThreshold) THEN ' Luz en la LDR dcha.,
PULSOUT 13, 650 ' mover a dcha.
PULSOUT 12, 720
ELSEIF (timeLeft > LeftAmbient) AND (timeRight > RightAmbient) THEN
PULSOUT 13, 650 ' Poca luz, retrocede.
PULSOUT 12, 850
ENDIF

PAUSE 20 ' Pausa entre pulsos.

RETURN
Proyecto 1

' -----[ Titulo ]------------------------------------------------------


' Robotica con el Boe-Bot - Proyecto 1 tp 6.bs2
' Boe-Bot esquiva piezas de papel negras.
' {$STAMP BS2} ' Directiva del Stamp
' {$PBASIC 2.5} ' Directiva de PBASIC.
' -----[ Constantes ]--------------------------------------------------
LeftWhite CON 141
RightWhite CON 148
LeftBlack CON 250
RightBlack CON 400
LeftAvg CON LeftWhite + LeftBlack / 2
RightAvg CON RightWhite + RightBlack / 2
' -----[ Variables ]---------------------------------------------------
timeLeft VAR Word ' Medidad fotoresistor izq.
timeRight VAR Word ' Medidad fotoresistor der.
' -----[ Inicializacion ]----------------------------------------------
'FREQOUT 4, 2000, 3000
' -----[ Rutina Principal ]--------------------------------------------
DO
GOSUB Test_Photoresistors
GOSUB Navigate
LOOP
' -----[ Subrutinas ]--------------------------------------------------
Test_Photoresistors:
HIGH 6 ' Medida de tiempo RC izq. Le asigna un valor alto, le carga 5V
PAUSE 3
RCTIME 6,1,timeLeft
HIGH 3 ' Medida de tiempo RC der.
PAUSE 3
RCTIME 3,1,timeRight
RETURN
Navigate:
' Ambos detectan papel negro, retrocede y emite sonido
IF (timeLeft > LeftAvg) AND (timeRight > RightAvg) THEN ' si es mayor que LeftAvg
es negro, lo mismo para el RightAvg
PULSOUT 13, 650 'Hace retroceder al robot
PULSOUT 12, 850 'Hace retroceder al robot
'FREQOUT 4, 20, 4400 ' Hace Bip en vez de pausa
' Izq. detecta papel negro, gira hacia la der., emite sonido
ELSEIF (timeLeft > LeftAvg) THEN
PULSOUT 13, 850 'Giro derecha
PULSOUT 12, 850 'Giro derecha
'FREQOUT 4, 20, 2200
' Der. detecta papel negro, gira hacia la izq., emite sonido
ELSEIF (timeRight > RightAvg) THEN
PULSOUT 13, 650 'Giro izquierda
PULSOUT 12, 650 'Giro izquierda
'FREQOUT 4, 20, 3300
' Ninguno detecta papel negro, avanza enviando un solo pulso
ELSE 'el timeRight y el timeLeft es menor que el promedio porque se descarga ms
rpido, estamos sobre zona blanca y avanza
PULSOUT 13,850
PULSOUT 12,650
PAUSE 20
ENDIF
RETURN

Anda mungkin juga menyukai