Práctica de Módulos Contadores y Aplicaciones de Circuitos
dist := 0
repeat duty from 0 to 255
frqa := duty * scale
waitcnt(clkfreq/128000 + cnt)
dist += ina[recPin]
El objeto TestIrDutyDistanceDetector obtiene medidas de distancia del objeto IrDetector y las
muestra en la Terminal erial Parallax (Figura 7-17). Con la resistencia de 100 Ω en serie con el LED
IR si el sistema detecta la altura de la mesa al techo o no dependerá de que tan alto y que tan
reflectivo sea el techo y que tan sensitivo es el detector en particular. Si el sistema no detecta objetos
regresara 256. La luz del día entrando por la ventana podrá generar un poco de ruido en la salida del
detector resultando en valores menores que 256 aun cuando no se detecta un objeto. Tan pronto se
acerca el objetivo al receptor LED/IR la medición se decrementara, pero no a cero típicamente a
menos que el LED IR este apuntando directamente en el fototransistor del receptor IR (La concha
negra debajo de los metales cruzados).
Asegúrese
que
TestIrDutyDistanceDetector.spin y FullDuplexSerialPlus.spin.
Use la herramienta Propeller para cargar TestIrDutyDistanceDetector.spin en la EEPROM
(F11) e inmediatamente presione el botón Enable de la Terminal Serial Parallax.
Experimente con una variedad de objetivos y distancias para obtener una idea de para qué
puede ser útil el sistema.
'' TestIrDutyDistanceDetector.spin
'' Prueba distancia de detección con el objeto IrDetector.
CON
_xinfreq = 5_000_000
_clkmode = xtal1 + pll16x
CLS = 16, CRSRX = 14, CLREOL = 11
OBJ
ir
: "IrDetector"
debug : "FullDuplexSerialPlus"
PUB TestIr | dist
'Inicia comunicación serial y espera 2 s para la conexión con la
'Terminal Serial Parallax.
Pagina 156 · Kit Educativo de Prácticas Propeller: Fundamentos
' Cambia duty de 0 a 255
' Actualiza registro frqa
' Detiene por 1/128 s
' Objecto no detectado?
Figura 7-17: Pantalla de Detección de
Distancia
IrDetector.spin
está
' Agrega 1 a dist.
grabado
en
la
misma
carpeta
que