Autor Tema: Un proyectillo  (Leído 9146 veces)

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

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: Un proyectillo
« Respuesta #15 en: 13 de Julio de 2004, 02:51:00 »
Un ejemplo para manejar un digital pot  MCP41050 con SPI.

Define   LOADER_USED   1
define  OSC 20


"        include "modedefs.bas"

CS      var     PORTB.5                 " Chip select pin
SCK     var     PORTB.6                 " Clock pin
SI      var     PORTB.7                 " Data in pin


comando var     byte                    " comando
cursor  var     byte                    " posicion cursor

        TRISB = 0                      " todo salidas
        ADCON1 = 7                      " Set PORTA and PORTE to digital
       
        Pause 100                       " Wait for LCD to start up
        comando=00010001
       
       For cursor=0 to 255
           CS = 0
           Shiftout SI, SCK, 1, [comando, cursor]
           cs=1
           Pause 5000
       next cursor
       cursor=128
       CS = 0
       Shiftout SI, SCK, 1, [comando, cursor]
       cs=1

End

Desconectado Leonsport

  • PIC12
  • **
  • Mensajes: 88
RE: Un proyectillo
« Respuesta #16 en: 13 de Julio de 2004, 10:19:00 »
Con ese comando me aparecen los codigos en binario, pero al final me aparecen 2 caracteres q no sé q son, tienen forma como de un cero cuadrao.
Para el pot digital seguiré investigando a ver si con la rutina que me ha puesto el amigo RGL y buscando un poco me aclaro más.
salu2222

Desconectado Leonsport

  • PIC12
  • **
  • Mensajes: 88
RE: Un proyectillo
« Respuesta #17 en: 13 de Julio de 2004, 13:07:00 »
RGL el ejemplo ese de donde lo has sacado?
Es q no he trabajao con esa instruccion shiftout y no sé q hace en este caso. Si pudieras comentar un poco q hace esta rutina lo agradeceria.
salu222

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: Un proyectillo
« Respuesta #18 en: 13 de Julio de 2004, 13:20:00 »
Ese ejemplo es la prueba que he estado haciendo la semana pasada y la he sacado de la poca mollera que me queda sana.

El comando shift ya lo dice la palabra desplaza los bit sincronizados con una señal de reloj. Un pin saca el reloj y otro saca los datos sincronizados con él. Lo mismo puedes hacer en asm si es que te interesa controlar todo el proceso y no dejarle este tema a PBP. Puedes ver el Data Sheet de Microchip para ver como es el protocolo de comunicación SPI  del pot.

Saludos
Ricky
Madrid-España

Desconectado Leonsport

  • PIC12
  • **
  • Mensajes: 88
RE: Un proyectillo
« Respuesta #19 en: 14 de Julio de 2004, 03:24:00 »
 ABAGO, estan leidos con el q viene con el pic basic pro.

RGL, en ese programa lo de comando=00010001 que valor es?
salu22222222


Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Un proyectillo
« Respuesta #20 en: 14 de Julio de 2004, 11:07:00 »
Será que estás comunicando con el terminal serie del microcode???
Intenta leer con el hyperterminal de windows...
creo recordar que yo hice unas pruebas con el terminal de microcode, y me pasó lo mismo...

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: Un proyectillo
« Respuesta #21 en: 14 de Julio de 2004, 11:49:00 »
Vamos a ver,

El ejemplo que he puesto es para controlar el potenciometro digital a través de interfaz SPI, no es para puerta RS232, ni nada de eso.

Es un Chip Select, una señal de reloj síncrona con una señal de datos: Estos tres pines entran directamente al potenciometro y según los datos que vayamos metiendole el cursor se irá posicionando.

La otra parte del proyecto es la de leer por infrarrojo o por RF y que no tiene que ver con esta. Digamos son dos cosas diferentes.

La variable "comando" tiene un valor que le dice al potenciómetro que coja el valor de la variable "cursor" y se ajuste a ese valor (ver datasheet).

No hay más información.

Saludos
Ricky
Madrid-España

Desconectado Leonsport

  • PIC12
  • **
  • Mensajes: 88
RE: Un proyectillo
« Respuesta #22 en: 14 de Julio de 2004, 12:52:00 »
Abago nunca he probao con el de windows y no sé como se configura para eso.

El potenciometro q me he agenciao tiene una entrada digital y unos pines para subir o bajar el valor de la resistencia interna.
Por cada pulso q meta por las patillas up o down se incrementa o disminuye el valor del pot.
Pero claro....ese valor q obtengo del receptor segun la tecla q apriete tengo q adaptarlo al pot  digital y no lo veo nada facil.
salu2222


Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Un proyectillo
« Respuesta #23 en: 14 de Julio de 2004, 21:01:00 »
Es muy sencillo...
ejecutas el hyperterminal...
luego te metes en el menú de configurar conexión..
pones el puerto en el que estás conectando, por ejemplo el COM1
seleccionas las velocidad a la que comunicas
luego, marcas los parámetros de bit de datos,paridad, bit de parada que suelen ser 8N1
y marcas el control de flujo habitualmente como NONE, en caso  de que tu circuito gestione el control de flujo, ya pones el tipo de control de flujo que utilizas...

luego le das a conectar... y poco mas....


Desconectado Leonsport

  • PIC12
  • **
  • Mensajes: 88
RE: Un proyectillo
« Respuesta #24 en: 15 de Julio de 2004, 05:04:00 »
Abago tenias razon, con el hyperterminal de windows si lee bien el asunto. Ahora me sale justo el comando de la tecla que pulso, aunque solo utilizo 2 teclas del mando.
Ahora con ese comando tendria q hacer algo para q el pot digital al reconocerlo subiera a bajara la resistencia interna q lleva.
Eso ya es mas complicao....a ver si alguien me inspira.
salu2222222

Desconectado josemyzm

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 309
RE: Un proyectillo
« Respuesta #25 en: 15 de Julio de 2004, 07:43:00 »
Comentaste que el pot. digital tenía entradas de up/down, pues basta con aplicar pulsos en esos terminales y ya está.

Un saludo.
Saludos desde Logroño (España)

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Un proyectillo
« Respuesta #26 en: 15 de Julio de 2004, 08:17:00 »
como dice jose, usando las entradas UP/DOWN del potenciómetro digital, lo tendrías muy facil...
haz los cálculos para ver la cantidad de posiciones que admite el potenciómetro en la entradas up/down, y creaté una tabla proporcional, en la que cada vez que pulses el mando y reconozcas el comando, ejecute n pulsos al potenciómetro...

Desconectado Leonsport

  • PIC12
  • **
  • Mensajes: 88
RE: Un proyectillo
« Respuesta #27 en: 17 de Julio de 2004, 06:02:00 »
He probao q una vez reconozca la tecla pulsada, con el comando pulsout envie un pulso de la duración mas o menos que me pone en el datasheet del pot digital y parece ser q al pin q se lo aplico si q experimenta un cambio.
Para q cuente solo el numero de pulsos correspondiente a cada pin up/down, por ejemplo en posición UP tiene 10 posiciones pensé en hacer esto:
pulsos=10
pulso=pulsos-1
pulsout portb.5,1
if pulso=0 then empieza desde 0 otra vez
De todas formas si alguien tiene messenger y quiere, me gustaria comentar unas cosas de forma más rápida.
salu22

Desconectado Leonsport

  • PIC12
  • **
  • Mensajes: 88
RE: Un proyectillo
« Respuesta #28 en: 23 de Julio de 2004, 05:38:00 »
Hola amigos  a ver si pueden ayudarme:
Estas 2 lineas q pongo abajo es si aprieto el boton nº13 del mando me de una respuesta el receptor e identifique tecla pulsada.
IF PALABRA1 = 13 THEN "al apretar tecla 13 y se compruebe q es....
IF PALABRA2 =48 THEN  " ...........................................................
(acción a realizar por rb4)
Pues bien, lo q necesito ahora es una rutina q haga lo siguiente:
EL potenciómetro digital tiene una serie de posiciones para up/down. Lo q necesito es poner justo despues de esas líneas algo q cuente el numero de posiciones q quiero para UP/DOWN.
El pin rb4 lo tengo conectao a la entrada UP del pot digital y rb5 a down.
salu222222



Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Un proyectillo
« Respuesta #29 en: 23 de Julio de 2004, 10:42:00 »
No termino de entender el proceso de funcionamiento que planteas...
Esplicalo de otro modo, a ver si me entero y puedo darte una solución!!!


 

anything