Autor Tema: MM.... SOY UN CABEZA DURA ,,, ALGUIEN QUE ME HECHE UNA MANO PLEASEE  (Leído 2801 veces)

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

Desconectado xootraoox

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 248
MMMM HAN VISTO ANTES UN NOVATILLO TAN DURO DE APRENDER ANTES......

BUENO RESULTA QUE LEYENDO Y EXPERIMENTANDO POR AQUI Y POR ALLA HE LOGRADO HACER MIS PROPIOS PROGRAMAS PERO LO QUE PASA ES QUE CUANDO QUIERO IR MAS ALLA DE HACER UNA SECUENCIA CON LEDS NO ME DA LA CABEZA NO PUEDO ENTENDER CON CLARIDAD

MIREN LO QUE PRETENDO HACER ES GIRAR UN MOTOR PASO A PASO EN UN SENTIDO POR 5 SEGUNDOS E INVERTIRLO POR 5 SEGUNDOS Y ASI SUCESIVAMENTE PERO NO HAYO COMO

LO MAS APROXIMADO QUE HE ESTADO ES REALIZANDO ESTO

I VAR BYTE
PASOS VAR PORTB
TRISB = %00000000

LOOP: PULSO = 1           
         Pause 50

        For i = 1 to 3     

        PULSO = PULSO << 1   
        Pause 50             
        Next i             
   
        Goto loop          
        End          

lo cual me realiza una secuencia de este tipo

0001
0010
0100
1000

hasta hay voy bien.... lo giro en un sentido y por lo que me di cuenta  en la linea en donde dice PULSO = PULSO << 1 LO QUE HACE ES DESPLAZAR UN BIT A LA IZQUIERDA y prove a cambiar los simbolos "<<" por ">>" y bien el bit se desplaza a la derecha osea
que con repetir el codigo dos veces ( cambiando los simbolos puedo definir la direccion del giro pero desde aqui comienza mi problema.....
como hago para que mi primera secuensia se repita unas 1000 veces y luego salte a la secuencia dos y asi sucesivamente he intentado de una y mil formas y no he dado con la correcta

si algien es tan amable y me hecha una mano

aaaaahhh!!!! otra cosa si es posible que me explicasen con claridad lo que realiza cada linea de este programa no como el tipico manual por que me los heleido hasta en chino y no los entiendo aqui mismo lo adjunto http://xootraoox.webcindario.com/pap.txt con los comentarios como los entiendo yo y a la vez los que no entiendo.

bueno creo que hasta aqui es suficiente dejo lo demas para otra ocasion para no latiar tanto  tanbien dejo mi direccion del messenger gigio224@hotmail.com por si alguien me quisiera agregar para molestarlo un poco con respecto a estos bichitos programables

desde ya muy agradecido aunque solo lean el asunto de este post
buena suerte y gracias a todos los integrantes del foro todopic que sin duda es el mejor de la red.....

Desconectado pocher

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: MM.... SOY UN CABEZA DURA ,,, ALGUIEN QUE ME HECHE UNA MANO PLEASEE
« Respuesta #1 en: 27 de Enero de 2004, 00:35:00 »
Aquí tienes algo en ensamblador: http://miarroba.com/foros/ver.php?temaid=1118790&foroid=6510

Un saludo

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: MM.... SOY UN CABEZA DURA ,,, ALGUIEN QUE ME HECHE UNA MANO PLEASEE
« Respuesta #2 en: 27 de Enero de 2004, 02:33:00 »
No lo puedo probar ahora mismo porque no estoy en casa, pero imagino que con estos cambios podrás conseguir lo que quieres:
I VAR BYTE
PASOS VAR PORTB
TRISB = %00000000

for j=1 to 1000
PULSO = 1
Pause 50

For i = 1 to 3

PULSO = PULSO << 1
Pause 50
Next i

next j

End

Desconectado lager

  • PIC18
  • ****
  • Mensajes: 258
RE: MM.... SOY UN CABEZA DURA ,,, ALGUIEN QUE ME HECHE UNA MANO PLEASEE
« Respuesta #3 en: 27 de Enero de 2004, 10:04:00 »
que onda xootraoox
en el pbp plus hay un comando especifico para esto, solo siempre recuerda leer los tiempos de activacion para tu servo, ya que cambian:
DEVICE 16F628            
DIM Pos as WORD             
SYMBOL Pin = PORTA.3 "pin de control de servo      
CMCON = 7                
CLS "por si usas LCD            
Pos = 1500                
PORTA = 0                
TRISA = %00000111 "pines usados para control del servo   
"porta.0=isqu.
"porta.1=centrar
"porta.2=derecha      
Main:    
   IF PORTA.0 = 0 Then IF Pos < 3000 Then Pos = Pos + 1
   IF PORTA.1 = 0 Then Pos = 1500       
    IF PORTA.2 = 0 Then IF Pos > 0 Then Pos = Pos - 1
    SERVO Pin , Pos
    DELAYMS 5                      
    PRINT AT 1 , 1 , "Position=" , @Pos , " " "para LCD
    GOTO Main

Espero y sea lo que buscabas

Saludos
Una Razon ams para migrar a PBP PLUS!!


Desconectado elreypic

  • PIC12
  • **
  • Mensajes: 79
RE: MM.... SOY UN CABEZA DURA ,,, ALGUIEN QUE ME HECHE UNA MANO PLEASEE
« Respuesta #4 en: 27 de Enero de 2004, 10:36:00 »
Que tal Xootraoox. Mira lo que te propone nocturno66, es la mejor opción, ya que tu necesitas girar un motor de pasos. Si nocturno66 me lo permite voy comentar y complementar el código para lo que tú necesitas.

I VAR BYTE
J VAR WORD
PASOS VAR PORTB


           TRISB = %00000000  " Esta no es una instrucción, es una
                                             "palabra de configuracion en la que le
                                             "le dices al micro que el puerto B en
                                             "su totalidad trabajará como salida.
MAIN:
          FOR J =1 TO 1000       "Aqui generas un ciclo para que el
                                             "la rutina se ejecute mil veces
                PASOS = 1            "Aquí ejecutas el primer pulso de la
                                             "secuencia. Enciendes el primer bit
                                             "del puerto B.
                PAUSE 50              "Realizas un delay de 50 ms, que será
                                             "la duración del pulso en estado alto.
                FOR I = 1 TO 3      "Aqui generas un ciclo para recorrer el
                                             "el bit hacia la izquierda(3 veces).
                   PASOS = PASOS << 1 "Se recorre el bit del puerto B
                                                      "hacia la izquierda.
                   PAUSE 50           "Delay explicado anteriormente.
                NEXT I                  "Aqui termina el corrimiento a la
                                            "izquierda del bit del puerto B. Aqui
                                            "termina una secuencia de pasos para
                                            "tu motor.
        NEXT J                         "Aqui termina la ejecucion de 1000
                                           "secuencias para corrimiento de bit
                                           "a la izquierda, que produce el giro
                                           "en un sentido del motor.
        FOR J = 1 TO 1000      "Iniciamos el ciclo de 1000 secuencias
                                           "en sentido contrario del giro y
                                           "corrimiento.
              PASOS = 8            "Ahora iniciamos el bit en donde la se
                                           "secuencia anterior termina
              PAUSE 50             "delay anteriormente explicado.
              FOR I = 1 TO 3     "Iniciamos corrimiento en sentido
                                          "contrario.
                  PASOS = PASOS >> 1 "Realizamos corrimiento del bit
                                          "hacia la derecha (en sentido opuesto!!)
                  PAUSE 50         "Delay explicado anteriormente
              NEXT I                  "Termina primera secuencia de
                                          "corrimiento a la derecha.
         NEXT J                      "Terminan las 1000 secuencias de
                                         "corrimiento a la derecha. Es decir en
                                         "sentido opuesto.
        GOTO MAIN               "Repite por siempre los dos giros.


Como pudiste observar la realidad es que es bien sencillo, solo se necesita pensar un poco y practicar con la lógica. Es decir paso a paso.
La ventaja que tienen los lenguajes de alto nivel es esto. Se pueden realizar códigos muy rápidamente.
Bueno espero que te sirva este pequeño código para tu proyecto.
Saludos, y no te desesperes. Recuerda darle tiempo al tiempo.

Desconectado xootraoox

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 248
RE: MM.... SOY UN CABEZA DURA ,,, ALGUIEN QUE ME HECHE UNA MANO PLEASEE
« Respuesta #5 en: 27 de Enero de 2004, 13:40:00 »
UFFF ESTE FORO SI QUE VALE TODOS SUS USUARIOS EN ORO.....
NO LO DIGO POR AGRADECIMIENTO SINO POR QUE LA VERDAD QUE ES EL MEJOR SOBRE EL TEMA APARTE NO HAY NADIE QUE HAGA LAS COSAS CON ANIMO DE LUCRO


BUENO PRIMERO LES AGRADESCO QUE ME HAYAN RESUELTO MI DUDA CON ESTA RAPIDES.... LA VERDAD YO ANDUVE MUY CERCA SEGUN EL EJEMPLO DADO POR  nocturno66 Y elreypic YO HABIA TRATADO DE FORMAS SIMILARES PERO NO HABIA FUNCADO LA VERDAD ESTOY AGRADECIDO POR HABERME AYUDADO A DAR UN PASO MAS LES JURO QUE CUANDO YO SEA UN ENTENDIDO EN EL TEMA SERE UNO DE LOS PRIMEROS EN COMPORTARME COMO USTEDES EN ESTE FORO RESOLVIENDO DUDAD DE OTROS COMO YO GRACIAS Y SIGAN ASI POR QUE SOMOS POCOS LOS QUE QUEDAMOS QUE NOS GUSTA ENSEÑAR LO QUE SABEMOS SIN NINGUN INTERES

UN ABRAZO A TODOS



Desconectado lager

  • PIC18
  • ****
  • Mensajes: 258
RE: MM.... SOY UN CABEZA DURA ,,, ALGUIEN QUE ME HECHE UNA MANO PLEASEE
« Respuesta #7 en: 27 de Enero de 2004, 18:19:00 »
Entre todos siempre podremos superar los problemas,, y aprovecho para agradecer a todos los de este foro que me han ayudado y motivado a ser mejor
Saludos panas

Baygon

Una razon ams para migrar a PBP PLUS!!

Desconectado Elena2000

  • PIC24F
  • *****
  • Mensajes: 722
RE: MM.... SOY UN CABEZA DURA ,,, ALGUIEN QUE ME HECHE UNA MANO PLEASEE
« Respuesta #8 en: 28 de Enero de 2004, 03:33:00 »
Me alegro muuuuuccho que te hayas aclarado, "cabeza dura", jejejeje.... La verdad es que has dado un paso muy grande, eh, porque de la secuencia de leds a mover un motor paso a paso tiene su miga... como decimos en España. Además ya has visto que gente tan genial hay en este foro, siempre dispuestos para echar manitas.

Animo, y dime, ¿Qué es lo siguiente que vas a hacer? ahora que empiezas a pilotar en PBP ya nada tiene misterios para ti, no?
Besotes
Elena

Desconectado xootraoox

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 248
RE: MM.... SOY UN CABEZA DURA ,,, ALGUIEN QUE ME HECHE UNA MANO PLEASEE
« Respuesta #9 en: 28 de Enero de 2004, 10:41:00 »
JEJEJE GRACIAS A TODOS LA VERDAD ESTE SI QUE ES UN GRAN FORO BUENO LES COMENTO EN ESTE MOMENTO ESTOY EN FACE DE PRUEBAS LA VERDAD ES QUE PBP ES MUY AMIGABLE POR LO MENOS CON DOS DIAS DE LECTURA YA PUDE HACER MIS PROPIAS LINEAS CON LO QUE EL ASM TODAVIA NO LOGRO ( POR MI CABEZA DURA) COMO LES DECIA HE ESTADO PROBANDO SUS LINEAS Y EXPERIMENTANDO A TAL PUNTO QUE EN UNA HORA MAS SALGO A COMPRAR UN LCD  Y OTRAS COSITAS Y SOLO PARA VER COMO ES QUE FUNCA LUEGO PRETENDO VER COMO FUNCIONAN LOS ASUNTOS DE COMUNICACION CON EL EXTERIOR DE EL MISMO (RS232 - I2C - USART, ETC... )BUENO ESPERO NO TENER QUE MOLESTAR EN ESTE PROCESO PERO SI ES ASI SE QUE TENGO UN LUGAR DONDE ACLARAR MIS DUDAS Y POR ESO AGRADESCO A TODOS LOS COMPONENTES DE ESTE GRAN PROYECTO (ESTE FORO)
BUENO NO LATEO MAS Y ME LAS GUARDO PARA DESPUES DESPIDIENDOME CON UN GRAN ABRAZO PARA TODOS



 

anything