• Miércoles 30 de Julio de 2025, 19:12

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - allisap

Páginas: [1] 2 3 ... 11
1
Robótica / Re: Busco programador para proyecto (flash y servomotores)
« en: Miércoles 4 de Mayo de 2011, 03:33 »
Pues si todavía te interesa este proyecto mandame un mensaje, un amigo y nos dedicamos a hacer proyectos software-hardware
el programa en flash y yo estoy mas metido en el diseño de hardware,

Saludos

Victor

2
Matlab / Re: multiprocesador - multicore - aprovechar micro
« en: Sábado 23 de Abril de 2011, 17:30 »
Saludos,

mira no se si has oído hablar de CUDA es una serie de toolkits y librerías para varios lenguajes incluyendo matlab para hacer uso del procesador gráfico, (o procesadores gráficos) que vienen en las nuevas tarjetas aceleradoras, es para las tarjetas Nvidia Gforce, y hace uso del poder multinucleo de estas tarjetas para ejecutar algoritmos mucho mas rápido, sobre todo para aplicaciones de procesamiento de imágenes y de señales
da un paseo por aqui

http://developer.nvidia.com/getting-sta ... -computing

para que veas las aplicaciones,

3
Matlab / Re: Duda al incorporar datos
« en: Jueves 7 de Octubre de 2010, 20:48 »
Saludos

yo siempre he usado la función fscanf y leo los datos con el parametro %f
inténtalo así , tal vez te sirva,

Víctor Pasilla Campos

4
Programación en C / Re: Problemas Con I2c En Css Picc
« en: Viernes 3 de Septiembre de 2010, 17:44 »
Prueba la siguiente


1.-en el maestro la función i2c_write te devuelve el ACK es decir es cero si el esclavo
recibio los datos y 1 si no los recibio, asi que puedes hacer algo como esto

      if (i2c_write(0xB4)==0){   // direccion del sensor melexis para mandar comando
   output_toggle(PIN_B0);
   }
y coloca un led en el pin B0 si esta parpadeando cada que envias datos
quiere decir que el esclavo si recibe los datos

2.-en el esclavo coloca un toggle de un pin en la interrupción
y coloca un led tambien , con esto sabrias si el esclavo recibe los datos y si esta entrando a la interrupcion,

3.-no uses el pooling , mejor usa  la funcion i2c_isr_state();

4.- baja la velocidad,para ver si eso no es lo que te da problemas  (primero camina, luego corre )



prueba a usar simples toggles y leds para saber en que punto esta fallando el codigo
esto realmente te ayuda a depurar mas facilmente,


espero te sirva

Saludos

Victor Pasilla Campos
Puebla, Pue

5
Robótica / Re: Consulta sobre Motor de continua
« en: Viernes 27 de Agosto de 2010, 21:05 »
Saludos

estas aplicando el pwm al motor o primero lo filtras?

te lo pregunto porque, aunque teóricamente el propio motor debería funcionar como un filtro pasabajas, no siempre funciona
y el motor produce un ligero sonido, como un golpeteo, y dependiendo de la frecuencia del PWM es el sonido, si aumentas la
frecuencia el sonido se hará mas agudo, si la disminuyes se escucha mas como ruido mecánico

algo que me funciono muy bien (y solo si no necesitas invertir el giro) es utilizar un micro para generar el PWm, luego un filtro pasabajas y luego un amplificador de corriente,
como driver de potencia para el motor con un transistor, checa la hoja de especificaciones del LM358 ahi esta en la pagina 11 (Power amplifier) es una configuracion sencilla de opamp de potencia

algo que se me olvidaba, la hoja de especificaciones marca que el motor mas lento es el  Rs-xxxxx - 6530  al cual le puedes aplicar en 3.6-6 volts para una velocidad de 19200 RPM
(algo asi como 320 hz ) asi que en realidad es bastante rapido, si requieres un velocidad muy lenta , sin que pierda torque en realidad lo que necesitas es un motoreductor, que te reduce la velocidad y te aumenta la fuerza del motor


Espero te sirva

Victor Pasilla Campos
Puebla ,Pue.

6
Matlab / Re: mensaje procesando... en GUI
« en: Miércoles 11 de Agosto de 2010, 19:53 »
no creo que la función errordlg te funcione para tu propósito,creo que es mejor usar la función msgbox por ejemplo si escribes :

            msgbox('procesando datos...')

te hará aparecer el mensaje dentro de una ventana
ahora para cerrarla automáticamente cuando termine el programa debes asignarle un manejador al crear la ventana y al final cierras esa ventana

por ejemplo

              h=msgbox('procesando datos...')

te crea el identificador h de la ventana y cuando tu programa termine sus cálculos solo tienes que hacer

            close (h);

y listo, fácil o no?
espero te sirva,

Saludos
Víctor Pasilla Campos
Puebla, Pue

7
Matlab / Re: Crear matrices con números aleatorios
« en: Miércoles 11 de Agosto de 2010, 19:36 »
fácil

la función rand te genera un valor aleatorio entre 0 y 1 y ademas si le das rand(10,8) te genera una matriz de 10 * 8 llena de números aleatorios entre 0 y 1

si ademas quieres que estén en el rango de 0 - 50, simple, multiplica todo por 50 ,

esto te debe solucionar el problema

 mat_rand=rand(10,8)*50

Espero te sirva.

PD. 1 minuto en la ayuda de matlab te lo habría solucionado también

8
Matlab / Re: barra de desplazamiento
« en: Viernes 25 de Junio de 2010, 15:45 »
si, me falto especificar que t2 es un control de texto estático

y cuando se mueve el slider, se obtiene el valor del slider con Ang=round(get(s1,''Value''));
y se actualiza el valor del texto estatico

saludos

victor

9
Matlab / Re: Función escalón
« en: Domingo 28 de Marzo de 2010, 03:16 »
es realmente simple, pero primero una pregunta
ya sabes que debes obtener, es decir puedes dibujarlo en papel?

y bueno, unas cuantas idea que te deben servir....

1) las gráficas de tiempo discreto las puedes obtener con stem ( buscalo en la ayuda de  matlab)
2) primero trata de obtener la grafica de u(n), es la mas simple y cuando te salga ya casi habrás solucionado todo....

(ayuda ) para u(n), primero crea un vector  de ... digamos 40 valores y llena este vector con los valores de n que vaya desde -20 a 20 (llamale a este vector n)
luego creo otro vector (del mismo tamaño que n) y llenalo con ceros, y luego llena la mitad con '1',llamale a este vector U y si graficas  U y n usando stem ya tendras el u(n)

espero te sirva...

Victor Pasilla
Puebla. Pue

10
Matlab / Re: PROBLEMA BACHILLERATO MATLAB
« en: Domingo 28 de Marzo de 2010, 01:57 »
bueno, pero en que tienes problemas, A) en el uso de alguna instrucción especifica, B) en como se programa en matlab, C) en entender el problema?

si tu respuesta es A) ,  que instrucción es la que no entiendes?,

si tu respuesta es B) , ya leiste los tutoriales y la ayuda de matlab?

si tu respuesta es C), si no entiendes como resolver el problema con lapiz y papel, como lo vas a programar?  


ah, y otra cosa , este no es un foro de "haganme la tarea"
si tienes dudas concretas, (despues de estudiar el tema y haber tratado por ti mismo), puedes volver a preguntar

11
Matlab / Re: Solo para valientes
« en: Martes 23 de Marzo de 2010, 15:43 »
Solo para valientes?
el valor no tiene  que ver con el conocimiento,

pero bueno.....

si lo que necesitas es rotar una imagen,  esto esta muy fácil... la rotación de los nuevos puntos de la imágenes los obtienes
multiplicando cada punto de la imagen por las funciones seno y coseno del angulo de rotación,
busca como hacer la rotación de un solo punto un cierto angulo (esto es simple geometría ), genera una función que te calcule
la rotación de un solo punto, y luego se lo aplicas a todos los puntos de la imagen, y listo, sencillo, o no?

bueno, tal vez si tenga algunas complicaciones porque si bien matemáticamente esto es muy simple,
cuando lo pasas a algoritmo y a programa ya no lo es tanto, porque cuando rotas una imagen esta se saldrá en algunas secciones
del área original, pero simplemente debes recortarla

saludos

Victor pasilla

12
Microcontroladores / Re: teclado no funciona en ccs
« en: Sábado 20 de Marzo de 2010, 04:35 »
bueno, no he revisado todo el código, pero lo que me salto a la vista  cuando abrí el archivo es que tienes esto :

#include <16f877A.h>
#use delay (clock=20000000)     <--------------------  aqui dices que vas a usar un cristal de 20Mhz
#fuses XT,NOPROTECT,NOWDT,NOLVP     <---------- el fuse XT es cuando vas a usar un cristal de baja frecuencia 4 MHz  o menos, para 20 Mhz debes usar HS
#include <lcd.c>
#include <kbd.c>
#use standard_io(a)
#include <stdlib.h>
#rom 0x2100={'7','2','3'}

revisa esto, tal vez ahí esta el problema

Saludos

Victor Pasilla
Puebla, Pue

13
bueno no he revisado tu programa (hace mucho que no programo en ensamblador)
pero puedes revisar algunos puntos para ver si el problema esta ahi

1) a que velocidad estas muestreando tu señal de ECG,

    recuerda que si muestreas a una velocidad muy baja no podrás reconstruir correctamente tu señal

2) a que velocidad estas enviando los datos muestreados,
    esto esta relacionado también con la forma en como estas haciendo todo el proceso de captura y transmisión,
   por ejemplo : puedes tomar una muestra y transmitirla por el serial y al terminar la transmisión esperar un tiempo, tomar
   otra muestra y enviarla por el serial, esperar .... y asi sucesivamente
   esta forma no te servirá porque aquí pierdes tiempo durante la trasmisión serial
   
  Otra forma de hacerlo es mediante el uso de timers e interrupciones, un timer que se encargue de la captura de datos, y otro de la trasmisión serial
  esta es la mejor forma de hacerlo porque aquí puedes controlar las temporizaciones de captura y trasmisión
3) del lado del software del PC, como estas haciendo la lectura y la graficación? lees cada dato del puerto serial y lo graficas?
   o almacenas en un buffer y luego graficas?
 la segunda opcion es mejor porque en la primera el sistema debe estar muy ocupado leyendo datos que están constantemente llegando

bueno estas son algunas ideas,

espero te sirvan

Saludos
Victor Pasilla Campos
Puebla, Pue.
México

14
Matlab / Re: Abrir un archivo para crear graficos
« en: Domingo 7 de Marzo de 2010, 04:23 »
Portuguesa eh, pues bienvenida a este foro, y espero que te podamos ayudar :D:D:D

creo que puedes ir leyendo linea a linea usando fscanf

y si las lineas de texto son siempre iguales por ejemplo : "texto", numero1, numero2, numero3, numero4

puedes usar

fid = fopen('output.txt'', 'r');
texto=fscanf(fid,'%s',1)
datos=fscanf(fid,'%f %f %f %f ',4);     %4 datos, pueden ser mas

tal vez se pueda leer todo en una sola linea pero necesaria probarlo,
si tienen un archivo de ejemplo seria muy util

saludos

Victor Pasilla
Puebla, Pue.
México

15
Matlab / Re: Programar inecuaciones en matlab
« en: Domingo 7 de Marzo de 2010, 04:07 »
saludos,


bueno para comenzar no había oído eso de  "inecuaciones", creo que se les llama desigualdades (bueno tal vez sea la región o algo así)

eso que quieres obtener es el conjunto solución de la desigualdad y básicamente son matemáticas simbólicas, matlab tiene un modulo de
matematicas simbolicas pero la verdad nunca lo he usado,
 uno de los programas que manejaba muy bien las matemáticas simbólicas era Derive y me parece que Mathematica también
puedes buscar alguno de estos y ver sí te sirve

Saludos

Victor Pasilla
Puebla, Pue.
México

16
Matlab / Re: escala en colobar
« en: Domingo 7 de Marzo de 2010, 03:58 »
Saludos

Se me ocurre que lo que puedes hacer es una normalización, busca el valor mas grande y divide todos los datos entre el mayor así tendrás una escala entre cero y 1,
luego lo multiplicas por una escala común y listo



Víctor Pasilla
Puebla, Pue
México

17
Matlab / Re: ¿¿Interpolación en MATLAB??
« en: Viernes 15 de Enero de 2010, 22:16 »
enviar el código?, no tengo el código para eso en especifico,
pero tengo la idea, que es esta:

para dos puntos cualquiera puedes obtener la ecuación de la recta que pasa por esos dos puntos (en cualquier libro de geometría analítica lo encuentras) B)
divide la distancia entre x1 y x2 (de tus dos puntos) en 50 (o el numero de puntos que quieras), este úsalo como un delta o incremento y úsalo para calcular los nuevos puntos en base a tu ecuación
de la recta y ya simple y facil   :D  :D

saludos

Victor Pasilla Campos
Puebla, Mexico

18
Matlab / Re: ¿¿Interpolación en MATLAB??
« en: Viernes 15 de Enero de 2010, 18:00 »
ok, a ver si te entiendo... tienes los primeros 2 puntos, y quieres calcular puntos intermedios a esos dos
pero que se unan con una linea recta? para esto solo calcula el punto medio y ya, o dividelo en 3 o cuatro según
los puntos intermedios que quieras y este proceso repitelo para todos los puntos  y listo


saludos

Víctor Pasilla Campos
Puebla. México

19
Matlab / Re: ¿¿Interpolación en MATLAB??
« en: Viernes 15 de Enero de 2010, 17:33 »
la interpolacion es encontrar una ecuacion que se aproxime lo mejor posible a los puntos que tienes
 por lo que entiendo tienes las coordenadas de un circulo, así que lo mas fácil es obtener la ecuación del circulo que pasa
por tus coordenadas y así ya puedes calcular los puntos que quieras

espero esto te ayude

saludos

Victor Pasilla Campos
Puebla, Mexico

20
Programación en C / Re: Problema en leer datos en hyperterminal (usb)
« en: Martes 29 de Diciembre de 2009, 23:11 »
no he revisado tu código completo pero esta seccion creo que no va funcionar

Citar
  do{
   if(flag_listo)
   {
   flag_listo = 0;
   printf("Pulsos: %Lurn",cont_pulsos_rec);
   }}while(1);
porque se cicla infinitamente y nunca sale del while para ejecutar el código tienes mas abajo...

saludos

Víctor Pasilla
México, Puebla

21
Matlab / Re: Abrir una serie de archivos txt
« en: Domingo 27 de Diciembre de 2009, 03:43 »
facil, mete el proceso de abrir un archivo dentro de un for y al nombre del archivo lo armas
con un sprintf,


Saludos...

Victor Pasilla Campos
Mexico, Puebla

22
Robótica / Re: Dudas con un motor paso a paso bipolar
« en: Domingo 27 de Diciembre de 2009, 03:40 »
Saludos

si no tienes las especificaciones del motor lo que puedes hacer es medir con un multimetro para medir la resistencia de cada bobina del motor
esto te dará una idea de la corriente que utilizaras , aunque al ser una bobina recuerda que tendras picos de corriente,

ademas si la corriente que necesitas es mayor de un amper te recomiendo que uses un puente H con transistores que si pueden manejar una
cantidad de corriente mayor.

Espero te sirva...

victor pasilla campos

México, puebla.

23
Programación en C / Re: Compilar programas para PIC 18f4525
« en: Sábado 14 de Noviembre de 2009, 04:38 »
que error te da?

ya revisaste si tienes la libreria?



Saludos

Víctor Pasilla Campos

24
Programación en C / Re: leer varios pines de un puerto y hacer una determinada cosa.
« en: Sábado 14 de Noviembre de 2009, 04:30 »
Citar
necesito hacer un programa que lea 3 pines del puerto b y si se cumplen unas condiciones se ponga en el puerto c un codigo(0b11101001)

les dejo el programa que he trabajado

creo que debe funcionar con algo como

Código: C++
  1. if ( input(PIN_B1)&input(PIN_B2)&input(PIN_B3))
  2.      output_c(233) // 233 es 11101001
  3.  




espero te sirva

saludos
Victor Pasilla Campos
Puebla,Pue

25
Programación en C / Re: Comunicación RS232-16F876A-MAX232
« en: Sábado 14 de Noviembre de 2009, 04:00 »
tu problema esta en la linea 18

Citar
    printf(rcvchar);

cuando recibes un caracter por ejemplo una A (ascci 65)
recibes un 65 decimal
pero cuando lo envías de regreso por el serial  usando

     printf(rcvchar);

estas enviando un 65 (un seis decimal y un cinco decimal separados)
para recibirlo correctamente prueba con esto

     printf('%c',rcvchar);

espero que te sirva, saludos

Victor Pasilla Campos

Páginas: [1] 2 3 ... 11