Curso de programación de PIC en PICBasic Pro

Quizas por lo que estas usando el PAUSEUS mejor cambialo por PAUSE y prueba a ver que pasa, yo la otra vez estaba trabajando con ese comando PAUSEUS y me ocasionaba muchos errores.
 
si, pero si uso pause, no es igual el tiempo, ya que el pauseus es para tiempos en microsegundos y pause es para milisegundos. si uso pause, el led se vera como una linea y no como un pixel.
saludosss
 
Bueno amigos aqui les dejo un aporte de un proyecto que me propuse a hacer con picbasic, se trata de un robot que evita obstaculos por infrarrojos, equipado con sensores de frecuencias a 38 Khz, PIC16F877A, L293, servos trucados, bueno les dejo unas fotos, los archivos hex y un video. Y aqui les dejo un enlace donde tengo el video del robot para que lo vean funcionando, me quedo muy limitado por falta de sensores, quizas si le agrara bumpers pues serviria para ayudar al robot cuando sus sensores no alcacen detectar algun objeto, nose mucho sobre robotica, apenas estoy empezando :D :cool: :)

Aqui el enlace:
 

Adjuntos

  • Foto0849_800x600.jpg
    Foto0849_800x600.jpg
    68.3 KB · Visitas: 67
  • Foto0850_800x600.jpg
    Foto0850_800x600.jpg
    56.1 KB · Visitas: 55
  • Foto0852_800x600.jpg
    Foto0852_800x600.jpg
    58.2 KB · Visitas: 47
  • Foto0857_800x600.jpg
    Foto0857_800x600.jpg
    72.1 KB · Visitas: 43
  • AutomatoBot.rar
    110.5 KB · Visitas: 157
los resultados por ahora son negativos . no puedo hacer que el texto se desplace


2 Dario...

Seguro?
en este fin de semana hice uno y agregando un pausa... como te comento (al principio del ciclo) se desplaza la posición... lo que faltaria a ese codigo para desplazarlo gradualmente seria ir incrementando esa pausa gradualmente... mas o menos asi...

Código:
Define Osc 4
CMCON = 7
TrisA=%00001111
TrisB=%00000000
PORTA = %00000000
PORTB = %00000000
repetir var byte
[B]Aumen var word
Aumen=0[/B]
cartel:
[B]pause Aumen[/B]
for repetir = 1 to 1000
portb = %11111111:pauseus 300
portb = 0:pauseus 300
portb = %00010000:pauseus 300
portb = 0:pauseus 300
portb = %00010000:pauseus 300
portb = 0:pauseus 300
portb = %00010000:pauseus 300
portb = 0:pauseus 300
portb = %11111111:pauseus 300
portb = 0:pause 2
portb = %01111110:pauseus 300
portb = 0:pauseus 300
portb = %10000001:pauseus 300
portb = 0:pauseus 300
portb = %10000001:pauseus 300
portb = 0:pauseus 300
portb = %10000001:pauseus 300
portb = 0:pauseus 300
portb = %01111110:pauseus 300
portb = 0:pause 2
portb = %11111111:pauseus 300
portb = 0:pauseus 300
portb = %10000000:pauseus 300
portb = 0:pauseus 300
portb = %10000000:pauseus 300
portb = 0:pauseus 300
portb = %10000000:pauseus 300
portb = 0:pauseus 300
portb = %00000000:pauseus 300
portb = 0:pause 2
portb = %11111110:pauseus 300
portb = 0:pauseus 300
portb = %00010001:pauseus 300
portb = 0:pauseus 300
portb = %00010001:pauseus 300
portb = 0:pauseus 300
portb = %00010001:pauseus 300
portb = 0:pauseus 300
portb = %11111110:pauseus 300
portb = 0:pause 4
next repetir
for repetir = 1 to 1000
portb = %01111110:pauseus 300
portb = 0:pauseus 300
portb = %10000001:pauseus 300
portb = 0:pauseus 300
portb = %10000001:pauseus 300
portb = 0:pauseus 300
portb = %10000001:pauseus 300
portb = 0:pauseus 300
portb = %10000001:pauseus 300
portb = 0:pause 2
portb = %01111110:pauseus 300
portb = 0:pauseus 300
portb = %10001001:pauseus 300
portb = 0:pauseus 300
portb = %10001001:pauseus 300
portb = 0:pauseus 300
portb = %10001001:pauseus 300
portb = 0:pauseus 300
portb = %10001110:pauseus 300
portb = 0:pause 2
portb = %10001110:pauseus 300
portb = 0:pauseus 300
portb = %10001001:pauseus 300
portb = 0:pauseus 300
portb = %10001001:pauseus 300
portb = 0:pauseus 300
portb = %10001001:pauseus 300
portb = 0:pauseus 300
portb = %01110001:pauseus 300
portb = 0:pause 2
portb = %11111110:pauseus 300
portb = 0:pauseus 300
portb = %00010001:pauseus 300
portb = 0:pauseus 300
portb = %00010001:pauseus 300
portb = 0:pauseus 300
portb = %00010001:pauseus 300
portb = 0:pauseus 300
portb = %11111110:pauseus 300
portb = 0:pause 2
portb = %11111111:pauseus 300
portb = 0:pauseus 300
portb = %00011001:pauseus 300
portb = 0:pauseus 300
portb = %00101001:pauseus 300
portb = 0:pauseus 300
portb = %01001001:pauseus 300
portb = 0:pauseus 300
portb = %10001110:pauseus 300
portb = 0:pause 2
portb = %11111111:pauseus 300
portb = 0:pauseus 300
portb = %00011000:pauseus 300
portb = 0:pauseus 300
portb = %00100100:pauseus 300
portb = 0:pauseus 300
portb = %01000010:pauseus 300
portb = 0:pauseus 300
portb = %10000001:pauseus 300
portb = 0:pause 2
portb = %11111111:pauseus 300
portb = 0:pauseus 300
portb = %00011000:pauseus 300
portb = 0:pauseus 300
portb = %00100100:pauseus 300
portb = 0:pauseus 300
portb = %01000010:pauseus 300
portb = 0:pauseus 300
portb = %11111111:pauseus 300
portb = 0:pause 4
next repetir
[B]aumen=aumen+10
if aumen=10000 then aumen=0[/B]
goto cartel
end

Edito...
creo que la diferencia entre el mio y el tuyo es que yo le puse un opto abierto para indicarle al micro el inicio... como una especie de sincronizacion
 
Última edición:
creo que la diferencia entre el mio y el tuyo es que yo le puse un opto abierto para indicarle al micro el inicio... como una especie de sincronizacion

si, el que estoy probando ahora, tambien tiene un sensor magnetico que le indica al micro en que momento comenzar.
ya probe de hacer un aumento gradual del pause y lo unico que consegui fue que el texto gire en el display... se me a ocurrido hacer una especie de animacion por cuadro de las letras y ahora estoy experimentando asi, aviso cuando lo logre jejeje.
saludosss y muchas gracias amigo :)
 
Bueno voy a responder a la peticion del compañero, olvide colocar la explicacion de los sensores de proximidad del robot, como emisor coloque el NE555 a frecuencias entre 38Khz la cual es la que responden los sensores receptores, los receptores son los tipicos de 3 pines que funcionan a 38Khz, ahi dejo un video del emisor y una foto de los receptores y de como van alimentados.

 

Adjuntos

  • Sensores de proximidad_800x511.jpg
    Sensores de proximidad_800x511.jpg
    21.7 KB · Visitas: 66
que pena sin audio el video lastima parece bueno sacame de una duda porque no genras esa frecuencia con el micro?????

y muchas gracias por atender esa curiosidad
 
Bueno es verdad, no le agregue audio al microcontrolador pero claramente se ve lo que se necesita, ahora bien con lo que dices de generar la frecuencia con el microcontrolador pues nose como se hace, he estado pidiendo varias veces por aqui que me ayuden pero no he recibido respuesta, asi que decidi usar el NE555 ni modo :cry: :oops:

jajajaja me equivoque era que no le agregue "audio al video" XD me confundi!!
 
Última edición:
he estado pidiendo varias veces por aqui que me ayuden pero no he recibido respuesta,
Puedes usar el PWM interno del micro(si cuenta con el) en algun lado de este tema puse un link a una pagina que calcula los datos para los registros...

espero te sea un poco de ayuda...
la verdad hace un rato que lo hice y ya no me acuerdo como era... pero no esta complicado...
 
Gracias lubeck luego chequeare a ver donde encuentro ese tema en el foro entonces, aun no he aprendido a usar el PWM he tenido muchos inconvenientes.
 
nose mucho sobre robotica, apenas estoy empezando

pues para estar empezando, la verdad es para felicitarte :) . dejame decirte que si el diseño del hardware y el software es tuyo, estas muy avanzado.

amigo lubeck: te cuento que estuve experimentando un poco mas con el codigo modificado que me pasaste, y logre hacerlo funcionar. con que habias cambiado los tiempos piyin... ;) eso esta muy bien ya que, no hay que darle el pez al hombre sino la caña y enseñarle a pezcar jejej :D
ahora estoy viendo la forma de hacer que vaya desapareciendo letra por letra, en cuanto logre que funcione 100% bien, lo comparto aqui en el foro.
 
Hola gente del foro, tengo un lcd en un TX Veronica con LCD, me vaje el archivo.HEX y programe el PIC16F84A y quiero ponerle el nombre de mi radio abajo y que quede fijo pero no tengo ni idea de programacion y la verdad que no me da el tiempo para aprender a programar y quiero saver si alguien podria tomarce la molestia de hacerme el favor de cambiarlo por mi ya que se me haria imposible aprender de la noche a la mañana solo para cambiar estas letras.
dejo el archivo por si alguien quiere hacerme el favor y cambiar la linea de abajo y sacar unas letras que estan rotativas y ponerle FM Urbana y que este fijo y quede en el centro.

http://d01.megashares.com/dl/1b417af/TXFM-LM7001.hex

Pasword. electronica

Muchas gracias por las molestias.Saludos!
 
me vaje el archivo.HEX y programe el PIC16F84A

A ver si entiendo bien... pero...

con solo el archivo .HEX no es suficiente para hacer lo que necesites por muy sencillo que sea...
necesitas proporcionar mas informacion...
no tienes alguna simulacion o el link de donde bajaste el HEX???
 
no es tan facil no?
no asi no es facil...

es decir no se realmente que haga el codigo... pero el tratar de descompilarlo es mucha mas dificil que si se hace uno por uno mismo.... y seguramente es algo muy sencillo...

de cualquier manera si pones algun esquema o comentas algo mas al respecto probablemente podramos desarrollarlo juntos....
 
Ok.... estuve analizando superficialmente el caso...

en realidad el codigo del 84a debe ser una bafia(estupidez)... hasta donde entiendo, el secreto esta en interpretar o entender el funcionamiento del lm7001 que es el que se encarga de la sintonizacion del radio...

voy a intentar desifrar su funcionamiento casi por curiosidad y sin garantia :D... (en realidad a mi no me llama la atencion eso de los radios)
 
Atrás
Arriba