Múltiples entradas Analógicas con el ESP8266 - Multiplexar entradas.
Seguramente les ha pasado que se encuentran con que el ESP8266 solo tiene una entrada analógica. En mi caso al realizar un proyecto en con Arduino UNO al momento de pasarlo al ESP8266 me encuentro con este problema ya que estoy utilizando un joystick el cual posee dos potenciómetros y cada uno debe ser conectado a un pin analógico.
Si bien existen conversores Analógico a Digital, vamos a explorar otra alternativa que nos puede sacar de un mal momento o de apuro.
Nuevamente, como paso con la utilización del Driver A4988 donde vimos como conectar un motor pap de 5 cables, vamos a utilizar un diodo por cada elemento a conectar para multiplexar los dispositivos analógicos en conjunto con los pines digitales.
Dejo el diagrama y el video respectivo:
El diodo utilizado es en 1N4148
Video canal de Youtube Mr.Albertos:
void setup() {
Serial.begin(9600);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
}
void loop() {
int sensorValue;
float voltage;
delay(100);
/*Potenciometro Joy 2*/
digitalWrite(4, HIGH); // D2
sensorValue = analogRead(A0); //Lectura del ADC
voltage = sensorValue * (3.3 / 1023.0); //escalamos a voltaje
Serial.print("JOY-2= ");
Serial.print(sensorValue);
Serial.print(" Vol-2= ");
Serial.println(voltage);
delay(500); // pausa
digitalWrite(4, LOW);
delay(500);
/*Potenciometro Joy 1*/
digitalWrite(5, HIGH); // D1
sensorValue = analogRead(A0); //Lectura del ADC
voltage = sensorValue * (3.3 / 1023.0); //escalamos a voltaje
Serial.print("JOY-1= ");
Serial.print(sensorValue);
Serial.print(" Vol-1= ");
Serial.println(voltage);
delay(500); // pausa
digitalWrite(5, LOW);
delay(500);
}