ESP32 desde Cero - Tutorial 4: ADC Conversor Analógico a Digital

Поділитися
Вставка
  • Опубліковано 11 вер 2024
  • En este tutorial, les voy a mostrar cómo se utilizan los ADCs (conversor analógico a digital) del ESP32, desde la IDE de Arduino.
    www.sinaptec.al...

КОМЕНТАРІ • 60

  • @kupak51
    @kupak51 2 роки тому +5

    No se si ya respondieron sobre el preamplificador programable. Sirve para amplificar las señales que son muy pequeñas, así poder aumentar la precisión de las medidas. Normalmente hay un registro o función que permite establecer la ganancia, 0dB es igual a 1 de ganancia. Recomiendo lean como es la relación entre los decibeles y las guanacias en forma de multiplicador. Luego tienes otro que es el atenuador, eso es el contrario de amplificador, Se utiliza para leer valores mayores. Cuando colocaste 0dB, el valor máximo era 1,1 que debe ser la referencia interna. De todas maneras, la tensión máxima de cualquier pin suele ser la de alimentación, es decir 3.3 y algo ligeramente mayor, pues suele haber un diodo, ánodo al pin y cátodo a la alimentación que limita este nivel a 3.3 y algo mas. siempre es recomendable colocar resistencias a la entrada de los pines, así este diodo protege al pin. si no se coloca esta resistencia , un error mata al chip.. Lo dice la voz de la experiencia. Microchip protege mejor a sus pines que Atmel.

    • @carlomagno3827
      @carlomagno3827 2 роки тому

      Hola tienes algún sketch como muestra o de referencia? Gracias

  • @aragornale
    @aragornale 4 роки тому +6

    Un par de comentarios porque estoy leyendo sobre tema. El maximo de tension en las entradas siempre es de 3,3V, cuando lo ajustas con una atenuacion menor y superas el valor maximo lo que ocurre es que alcanzas el maximo de muestra a una tension menor, y a partir de ahi si incrementas la entrada no cambia. En cuanto a la precision, estos adc son bastante chotos tienen un 7%, son muy alineales al principio y al final de la escala, por ahi encontre un flaco que por medio de unas correciones matematicas logra incrementar la precision al 1%

    • @SinapTec
      @SinapTec  4 роки тому

      Muchas gracias por el dato. Saludos.

  • @JesusGonzalez-lr1kr
    @JesusGonzalez-lr1kr 5 років тому +3

    ESTUPENDO!! gracias amigo, espero no pares con estos tutoriales sobre ESP

    • @SinapTec
      @SinapTec  5 років тому

      Muchas gracias Jesús. Saludos.

  • @sergiotrevino9892
    @sergiotrevino9892 4 роки тому +1

    Muy buen video, de donde podemos conseguir las funciones que nos proporciona el ESP32??

  • @mau_lopez
    @mau_lopez 5 років тому

    Muy buen tutorial, muchas gracias!

  • @EduardoCaporale
    @EduardoCaporale 6 років тому +1

    Gracias !!!!!!!!!!!!!!!!!!!!!!!!!!

  • @gabiko22
    @gabiko22 4 роки тому

    Hola que tal? muy buenos los vídeos tutoriales, soy nuevo en el mundo del esp32, mire muchos de tus vídeos y realmente son de utilidad. Mi consulta es la siguiente no estaría encontrando si se puede trabajar con las interrupciones del ADC, como laburan otros micros. Por ejemplo activar la lectura y en la función de interrupción preguntar si el dato esta listo y ahí laburar con esos datos y volver a mi programa principal. tampoco vi donde se pueden setear el prescaler. Saludos espero me puedas dar una mano

    • @SinapTec
      @SinapTec  4 роки тому

      Lo desconozco, estoy algo alejado de los ESP. Si lo averiguas por favor hacémelo saber. Suerte.

  • @lucasquiroga2165
    @lucasquiroga2165 8 місяців тому

    Estoy utilizando un LM35 como sensor pero el rango de medicion es muy grande, me varia +- 100 bits por lo que no es fiable la lectura. Que puedo estar pasando? El muestreo lo intento cambiar pero no me deja.

  • @kevinivandiazsolis
    @kevinivandiazsolis 8 місяців тому

    Frecuencia de muestreo?

  • @Craneando
    @Craneando 4 роки тому

    Muy bueno!! Gracias!

    • @SinapTec
      @SinapTec  4 роки тому

      de nada, gracias por comentar.

  • @abigailprospero399
    @abigailprospero399 4 роки тому

    Hola, se que tiene un buen rato que realizo este video, y me agrado la explicación que nos dió. Pero me quedé con una duda, y es respecto a lo que dijo de que solo son 2 ADC en lugar de 18, la verdad no entendí eso, y lo que pasa es que quiero obtener info de 5 sensores y mandarlos a un servidor, por eso pregunto sobre si son 2 ADC solamente, para buscar otro dispositivo que me permita tener 5 sensores y usar el ADC para cada uno. Gracias.

    • @SinapTec
      @SinapTec  4 роки тому +2

      El esp32 internamente tiene 2 ADC, pero están mutiplexados por lo que podés conectar hasta 18 sensores. Saludos.

    • @abigailprospero399
      @abigailprospero399 4 роки тому

      @@SinapTec muchas gracias por resolver esta duda. Me ha surgido otra que espero me pueda ayudar. Viendo los demás videos que tiene me he percatado que tiene una placa ESP32 de Espressif, y en algunos foros he leído que los "originales" son de Ai (Ai-Thinker). Existen diferencias entre ambos? sobre todo en la manera en que se distribuyen los pines (en mi caso lo que más me interesa son los que tienen acceso a los ADC).

  • @jordifabregat3868
    @jordifabregat3868 3 роки тому +1

    Gracias por sus aportes, soy seguidor de sus tutoriales desde que comence con los esp32, ahora tengo un problema con este codigo, cuando compilo , siempre salen los errores , 'analogSetSamples' was not declared in this scope , 'analogSetCycles' was not declared in this scope ,'adcStart' was not declared in this scope , lo he probado en ordenadores nuevos, reinstalando todo varias veces, y siempre ocurre lo mismo, lo he probado en diferentes sistemas operativos, y también en vs code platformio y atom, y nunca funciona.En un ordenador viejo que lo tenia instalado anteriormente funciona perfecto.Le estaría muy agradecido si me pudiera dar alguna pista , y que puedo hacer, pues llevo mucho tiempo intentando corregir el error y no lo consigo .Cuando cargo otros codigos si que funcionan , solo me pasa con los relacionados con los adc y el serial2. Gracias.

    • @chant2012
      @chant2012 Рік тому

      por eso uso el lenguaje nativo del esp32 ESP IDF y no del arduino.

  • @xanulloa6080
    @xanulloa6080 5 років тому +1

    Es posible tomar la señal analógica de un viejo video portero (con pantalla CRT) y convertirla en digital para poder visualizarla en otra pantalla?

    • @SinapTec
      @SinapTec  5 років тому

      Con el ESP32 no creo que sea posible. Saludos.

    • @xanulloa6080
      @xanulloa6080 5 років тому

      @@SinapTec Gracias por responder! Sabes de algún chip con el que fuer posible? Esp8266 o algo así?

    • @SinapTec
      @SinapTec  5 років тому +1

      @@xanulloa6080 No lo se. No es sólo cuestión del chip, también es tan o mas importante el soft. Saludos.

    • @elpocho0
      @elpocho0 Рік тому

      pudiste hacerlo ??

  • @lionconvoy8622
    @lionconvoy8622 6 років тому

    excelente! una pregunta..cuales son los temas que tienes pensados tocar con el esp32; es decir; si llegaras al tema de servidores o aplicaciones iot

    • @SinapTec
      @SinapTec  6 років тому

      Si por supuesto, el tema es que lo estoy planteando desde cero, por eso tengo que explicar unas cuantas cosas antes de llegar a eso. Saludos.

  • @juanmediojuan
    @juanmediojuan 5 років тому

    Muchas Gracias por su aporte. Mi duda es ¿consiguió hacer funcionar el preamplificador? me gustaría leer la caída de tensión una resistencia shunt que da ofrece entre 0 y 30mV. Muchas gracias

    • @SinapTec
      @SinapTec  5 років тому

      Hola Juan, no logré hacerlo funcionar. Pero tampoco lo intenté.
      Saludos.

  • @jonathansebastianbuitragod4783
    @jonathansebastianbuitragod4783 4 роки тому

    tengo un problema, estoy trabajando con un NodeMCU esp32s y necesito leer 6 entradas analógicas con un sensor flexible, pero no esta leyendo ningun de los pines, dejare el codigo como lo estoy haciendo
    , ¿ me colaboras con el problema?
    void setup() {
    analogReadResolution(12);
    Serial.begin(115200);
    delay(1000);
    }
    void loop() {
    Serial.println(analogRead(0));
    Serial.println(analogRead(3));
    Serial.println(analogRead(6));
    Serial.println(analogRead(7));
    Serial.println(analogRead(4));
    Serial.println(analogRead(5));
    delay(500);
    }

    • @SinapTec
      @SinapTec  4 роки тому

      En el setup te falta configurar muchas cosas y el número que va en el analogRead es el de GPIO. Saludos.

  • @ZAEL890623
    @ZAEL890623 5 років тому

    Tengo el ESP32 DEVKIT V1 y para cargar requiero presionar BOOT para conectar al IDE de Arduino. Note que al cargar el programa no requieres presionar el boton BOOT, esto se puede configurar en el Arduino IDE?

    • @SinapTec
      @SinapTec  5 років тому +1

      No, eso depende de la placa. Saludos.

  • @luiscabello6752
    @luiscabello6752 5 років тому

    hola, se puede poner el voltaje de referencia como en los arduinos mega? usando la ide de arduino claro.

    • @SinapTec
      @SinapTec  5 років тому

      Creo que no. Pero tendría que investigarlo mejor. Saludos.

  • @enriqueferrin666
    @enriqueferrin666 5 років тому

    amigo disculpa a que pin conectaste, dices el 36 pero cual es ese pin ? ayudame por favor con eso , Gracias Dios te bendiga

    • @SinapTec
      @SinapTec  5 років тому

      A VP es decir GPIO36 , dependiendo de la placa que tengas puede variar la posición en la mia es el PIN14. Saludos.

  • @martinlorenzatto
    @martinlorenzatto 5 років тому

    Buenos dias, para la placa nodemcu esp8266 existe alguna libreria que me permita configurar internamente el conversor A/D??? Se agradece la info

    • @SinapTec
      @SinapTec  5 років тому

      Existente librerías para la IDE de Arduino. Justamente lo que explico en este vídeo esta usando una librería. Saludos.

    • @martinlorenzatto
      @martinlorenzatto 5 років тому

      @@SinapTec totalmente pero mi pregunta iba hacia si existe una librería para el esp8266 en que tengas acceso a la configuración de el conversor ad por ejemplo de preescaler, la frecuencia de muestreo algo así como programar un micro a nivel bit por bit de cada registro. Porque desconozco a que frecuencia esta muestreando , si hay banderas que me indiquen el fin de la conversion

  • @MartinGonzalez-wn4nr
    @MartinGonzalez-wn4nr 4 роки тому

    disculpa, donde puedo ver la libreria?

    • @SinapTec
      @SinapTec  4 роки тому

      ua-cam.com/video/Odh0LWXOZZk/v-deo.html

  • @alfredonovoa8124
    @alfredonovoa8124 6 років тому

    HAL significa Hardware Abstraction Layer

    • @SinapTec
      @SinapTec  6 років тому

      Muchas gracias Alfredo. Saludos

  • @fernandogamboa1806
    @fernandogamboa1806 6 років тому

    Esto me funcionaria con el sensor de pulso cardiaco?

    • @SinapTec
      @SinapTec  6 років тому

      Nunca trabajé con esos sensores, pero no creo que tengas ningún problema, por lo visto trabajan tambien con 3,3V.

    • @fernandogamboa1806
      @fernandogamboa1806 6 років тому +1

      SinapTec muchas gracias, intentaré hacerlo

  • @francosantini1298
    @francosantini1298 5 років тому

    Hace tiempo q vengo trabajando con otros dispositivos y noto que el esp32 varian MUCHO los valores de lectura … es normal eso?

    • @SinapTec
      @SinapTec  5 років тому

      Que tanto varía?

    • @francosantini1298
      @francosantini1298 5 років тому

      @@SinapTec no al final haciendo mas pruebas varia de igual forma que el stm32... asi q ya resolvi mi duda XD... ahora ando intentando mandar datos bien rapido con websocket =/

    • @francosantini1298
      @francosantini1298 5 років тому

      ​@@SinapTec Hola Ale acá de nuevo y una vez más encontrando un funcionamiento errático del esp32.... ando muestreando una señal y esta tiene un ruido importante presente, pero a la hora de cargar el sketch visualizo que este prácticamente desaparece ... esto es difícil de explicar por palabras, pero te dejo unos links a las fotos que tome de dicho fenómeno
      ibb.co/fp2ddHR
      ibb.co/CWmq4Bt
      ibb.co/vXMHWtj
      ibb.co/zZB9zZX
      creo que es facil de identificar cuales son en funcionamiento normal y cuales mientras cargo el sketch

    • @SinapTec
      @SinapTec  5 років тому

      @@francosantini1298 Muy interesante Franco. Fijate el video que hice sobre un micrófono espía con ESP8266. En ese video muestro como cambia notablemente el nivel de ruido según la alimentación del ESP. Saludos.

    • @ebettiol
      @ebettiol 5 років тому +1

      @@francosantini1298 Intenta apagar el wifi (ap y sta) y comprueba si eso te elimina el ruido... en mi caso, descubrí (por ensayo/error) era el causante al intentar capturar audio. Creo, (deduzco empíricamente), se debe a que el consumo variable que genera el wifi (mayor aún en modo ap) modifica el voltaje de referencia interno... Similar al video del "micrófono espía" de Sinaptec, hice (en micropython) un montaje en el que entre 2 módulos ESP32, se capturara audio, se transmitiera y lo reproduce bidireccional y simultáneamente entre ambos, usando además el DAC para reproducirlo. Intenta como te sugiero apagar el wifi y me confirmas si te coincide la soluciòn...

  • @RaptorJT-oq7qu
    @RaptorJT-oq7qu 4 роки тому

    Saludos amigo, gran video gracias, tengo una consulta en esta placa ESP32 que trae 2 ADC cuando activo el WIFI para trasmitir los datos de ambos canales uno de los canales (ADC2) pasa a valor maximo 4095, por lo que pierdo de leer desde ese canal , favor tendras alguna sugerencia al respecto. (nota si no uso la comunicacion wifi este error desaparece)

    • @sharogc2797
      @sharogc2797 4 роки тому

      Hola, me parece que algunos pines del ADC" comparten configuracion con el WIFI intenta cambiar de pin

    • @jeremiaszec1240
      @jeremiaszec1240 3 роки тому

      Exacto, el ADC2 no funciona en combinación con el WIFI, de hecho creo que el servicio de wifi lo tiene que utilizar para realizar alguna de sus tareas.

    • @RaptorJT-oq7qu
      @RaptorJT-oq7qu 3 роки тому

      @@jeremiaszec1240 Ok , muchas gracias

  • @1996misterio
    @1996misterio 6 років тому +1

    A mi parecer te has quedado corto de explicaciones la verdad, es decir, has explicado lo mínimo y por encima y no se yo ...

    • @SinapTec
      @SinapTec  6 років тому +1

      Si, puede ser, quise hacer algo sencillo, hay mucho para ver sobre ADC, no sólo las configuraciones que pasé por encima, también se puede usar junto con I2S, DMA y varias cosas más complicadas. Mas adelante a lo mejor haga algo más completo. Saludos.