TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: Matadoor en 23 de Mayo de 2007, 22:18:40
-
Saludos amigos, espero no molestar tanto a la comunidad pero son los unicos a quien puedo acudir, en vista de que veo bastante dificil poder detectar diferentes frecuencias de un par de diodos infrarojos, estoy viendo la posoçiobilidad de poder gobernar mi robotcito con un contrrol remoto pero quisiera ir paso a paso, por favor alguien me podria dar un ejemplo de como podria controlar un par de servos pero a traves de rutinas de PicBasic que es el editor que uso, he buscado pero la unica informacion que e encontrado esta escrita para proton y la verdad que no se proton por lo cual si tienen algun ejemplito les agradeceria mucho, he estado leyendo al respecto y de lo que entendi este procedimiento se basa en la PWM (Pulse with Modulation)??' Estoy por el camino adecuado???
Gracias por Responder......
-
Si puedes conseguir estos libros te ayudarian mucho con lo de los servos (yo tengo los 3, comprados en Amazon.com):
http://www.thinkbotics.com/index.htm
Puedes tener comunicación entre infrarrojos si alejas lo suficiente las frecuencias para que no interfieran entre ellas. He utilizado 38-40 KHz para uno y 56.8 KHz para otro y no presentan problemas de comunicación.
PWM se utiliza mas en motores de DC, los servos (tengo entendido) se manejan por tiempos; estarías utilizando la instrucción PULSOUT o algo asi.
Saludos.
-
he buscado pero la unica informacion que e encontrado esta escrita para proton y la verdad que no se proton por lo cual si tienen algun ejemplito les agradeceria mucho
Hola:
Pues no has buscado nada bien, mira aquí hay un ejemplo para tres servos, que hice hace un par de dias:
http://www.todopic.com.ar/foros/index.php?topic=16951.0
-
Gracias por responder, he estado revisando la informacion que colgaste en el link y he mirado que la informacion y he notado un par de cosas que me llaman la atencion y queria preguntarte lo siguiente:
Queria inicialmente mntar un dispositivo que pudiera detectar obstaculos pero visto lo complejo del tema y a que estoy iniciando la idea basica es poder montar un heptapodo tipo araña que camine por si solo es decir que mueva sus tres patas derechas y luego las izquierdas para que pueda caminar, pero mi duda es la siguiente : Tengo entendido (no se si me equivoque) que el PIC16F84A(El que yo disppongo) no tiene el conversor AD y queria conocer si seria posible realizar esta rutina de control que te he mencionado y poder cargarlo en este pic, porque estoy viendo que las salidas las haces a travez del puerto c pero creo que simplemente deberia cambiarlas al puerto b en mi caso(estoy bien??) otra cosilla que queria preguntarte es : Cuando simule (ayer) un codigo detu propiedad en proteus el servo solo se movia a la derecha y de ahi no regresaba
Hola es el mismo que tu pusiste solo le cambie un poco el tiempo, pero como te decia funciona solamente cuando pongo que gire a la izquierda o solo a la derecha pero cuando pongo todo, gira solo a la derecha:
i var byte
inicio:
derecha:
for I = 1 to 255
high portb.1
pauseus 1000
low portb.1
pause 10
next
pause 1000 " tempo de espera para cambiar el sentido de rotación
izquierda:
for I = 1 to 255
high portb.1
pauseus 1300
low portb.1
pause 20
next
pause 1000
goto inicio
ese es el codigo...
Un Abrazo... Sonrisa Gigante
hay algun problema en el codgo escrito de esta manera por que estoy observando que en el nuevo codigo utilizas la sentencia PULSEOUT, y otra cuestion cuando hice la simulacion el servo que encontre tenia 5 terminales en que parte se encuantra el servito de 3 terminales??? Espero no molestarte con estas preguntas de un novatazo pero de antemano cuanto con tu ayuda y te lo agradesco grandemente.....
Saludos desde Riobamba.....
-
Para servos puedes usar -lo digo por experiencia propia- pulsout o bien como esta en tu cita creas tu tu pulso al meter un for con un high y low con una pausa en microsegundos lo que haces es enviar una señal cuadrada o una especie de pwm hecho a la antigua. Yo use mas bien el pulsout ya que es mas sencillo y el servo responde muy bien. En cuanto a lo del servo de 3 pines yo pongo en el menu de busqueda servo y aparecen todos los modelos. Si no en la ayuda viene como conectar el servo de 5 patillas.
Y el F84 puede controlarte tranquilamente 4 servos y el metodo de deteccion que quieras
-
Gracias Navaismo, sabes me estoy cercenando la cabeza tratando de hacer girar el servo hacia la izquierda ya que con el codigo que deje arriba el mismo se mueve solo hacia la derecha pero no regresa, ya he cambiado el tiempo de la señal como lo habia leido en una informacion publicada aqui mismo que en resumen dice que con tiempo de 2.3ms en alto y 20ms en bajo el servo deberia moverse a la derecha, y que con tiempos de 0.3ms en alto y 20 ms en bajo el servo deberia irse a la derecha pero no logro tal cometido, depronto estoy errado en esta informacion ?? me podrias dar a una idea de como hacer girar el servo hacia izquierda y derecha??? y otra pregunta mas como posociono al servo en su centro de recorrido???
Gracias por la ayuda......
-
PD: Se me olvidaba espero no fastidiarles mucho pero me encuentro interesado en un bot que pudiera moverse dependiendo de la informacion enciada por un control remoto por ejemplo un phillips que creo es el mas comunmente usado en este tipo de tareas mi pregunta es como puego generar un programa que pudiera reconocer este protocolo y poder gobernar el pic mediante un control remoto??? Gracias por vuestra colaboracion.....
-
PD: Se me olvidaba espero no fastidiarles mucho pero me encuentro interesado en un bot que pudiera moverse dependiendo de la informacion enciada por un control remoto por ejemplo un phillips que creo es el mas comunmente usado en este tipo de tareas mi pregunta es como puego generar un programa que pudiera reconocer este protocolo y poder gobernar el pic mediante un control remoto??? Gracias por vuestra colaboracion.....
No estoy seguro sobre lo que comentas de Phillips ¿podrías explicar eso?
Para botcecillos con comunicación de ese tipo revisa esto:
http://www.rentron.com/ruf-bot.htm
http://www.rentron.com/Infrared_Communication.htm
-
Hola, gracias por responder a todos hago una sinopsis sobre lo que me encuantro haciendo: Estoy tratando de montar un hexapodo y aunque me ha tomado bastante tiempo de pueba y error les comento que ayer por fin logre hacer funcionar el sistema de servos(para que de los pasos y la pata que hace levantar al hexapodo) yo se que no es la gran cosa pero creanme que no dormi hasta las 2:30 am viendo como se acababan las baterias y el movimiento repetitivo de las patas de mi hexapodo :lol: :lol: :lol: para mi fue el anhelo de hace ya mucho tiempo atras digamos una experiencia unica..... Ahora la siguiente parte del trabajito constiste en como poder gobernar a distancia mi bichito, es decir he escuchado que implementar receptor de infrarojos basado en la norma RC5 de Phillips es lo que comunmente suele ser lo mas sencillo (segun he leido), me podrian ayudar con opiniones de como puedo lograr hacer funcionar este receptor?? Yo estoy usando el PicBasicPro, eso la primera parte la segunda es lograr que el bichito pueda sensar la temperatura del medio donde se esta desplazando y pueda enviarla hacia el puesto de control ...... sera mas conveniente para esto utilizar comunicacion via RF?? Hacia tiempo atras habia adquirido un par de modulos LINX (Tx y Rx) aunque no he logrado poder ponerlos a trabajar hasta la fecha..... >De antemano les agradesco sus ayudas comentarios y sugerencias sobre este proyecto......
Saludos.......
-
Hola buscar un poquito resolveria todas tus metas. De todo lo que has comentado la mayoria ya esta resuleto lo unico que tendrias que hacer es implementar un todo en uno.
Para lo del control remoto uno que me funciono muy bien con un sony y uno universal fue el hecho por Craig Gardner en un articulo publicado en GOROBOTICS es tan sencillo que no necesito mas que de un pic enanito (8pines) y facilmente adaptable a cualquier PIC. Aquí el LINK (http://www.gorobotics.net/Articles/Sensors/Building-an-Infrared-Remote-Decoder/).
Podrias meter esto al incio de tu programa y usar el control unvirsal, Yo use un sony de un dvd trae unos botones que hacen una cruceta y te pueden servir para mover el hexapodo. cada boton tiene un valor decimal, los botones de los numeros correspon a sus numeros al menos en mi control sony. eso te puede ayudar y primero identifica el valor de los botones que quieras usar. Una vez con eso puedes usar el SELECT CASE para mandarle a la rutina adecuada segun sea el caso. Eso si si no recibes nada o se quedara en la ultima rutina o no hara nada.
Con respecto a lo de sensar la temperatura, aquitambien esta todo podrias usar un lm35dz o un tcn74 o un tcn75 o cualquier otro para ello necesitaras un PIC con ADC. para regresar los datos necesitaras un control RF si es mucha distancia o bien con infrarrojos. Con RF podrias usar transceptores que ambos transmiten y reciben y asi usar un solo control para mover y sensar el hexapodo, si no pues modulos de rf sencillos y el emisor en tu hexapodo y con un SEROUT2, SERIN2 tendrias resuelto todo. Si es por infrarrojos Bruce Reynolds nos dejo un ejemplo en su pagina. aqui el link (http://www.rentron.com/PicBasic/VB_PIC_TEMP.htm).
Saludos
-
Hola Navaismo, gracias por la informacion me pongo ya mismo manos a la obra tan solo un par de preguntas mas, yo estoy ocupando el PIC16F628A crees que tenga algun problema al tratar de implementar el codigo o el codigo funcionaria tambien para este PIC, y la otra seria necesario que ocupase ya el pic con un cristal externo para lograr hacer funcionar el receptor???
Gracias por responder.....
Saludos............
-
Pues solo tendras que adaptar los puertos y/o en su caso ADC y caracteristicas especiales, pero para nada sera problema yo lo use para un 16f84A y jalo. Seguro no hay problema. Si tienes oscilador interno y lo quieres usar seguro funcionara tambien.
-
Saludos Navaismo, aunque me ha costado bastante trabajo conseguir el receptor de tres pines por fin he logrado conseguiirdo de una television sony vieja, he estado revisando el codigo que me habias sugerido
@ DEVICE INTRC_OSC, MCLR_off, PROTECT_OFF, WDT_OFF
CMCON = 7 ' Comparators OFF
ANSEL = 0 ' A/D OFF -- Port pins all digital
TRISIO = %010000 ' All I/O but GPIO3 = outputs
GPIO = %00000000 ' All 0 on boot
Define OSCCAL_1K 1 ' Set OSCCAL for 1K device
IRpulse_length var word(13)
xx var Byte
Command Var Byte
clear
Getstartbits:
PuLSIN GPIO.4,0,IRpulse_length(0)
if IRpulse_length(0) < 200 then
goto getstartbits
Endif
for xx=1 to 12
pulsin GPIO.4,0,IRpulse_length(xx)
next xx
displaybits:
if IRpulse_length(1) < 100 then
Command.bit0 = 0
Else
Command.bit0 = 1
endif
if IRpulse_length(2) < 100 then
Command.bit1 = 0
Else
Command.bit1 = 1
endif
if IRpulse_length(3) < 100 then
Command.bit2 = 0
Else
Command.bit2 = 1
endif
if IRpulse_length(4) < 100 then
Command.bit3 = 0
Else
Command.bit3 = 1
endif
if IRpulse_length(5) < 100 then
Command.bit4 = 0
Else
Command.bit4 = 1
endif
if IRpulse_length(6) < 100 then
Command.bit5 = 0
Else
Command.bit5 = 1
endif
if IRpulse_length(7) < 100 then
Command.bit6 = 0
Else
Command.bit6 = 1
endif
if IRpulse_length(8) < 100 then
Command.bit7 = 0
Else
Command.bit7 = 1
endif
If Command.bit7 = 0 then 'Bit 7 is one of the device bits
Command = Command + 1
Endif
If Command = 10 then
Command = 0
Endif
SEROUT GPIO.0,2,[Command]
pause 100
goto Getstartbits
END
que esta escrito para el PIC12F629 y cunado lo mando a compilar para este PIC el programa se compila sin ninguna novedad ahora viene mi duda, ya que al mandar a compilar cambiando el pic al 16f628A que es el que yo estoy utilizando para mi bichito me aparecen una serie de errores como los mostrados en la siguiente captura de pantalla:
(http://img519.imageshack.us/img519/8480/errorsw1.jpg)
Me podrias dar una alguna idea de que es lo que esta pasando con el codigo, o que parte en si deberia ser modificada para que pueda operar con mi PIC, disculpa tantas preguntas Navismo pero estoy picado con este tema y espero seguir contando con tu valiosa ayuda.....
Gracias por responder.....
Saludos.....
-
Para empezar los registros y los fuses dale una leida al datasheet del ambos pics y notaras las diferencias. Rapidamente el 16f628 no tiene el FUSE: ANSEL, por lo visto no tiene oscilador interno, y si lo tiene no se configura con INTRC_OSC, hay que buscar cual es el nombre si posee oscilador interno.
El registro TRISIO es para los pics de 8 pines en tu caso tendras que configurar o el TRISA o el TRISB dependiendo del puerto que desees usar para recibir los datos. GPIO tampoco te compilara, en lugar de eso deberas usar PORTA o PORTB. el CMCON si jala con ambos ya que hace digital el puerto con comparadores.
Y osccal es par el oscilador interno asi que tambien quitalo.
Saludos.
-
Ok me pongo manos a la obra a buscar informacion acerca de los Fuses.......
Gracias un abrazo......
-
Hola navaismo espero me puedas ayudar con un par de incognitas que tengo, mira ya hice los cambios que me sugeriste en el codigo pero revisando la documentacion del pic16f628a que estoy usando encontre que si se puede definir el oscilador interno la linea de definicion exacta no la recuerdo este momento pero solo es posible definirlo desde 4 Mhz para arriba y el comentario de la definicion del oscilador del codigo original me hacia entender que lo definia a 1Khz dime existira problemas si uso los 4 mhz en el oscilador??? La siguiente consulta es: Estuve revisando el codigo y me parece que el codigo recibido por el receptor es enviada de manera serial al pin 0 (salida) me podrias ayudar diciendome como podria capturar este codigo en una variable para poder hacer luego una rutina case select (case select ya lo tengo claro) y por ultimo el receptor infrarojo del que te hable en el anterior post (3 patitas) estaba en una envoltura de hoja lata y lo destape para sacar solo el diodo que pense iba a estar solo en una placa pero mi sorpresa fue que encontre el fotoreceptor en su plaquita con una serie de elementos sdm y unos 3 o 4 capacitores electroliticos pequeños, asi que mi pregunta es ¿sera que funciona el receptor propuesto con este fotoreceptor?, por cierto lo saque de una tv en desuso de marca sony. espero no abusar de tu paciencia y bondad, espero me puedas ayudar,
Un abrazo y muchas gracias.......
-
pd: con esos cambios ya se compilo el programa......
-
Para lo del oscilador interno a 4MHZ solo pon al inicio, del programa esta linea :@ DEVICE INTRC_OSC si usas el winpic o cualquier otro cuando cargues el archivo .hex veras como el Fuse de INTRC IO esta activa esto quiere decir que usara el oscilador interno y donde va el crystal pueden ser usadas como salidas o entradas digitales segun sea el caso.
Con respecto a lo de capturarlo en una variable eso ya esta hecho, es decir si te fijas bien en el codigo el valor se guarda en la variable command la cual efectivamente se manda de manera serial a la PC. lo que puedes hacer es en lugar de usar un serout poner un lcd un display o lo que quieras para ver su valor. El codigo del receptor es muy transparente, si te fijas busca el valor de cada bit de la variable byte commadn para despues unirlo y mandar el valor decimal de la conjuncion de sus bits.
Y con lo del receptor tengo mis dudas creo que no funcionara lo unico que necesitas es un receptor de 38 o 40 KHZ en este caso el uso el pna4612 yo use el pna4602, puedes intentar con cualquier otro com un tsop40 o algo asi. No son muy costosos a lo mucho $2USD el PNA4602.
Saludos
-
Saludos Navaismo, efectivamente estudiando el codigo sugerido se almacena en la variable command, estuve revisando el funcionamiento del protocolo utilizado por sony y veo que el cofçdigo detecta los 7 bits que llegan luego del bit de star, pero cuando llegan los bits a partir del 8 en adelante el codigo hace esto:
if IRpulse_length(8) < 100 then
Command.bit7 = 0
Else
Command.bit7 = 1
endif
If Command.bit7 = 0 then 'Bit 7 is one of the device bits
Command = Command + 1
Endif
If Command = 10 then
Command = 0
Endif
es decir la trama a partir del bit 8 determina que dispositivo es (TV, VCR, ect) pero porque se le suma 1 si el bit 8 es 0??? Para hacerle saber que estamos trabajando con un control de television??? porque lei que la trama de address 1 corresponde a los televisores Sony, y cuando se hace la conparacion If Command = 10 then; se esta comparando en formato binario o en decimal?? de serlo por que se hace que command = 0 ???
Es decir si quiero hacer las comparasiones en mi estructura case select yo me imagino que debo comparar la variable con el valor de bits leido pero en formato binario ejm si he enviado el codigo 10(d) comparararia con su correspondiente 1010(b) o en el select deberia compararlo con el propio 10(d)????
Gracias nuevamente por la ayuda.....
Hasta la proxima........
-
Acerca del porque se usa ese codigo viene perfectamente explicado en la pagina del codigo -valga la redundancia- y con respecto a lo del SELECT CASE no es necesario que lo hagas de manera binaria si lo que entro en la variable command es un %00000111 si lo pones en el select case como 7 lo detectara. 7 es 7 en binario o decimal.
Saludos. no te compliques tanto, hazlo, pruebalo y diviertete jeje parecio comercial.
-
ok.... :wink:
-
Hola Navaismo, te comento que conecte con sentido comun mi sensor ir que habia conseguido el que te habia contado anteriormente +, - , y la ultima patita que supuse era la salida le conecte a un led y luego de este a positivo al presionar los botones de mi control remoto sony el led parpadea rapidamente, luego cargue una parte del codigo en el PIC16F628A para hacer una pequeña prueba esto fue lo que le cargue :
@ DEVICE MCLR_off, PROTECT_OFF, WDT_OFF
CMCON = 7 ' Comparators OFF
;ANSEL = 0 ' A/D OFF -- Port pins all digital
;TRISB = %010000 ' All I/O but GPIO3 = outputs
PORTB = %00000000 ' All 0 on boot
;Define OSCCAL_1K 1 ' Set OSCCAL for 1K device
DEFINE OSC 4
IRpulse_length var word(13)
xx var Byte
Command Var Byte
clear
Getstartbits:
PuLSIN PORTA.1,0,IRpulse_length(0)
if IRpulse_length(0) < 200 then
goto getstartbits
high PORTB.0
PAUSE 100
LOW PORTB.0
Endif
high PORTB.1
PAUSE 100
LOW PORTB.1
goto getstartbits
end
luego al conectar el pic el diodo en la salida b0 esta prendido y al presionar cualquier boton b0 se apaga y b1 se enciende, lo que a mi parecer me hace suponer que el pic esta ya sensando el codigo enviado por el control remoto verdad????
Ahora viene mi inquietud, al acoplar el respo del codigo y cargar el pic con el mismo:
for xx=1 to 12
pulsin PORTA.1,0,IRpulse_length(xx)
next xx
displaybits:
if IRpulse_length(1) < 100 then ;Primer Bit Recibido
Command.bit0 = 0
Else
Command.bit0 = 1
endif
if IRpulse_length(2) < 100 then ;Segundo Bit Recibido
Command.bit1 = 0
Else
Command.bit1 = 1
endif
if IRpulse_length(3) < 100 then ;Tercer Bit Recibido
Command.bit2 = 0
Else
Command.bit2 = 1
endif
if IRpulse_length(4) < 100 then ;Cuarto Bit Recibido
Command.bit3 = 0
Else
Command.bit3 = 1
endif
if IRpulse_length(5) < 100 then ;Quinto Bit Recibido
Command.bit4 = 0
Else
Command.bit4 = 1
endif
if IRpulse_length(6) < 100 then ;Sexto Bit Recibido
Command.bit5 = 0
Else
Command.bit5 = 1
endif
if IRpulse_length(7) < 100 then ;Septimo Bit Recibido
Command.bit6 = 0
Else
Command.bit6 = 1
endif
if IRpulse_length(8) < 100 then
Command.bit7 = 0
Else
Command.bit7 = 1
endif
If Command.bit7 = 0 then 'Bit 7 is one of the device bits
Command = Command + 1
Endif
If Command = 10 then
Command = 0
Endif
SELECT CASE Command
CASE 0
High portb.0
pause 500
low portb.0
pause 500
end select
SELECT CASE Command
CASE 1
High portb.1
pause 500
low portb.1
pause 500
end select
SELECT CASE Command
CASE 2
High portb.2
pause 500
low portb.2
pause 500
end select
goto Getstartbits
end
y comparlo en mi estructura case ningun led se enciende, estoy ocupando la comparacion con los numeros 0,1,2 corespondientes 1 2 3 respectivamente en mi control remoto segun esta informacion:
(http://imajr.com/View4.aspx?Id=sony_trama_86828)
http://imajr.com/View3.aspx?Id=cuadro_86829
(http://imajr.com/View3.aspx?Id=cuadro_86829)
http://imajr.com/sony_trama_86828
ahora he tratado de sensar los bits 1 haciendo pasar la señal que entrega el recetor ir por una copuerta inversora pero no he tenido exito, crees que este haciendo algo mal o podrias darme alguna sugerencia respecto al por que no esta funcionandome el receptor de manera apropiada en mi caso??
Muchas gracias por tu ayuda y aporte ......
Saludos ......
-
Bueno la primera prueba del codigo no es que sense ya que el decoder de IR solo funciona correctamente si esta todo lo que tu pusiste solo detecta el pulso mas no le decodifica. Por eso parece que funciona.
En la segunda parte del codigo no estas usando bien el select case eso mas bien parece unos IFS con case. Mira la ayuda del compilador y veras como es su uso:
SELECT CASE variable a comparar
CASE x
sentencia
case x1
sentencia
case xn
sentencia
end select
Solo necesitas un Select case y de ahi metes los casos posibles. Debajo de cada caso puedes poner la rtina o mandar a una subrutina eso ya depende de ti. El case es el qeuivalente del Switch del C.
Para ver si realmente estas decodificando bien el dato o si recibes un valor correcto te sugiero que pruebes el codigo original mandando via serie el valor al PC o bien conectandole un LCD para ver si es el dato que realmente mandas. Y si cualquiera de esas te complioca o no tienes LCD usa el PORTA para recibir y muestra el valor de command en todo el portb y ponle LEDS asi si mandas un 1 deberas ver un LED prendido en el PORTB osea o veras de manera binaria.
Saludos.
-
Hola Navaismo, al fin y luego de echar a perder 2 pics(solo esta semana), acaba de funcionar el receptor de infrarojo mediante protocolo Irs de Sony, para los amigos que esten interesados aqui les dejo el codigo que me dio resultado, esta escrito para ser usado con el PIC16F628A (Gracias Navaismo) y se encuentra funcioonando de maravilla.....
El codigo sensa y envia elvisualiza el codigo binario de la tecla pulsada.
@ DEVICE MCLR_off, PROTECT_OFF, WDT_OFF
CMCON = 7
trisb = 0
DEFINE OSC 4
IRpulse_length var word(13)
xx var Byte
Command Var Byte
clear
Getstartbits:
portb=0
PuLSIN PORTA.0,0,IRpulse_length(0)
if IRpulse_length(0) < 200 then
goto getstartbits
Endif
for xx=1 to 12
pulsin PORTA.0,0,IRpulse_length(xx)
next xx
displaybits:
if IRpulse_length(1) < 100 then ;Primer Bit Recibido
Command.bit0 = 0
Else
Command.bit0 = 1
endif
if IRpulse_length(2) < 100 then ;Segundo Bit Recibido
Command.bit1 = 0
Else
Command.bit1 = 1
endif
if IRpulse_length(3) < 100 then ;Tercer Bit Recibido
Command.bit2 = 0
Else
Command.bit2 = 1
endif
if IRpulse_length(4) < 100 then ;Cuarto Bit Recibido
Command.bit3 = 0
Else
Command.bit3 = 1
endif
if IRpulse_length(5) < 100 then ;Quinto Bit Recibido
Command.bit4 = 0
Else
Command.bit4 = 1
endif
if IRpulse_length(6) < 100 then ;Sexto Bit Recibido
Command.bit5 = 0
Else
Command.bit5 = 1
endif
if IRpulse_length(7) < 100 then ;Septimo Bit Recibido
Command.bit6 = 0
Else
Command.bit6 = 1
endif
if IRpulse_length(8) < 100 then
Command.bit7 = 0
Else
Command.bit7 = 1
endif
If Command.bit7 = 0 then 'Bit 7 is one of the device bits
Command = Command + 1
Endif
If Command = 10 then
Command = 0
Endif
portb=command
pause 500
goto Getstartbits
end
Bueno cuando este acoplado el infrarojo con el control de servos les mostrare unas fotitos.....
Muchas gracias a todos quienes colaboraron con estas inquietudes.....
Saludos.......
-
Que bueno que ya haya funcionado. El codigo de Craig Gardner esta 100% probado Gracias a el por compartirlo y explicarlo. Y felicidades el que persevera alcanza. Ya nos contaras como va el hexapodo y tus demas metas.
-
A si es la mecanica ya casi esta terminada, solo falta unos toques por aqui y por alla y listo, pero aun falta enseñarle a caminar(depurar el programa de control), pero haciendo eso les contare como me ha ido (ando en ello precisamente)......
Saludos......