PSoC® 1. Cursos de los módulos

hola a todos,,,

un breve regreso de pasada por aca pues e estado bastant ocupado,,,, para hablar de un modelo de simulacion en proteus q me dio el ing de micro en la u, qu habia encontrado,,,, trae un ejemplo con una lcd de nokia y funciona bn, no me a quedado tiempo de trabajarle, pero lo dejo aqui para el que le sirva, y si alguien le puede cargar una programita distinto y q funcione bn, seria bueno qu lo subiera...

saludos....
 

Adjuntos

  • Proteus-Model-Nokia3310LCD.rar
    422.4 KB · Visitas: 165
EINNER C, excelente ese ejemplo en proteus, no había podido conseguir como simular, por alguna razón extraña el LCD no me funciona, pero el uC si lo simula (y) , voy a probar con distintos códigos y ver si funciona. Gracias

Saludos.:)

PD: Que bien que haya personas trabajando en la simulación del PSoC en proteus. :aplauso:
 
BUENOS DIAS A TODOS LOS MIEMBROS DEL FORO.... ME A PARECIDO UN EXCELENTE FORO Y E APRENDIDO MUCHO ACERCA DE LOS PSoC... TENGO UNA DUDA: NECESITO HACER UN TEMPORIZADOR QUE CUANDO ME LLEGUE A 0 ME MUESTRE EN EL LCD.. SI ALGUIEN SABE COMO HACERLO, LE AGRADECERIA MUCHO..
 
Hola a todos

me alegra mucho haber encontrado un Foro sobre Psoc yy sobre todo en espanol, ya que por el momento soy nuevo en esto de los microcontroladores, pero de ellos me interese por los de la familia de los de Cypress.

Estuve mirando alguna de la conversasiones de ustedes en el foro y resulta bastante interesante y de mucha ayuda para aquellos que comienzan nuevo en esto.(y)

estoy buscando ayuda y espero recibirla de ustede de antemanos mis agradecimientos.

Tengo un Api creado, en el cual hago una llamada a una interrupcion que ejecuta un Menu, pero que sucesede, que cuando oprimo una tecla no sucede nada, ya que esta no esta programada para que ejecute algo, sino esta activado el menu, pero cuando llamo al Menu, sale este y pasa directamente a ejecutar la orden de la tecla que habia oprimido antes. Estuve mirando alguna informasion y esta me habla de interrupciones pendiente y el registro que borras estas, pero probe de varias forma, pero no acierto como utilizar estas instrucciones.

Quizas alguien me pudiera ayudar.

Muchos saludos a todos y espero que este Foro se mantenga y que se siga agrandando.
 
Hay disponible un programador Free, varios post atrás subí uno , pero también lo podemos encontrar en la página de psocdeveloper.com, hay que mirar bien, he leído que han tenido algunos problemitas con la version 1.9, pero te aseguro que la versión que yo subí al foro, esa si funciona.
Saludos

Muchas gracias por la información y tambien a todos aquellos que contribuyen con el tema. He armado el programador citado arriba y funciona bárbaro y ya he logrado hacer algunos programas básicos con solo bloques digitales. Por el momento no puedo aportar mas de lo que aportaron aquí en el foro pero si agradecer a todos por su ayuda y cualquier cosa que pueda ayudar no hay problema estoy a disposición. Saludos.

Hola lileescorpion, sería bueno que publiques parte de tu código y configuración de tus puertos para que podamos ver mejor y asi ayudarte.
 
Última edición:
Hola, enhorabuena por este curso. Yo estoy trabajando con el PSOC de CYFI y he logrado hacer una aplicación en visual C# que conecte al maestro y al esclavo y envíe datos, lo único es que he leído que hacer gráficos en tiempo real con visual C# es difícil,¿Sigo intentándolo o intento cargar una librería .dll en Labview y copio el código que tengo del visual C#, eso se podría?

Muchas gracias.
 
HOLA.

tengo una pregunta, estoy haciendo un pequeño proyecto en la U, pero necesito hacer comunicacion usb usando PSOC, quisiera hacerlo en el entorno de java, pero no encuentro mucha informacion sobre comunicacion usb usando PSOC, solo encuentro con PIC, si alguno me pudiera colaborar con alguna bibliografia sobre el tema, seria genial:aplauso:.
 
HOLA.

tengo una pregunta, estoy haciendo un pequeño proyecto en la U, pero necesito hacer comunicacion usb usando PSOC, quisiera hacerlo en el entorno de java, pero no encuentro mucha informacion sobre comunicacion usb usando PSOC, solo encuentro con PIC, si alguno me pudiera colaborar con alguna bibliografia sobre el tema, seria genial:aplauso:.


me parece que el designer5.1 tiene los modulos de la interfaz usb para programarlos en C solamente no se si alguno haya programado en java y no creooo...
 
lo que no manejo muy bn es la emision de datos desde el psoc, esa es mi pregunta si existe algun documento o tutorial que pueda usar para prender a manejar los modulos para la comunicacion usb con psoc :LOL:
 
rednaxela y EINNER C; Me funciono pero me toco quitar la LCD.
Tengo una pregunta se esta usando el CY26443 que es el unico uC que esta en el catalogo de la familia CY26xxx, entonces estoy trabajando con el cy29466 no me podrian decir como consigo el modelo de otros PSoC's.
Estuve mirando la configuracion de los pines y son iguales en cuanto a los puertos, me podrian decir que tan compatibles son los CY8C29/27/24/22/21xxx con los CY8C26/25xxx.

Pdta: Muy bueno el foro me toca leer mucho, pero la ayuda de probar sin el kit la saca del estadio
 
hola,

estoy haciendo mi proyecto final de carrera y el micro que utilizo es el c8y29466pxi y tengo un problema con el multiplexor.

El problema esta en que cuando cambio el canal para medir por otro puerto no me lo cambia cuando tengo mas de uno (me mantiene siempre el mismo canal), en cambio si lo cambio y solo utilizo ese en todo el programa me lo cambia. Alguien sabria poruqe puede pasarme eso.
Aqui dejo parte del codigo por si tubiera algun error, pero el caso es que compilar me compila.

Código:
void main()
{
    // insert your main routine code here.
M8c_enablegint; // enable global interrupts
lcd_1_start();                    // initialize lcd hardware  
pga_1_start(3);
adcincvr_1_start(3);
adcincvr_1_setresolution(9);         // set resolution to 9 bits  
adcincvr_1_getsamples(0);             // start adc to read continuously 
amux4_1_start();
timer16_1_enableint();
timer16_1_start();
amux4_1_inputselect(amux4_1_port0_1);
while(1)
{
if(auxiliar==1)
{
//temperatura
while(adcincvr_1_fisdataavailable() == 0); // wait for data to                                                    // be ready. 
{
temperatura=adcincvr_1_igetdata();
amux4_1_inputselect(amux4_1_port0_3);
adcincvr_1_clearflag();           // clear data ready flag  
temperatura=temperatura-3;
itoa(temp,temperatura,10);
}
}
//humedad
if(auxiliar==2)
{
while(adcincvr_1_fisdataavailable() == 0); // wait for data to                                                  
{ 
valor=adcincvr_1_igetdata();
adcincvr_1_clearflag(); 
amux4_1_inputselect(amux4_1_port0_1);          
humedad=valor-95;
humedad=humedad/3.2;
valor=humedad/0.01037;
itoa(hum,humedad,10);
auxiliar=0;
}

saludos...

pero no estas mandando las variables por el lcd cierto?? Para mi proyecto de grado solamente tengo que adquirir temperatura con el lm335 y mostrar la temperatura por el lcd... Ya probaste tu codigo y si te sirvio??.. Me avisas porfa que me seria de mucha ayuda.. Gracias
 
queria hacer pruebas con el PSoC del archivo de proteus, pero no esta, las familias que puedo escoger dentro del designer que son CY8C29xxx, CY8C24x94, CY8C23x33, CY7C64215, CY8CLED04/16, CY8CLED0:LOL:, CY8CLED0xG, CY8CTST120, CY8CTMG120, CY8CTMA120, CY8C28x45, CY8C28x43, CY8C28x52, CY8CPLC20, CY8CLED16P01 o CY8C27/24/22xxx, CY8CLED08.
Y no esta la del ejemplo que es CY26443.
 
Hola a todos, hasta ahora estaba leyendo lo de la suimulación en Proteus, voy a leer con más tiempo para entender bien...

Se me ocurre traer los miniprog directamente de Cypress, necesito uno y de paso voy a pedir dos o tres por si a alguien se le ofrece...

Quería hacer una pregunta, ya que no me acuerdo...
Puedo cambiar los valores de medición del adc, o sea puedo hacer que mi máximo votaje se 1.5 y que lo tome como 250 para el registro?
 
Última edición:
no se si al configurar un PGA con una ganancia de 3,2 el valor 1,5 v se tendrian 4,8 v a la salida del PGA.
Estos 4,8 / 5 * 255 = 244,8 no es 250 pero se aproxima.
Otra opcion seria dos PGAs con ganancias de 0.813 y 4 tampoco da 250 sino 248.8
O talvez usando un pin externo para poner un voltaje que restar con el ADC.
 
Buenas tardes a todos. Primero queria felicitarlos por la oportunidad que nos brindan a todos de participar en este excelente foro.

Bueno. al grano... Estoy diseñando un proyecto que es relativamente sencillo. Un ECG (electrocardiografo) . despues de haber configurado un INSAMP con 3 Operacionales, y haber adaptado un filtor pasabajo de 150 Hz a la salida del INSAMP. me quede frenadao con la salida de voltaje en modo comun (VCM). Lo que pasa es que el insamp tiene una variable que es (Common Modo Out) esta variable es realmente importante por que me atenua el VCM disminuyendo notablemente el ruido que es algo muy molesto debido a que las señales ECG son muy pequeñas (mV). esta salida "Common modo out" deberia ser la entrada de un op no inversor (PGA) con el fin de ser direccionada al pie derecho del usuario (Voltaje de referencia).

El problema radica en que no se como redireccionar el "Common modo out" no comprendo claramente las opciones que me brinda de bloque inversor o bloque no inversor. por que nunca tenco una salida fisica por alguno de los puertos del PSoC, que es lo que necesito para conectar como referencia al pie derecho.

Cualquier tipo de informacion al respecto seria de gran ayuda.

Nuevamente Gracias

Adjunto la Aplication notes de los amplificadores diferenciales y el pdf del INSAMP
 

Adjuntos

  • an2367.zip
    323.5 KB · Visitas: 85
  • INSAMP.pdf
    259.8 KB · Visitas: 93
Última edición:
Estas opciones como mencionas son los driver que dispone el PSoC ya sea para "sacar" al mundo exterior la señal o para las entrada de señales, entre ellas como dices estan:

-High Z Analog(alta impedancia análoga): Se utiliza cuando se trabaja con señales que varían en el tiempo(señales análogas). Driver de entrada.
-High Z(alta impedancia):Se utiliza cuando se trabaja con señales DC. Driver de entrada.
-Open Drain high(colecto abierto alto,sin lo comparamos con bjt): Se utiliza cuando se desea suministrar una gran cantidad de corriente, la carga se coloca entre el pin de salida y VCC. Driver de salida.
-Open Drain low(colecto abierto bajo) :Lo mismo que el anterior pero la carga va desde el pin de salida y GND. Driver de salida.
-Pull down _ Pull up: No se como explicarlo pero la mejor comparación es como cuando conectamos un Dip-switch como Pull down o Pull up. Driver de entrada.
-Strong: Se utiliza como salida digital y la carga se conecta directamente al pin de salida. Driver de salida.
-Strong slow: Esta si no se, lo seguro es que es driver de salida.

Para mayor información mirar aquí.

Saludos.;)

//****************************************************************************
Ahora les traigo una pequeña rutina para leer un teclado matricial 4*4, en la foto se puede ver su conexión por el puerto 1 los cuatro primero bits se configuran como salida y los cuatro últimos como entrada.

Se agrega el archivo de cabecera "tecla_y_lcd.h" al main.c, y al proyecto copiar los dos archivos que estan adjuntos aquí.

No olvidar que las resistencias se colocan desde los pines de las filas (cuatro últimos bits del puerto 1) dirigidas a GND como cualquier teclado.



BUENOS DIAS REDNAXELA, PODRIAS PONER TODO EL PROYECTO COMPLETO PORFA.... LA VERDAD DESDE HACE mAS DE 1 MES ESTOY TRATANDO DE KE EN EL LCD ME DETECTE LO DE UN TECLADO MATRICIAL 4x4 PERO NO E PODIDO... LO HICE CON UN DISPLAY 7 SEGMENTOS PERO NO SE COMO MANDARLO POR EL LCD... PODRIAS AYUDARME.. GRACIAS..
 
Hace mucho que no entro al foro, por falta de tiempo pero aquí estoy de nuevo un poco :), bueno @escamusa porque no adjuntas el proyecto y lo vemos acá entre todos?.
---
@dftrejos, la verdad casi no entiendo lo que dices con respecto a los pines de salidas físicas, podrías ampliar un poco esa información?, de pronto de puedo colaborar en algo. Una pregunta como tál el solo amplificador de instrumentación si te está funcionando/amplificando?
 
Última edición:
ESTE PROYECTO ES SACADO Y MODIFICADO DE CYPRESS AN2034...

LAS CONEXIONES SON: EL TECLADO MATRICIAL VA CONECTADO AL PUERTO 1.. LAS FILAS (ROW) pines 0,1,2,3, Y LAS COLUMNAS COL pines 4,5, 6, 7.

EL DISPLAY 7 SEGMENTOS, VA CONECTADO AL PUERTO 0 TAL CUAL COMO APARECE EN LA APLICATION NOTE AN2034..

NECESITO MANDAR LO DEL TECLADO AL LCD SI ALGUIEN ME PUEDE COLABORAR LE AGRADECIRA MUCHO..

ADJUNTO EL PROYECTO Y LA APLICATION NOTE
 

Adjuntos

  • TECLADO.rar
    122 KB · Visitas: 136
  • Keypad (AN2034).pdf
    77.3 KB · Visitas: 110
No, estuve mirando lo que adjuntaste y ellos lo hacen diferente como yo lo hice, a lo mejor el método de ellos sea mas rápido en ejecución(lo cual creo que sí), pero bueno yo tengo mi forma de hacerlo :), en el ejemplo adjunto está a configuracion de los pines del teclado y del LCD, con un código bastante, bastante sencillito, casi que no hace nada :LOL:. Creo que con eso ya tienes lo que buscabas.

Hasta pronto :).

Pos1: Por favor no escribas en mayúsculas da la impresión de que estuvieses gritando ;).
Pos2: por si acaso; "No olvidar que las resistencias se colocan desde los pines de las filas (cuatro últimos bits del puerto 1) dirigidas a GND como cualquier teclado."
 

Adjuntos

  • Teclado.zip
    1.2 MB · Visitas: 115
Muchas gracias rednaxela, voy a probar y te cuento... Y lo de las mayusculas sorry, tengo la costumbre de escribir siempre en mayuscula jejejeje... Feliz Navidad y Prospero 2011 para todos los miembros del foro.. Y ke viva PSoC jejeje
 
Atrás
Arriba