Estupenda explicación. Suelo preferir un filtro IIR como este: unsigned int medidaFiltrada() { const float alpha = 0.1; static unsigned int promedio = 0; promedio = alpha * adc1_get_raw(A4) + (1 - alpha) * promedio; return promedio; } Cuanto mayor se alpha, menos suavizada tendrás la señal y cuanto menor sea más tardará en responder a los cambios. Esto se puede mejorar viendo si la nueva señal tiene un valor muy diferente al promedio actual. En ese caso despreciamos la señal. El ESP32 tiende a generar pulsos de señal excesivamente bajos cuando usa la wifi. Con esta técnica se pueden eliminar. unsigned int medidaFiltrada() { const float alpha = 0.1; const float maxVariation = 100; static unsigned int promedio = 0; unsigned int medida = adc1_get_raw(A4); if(abs(promedio - medida) < maxVariation) { promedio = alpha * medida + (1 - alpha) * promedio; } return promedio; } Si además conocemos características de la señal original (como que el ruido tenga una distribución gaussiana y que la señal no supere una velocidad de variación) podemos usar un filtro Kalman. Me ha funcionado muy bien. En cualquier caso procura leer el ADC de forma periódica, con las lecturas distribuidas uniformemente en el tiempo. No hagas un montón de medidas continuadas y después pases tiempo sin leer. Espero que esto te ayude.
@Maatooh19 ай бұрын
Yo consigo tener mucha mayor consistencia utilizando el sobremuestreo (multisampling) + una resistencia de 1K a 10K en serie hacia la señal analógica, lógicamente existirá una pequeña caída de tensión (no significante) pero obtengo valores super constantes que con poca frecuencia oscila en ±1 decimal, fue lo mejor que pude obtener en comparación a la solución del capacitor. También recomiendo alimentar el ESP32 con una fuente aislada B0505S u otro similar.
@euse723 ай бұрын
Eres un maquina, menuda manera de explicar las cosas! Sigue así ❤
@oscarperezgamboa2 жыл бұрын
Muy interesante la información, muy claras las explicaciones, quisiera aprender control de motores y servos con el ESP32.... Esperando nuevo contenidos
@proyectoscaserosconpocaher6748 Жыл бұрын
da un chingo de gusto ver el tiempo que dedicaste a entender esto, y compartirlo, hermano gracias. suscrito, continua asi compartiendo esa capacidad de analisis que posees. saludos.
@Waldox_6 ай бұрын
Muy bueno el ejemplo, esto también me recuerda a los filtros pasa bajos digitales que funcionan de una manera muy similar para atenuar las señales del ruido
@fkserv4 ай бұрын
En tu video solo declaraste la función setup, pero nunca la usaste en app_main. Tu ejemplo funciona porque usa los valores por defecto. Saludos.
@rodrigolopez40546 ай бұрын
Simplificado y útil, mil gracias por tu trabajo
@thisisioworld6 ай бұрын
¡Hola! Estamos muy próximos a subir una nueva serie de videos que no te puedes perder, si quieres que hable de algún tema en especifico no dudes en dejar tus comentarios. Saludos
@esau_u Жыл бұрын
Excelente calidad de tus videos, espero pronto puedas seguir subiendo más contenido ❤️
@thisisioworld6 ай бұрын
¡Hola! Estamos muy próximos a subir una nueva serie de videos que no te puedes perder, gracias por tus comentarios
@fguille20012 жыл бұрын
hola soy de Buenos Aires Argentina, gracias por compartir la información de esta forma muy didáctica veo que no sacaste mas video. Esperamos que no pase mucho tiempo para el proximo. Un abrazo desde este lugar del sur del continente.
@thisisioworld Жыл бұрын
Hola, mil gracias , ya estamos preparando más contenido.
@georgestar8510 ай бұрын
Hola, excelente video. Te comento un problema que tengo, estoy usando un medidor de nivel de agua que funciona con 12 volt y su salida analógica es de 0 a 5 volt, y soporta niveles de 0 hasta 10 mts de un tanque de agua. lo conecte al pin 34 de un esp 32 wroom 32u, con resolución de 12 bits. me pasa con frecuencia que el valor final escalado a % me varia hasta 10 puntos por encima del valor real o por debajo, po ejemplo, si coloco el sensor en un tanque de agua de 3 mts, el valor digital es 1068, que al escalar a un tanque de 0 a 3 mts me debe dar 100%, si esta a la mitad del tanque un 50%, pero resulta que me varia de 1 a 10 puntos por encima y aveces por debajo, a pesar que le coloque un condensador de 0.1 uf, a nivel de programación como puedo estabilizar mejor las variaciones o crear un filtro con el muestreo de 10 resultados ignorando los 0 y tomando en cuenta los valores más cercano al valor real medido Saludos
@Maatooh19 ай бұрын
Utiliza el sobremuestreo (multisampling) + una resistencia de 1K a 10K en serie hacia la señal analógica. Adicionalmente alimenta el ESP32 con una fuente aislada B0505S u otra similar. También recomiendo calibrar la señal, en la programación del firmware con un ajuste polinomial.
@AlphonseVMusic5 ай бұрын
Sebas cumplió saludos desde CDMX
@felixfigueroa2 жыл бұрын
Hola estamos esperando mas contenido ..! 🚀🚀
@thisisioworld6 ай бұрын
¡Hola! Estamos muy próximos a subir una nueva serie de videos que no te puedes perder, gracias por tus comentarios
@urielgomez2252 Жыл бұрын
Tengo una duda, sabes cómo modificar la tasa de muestreo del adc y cuál es la velocidad de muestreo del adc del micro?
@esdiguenrae3307 Жыл бұрын
me gustó tu video muy bien explicado justo el tipo de videos que me gustan
@drstiven14662 жыл бұрын
Muy bueno tu contenido, gracias.!!!
@A.Tomillo5 ай бұрын
Tremendo video❤❤
@ivangonzalez4310 Жыл бұрын
Hola, buen video pero tengo una duda, entoces el voltaje maximo que puedo leer en mi pin es de 2.45 V ? que pasa si es 3.5 V?
@fabriciocuellarzuna52492 жыл бұрын
Muy útil toda la información que compartís! Me está siendo de gran ayuda para un proyecto en el que estoy trabajando. Quería preguntarte si me aconsejás realizar el multisampling cuando tengo conectividad Wi-Fi ya que el proyecto que tengo necesita conectividad Wi-Fi y adquirir datos de un panel solar (tensión, corriente y temperatura) de manera precisa y por lo que leí en muchos foros el ADC del ESP32 es muy errático cuando está presente la conectividad Wi-Fi. Muchas gracias de vuelta y espero que tu canal siga creciendo, desde ya tenes un nuevo suscriptor! Saludos!
@ricardocallejo7422 Жыл бұрын
No puedes hacer 64 sumas con posibles valores de 4095 porque te dará overflow 4095*64 = 262.080. Un entero con signo como usaste va hasta 2^16 = 32.768 asi que por eso te digo que te dará overflow. Debes usar minimo long para smoth_val lo mejor es unsigned long aunque es algo exagerado. Supongo que luego lo has corregido.
@thisisioworld Жыл бұрын
Correcto , ya estamos preparando videos hablando de esas consideraciones en nuestros ADC , gracias por tomarte el tiempo de hacer la aportación, Mil gracias.
@esmerlingcontreras8696 Жыл бұрын
Muy didáctico el vídeo. Qué ha pasado con el canal? Según veo este ha sido el último vídeo, se mudaron a otro canal u otra plataforma?
@thisisioworld6 ай бұрын
¡Hola! Estamos muy próximos a subir una nueva serie de videos que no te puedes perder, gracias por tus comentarios
@REBIGMAN Жыл бұрын
Hola. Porque no publicaste más videos?
@JoaquinViñabal8 ай бұрын
cual es la frecuencia maxima del pin ADC en el ESP32
@wooliercomb4284 Жыл бұрын
¿Cómo puedo graficar los datos obtenidos? Necesito hacer una grafica en tiempo real
@JANKRLO76 Жыл бұрын
Si son 12 bits, no deberias contar de 0 a 11? Igual que en 8bit cuantas de 0 a 7
@thisisioworld Жыл бұрын
Hola Jan, muchas gracias por hacernos ver eso, tienes toda la razón , ya estamos preparando mas videos del ADC en donde aclararemos ese error de explicación cometido. Gracias de nuevo por tu coment.
@isra45652 жыл бұрын
Me resulta complicado todo en VSCODE creo que volvere al arduino IDE. Llevo dos dias con la placa aun no consegui hacer nada.
@diegosuarez43782 жыл бұрын
perfecto gracias!
@CARlosDAN783 Жыл бұрын
Hermano gracias por el video, una pregunta si tenemos a la entrada del potenciómetro 3.3Voltios y en la referencia dice que lo máximo que lee son 2450mV entonces cuando pasa de ese voltaje ya no sigue leyendo el esp32 xq ya ha llegado a la cuenta maxima de 4095, eso es así o no sácame de dudas.