📈 Cómo graficar datos en un display OLED SSD1306 I2C y Arduino fácil

Поделиться
HTML-код
  • Опубликовано: 9 сен 2024
  • IMPORTANTE LEER 👇👇👇👇👇👇👇
    Visita la pagina de este proyecto con el código y la información completa : www.aquilesvae...
    Hola amigos hoy les traigo un ejemplo que les puede servir de inspiracion para sus proyectos con Arduino. Se trata de un sencillo código para desplegar una gráfica de un voltaje variable entre 0 y 5v muestreado por la entrada analógica A0 de la tarjeta Arduino UNO o NANO.
    Usamos un OLED SSD1306 I2C de 0.96" suficientes para desplegar información dinamica en una resolución de 128x64 pixeles. La comunicación I2C usa un puerto para reloj y uno para datos, lo cual hace mas fácil de implementar.
    Para la demostración usaremos un potenciometro de 5K como divisor de tensión. La escala graduada en el display nos muestra como varia el voltaje en el tiempo y en la parte inferior se despliega el valor calculado del voltaje que ingresa al puerto A0 y el tiempo en milisegundos que tarda en procesar y mostrar el dato en la pantalla.
    Este gráfico al estilo del "serial plotter" se desplaza continuamente de derecha a izquierda, muy útil en todo tipo de aplicaciones relacionada con el seguimiento de sensores e instrumentación. Te dejo los comentarios en el código para que puedas adaptar a tus necesidades el programa.
    Aquí puedes descargar el proyecto + el diagrama:
    raboninco.com/7H1a
    Tambien esta disponible en mi web: www.aquilesvae...
    Si deseas saber mas de como desplegar imágenes y cambiar las fuentes del texto te recomiendo estos vídeos:
    ✅ Cómo usar display OLED SSD1306 de 0.96" con Arduino UNO fácil ⚡
    • ✅ Cómo usar display OL...
    💎 Cómo hacer un contador (Pulsador + Arduino UNO + OLED display)
    • 💎 Cómo hacer un contad...

Комментарии • 66

  • @robertojuanluna355
    @robertojuanluna355 2 года назад +2

    Muchas gracias por subir el video, estaba buscando como construir una gráfica, para una estación metereológica.
    Me resultó de mucha ayuda.
    Saludos desde Argentina.

    • @AQUILESVAESA
      @AQUILESVAESA  2 года назад +1

      Saludos Roberto, me alegra que fue de ayuda.

  • @ridermonte6458
    @ridermonte6458 22 дня назад

    EXCELENTE AMIGO

  • @danielivanreyes3752
    @danielivanreyes3752 2 месяца назад

    Te rifaste pa, gracias

  • @christiancortez4982
    @christiancortez4982 2 года назад +1

    Muchísimas gracias!

  • @GiovannyRestrepo
    @GiovannyRestrepo 4 месяца назад

    Buenisimo,

  • @rodando_por_colombia
    @rodando_por_colombia Год назад +1

    Excelente video, me animaré a comprar la pantalla y el Arduino, aunque tengo el atmega mini

  • @stefy4983
    @stefy4983 3 года назад +2

    Hola que tal?; super efectivo, gracias

    • @AQUILESVAESA
      @AQUILESVAESA  3 года назад +1

      Saludos desde Colombia, me alegra que haya sido de ayuda 👍👍

    • @stefy4983
      @stefy4983 3 года назад

      Muchas gracias, me faltaba un culear :p

  • @emesma
    @emesma Год назад +2

    En qué aplicación hace el diagrama de conexiones? Apenas me estoy iniciando en Arduino. Gracias.
    "Aquí les va esa"...🤣

    • @AQUILESVAESA
      @AQUILESVAESA  Год назад +1

      Saludos Emilio el programa se llama fritzing.

    • @emesma
      @emesma Год назад +2

      @@AQUILESVAESA gracias, ya empecé a usarlo. Saludos!

  • @electronik1116
    @electronik1116 2 года назад +1

    Hola puedes hacer uno para la OLED con SH1106

  • @marcosdasilva7409
    @marcosdasilva7409 21 день назад

    SHOW 😮

  • @cristiandaniel4027
    @cristiandaniel4027 9 месяцев назад +1

    ando buscando información sobre como graficar en una pantalla oled lo datos de un sensor el cual tambien se comunica por I2C, sabes si este codigo pueda ser de ayuda o tal vez que debo modificar?

  • @activemotionpictures
    @activemotionpictures 3 года назад +1

    cómo codificastes la imagen que aparece al inicio del led? ya viene por defecto, así? o hay algun sitio que te ayuda a generarla?

    • @AQUILESVAESA
      @AQUILESVAESA  3 года назад +1

      Aquí explico como se hace: ruclips.net/video/3P77CKD4WQY/видео.html

  • @jorgecarrasco5010
    @jorgecarrasco5010 3 года назад +1

    Hola, que buen trabajo. ¿Como puedo modificarlo para que registre/grafique por más tiempo?... un día por ejemplo, gracias

    • @AQUILESVAESA
      @AQUILESVAESA  3 года назад +1

      Hola Jorge, si solo necesitas desplegar datos diarios puedes utilizar el delay opcional. El código puede mostrar mas de 100 valores por pantallazo. Si deseas respaldar los datos puedes añadir un modulo de memoria microSD y guardarlos ahí.

  • @megatones9081
    @megatones9081 2 года назад +1

    no me deja descarga nada de es link
    pura publicidad me sale

    • @AQUILESVAESA
      @AQUILESVAESA  2 года назад

      Aquí está todo www.aquilesvaesa.com/2020/04/como-graficar-datos-en-un-display-oled.html?m=1

  • @restauranteconojosdegato4710
    @restauranteconojosdegato4710 3 года назад +1

    Que buen tutorial, sin embargo esto de entender los códigos no lo comprendo de manera precisa, en el ejemplo de este código había una imagenes.h, que en un principio no funcionaba pero lo puse en una pestaña nueva y sirvió. Bien ahí Aquiles. Sin embargo me gustaría integrarlo a un proyecto que tengo de un oscilador fm con una librería mozzi, como puedo mostrar los cambios del potenciómetro en el display

    • @AQUILESVAESA
      @AQUILESVAESA  3 года назад

      El código que está en imagenes.h es la imagen del inicio esta codificada gracias a un programita que les deje en la carpeta. En cuanto a usarla con la librería mozzi (una de mis favoritas :D) aun no he probado si al incluir el display genera fallas en la síntesis de audio. Quiero probarlo también solo necesito algo de tiempo. Porfa si tu lo pruebas cuéntame como te va el audio.

    • @restauranteconojosdegato4710
      @restauranteconojosdegato4710 3 года назад

      @@AQUILESVAESA ni idea verá, yo hago sonidos, ruidismo y cosas de esas, y eso de la síntesis sonora me llama la atención, estudié fue biología, pero lo de las música y las artes se me da mejor que la biología, en fin. En uno de los ejemplos, mi nivel es alterar ejemplos, pero nada que la pilló, en fin, el caso fue que use un ejemplo de moZZI EL CUAL en vez de usar un ldr, usé un potenciómetro, y luego le hice una vaina "gate" para poderlo controlar con el gate de un Sequenciador, el caso es que me imagino haciendo mis ondas sonoras y ver en la pantallita figuras que cambien, cuando uno mueve la perilla, reemplazar los prácticos números por figuritas bolitas triángulos y entonces no poner rayitas sino triángulos y guevaditas, todo por hacerlo entretenido.

  • @soriatel
    @soriatel 3 года назад +1

    Buen trabajo.
    Por favor podrías hacer lo mismo con una pantalla QVGA 2.2 TFT SPI 240X 320 de adafruit?

    • @soriatel
      @soriatel 3 года назад

      Algo como este tutorial
      www.naylampmechatronics.com/blog/26_Tutorial-pantalla-TFT-t%C3%A1ctil-con-Arduino.html
      Tiene un trazador de curvas pero se resete cada que acaba el trazado y se ve un parpadeo muy horrible

  • @OscarSanchez-lj2ul
    @OscarSanchez-lj2ul 4 года назад +2

    Me gustaría saber si se podría hacer la gráfica para el muestreo de voltaje mas amplio, como 24V

    • @AQUILESVAESA
      @AQUILESVAESA  4 года назад +1

      Si es posible. Recuerda que solo puedes medir valores positivos de voltaje. Si deseas medir de 0 a 24v debes usar un divisor de tensión con 2 resistencias para que cuando conectes los 24 al divisor al puerto le caigan 5v. En el mercado ya hay una tarjeta para Arduino llamada sensor de voltaje para

  • @josemanuelquispemamani9672
    @josemanuelquispemamani9672 3 года назад +1

    Buen dia tu programa esta genial te luciste, tengo una pregunta m podría ayudar? No m enciende el led ni un solo carácter, sera q m vendieron o lo quemé sin darme cuenta?? Algo q m podrias orientarme?

    • @AQUILESVAESA
      @AQUILESVAESA  3 года назад

      Hay que tener cuidad de no no aplicar voltaje inverso por que las daña. Estas pantallas pueden tranajar con 3.3v y 5v sin problema. Revisa que sea el mismo modelo del video ya que hay versiones con mas pines y diferente protocolo de comunicación. Saludos.

    • @josemanuelquispemamani9672
      @josemanuelquispemamani9672 3 года назад +1

      @@AQUILESVAESA ya hice la prueba y fue la alimentcion, con 5v no me funcionaba pero con los 3.3 si, y gracias amigo

  • @shenli5828
    @shenli5828 Год назад +1

    Hola, muchas gracias por el video! Me preguntaba si el mismo código tmb podría funcionar para una Oled de 1.3" o tendría que hacerle alguna modificación?

    • @AQUILESVAESA
      @AQUILESVAESA  Год назад

      Funciona igual, pues creo que la de 1.3" a la que te refieres tiene la misma resolución

    • @misaelmorales7860
      @misaelmorales7860 Год назад

      depende, yo si tuve que cambiar al sh1106

  • @kleylaz9538
    @kleylaz9538 3 года назад +2

    buenas, quisiera hacer una consulta, soy principiante en esto y quería saber si se puede hacer un circuito similar con bluetooth y que se conecte con Escaner automotriz ELM327 OBDII y que en la pantalla muestre ese tipo de graficos, ¿es posible hacer eso?

    • @AQUILESVAESA
      @AQUILESVAESA  3 года назад +1

      Amigo creo que es más fácil que le conectes una tablet por Bluetooth al escáner

  • @marcelrios806
    @marcelrios806 10 месяцев назад

    se puede aplicar a un esp8266 con oled incluida

    • @AQUILESVAESA
      @AQUILESVAESA  7 месяцев назад

      Saludos si, solo debes configurar correctamente la pantalla en el código.

  • @OscarGomez-fh6tl
    @OscarGomez-fh6tl 4 года назад +1

    Que buen tutorial me suscribí y estoy mirando este vídeo, seria posible hacer este mismo código para una OLED SSD1306 LCD 1.3" I2C? gracias, creo que cambia por las dimensiones de la pantallas que pasa de 0.96" a 1.3". Gracias y éxitos

    • @AQUILESVAESA
      @AQUILESVAESA  4 года назад +1

      No cambia, por lo general el OLED SSD1306 de 0.96 y el de 1.3" tienen la misma resolución de 128x64. Saludos...

  • @elshikitomoshopechocho9523
    @elshikitomoshopechocho9523 Год назад

    Tengo un error en imagen .h como puedo solucionarlo ya que me marca error en esa linea

    • @AQUILESVAESA
      @AQUILESVAESA  Год назад

      www.aquilesvaesa.com/2020/04/como-graficar-datos-en-un-display-oled.html?m=1

  • @davidhodei1874
    @davidhodei1874 3 года назад +1

    ¿Que difencia tienen las oled de 8 pines con respecto a las de 4 pines que sale en el video? Y en que cambiaria el esquema electrico? es que no me sale el proyecto. Un saludo.

    • @AQUILESVAESA
      @AQUILESVAESA  3 года назад

      las de 8 tienen comunicación SPI y las de 4 I2C

  • @antonioibarra1686
    @antonioibarra1686 2 года назад

    Muy buen video , se podría adaptar el programa para un 2.2 TFT spi 240x320???

    • @AQUILESVAESA
      @AQUILESVAESA  2 года назад

      Si claro aunque pienso usar unos TFT miniatura para usar diferentes colores y trazar varias gráficas al tiempo.

  • @fernandomorales5094
    @fernandomorales5094 4 года назад

    Hola como estas muy buen video. un consulta se podria graficar en una pantalla de 20x4 i2c de arduino? muchas gracias

    • @AQUILESVAESA
      @AQUILESVAESA  4 года назад

      Pues no se vería muy bien creo q hay una librería para eso pero con lo baratos que son los oled no vale la pena usar un display de texto

  • @MichelTestarossa
    @MichelTestarossa 2 года назад

    A mi me sale el error ''Error compilado para la tarjeta Arduino Uno''
    ''Exit Status1''
    Ya cargué las librerias pero no me las marca de color, y cuando quiero compilar me sale este error, alguna ayuda para solucionarlo?

    • @AQUILESVAESA
      @AQUILESVAESA  2 года назад

      intenta con el arduino ide beta 2.0

  • @gustavoparraleon801
    @gustavoparraleon801 4 года назад

    Hola .. no tengo idea de arduino soy novato .. me gustaria saber si ese arduino se puede conectar a un variador de velocidad de un auto a control remoto ... y hacer un velocimetro como los que tienen los autos de verdad... es para poner en el auto radio control .. se podra hacer ??? Yo tengo un arduino nano y una pantalla del mismo porte que la que aparce en el video

    • @AQUILESVAESA
      @AQUILESVAESA  4 года назад

      Próximamente haré un medidor de revoluciones para motores. Saludos.

  • @andani_uwu
    @andani_uwu 2 года назад

    buenas e.e
    una pregunta, es posible graficar la señal de dos potenciometros a la vez?
    he intentado con una segunda orden usando for, declarando dos nuevas matrices sin embargo, a la hora de poner el segundo for y compilar la pantalla se queda congelada
    gracias de antemano

    • @AQUILESVAESA
      @AQUILESVAESA  2 года назад

      Si es posible, próximamente voy a dejarles el código

  • @hugotellez5388
    @hugotellez5388 3 года назад +1

    Amigo, el código también podría funciona con algún potenciómetro deslizable?

    • @AQUILESVAESA
      @AQUILESVAESA  3 года назад

      Si claro. Es el mismo principio, pruébalo que vas a la fija.

    • @hugotellez5388
      @hugotellez5388 3 года назад

      @@AQUILESVAESA AMIGO, ESTOY USANDO UNA PANTALLA DE 1.3 HE ESTADO VIENDO VIDEOS, YA CAMBIE LIBRERIAS, MODIFIQUE EL CODIGO; LA VERDAD SOY NUEVO EN ESTO; ME PODRIAS AYUDAR PARA MODIFICAR EL CODIGO

  • @pedrogiusto32
    @pedrogiusto32 3 года назад +1

    la libreria imagenes de donde se descarga

    • @AQUILESVAESA
      @AQUILESVAESA  3 года назад

      Visita mi web ahí esta toda la info: www.aquilesvaesa.com/2020/04/como-graficar-datos-en-un-display-oled.html

  • @TERCOTR
    @TERCOTR 2 года назад

    Funciona con un potenciómetro de 5k?

  • @julianjurado_
    @julianjurado_ 3 года назад

    Hola, como estas?. Tu codigo esta genial.
    sabes, estoy trabajando con tu codigo y modificando para mostrar los valores de una matriz en la pantalla OLED, pero no tengo suerte, no logro optener nada.
    tabla[100]= {59, 59, 59, 59, 59, 59, 59, 59, 59, 60, 65,72, 79, 87, 93, 97, 98, 93, 85, 76, 67, 60, 59, 59, 59, 59, 59, 59, 59, 59, 57, 50, 40, 32, 30, 51, 95, 149, 202, 241,
    255, 245, 221, 187, 147, 105, 65, 32, 9, 0, 43, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 61, 66, 75, 84, 94, 102, 107, 108, 104, 97, 88, 78, 69, 63, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59 };
    En lugar de leer los valores del pin A0, hago un contador para leer los valores de mi matriz.
    int c = 0;
    if(c == 99) c = 0; //contador de las 100 muestras del ecg
    else c = c + 1;
    b = tabla[c];
    b = map(b, 0, 255, 53, 0);

    x[127]=b; //asigna el valor escalado a el ultimo dato de la matriz

    for(int i=127;i>=25;i--)
    {
    display.drawPixel(i, x[i], WHITE); //dibuja punto a punto el contenido de x
    y[i-1]=x[i]; //guarda la informacion desplazada una posicion temporalmente en y
    }
    pero no grafica nada. Tienes algun concejo que me puedas dar?
    Saludos, eres genial!!

    • @AQUILESVAESA
      @AQUILESVAESA  3 года назад

      la tabla debes declararla como una matriz de enteros