Buenas noches, estoy usando un 74HC4051 para obtener más pines analogicos en mi nodemcu. Solo quiero conectar 2 sensores uno de ph ( PH-4502C Sensor de PH Liquido con electrodo E201-BNC) y uno de oxigeno disuelto ( Sensor de oxígeno disuelto Gravity DFRobot). Estoy utilizando este código:
#include <Arduino.h>
#define VREF 5000//VREF(mv)
#define ADC_RES 1024//ADC Resolution
int S_0=4; //Bit menos significativo
//int S_1=5;
//int S_2=6;//Bit más significativo
int EN_pin= 7;
int COMMON_PIN=A0;
float Po;
uint32_t raw;
void setup(){
pinMode(S_0, OUTPUT);
//pinMode(S_1, OUTPUT);
//pinMode(S_2, OUTPUT);
pinMode(EN_pin,OUTPUT);
digitalWrite(S_0, LOW);
//digitalWrite(S_1, LOW);
//digitalWrite(S_2, LOW);
digitalWrite(EN_pin, LOW);
Serial.begin(9600);
}
void loop(){
raw=analogRead(select_channel(0));
Po = (1023 - analogRead(select_channel(1))) / 73.07; // Read and reverse the analogue input value from the pH sensor then scale 0-14.
Serial.println("raw:\t"+String(raw)+"\tVoltage(mv)"+String(raw*VREF/ADC_RES)+"\tPH"+String(Po));
delay(1000);
}
int select_channel(int chnl){
int A= bitRead(chnl,0);
//int B= bitRead(chnl,1);
//int C= bitRead(chnl,2);
digitalWrite(S_0, A);
// digitalWrite(S_1, B);
//digitalWrite(S_2, C);
return analogRead(COMMON_PIN);}
Este código esta basado en varios que encontre en internet, sin embargo mi duda es. Ya probe el código en un arduino uno y en los puertos analógicos ubique dos potenciometros. Funciona bien. Sin embargo, el código va a ser usado en un nodemcu con un editor de vscode. No habría problema si solo uso una de las selectoras y el enable? O que me recomiendan, soy algo nueva en este mundo de microcontroladores. Nota: Conecte los sensores antes de probar con los potenciometros y el de ph funcionó bien, sin embargo el de oxígeno dio inicalmente lectura y poco despues solo mostro 0.