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