Programar un selector para los puertos analogicos A0 ó A1 (Ard. UNO).

Buen día comunidad, escribo para preguntar si es posible hacer una especie de “selector” para los puertos analógicos de mi UNO, la idea es que si se lee un voltaje tanto en A0 o en A1 tome el valor que ingresa por un único pin y los procese de acuerdo a mis necesidades.
Ejm:
-si en A0 llegan 1.3V desabilita A1 y se programa de acuerdo a los valores en A0
-si en A1 llegan 1.3v desabilita A0 y se programa de acuerdo a los valores en A1
Agradecería mucho su ayuda, gracias!!!

Paulina95: -si en A0 llegan 1.3V desabilita A1 y se programa de acuerdo a los valores en A0 -si en A1 llegan 1.3v desabilita A0 y se programa de acuerdo a los valores en A1

¿Y si en ambos llegan >= 1.3v? ¿Qué debería pasar?

Si no hay espacio en el programa principal para verificar eso, tendría que ser mediante una interrupción periódica. Supongo que es automático y no elegido mediante botón o jumper o lo que sea...

Lucario448: ¿Y si en ambos llegan >= 1.3v? ¿Qué debería pasar?

Si no hay espacio en el programa principal para verificar eso, tendría que ser mediante una interrupción periódica. Supongo que es automático y no elegido mediante botón o jumper o lo que sea...

la idea es que el pin analogico que primero detecte el voltaje desabilite el otro

¿Eso debe suceder al inicio o en cualquier momento durante la ejecución? ¿El programa espera a que esto ocurra o lo hará paralalelamente?

Las preguntas son clave para saber dónde ubicar el código y si debe ser cíclico...

Lucario448: ¿Eso debe suceder al inicio o en cualquier momento durante la ejecución? ¿El programa espera a que esto ocurra o lo hará paralalelamente?

Las preguntas son clave para saber dónde ubicar el código y si debe ser cíclico...

Preferiría que fuera en cualquier momento

Primero no hay modo de hacer ningun selector porque siempre habrá una secuencia de lectura. Ejemplo, siempre lees A0 o A1 primero. De todas maneras no entiendo que significa deshabilitar. No se deshabilita nada. Con no leerlo ya lo haces.

 unsigned int datoA0 = analogRead(A0);
 unsigned int datoA1 = analogRead(A1);
 if (datoA0 > 266)
    // A0 > 1.3V  = 5/1.3 *1023 = 266

 if (datoA1 > 266)
   // A1 > 1.3V

la cosa es que si detecta un voltaje sólo lo haga por un canal, nunca se le van a ingresar ambos voltajes a la vez

valC = analogRead(analog_in); //Se lee el puerto analógico 0
  valC2 = analogRead(1); //Se lee el puerto analógico 1
 

 if(valC>=1)
  {
      var=1;  
  }
  if(valC2>=1)
  {
      var=2;
  }
switch (var) 
{ 
  case 1: 
    //hace algo cuando var es igual a 1 
 break; 

  case 2: 
    //hace algo cuando var es igual a 2 

break; 

  default:
                         
  break; 
}

Bueno, pero no es mas fácil poniendo código asi nos entendemos. Ya lo tienes resuelto entonces.

Como te dije, no hay manera de deshabilitar un puerto analógico y al final lees los dos

  valC = analogRead(analog_in); //Se lee el puerto analógico 0
  valC2 = analogRead(1); //Se lee el puerto analógico 1

Lo que se puede hacer es que la lectura sea condicional a una variable que al principio ambas (una para cada puerto) esten en true, y luego en alguna de las condiciones que mencionas pones la otra variable en false, entonces si la variable esta en true, lees, sino no, y asi evitas leer todo el tiempo ambos puertos, al menos luego de que alguna de las condiciones que mencionas pase...

Por otro lado si siempre debes leer de uno u otro, con usar una variable int (integer) e iniciarla en -1, te alcanza, asi lo que haces es el primero que lee setea esa variable con el valor leido, siempre y cuando la variable este en -1, y asi ignoras lo leido por el otro puerto...

No sé, son ideas pero como dijeron por ahi, son codigo y dudas o problemas concretos es mas facil ayudar...

msoffredi: Lo que se puede hacer es que la lectura sea condicional a una variable que al principio ambas (una para cada puerto) esten en true, y luego en alguna de las condiciones que mencionas pones la otra variable en false, entonces si la variable esta en true, lees, sino no, y asi evitas leer todo el tiempo ambos puertos, al menos luego de que alguna de las condiciones que mencionas pase...

Por otro lado si siempre debes leer de uno u otro, con usar una variable int (integer) e iniciarla en -1, te alcanza, asi lo que haces es el primero que lee setea esa variable con el valor leido, siempre y cuando la variable este en -1, y asi ignoras lo leido por el otro puerto...

No sé, son ideas pero como dijeron por ahi, son codigo y dudas o problemas concretos es mas facil ayudar...

Cómo sería a manera de ejemplo?

Paulina, es algo simple porque lo compilicas? Tomate el tiempo que gustes, desde ya, pero no comprendo que programación buscas, si de todos modos obtienes el resultado buscado?

Finalmente de modo elegante o no, sabrás si algo esta por encima o no de 1.3V y eso es lo que importa o no?