martes, 6 de agosto de 2013

WP ELECTRONICA


Diseño e implementación de un dispositivo ECG (ElectroCardiograma) con un filtro digital en Matlab 
utilizando Arduino


TABLA DE CONTENIDO ECG


1.          INTRODUCCIÓN 
2.          ¿CÓMO FUNCIONA?
3.          ¿CÓMO SE OBTIENE?
4.          ¿QUÉ SIGNIFICA? 
5.          ALGUNAS GENERALIDADES
6.          DISEÑO E IMPLEMENTACIÓN
6.1.       MATERIALES
6.2        ETAPAS DE DESARROLLO Y SIMULACIÓN
6.3        PROGRAMACIÓN (ARDUINO Y MATLAB) 
7.          DESCRIPCIÓN DEL PROYECTO 
8.          RESULTADOS OBTENIDOS
9.          LINKS DE DESCARGA



1.          INTRODUCCIÓN 

Imagen 1.- El fisiólogo Willen Einthoven.
Un electrocardiograma (ECG) es un procedimiento de diagnóstico médico con el que se obtiene un registro gráfico de la actividad eléctrica del corazón en función del tiempo.
La actividad eléctrica son las variaciones de potencial eléctrico generadas por el conjunto de células cardíacas y que son recibidas en la superficie corporal.
La formación del impulso cardíaco y su conducción generan corrientes eléctricas débiles que se diseminan por todo el cuerpo. Al colocar electrodos en diferentes sitios y conectarlos a un instrumento de registro como el electrocardiógrafo se obtiene el trazado característico de las ondas.
El electrocardiograma fue inventado por el fisiólogo Willen Einthoven, quien gracias a sus aportes recibió el premio Nobel de Medicina en 1924.


2.          ¿CÓMO FUNCIONA?

Imagen 2.- Impresión clásica de un ECG
Las contracciones rítmicas del corazón están controladas por una serie ordenada de descargas eléctricas.
Antes de cada contracción del músculo cardíaco se genera un impulso eléctrico por despolarización en el nodo sinoauricular que se propaga concéntricamente produciendo la onda P del electrocardiograma.
Inicialmente se despolariza la aurícula derecha y posteriormente la aurícula izquierda.
De este modo, vemos que, en un ritmo normal, el nodo sinoauricular es el marcapasos cardiaco (el lugar donde se origina el impulso cardíaco).
Despolarización, se refiere a la activación eléctrica del corazón, se produce por modificación de la polaridad de la membrana celular, al ingresar el sodio.
Vimos que la despolarización ventricular corresponde a la onda P. La despolarización ventricular, por su parte, determina la onda QRS del ECG.
Repolarización, en tanto, es la recuperación de la polaridad: la repolarización auricular queda oculta en el QRS y la repolarización ventricular se refleja en el segmento ST y en la onda T (una onda lenta).
Ambos fenómenos, despolarización y repolarización, ocurren durante la sístole.

3.          ¿CÓMO SE OBTIENE?

Imagen 5.-Actividad eléctrica del corazón.
Un electrocardiograma estándar se obtiene poniendo doce pequeños electrodos en determinados puntos del cuerpo del paciente. Luego se enciende la maquina ECG y se realiza el registro en unos pocos segundos.
La prueba es completamente indolora y no tiene ningún riesgo.
Los cambios en el trazado normal de un ECG pueden indicar una o más condiciones relacionadas con el corazón.
Así, un ECG es extremadamente útil para el diagnóstico y control de las arritmias cardíacas, de la angina de pecho, del infarto agudo de miocardio y en general para detectar cualquier irregularidad en la actividad eléctrica del corazón.

4.          ¿QUÉ SIGNIFICA? 
Imagen 4.- El significado de un gráfico ECG.
La primera ondulación pequeña en la parte superior del trazado de un ECG se denomina "onda P". La onda P indica que las aurículas (las dos cavidades superiores del corazón) son estimuladas en forma eléctrica (se despolarizan) para bombear la sangre hacia los ventrículos.
La siguiente parte del trazado es una sección corta descendente conectada con una sección alta ascendente. La misma se denomina onda o "complejo QRS".
Esta parte indica que los ventrículos (las dos cavidades inferiores del corazón) se están estimulado eléctricamente (despolarizando) para bombear la sangre hacia fuera.
El siguiente segmento plano corto ascendente se llama "segmento ST".
El segmento ST indica la cantidad de tiempo que transcurre desde el final de una contracción de los ventrículos hasta el comienzo del período de reposo (repolarización).
La siguiente curva ascendente se denomina "onda T". La onda T indica el período de recuperación o repolarización de los ventrículos.

5.          ALGUNAS GENERALIDADES


El corazón tiene cuatro cámaras: dos aurículas y dos ventrículos. Para que el corazón puede realizar la contracción se necesita una estimulación y conducción eléctrica a través de fibras especiales para transmitir impulsos eléctricos. El latido del corazón es totalmente involuntario, por lo tanto el cuerpo no tiene control sobre sus latidos.
El impulso del corazón se origina en el nodo o nódulo sinusal, de ahí pasa a las aurículas, luego llega al nódulo auriculoventricular, durante este proceso se disemina en un haz de fibras y acaba dividiéndose en cuatro ramas.
Un ciclo cardíaco es representado por una sucesión de ondas en el trazado del ECG: la onda P, la onda o complejo QRS y la onda T.
Estas ondas producen dos intervalos importantes: el intervalo PR y el intervalo QT, y dos segmentos: el segmento PQ y el segmento ST.
Durante el ejercicio físico el ciclo cardíaco se acelera y por tanto el intervalo P-T se acorta.

El registro del ECG se realiza en un papel milimetrado, con líneas más gruesas cada 5 mm. Cada mm de trazado horizontal es equivalente a 0,04 segundos del ciclo cardíaco, el espacio entre dos líneas gruesas representa 0,2 segundos (a la velocidad habitual del papel de 25 mm/seg).
En sentido vertical (la ordenada Y) se representa el voltaje de las ondas electrocardiográficas (en mV), las cuales pueden ser positivas o negativas según la línea isoeléctrica. La abscisa (X) u ordenada horizontal representa el tiempo.
Imagen 5.-Actividad eléctrica del corazón.

Resulta interesante destacar que un trazado electrocardiográfico no es más que un gráfico de voltaje en función del tiempo. De esta manera, en él se reflejan ondas que tienen una determinada amplitud según la situación, y una determinada duración. Entre las ondas muestra pausas que también tienen una determinada duración.
Es importante destacar las particularidades de los tejidos automáticos (como son los tejidos del músculo cardíaco), que son capaces de realizar despolarización espontánea, generando los estímulos eléctricos que derivan en la despolarización sincronizada del corazón.


FUENTE:
http://www.profesorenlinea.cl/Ciencias/Electrocardiograma.html

6.          DISEÑO E IMPLEMENTACIÓN DEL DISPOSITIVO

6.1.          MATERIALES

CI:
1 AD620AN (Amplificador de Instrumentación)
1 TL084 (4 / Amplificador Operacional )
RESISTENCIAS: a 1/4 de vatio
R1: 5.6K
R2,R3,R4, R17: 10K
R5: 1M
R6, R7, R13, R16: 15K
R8: 270
R9: 680
R10: 470
R11: 2.7K
R12: 4.7K
R14, R15: 27K
R18, R19, R20: 100K
CAPACITORES:
C1, C3, C5, C6: 0.1uF (104 cerámico) 
C2: 2.2uF / 16V (electrolítico)
C4: 22uF / 16V(electrolítico)
C7: 220nF (224 cerámico)  
C8: 100uF / 16V(electrolítico)
VARIOS:
fuente simétrica de (-3.3 +3.3) V hasta (-12 +12) V
1 switch para encender y apagar la alimentación del dispositivo
2 conectores molex de 3 pines (0.1mm)
3 metros de cable de red y tres lagartos
3electrodos
1 conector de 3 pines para la alimentación (0.2mm)
1 placa de baquelita 10x5cm
ácido para baquelitas, estaño, cautin, cables, papel trasfer, etc.
HARDWARE:
Tarjeta Arduino
SOFTWARE:
Software Arduino
Matlab
Proteus 8.0 Professional

6.2        ETAPAS DE DESARROLLO Y SIMULACIÓN

  • Primera etapa de amplificación de la señal, mediante el amplificador de instrumentación AD620AN






  • Diseño de Filtros: Filtro Pasa Bajos de 150Hz





  • - Filtro Pasa Altos de 0.5Hz
  • - Filtro Notch 60 Hz



  • Amplificación de la Señal

  • Montaje de la señal en un nivel de directa

SIMULACIÓN EN PROTEUS 8.0


RESULTADOS DE LA SIMULACIÓN

Ruido de 60 Hz

Señal del corazón interrumpida por un ruido de 60 Hz

Señal de audio filtrada





RUTEO PARA LA PLACA




Vista inferior



Vista superior



6.3        PROGRAMACIÓN (ARDUINO Y MATLAB)

Programación Arduino

int val;
void setup(){
Serial.begin(14400);
}
void loop(){
val=analogRead(A0);
Serial.println(val);
delay(20);
}


Programación en Matlab - Graficar ECG

%el dominio analógico tenemos 2 opciones:
%la instrucción para generar un filtro del grado que el usuario desee, así
%como la manipulación de la frecuencia de corte
%el comando para que a partir del grado, tipo y amortiguamiento, se obtenga
%los polos u ceros y ganancia que puede tener el filtro
%diseño de un filtro pasa banda de 4 Hz a 60Hz y el resultado de ingresar
%una señal y pasarla por el filtro
%DEFINIMOS CARACTERÍSTICAS DE LA Señal Y EN FILTRO EN TIEMPO FRECUENCIA DE
%ATENUACIÓN
%DEFINIMOS EL PERIODO DE LA SEñAL EN UN VALOR DE 0.01SEG

pas=0.01;
t=0:pas:10;
%DEFINIMOS LA FRECUENCIA DE MUESTREO QUE ES EL INVERSO DEL PERIODO DE LA
%SEñAL ADEMAS DE LA FRECUENCIA DE CORTE QUE ES EL INVERSO DE LA FRECUENCIA
%DE MUESTREO LA CUAL VA A SER UTILIZADA EN NUESTRO FILTRO Y RESULTA EL
%INVERSO DEL PERIODO DE LA SEñAL

fm=1000;
fs=fm/2;

%DEFINIMOS LA BANDA DE PASO Y DE CORTE DE NUESTRO FILTRO
wp=[100 250]/fs;
ws=[10 300]/fs;

%establecemos los valores rp (valor de la tolerancia de nuestro filtro) y de
%rs (valor de la atenuación de la banda eliminada)


rp=3;
rs=30;

%definimos la señal la cual vamos a utilizar para pasar por el filtro de
%butterworth que es la señal ECG que previamente guardamos
%senal=sin(10*pi*t)+cos(15*t+t.^2);

senal = load('v1.dat');
%graficamos la señal de muestra
%definimos el eje de tiempo

ejet=[0:pas:(length(senal)-1).*pas];
subplot(4,1,1);
plot(ejet,senal);
axis([min(ejet) max(ejet) min(senal) max(senal)]);
xlabel('t(s)');
ylabel('Input(s)')
title('Grafico de la Senal 0')
%graficamos el espectro de la amplitud de la señal de muestra
subplot(4,1,2);
dim=length(senal).*pas;

%definimos el eje de frecuencia para la gráfica del espectro señal

ejefrec=[0:1/dim:(length(senal)-1)/dim];
spectr=abs(fft(senal));

%obtenemos la amplitud del espectro de la señal
spectr=spectr/max(spectr);
plot(ejefrec,spectr);
axis([0 10 0 max(spectr)]);
xlabel('frecuencia(Hz)');
title('Espectro de amplitud de la senal')

%obtenemos el orden del filtro de butterworty la frecuencia normalizada con
%la ayuda del comando buttord

[n,wn]=buttord(wp,ws,rp,rs);

%con los datos anteriores y con la ayuda del comando butter obtenemos los
%coeficientes de la función de trasferencia para el filtro de butterworth


[b,a]=butter(n,wn);
[h,f]=freqz(b,a,[],fm);
subplot(4,1,3);
plot(f,abs(h));
axis([0 10 0 max(spectr)]);
xlabel('freciencia(Hz)');
ylabel('I H(z)I');
title('Filtro')

%para poder observar el resultado de filtrar nuestra señal de muestra la
%convulsionamos con el filtro con la ayuda del comando filter y
%on=btenemos el resultado de la señal filtrada

ysig=filter(b,a,senal);
subplot(4,1,4);
plot(ejefrec,abs(fft(ysig)));
axis([0 10 0 500]);
xlabel('Frecuencia (Hz)');
ylabel('Senal Filtrada(Hz)');
title('Senal Filtrada');


7.          DESCRIPCIÓN DEL PROYECTO 

Este proyecto fue probado con los elementos que se detallan en los diagramas. Consta principalmente por un circuito ECG y una tarjeta Arduino UNO que sirvió como medio comunicación entre el circuito y el software que realizara la ultima etapa de filtrado mediante un filtro digital butterworth en Matlab.

Los electrodos se deben conectar con un cable que minimice el ruido, ya que este circuito es muy sensible al ruido eléctrico de 60Hz de la red alterna. Por esta razón usamos un par de cables enrollados (cable de red utp) y soldados a un lagarto para sujetar cada electrodo.

Las baterías que se usaron fueron baterías de life de 6.6V configuradas para obtener la fuente simétrica que requieren los opams. Aunque el circuito esta diseñado para fuentes desde 3.3V hasta 12V

Una vez alimentado el circuito conectamos la salida a un pin analógico del Arduino y sincronizamos la velocidad de trasmisión desde el Arduino hasta el programa en Matlab. En este caso con una máxima velocidad de trasmisión de 14400 Baudios, también se debe tener en cuenta el puerto que reconoce el Arduino y hacerlo coincidir con el puerto asignado en Matlab.

En Matlab, el primer programa gráfica las lecturas realizadas por el circuito de la señal ECG durante un periodo de 10 segundos (regulables) ademas almacena la señal en el disco en forma de vector para luego ser utilizada.

Finalmente la señal que almacenamos es leída en el segundo programa de Matlab para ser filtrada digitalmente y obtener una señal mas limpia.

8.          RESULTADOS OBTENIDOS

Diagrama total del circuito



Señal Graficada en Matlab antes del filtro Digital

Señal final una vez pasada por el filtro Butterworth Digital

https://www.dropbox.com/s/2tsrhchttgmsevo/ecg_butherworth.m


void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly: 
  
}

74 comentarios:

  1. hola buen dia oye sabes porque me marca error en el fopen(s)

    ResponderBorrar
    Respuestas
    1. En la variable s se almacena las caracteristicas del puerto, debes cambiar por el com que la computadora le asigne al arduino y la velocidad a la que esta trabajando el arduino

      Borrar
    2. hola, ami me aparece error plot(l1,'YData',v1(1:i),'XData',x);
      como lo soluciono

      Borrar
  2. https://www.facebook.com/plugNplay.tienda

    ResponderBorrar
  3. hola que tal excelente aporte, pero lamentablemente los links de dropbox que diste ya no funcionan, no se si me puedas pasar esos archivos me serian de gran ayuda!! ...

    ResponderBorrar
  4. hola amigo, me interaan los archivos.... estuve revisando y al parecer ya los bajaron de dropbox!

    ResponderBorrar
    Respuestas
    1. Saludos, yo los baje a propósito ya que había mucha gente que los estaba utilizando y no no se daban el tiempo de comentar o agradecer, ponte en contacto conmigo al facebook: https://www.facebook.com/plugNplay.tienda y te comparto toda la informacion

      Borrar
  5. amigo muy interesante tu trabajo,,,, pero los links de dropbox estan caidos, me puedes enviar a ni facebook porfa
    https://www.facebook.com/isaacb1819

    ResponderBorrar
    Respuestas
    1. Con gusto amigo, le envío la información a su facebook

      Borrar
  6. Hola, necesito ayuda :(
    me puedes ayudar con la comunicacion del arduino con matlab, porfavor
    contactame al facebook porfa
    https://www.facebook.com/gaby.mancheno.39
    Graciias :)

    ResponderBorrar
  7. buenas noches me interesa mucho el proyecto, me podria enviar la informacion muchas gracias... jonathanvel@gmail.com

    ResponderBorrar
  8. Saludos, le envie toda la informacion a su correo

    ResponderBorrar
  9. Para quienes necesiten los archivos, los volví a subir al servidor

    ResponderBorrar
  10. excelente proyecto amigo! felicitaciones!

    Amigo Están caídos los links de Dropbox, podrías enviarme todo al correo? d.alejor10@hotmail.com

    ResponderBorrar
  11. Amigo muy interesante me puedes enviar mayor información a mi mail danysabbath13@gmail.com tengo algunas dudas gracias

    ResponderBorrar
  12. amigo estoy muy interesado en tu proyecto ...me gustaria saber mas acerca de el para despejar mis dudas ..mi correo es zt15_5@hotmail.com ...estare muy agradecido de antemano !!!!!!!

    ResponderBorrar
  13. Me puedes enviar los archivos porfa gracias

    ResponderBorrar
  14. hola :)
    Los archivos no se pueden descargas, tendras otro link para poderlos descargar te lo agradeceria mucho.
    karlyortega03@yahoo.com.mx

    ResponderBorrar
  15. esta muy bien esto!, yo estoy preparando el mío :P con respecto a EEG, no haré un ECG, tengo una pesadilla en la que quiero meter a la cárcel a una niña y aparece para lástimar a mi mamá ó_ò ;_;, tomaré la imágen de la señal cardíaca, y la información, esta muy bien, el EGG no es invasivo.

    ResponderBorrar
  16. Gracias por compartir tu trabajo, saludos

    ResponderBorrar
  17. amigos.... estoy preparando una actualizacion a este foro, con los calculos y el funcionamiento de cada filtro, ya que son la base fundamental para este tipo de señales, ademas subiré otro circuito que acabo de terminar, es un Electromiograma EMG monitoriado desde Labview con Arduino. Espero sus comentarios y sugerencias. Saludos

    ResponderBorrar
    Respuestas
    1. espero que pronto subas ese circuito me interesa trabajarlo con labview

      Borrar
    2. Me interesa mucho lo de los calculo podrias enviarme informacion.. gracias, mi correo jumalu2704@gmail.com

      Borrar
  18. Me podrías enviar los archivos a mi correo porfavor luighy91@hotmail.com

    ResponderBorrar
  19. Saludo Amigo me puedes ayudar con alguna forma para medir la señal del Electrocardiografo con arduino o matlab? usé tu código pero debo aplastar a los electrodos para que la señal salga y sale como cayendo o inclinado no sé si me hago entender.

    Mi correo es: alejo.cv7@hotmail.com te agradezco

    ResponderBorrar
  20. O también desde labview si es más fácil para ti.

    att. Alejo

    ResponderBorrar
  21. Disculpa mi ignorancia, las tres salidas del circuito van juntas (en puente) al A0 del arduino?

    ResponderBorrar
  22. Me gustaria tener mas informacion e especial la interconexion con la PC gracias mi correo es danysabbath13@gmail.com

    ResponderBorrar
  23. Me gustaria tener mas informacion e especial la interconexion con la PC gracias mi correo es danysabbath13@gmail.com

    ResponderBorrar
  24. amigo como soluciono el problema del load(v1.dat)
    me muestra como error me podrias ayudar porfavor

    ResponderBorrar
    Respuestas
    1. hola tengo el mismo problema me podrías ayudar con eso por favor , que hiciste para solucionarlo

      Borrar
  25. gracias por el aporte, los revisare pronto

    ResponderBorrar
  26. como puedo conectar este proyecto que esta en arduino y conectrlo a Raspberry, para luego procesar la señal a traves de internet.

    ResponderBorrar
  27. buenas tardes amigo me interesa mucho el proyecto me podria birndar la informacion d ela conexion diagrama-arduino-matlab? juan_halcon007@hotmail.com

    ResponderBorrar
  28. Muy buen blog, eso que comentas de la simulación de filtro por filtro le daria un plus a tu post, y a que ayudaría a comprar con los resultados que obtenemos, solo una pregunta, que tipo de OpAmp utilizaste para el Notch? Igual el TL084?

    ResponderBorrar
  29. Cómo van conectadas las salidas al arduino, se conectan los tres en A0?

    ResponderBorrar
  30. Excelente aporte...! Felicitaciones por compartir conocimientos. Me sería de mucha ayuda estudiar la programación en MatLab. Podrías enviarme los detalles de este proyecto a mi mail por favor? ponate@udlanet.ec

    ResponderBorrar
  31. excelente aporte amigo, de verdad felicitaciones, podrias enviar esa informacion a mi correo es el siguiente fjesusutrera14@gmail.com

    ResponderBorrar
  32. excelente aporte amigo, de verdad felicitaciones, podrias enviar esa informacion a mi correo es el siguiente fjesusutrera14@gmail.com

    ResponderBorrar
  33. hola quisiera saber como hago para que me salgan las gráficas del osciloscopio en proteus =S

    ResponderBorrar
    Respuestas
    1. es muy dificil simular los latidos del corazon asi que no te recomiendo

      Borrar
  34. Podria ocupar el integrado INA106 en vez del AD620?
    y los otros cambiarlos por unos TL072, ya que estos dos al parecer tiene mayor ganancia

    ResponderBorrar
  35. Hermano me interesa mucho este proyecto si no fuera mucha molestia me podrías enviar los links a mi Facebook ?
    Att. Diego

    ResponderBorrar
  36. amigo, muy buen trabajo me gustaría implementarlo para mi proyecto de la universidad me prodrias pasar los link a mi correo personal por favor?
    gregorybr@outlook.com

    Muchas gracias

    ResponderBorrar
  37. Muchas Gracias !!!!!!!!!!
    Por el aporte me sirvió mucho para mi clase de instrumentación

    ResponderBorrar
  38. Hola, quisiera que me respondieran algunas preguntas

    ResponderBorrar
  39. Hola Amigo, quiero implentarlo y tengo dudas con la conexion en el Arduino

    ResponderBorrar
  40. La conexion con arduino como debe ser??? mauli320i@gmail.com
    Por favor gracias

    ResponderBorrar
  41. Bueno proyecto!!! Disculpa, tienes calculos de los filtros? Si me los puedes mandar a mi correro seria de gran ayuda.. maq12358@gmail.com

    ResponderBorrar
  42. Excelente ! Tienes los calculos de los filtros ?
    serian de gran ayuda , por favor !
    chepemtb94@gmail.com
    gracias y saludos!

    ResponderBorrar
  43. excelente trabajo, me interesa mucho el proyecto, me podrías pasar mas información? rdc.aga@gmail.com MUCHAS GRACIAS!

    ResponderBorrar
  44. En el diagrama final, se aprecia la señal de ECG pero con ruido, como se podria arreglar este problema?

    ResponderBorrar
  45. Me colaboras con toda la información para implementarlo amigo

    ResponderBorrar
  46. excelente aporte academico muchas gracias muy util para lo que tenia pensado hacer

    ResponderBorrar
  47. los archivos dropbox donde esta protesu no puedo descargarlo :(

    ResponderBorrar
  48. buenas tardes, aplica este proyecto pero para un EOG?

    ResponderBorrar
  49. como van conectadas las salidas al arduino

    ResponderBorrar
  50. Como se soluciona el problema del archivo v1.dat para los filtros en MatLab, gracias.

    ResponderBorrar
  51. Buenas tardes me encanto tu trabajo pero tengo una duda cómo van conectadas las salidas al arduino ? Por favor ayúdame con eso mi email es mike-064@hotmail.com

    ResponderBorrar
  52. Me podrias mandar la información gracias exelente aporte
    ricardocosmo86@gmail.com

    ResponderBorrar
  53. Me podrias mandar la información gracias exelente aporte
    wilmerbriceo@gmail.com

    ResponderBorrar
  54. hola me puedes ayudar a la comunicacion de arduino con matlab

    ResponderBorrar
  55. error plot(l1,'YData',v1(1:i),'XData',x);....
    ME SALE ESE ERROR PORFAVOR AYUDA

    ResponderBorrar
  56. Excelente proyecto, me podría enviar la información por favor

    ResponderBorrar
  57. Hola sera que me puede ayudar con la comunicación del circuito con el arduino. Mi correo es diazp9471@gmail.com

    ResponderBorrar
  58. Hola sera que me puede ayudar con la comunicación del circuito con el arduino. Mi correo es diazp9471@gmail.com

    ResponderBorrar
  59. hola buenas noches me encanto tu trabajo y lo quiero hacer el único problema es que en el programa Matlab me aparece el error de plot(l1,'YData',v1(1:i),'XData',x); si seria tan amable y me indica como puedo solucionar este problema me ayudarías muchísimo.

    ResponderBorrar
  60. Hola que tal, podrías compartir la simulación y el diagrama para hacer el círcuito por favor.

    ResponderBorrar
  61. titanium screws - TITanium Art | TITSONICART
    TITSONICART. chi titanium flat iron A very tube supplier accurate 3D print tool that is fully compatible with many ti89 titanium calculator titanium rod Titsonium Art. titanium headers

    ResponderBorrar

Agrega tus comentarios, estamos siempre en mejora continua.