From 81c7dca5d008382535ab830cef00ef8e1e71e871 Mon Sep 17 00:00:00 2001 From: Martina Barreiro Guerra <martina.barreiro@fing.edu.uy> Date: Mon, 4 Jul 2022 13:15:45 -0300 Subject: [PATCH] ModosAdquisicion --- Arduino/ModosAdqusicion.ino | 48 +++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Arduino/ModosAdqusicion.ino diff --git a/Arduino/ModosAdqusicion.ino b/Arduino/ModosAdqusicion.ino new file mode 100644 index 0000000..1e9eb31 --- /dev/null +++ b/Arduino/ModosAdqusicion.ino @@ -0,0 +1,48 @@ +/* + * Función para la adquisicion de datos para ambos modosde operación. + * Realiza las 208 medidas de tensión por imagen generada y promedia una cantidad de muestras por medidas a partir de + * el parametro cMuestras. + */ +void adquirirDatos(int cMuestras){ + + //Variables para el control de los electrodos + int electrodoCorriente = 1;//Comienzo siempre inyectando corriente por los electrodos 1 y 2 + int electrodoTension= 3;//Primer electrodo para la medida de tension + for (int contadorEcorriente = 0; contadorEcorriente <16; contadorEcorriente++ ){ + muxCorriente.channel(electrodoCorriente-1);//Seteo el canal del mux de corriente, el rango es de 0-15 + habilitarMuxDeCorriente(); + for(int contadorEtension=0; contadorEtension<13; contadorEtension++){ + muxTension.channel(electrodoTension-1);//Seteo el canal del mux de tension, el rango es de 0-15 + habilitarMuxDeTension(); + medida(cMuestras);//adquiere la medida del par de electrodos seleccionado y la envia a traves del puerto serie + electrodoTension+=1; + if(electrodoTension==17){ + electrodoTension=1; + } + } + deshabilitarTodosLosElectrodos(); + electrodoCorriente+=1; + if(electrodoCorriente==15){//Seteo de los proximos electrodos de tensión y corriente + electrodoTension=1; + }else if(electrodoCorriente==16){ + electrodoTension=2; + }else if (electrodoCorriente==17){ + electrodoCorriente=1; + electrodoTension=electrodoCorriente+2; + }else{ + electrodoTension=electrodoCorriente+2; + } + } +} + +/* + * Esta función se encarga del cambio modo de operación + * El parámetro modo debe ser un entero 0 o 1, en otro caso no hace nada y mantiene el modo de operación por defecto (modo colocación) +*/ +void cambioDeModoDeOperacion(int modo){ + if(modo==1){// modo reconstruccion + modoColocacion=false; + }else if (modo == 0){//pasamos a modo colocacion + modoColocacion=true; + } +} -- GitLab