Paso 3: Ahora eso él trabaja en su protoboard...
Probablemente usted debe programar el bs2, aquí está el código. La mayor parte de este código se basa estrechamente en ejemplos en varios PDF disponible en el sitio de parallax. Paga más por el BS2, pero la documentación es genial.' {$STAMP BS2}
' {$PBASIC 2.5}
'
' -----( I/O Definitions )-------------------------------------------------
PIR 0' entrada-salida patillas para el Sensor PIR
LEDONE PIN 15' I/O Pin para el LED verde
LEDTWO 14' entrada-salida patillas del LED rojo
' -----( Variables )-------------------------------------------------------
contador VAR Byte ' contador de viaje
x var palabra ' define una variable de propósito general
muestra VAR x.BIT15 ' bit de signo de x
degC VAR Word ' define una variable que contenga los grados centígrados
degF VAR Word ' para mantener grados Fahrenheit
' -----( Initialization )--------------------------------------------------
Pantalla de depuración claro de DEBUG CLS
SEROUT 12.396,("! NB0W07: ","Calentamiento", CLS) ' Dile la rosa cuál es para arriba
PARA contador = 10 a 0
ALTA LEDONE ' Flash del LED
BAJO LEDTWO ' esperar 20 segundos para el calentamiento PIR
DEBUG HOME, "el calentamiento:", DEC2 contador
SEROUT 12.396,("! NB0W07: calentamiento para arriba: ", CLS)
PAUSE 1000
BAJO LEDONE
LEDTWO ALTA
PAUSE 1000' pantalla contador cada segundo
SIGUIENTE
BAJO LEDONE
LEDTWO BAJA
Contador = 0' claro Variable contador
DEBUG HOME, "En espera"
SEROUT 12.396,("! NB0W07:Waiting... ", CLS)
LEDTWO ALTA
ALTO 5' Seleccione el DS1620
SHIFTOUT 7,6,LSBFIRST,(238) ' comando "iniciar conversiones"
BAJO 5' hacer el comando
' -----( Program Code )----------------------------------------------------
Principal:
HACER
' Detector de movimiento
¿If PIR = 1 THEN ' movimiento detectado?
contador = contador + 1' contador del viaje de actualización
LEDONE ALTA '
LEDTWO bajo ' luz LED rojo
DEBUG HOME, "Se ha disparado...", DEC3 contador
SEROUT 12.396,("! NB0W07: ","activado... ",CLS)
: LOOP hasta PIR = 0' espere PIR a claro
DEBUG HOME, "Despejado...", DEC3 contador
SEROUT 12.396,("! NB0W07: ","liberado... ",CLS)
BAJO LEDONE
LEDTWO alta ' apaga LED rojo
ENDIF
' Temperatura
ALTO 5' Seleccione el DS1620
SHIFTOUT 7,6,LSBFIRST,(170) ' enviar el comando "obtener datos"
SHIFTIN 7,6,LSBPRE,(x\9) ' obtener los datos, incluyendo el signo
BAJO 5' terminar el comando
x.BYTE1 = - x.BIT8 ' extender la muestra a 16 bits
grados centígrados = x * 5' convertir a ' C * 10 (resolución 0.5 ' C)
degF grados centígrados = 2732 * 9/50-459' conver a F
¿DEBUG? degF, CR, CR ' muestra en depuración
SEROUT 12.396,("! NB0W06:", Dec degF,CLS)
' Detector de puerta de garaje.
IF IN1 = 0 THEN
SEROUT 12.396,("! NB0W08: ","Open", CLS)
OTRA COSA
SEROUT 12.396,("! NB0W08: ","Cerrado", CLS)
ENDIF
PAUSE 1000
LAZO