Autor Tema: Problema IR Receptor con Picbasic y StampBasic  (Leído 3326 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Zerobots

  • PIC10
  • *
  • Mensajes: 3
    • Foro de Wireless
Problema IR Receptor con Picbasic y StampBasic
« en: 01 de Septiembre de 2008, 13:47:21 »
Hola a todos,

Hacia mucho tiempo que no entraba en el foro, ya que he estado dedicado a otros temas de trabajo y de wireless.. ya por fin he retomado mi gran pasion.. la programacion y la robotica.

:)

Despues del rollo... :D

Tengo un proyecto de un Robot que lo quiero comandar con un mando a distancia, con StampBasic ( BS2 ) lo he conseguido con el codigo siguiente:

Código: [Seleccionar]
DO ' Main DO...LOOP
remoteCode = 0

DO ' Wait for end of resting state.

RCTIME irsensor, 1, irPulse
LOOP UNTIL irPulse > 1000
PULSIN irsensor, 0, irPulse ' Get data pulses.
IF irPulse > 500 THEN remoteCode.BIT0 = 1
RCTIME irsensor, 0, irPulse
IF irPulse > 300 THEN remoteCode.BIT1 = 1
RCTIME irsensor, 0, irPulse
IF irPulse > 300 THEN remoteCode.BIT2 = 1
RCTIME irsensor, 0, irPulse
IF irPulse > 300 THEN remoteCode.BIT3 = 1
RCTIME irsensor, 0, irPulse
IF irPulse > 300 THEN remoteCode.BIT4 = 1
RCTIME irsensor, 0, irPulse
IF irPulse > 300 THEN remoteCode.BIT5 = 1
RCTIME irsensor, 0, irPulse
IF irPulse > 300 THEN remoteCode.BIT6 = 1

' Map digit keys to actual values.

IF (remoteCode < 10) THEN remoteCode = remoteCode + 1
IF (remoteCode = 10) THEN remoteCode = 0

DEBUG CLS, ? remoteCode ' Muestra el codigo en el Debugger del StampBasic

IF remoteCode=110 THEN high 2 ' Enciende un LED si se pulsa ese codigo ( mando flecha hacia arriba )

LOOP ' Repeat main DO...LOOP

Como esquema he utilizado un simple Receptor de infrarrojos Panasonic de 3 patillas, V5+, GND, OUT, con la tipica resistencia de 220 omhios, etc... y funciona perfectamente con un mando universal, habiendole encontrado el codigo perfecto de emulacion.

Ahora.. el problema! ;)

En el 90% utilizo placas con Pic's como el 16F877A utilizando el PicBasic Pro 2.50a y como Frontend el MicroCode Studio y me encuentro con el problema de ya para empezar algunos mandatos como el "LOOP UNTIL" no me lo reconoce, entiendo que hace repetir el loop en caso de cumplirse la condicion que tiene por delante, pero.. lo he adaptado a PicBasic Estandar y no me funciona.

Este seria el codigo adaptado ( segun entiendo y he podido... ) al PicBasic Pro ( y que no me funciona ):

Código: [Seleccionar]

define osc 4
Include "modedefs.bas"
irsensor var portc.6
irPulse VAR Word
remoteCode VAR Byte
bucle var word                                   

inicio:
remoteCode = 0
inicio2:

RCTIME irsensor, 1, irPulse
if irPulse > 1000 then goto inicio2
PULSIN irsensor, 0, irPulse ' Get data pulses.
IF irPulse > 500 THEN remoteCode.BIT0 = 1
RCTIME irsensor, 0, irPulse
IF irPulse > 300 THEN remoteCode.BIT1 = 1
RCTIME irsensor, 0, irPulse
IF irPulse > 300 THEN remoteCode.BIT2 = 1
RCTIME irsensor, 0, irPulse
IF irPulse > 300 THEN remoteCode.BIT3 = 1
RCTIME irsensor, 0, irPulse
IF irPulse > 300 THEN remoteCode.BIT4 = 1
RCTIME irsensor, 0, irPulse
IF irPulse > 300 THEN remoteCode.BIT5 = 1
RCTIME irsensor, 0, irPulse
IF irPulse > 300 THEN remoteCode.BIT6 = 1

' Map digit keys to actual values.

IF (remoteCode < 10) THEN remoteCode = remoteCode + 1
IF (remoteCode = 10) THEN remoteCode = 0

Lcdout $FE, 1   ' Borra pantalla LCD
Lcdout "IR Valor= ",dec5 remoteCode ' Muestra valor del codigo pulsado

IF remoteCode=110 THEN high portb.4 ' Enciendo LED - Flecha Arriba
IF remoteCode=111 THEN high portb.5 ' Enciendo LED - Flecha Abajo
IF remoteCode=116 THEN high portc.4 ' Enciendo LED - Flecha Derecha
IF remoteCode=117 THEN high portc.5 ' Enciendo LED - Flecha Izquierda

goto inicio:

Os agradeceria eternamente cualquier ayuda a este tema que me tiene loco, llevo horas sin ningun resultado positivo y ya no ser que hacer.. :(

Gracias por adelantado a quien me pueda echar un cable.

;)


Saludos!
Zero13

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Problema IR Receptor con Picbasic y StampBasic
« Respuesta #1 en: 01 de Septiembre de 2008, 15:35:39 »
Quiza te sirva mucho este programa hecho Por Craid Garner y hospedado en Gorobotics.

Y en PBP la opcion seria Repeat Until
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado Zerobots

  • PIC10
  • *
  • Mensajes: 3
    • Foro de Wireless
Re: Problema IR Receptor con Picbasic y StampBasic
« Respuesta #2 en: 01 de Septiembre de 2008, 21:21:16 »
Gracias navaismo !!
:-)

Voy a probarlo y te cuento.
;)
Saludos!
Zero13