        <style>
            #donation_buttons td{
                border:medium none;
                background: inherit !important;
            }
            #donation_buttons table{               
                border:medium none;
                margin: auto;
                width: auto;
            }
        </style>
        {"id":7700,"date":"2024-06-27T03:46:43","date_gmt":"2024-06-27T03:46:43","guid":{"rendered":"https:\/\/rogerbit.com\/wprb\/?p=7700"},"modified":"2024-06-27T18:45:15","modified_gmt":"2024-06-27T18:45:15","slug":"beeper","status":"publish","type":"post","link":"https:\/\/rogerbit.com\/wprb\/2024\/06\/beeper\/","title":{"rendered":"Beeper con bot de telegram y esp32"},"content":{"rendered":"<p><iframe loading=\"lazy\" title=\"Beeper con bot de telegram y esp32 - PCBWay.es\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/C3ZgmDcE-G0?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<hr \/>\n<p>En este tutorial, aprender\u00e1s a configurar y usar un dispositivo ESP32 para recibir mensajes de Telegram y mostrarlos en un display SH1106. Tambi\u00e9n incluiremos la funcionalidad de un bot\u00f3n y un buzzer para interactuar con el sistema.<\/p>\n<hr \/>\n<p style=\"text-align: left;\">Tal vez pueda interesarte proyectos en arduino, pic, rob\u00f3tica, telecomunicaciones, suscribete en\u00a0<a href=\"http:\/\/www.youtube.com\/user\/carlosvolt?sub_confirmation=1\">http:\/\/www.youtube.com\/user\/carlosvolt?sub_confirmation=1<\/a>\u00a0mucho videos con c\u00f3digo fuentes completos y diagramas<\/p>\n<p style=\"text-align: left;\"><div id=\"ubm-banners-rotation-n1\" data-interval=\"4000\" class=\"ubm_banners_rotation\" style=\"overflow: hidden; width: 200px; height: 150px;\"><div id=\"3_ubm_banner\" class=\"ubm_rotating_banner\"><a href=\"https:\/\/bit.ly\/3aXRDAu\" target=\"_blank\" rel=\"dofollow\"><img src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/useful_banner_manager_banners\/3-2-logo youtube.png\" width=\"100%\" height=\"100%\" alt=\"SUSCRIBETE A NUESTRO CANAL DE YOUTUBE, TUTORIALES GRATIS\" \/><\/a><\/div><\/div><\/p>\n<hr \/>\n<h2>Requisitos<\/h2>\n<ul>\n<li>Un ESP32.<\/li>\n<li>Un display SH1106 (128&#215;64) con interfaz I2C.<\/li>\n<li>Un buzzer.<\/li>\n<li>Un bot\u00f3n.<\/li>\n<li>Cables de conexi\u00f3n.<\/li>\n<li>Biblioteca Arduino IDE instalada.<\/li>\n<\/ul>\n<h2>Paso 1: Instalaci\u00f3n de las Bibliotecas Necesarias<\/h2>\n<p>Abre el Arduino IDE y aseg\u00farate de tener instaladas las siguientes bibliotecas:<\/p>\n<ul>\n<li>WiFi.h\u00a0para la conexi\u00f3n WiFi.<\/li>\n<li>WiFiClientSecure.h para la conexi\u00f3n segura.<\/li>\n<li>UniversalTelegramBot.h\u00a0para interactuar con el bot de Telegram.<\/li>\n<li>U8g2lib.h\u00a0para manejar el display SH1106.<\/li>\n<\/ul>\n<p>Puedes instalarlas desde el Gestor de Bibliotecas del Arduino IDE buscando los nombres de las bibliotecas.<\/p>\n<h2>Paso 2: Conexi\u00f3n del Hardware<\/h2>\n<p>Conecta los componentes de acuerdo con el siguiente esquema:<\/p>\n<ul>\n<li><strong>Display SH1106<\/strong>:\n<ul>\n<li>VCC a 5V del ESP32.<\/li>\n<li>GND a GND del ESP32.<\/li>\n<li>SCL a GPIO 22 del ESP32.<\/li>\n<li>SDA a GPIO 21 del ESP32.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Buzzer<\/strong>:\n<ul>\n<li>Terminal positivo a GPIO 12 del ESP32.<\/li>\n<li>Terminal negativo a GND del ESP32.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Bot\u00f3n<\/strong>:\n<ul>\n<li>Un terminal a GPIO 23 del ESP32.<\/li>\n<li>Otro terminal a GND del ESP32.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Paso 3: Configuraci\u00f3n del Bot de Telegram<\/h2>\n<ol>\n<li>Crea un bot en Telegram usando el BotFather y obt\u00e9n el Token del bot.<\/li>\n<li>Reemplaza TOKEN_BOT\u00a0en el c\u00f3digo con el token obtenido.<\/li>\n<li>Reemplaza ssid y contrase\u00f1a con el nombre de tu red WiFi y la contrase\u00f1a.<\/li>\n<\/ol>\n<h2>Paso 4: Cargar el C\u00f3digo en el ESP32<\/h2>\n<ol>\n<li>Conecta el ESP32 a tu computadora.<\/li>\n<li>Selecciona la placa ESP32 Dev Module en el men\u00fa Herramientas -&gt; Placa.<\/li>\n<li>Selecciona el puerto correcto en el men\u00fa Herramientas -&gt; Puerto.<\/li>\n<li>Haz clic en Subir\u00a0para cargar el c\u00f3digo en el ESP32.<\/li>\n<\/ol>\n<h2>Paso 5: Prueba del Sistema<\/h2>\n<ol>\n<li>Una vez cargado el c\u00f3digo, abre el Monitor Serial en el Arduino IDE para ver los mensajes de depuraci\u00f3n.<\/li>\n<li>En el display SH1106, deber\u00eda aparecer el mensaje &#8220;Esperando mensaje!&#8221;.<\/li>\n<li>Env\u00eda un mensaje a tu bot de Telegram. El mensaje deber\u00eda aparecer en el display y el buzzer deber\u00eda sonar.<\/li>\n<\/ol>\n<h2>Componentes electr\u00f3nicos<\/h2>\n<h4>Un Esp32<\/h4>\n<p><a href=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/esp32.jpg\"><img loading=\"lazy\" class=\"alignnone wp-image-6331\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/esp32.jpg\" sizes=\"(max-width: 407px) 100vw, 407px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/esp32.jpg 500w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/esp32-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/esp32-150x150.jpg 150w\" alt=\"\" width=\"407\" height=\"407\" \/><\/a><\/p>\n<h4>Caracter\u00edsticas del m\u00f3dulo ESP32-T<\/h4>\n<p><img src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/08\/esp32pinout-227x300.jpg\" \/><\/p>\n<h3>Conectividad<\/h3>\n<hr \/>\n<p>El m\u00f3dulo ESP32 dispone de todas las variantes del\u00a0<strong>WiFi<\/strong>:<\/p>\n<ul>\n<li>802.11 b\/g\/n\/e\/i\/n<\/li>\n<li>Wi-Fi Direct (P2P), P2P Discovery, P2P Group Owner mode and P2P Power Management<\/li>\n<\/ul>\n<p>Esta versi\u00f3n nueva incluye la conectividad mediante<strong>\u00a0Bluethoot<\/strong>\u00a0de bajo consumo<\/p>\n<ul>\n<li>Bluetooth v4.2 BR\/EDR and BLE<\/li>\n<li>BLE Beacon<\/li>\n<\/ul>\n<p>Adem\u00e1s, puede comunicarse mediante los protocoles<strong>\u00a0SPI, I2C, UART, MAC Ethernet, Host SD<\/strong><\/p>\n<h3>Prestaciones\u00a0del microcontrolador<\/h3>\n<hr \/>\n<p>La\u00a0<strong>CPU<\/strong>\u00a0est\u00e1 formado por un\u00a0<strong>SoC modelo Tensilica LX6<\/strong>\u00a0con las siguientes caracter\u00edsticas\u00a0y memoria<\/p>\n<ul>\n<li>Doble n\u00facleo de 32 bits con velocidad de 160MHz<\/li>\n<li>Memoria ROM de 448 kBytes<\/li>\n<li>Memoria SRAM de 520kBytes<\/li>\n<\/ul>\n<p>Dispne de<strong>\u00a048 Pines<\/strong><\/p>\n<ul>\n<li>18 ADC de 12 bits<\/li>\n<li>2 DAC de 8 bits<\/li>\n<li>10 pines sensores de contacto<\/li>\n<li>16 PWM<\/li>\n<li>20 Entradas\/salidas digitales<\/li>\n<\/ul>\n<h3>Alimentaci\u00f3n y modos de consumo<\/h3>\n<p>Para un correcto funcionamiento del ESP32 es necesario subministrar un voltaje de entre 2,8V y 3,6V. La energ\u00eda que consume depende del modo de funcionamiento. Contiene un modo, el\u00a0<strong>Ultra Low Power Solution (ULP)<\/strong>, en que se contin\u00faan realizando tareas b\u00e1sicas (ADC, RTC\u2026) en el modo Sleep.<\/p>\n<p><strong>Pines hembra<\/strong><\/p>\n<p><a href=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/pines-hembra.jpg\"><img loading=\"lazy\" class=\"alignnone wp-image-6332\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/pines-hembra.jpg\" sizes=\"(max-width: 500px) 100vw, 500px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/pines-hembra.jpg 500w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/pines-hembra-300x223.jpg 300w\" alt=\"\" width=\"378\" height=\"281\" \/><\/a><\/p>\n<p><strong>Cables dupont hembra macho<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-7023 \" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/08\/dupunt-macho-hembra-150x150.jpg\" sizes=\"(max-width: 225px) 100vw, 225px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/08\/dupunt-macho-hembra-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/08\/dupunt-macho-hembra-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/08\/dupunt-macho-hembra-768x768.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/08\/dupunt-macho-hembra.jpg 800w\" alt=\"\" width=\"225\" height=\"225\" \/><\/p>\n<hr \/>\n<p><strong>Display oled sh1106<\/strong><\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/12\/display-oled.jpg\"><img loading=\"lazy\" class=\"alignnone wp-image-6148\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/12\/display-oled.jpg\" sizes=\"(max-width: 280px) 100vw, 280px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/12\/display-oled.jpg 809w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/12\/display-oled-300x285.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/12\/display-oled-768x729.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/12\/display-oled-600x570.jpg 600w\" alt=\"\" width=\"280\" height=\"266\" \/><\/a><\/p>\n<p>Se trata de un m\u00f3dulo de pantalla OLED monocrom\u00e1tica DE 128\u00d764 puntos con interface I2C .Que presenta varias ventajas en comparaci\u00f3n con pantallas LCD, y podemos destacar su alto brillo, un muy buen contraste, un \u00e1ngulo de visi\u00f3n m\u00e1s amplio, y bajo consumo de energ\u00eda. ES compatible con Arduino Rasberry Pi y microcontroladores PIC entre otros. Trabaja con niveles l\u00f3gicos de 3.3V a 5V tiene un angulo de visi\u00f3n mayor a los 160 grados. el Tama\u00f1o de la pantalla es de 1,3 pulgadas. Se alimenta con un voltaje de 3.3V a 5V Se lo puede usar en aplicaciones como relojes inteligentes, MP3, term\u00f3metros, instrumentos, y proyectos varios, etc.<\/p>\n<p><strong>Caracter\u00edsticas<\/strong><\/p>\n<ul>\n<li>Interface: I2C(3.3V \/ 5V logic level)<\/li>\n<li>Resolution: 128 x 64<\/li>\n<li>Angle of view: &gt;160 degree<\/li>\n<li>Display color: Blue<\/li>\n<li>Display size: 1.3 inch<\/li>\n<li>Driver IC: SH1106<\/li>\n<li>Power supply: DC\u00a03.3V~5V<\/li>\n<li>Operating temperature: -20~70\u2019C<\/li>\n<li>Application: smart watch, MP3, thermometer, instruments, DIY projects, etc.<\/li>\n<\/ul>\n<hr \/>\n<p><strong>M\u00f3dulo Buzzer<\/strong><\/p>\n<p><strong><img loading=\"lazy\" class=\"alignnone wp-image-6891\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/06\/buzzer.jpg\" sizes=\"(max-width: 188px) 100vw, 188px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/06\/buzzer.jpg 368w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/06\/buzzer-263x300.jpg 263w\" alt=\"\" width=\"188\" height=\"214\" \/><\/strong><\/p>\n<hr \/>\n<p><strong>M\u00f3dulo ky-004<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-7228\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/03\/ky-004-1024x1024.jpg\" sizes=\"(max-width: 186px) 100vw, 186px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/03\/ky-004-1024x1024.jpg 1024w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/03\/ky-004-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/03\/ky-004-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/03\/ky-004-768x768.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/03\/ky-004-820x820.jpg 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/03\/ky-004.jpg 1500w\" alt=\"\" width=\"186\" height=\"186\" \/><\/p>\n<hr \/>\n<p><strong>PCB<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-large wp-image-6800\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/03\/pcb.png\" sizes=\"(max-width: 494px) 100vw, 494px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/03\/pcb.png 494w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/03\/pcb-300x258.png 300w\" alt=\"\" width=\"494\" height=\"425\" \/>\u00a0<img loading=\"lazy\" class=\"alignnone size-large wp-image-6801\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/03\/pcb_ser.png\" sizes=\"(max-width: 496px) 100vw, 496px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/03\/pcb_ser.png 496w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/03\/pcb_ser-300x258.png 300w\" alt=\"\" width=\"496\" height=\"427\" \/><\/p>\n<p>Descargar archivo gerber \u2013&gt;\u00a0<a href=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/11\/Gerber_esp32.zip\">Gerber_esp32<\/a><\/p>\n<hr \/>\n<p><strong>Circuito<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-large wp-image-7701\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2024\/06\/circuito-1-858x1024.jpg\" alt=\"\" width=\"858\" height=\"1024\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2024\/06\/circuito-1-858x1024.jpg 858w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2024\/06\/circuito-1-251x300.jpg 251w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2024\/06\/circuito-1-768x916.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2024\/06\/circuito-1-1288x1536.jpg 1288w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2024\/06\/circuito-1-820x978.jpg 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2024\/06\/circuito-1.jpg 1659w\" sizes=\"(max-width: 858px) 100vw, 858px\" \/><\/p>\n<hr \/>\n<p><strong>C\u00f3digo Fuente<\/strong><\/p>\n<pre class=\"lang:default decode:true \" title=\"C\u00f3digo Fuente\">#include &lt;WiFi.h&gt;\r\n#include &lt;WiFiClientSecure.h&gt;\r\n#include &lt;UniversalTelegramBot.h&gt;\r\n#include &lt;U8g2lib.h&gt;\r\n\/\/ Configuraci\u00f3n del display SH1106 usando U8g2\r\nU8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, \/* reset=*\/ U8X8_PIN_NONE, \/* clock=*\/ 22, \/* data=*\/ 21);\r\n\/\/ Configuraci\u00f3n WiFi\r\nconst char* ssid = \"Tu-red-WiFi\";\r\nconst char* contrasena = \"Tu-Clave-WiFi\";\r\n\/\/ Token del bot de Telegram\r\n#define TOKEN_BOT \"Tu-Token-Telegram\"\r\n\/\/ Configuraci\u00f3n del buzzer\r\nconst int pinBuzzer = 12;\r\nconst int duracionBuzzer = 100;  \/\/ Duraci\u00f3n del sonido en milisegundos\r\n\/\/ Configuraci\u00f3n del bot\u00f3n\r\nconst int pinBoton = 23;\r\nbool botonPresionado = false;\r\nWiFiClientSecure cliente;\r\nUniversalTelegramBot bot(TOKEN_BOT, cliente);\r\nunsigned long ultimaVezBotCorrio;\r\n\/\/ ID del \u00faltimo chat para enviar respuestas\r\nString idUltimoChat;\r\nvoid setup() {\r\n  Serial.begin(115200);\r\n  \/\/ Conexi\u00f3n WiFi\r\n  WiFi.begin(ssid, contrasena);\r\n  while (WiFi.status() != WL_CONNECTED) {\r\n    delay(1000);\r\n    Serial.println(\"Conectando al WiFi...\");\r\n  }\r\n  Serial.println(\"Conectado al WiFi\");  \r\n  \/\/ Configuraci\u00f3n del display\r\n  u8g2.begin();  \r\n  \/\/ Mostrar mensaje inicial en el display\r\n  u8g2.clearBuffer();\r\n  u8g2.setFont(u8g2_font_unifont_t_symbols);\r\n  u8g2.drawUTF8(0, 10, \"Esp. mensaje:\");\r\n  u8g2.sendBuffer();  \r\n  \/\/ Configuraci\u00f3n del buzzer\r\n  pinMode(pinBuzzer, OUTPUT);\r\n  digitalWrite(pinBuzzer, LOW);\r\n  \/\/ Configuraci\u00f3n del bot\u00f3n\r\n  pinMode(pinBoton, INPUT_PULLUP);\r\n  \/\/ Configuraci\u00f3n de cliente seguro\r\n  cliente.setCACert(TELEGRAM_CERTIFICATE_ROOT);\r\n}\r\n\/\/ Funci\u00f3n para dividir el mensaje en l\u00edneas que se ajusten al ancho del display\r\nvoid mostrarTextoLargo(const String &amp;texto) {\r\n  const int alturaLinea = 10;  \/\/ Altura de cada l\u00ednea\r\n  const int maxLineas = 6;     \/\/ M\u00e1ximo n\u00famero de l\u00edneas que caben en el display\r\n  int indiceInicio = 0;\r\n  int indiceFin;\r\n  int linea = 0; \r\n  while (indiceInicio &lt; texto.length()) {\r\n    indiceFin = indiceInicio;\r\n    int anchoLinea = 0;\r\n    \/\/ Encuentra el punto de corte para la l\u00ednea\r\n    while (indiceFin &lt; texto.length() &amp;&amp; anchoLinea &lt; u8g2.getDisplayWidth()) {\r\n      indiceFin++;\r\n      anchoLinea = u8g2.getStrWidth(texto.substring(indiceInicio, indiceFin).c_str());\r\n    }\r\n    \/\/ Ajusta el punto de corte para evitar dividir palabras\r\n    if (indiceFin &lt; texto.length()) {\r\n      while (indiceFin &gt; indiceInicio &amp;&amp; texto[indiceFin] != ' ') {\r\n        indiceFin--;\r\n      }\r\n    }\r\n    \/\/ Muestra la l\u00ednea en el display\r\n    u8g2.drawUTF8(0, (linea + 1) * alturaLinea, texto.substring(indiceInicio, indiceFin).c_str());\r\n    indiceInicio = indiceFin + 1;\r\n    linea++;    \r\n    \/\/ Si el texto es m\u00e1s largo que el display, desplaza el texto\r\n    if (linea &gt;= maxLineas) {\r\n      delay(3000);  \/\/ Pausa para leer la p\u00e1gina actual\r\n      linea = 0;\r\n      u8g2.clearBuffer();\r\n    }\r\n  }\r\n  u8g2.sendBuffer();\r\n}\r\nvoid loop() {\r\n  \/\/ Verificar si el bot\u00f3n ha sido presionado\r\n  if (digitalRead(pinBoton) == LOW) {\r\n    if (!botonPresionado) {\r\n      \/\/ Env\u00eda un mensaje a Telegram\r\n      bot.sendMessage(idUltimoChat, \"He le\u00eddo tu mensaje, puedes enviar otro\", \"\");      \r\n      \/\/ Sonar el buzzer\r\n      digitalWrite(pinBuzzer, HIGH);\r\n      delay(duracionBuzzer);\r\n      digitalWrite(pinBuzzer, LOW);      \r\n      \/\/ Mostrar mensaje en el display\r\n      u8g2.clearBuffer();\r\n      u8g2.setFont(u8g2_font_unifont_t_symbols);\r\n      u8g2.drawUTF8(0, 10, \"Mens. enviado!\");\r\n      u8g2.sendBuffer();\r\n      botonPresionado = true;\r\n    }\r\n  } else {\r\n    botonPresionado = false;\r\n  }\r\n  \/\/ Verificar si hay nuevos mensajes de Telegram\r\n  if (millis() - ultimaVezBotCorrio &gt; 1000) {\r\n    int numNuevosMensajes = bot.getUpdates(bot.last_message_received + 1);\r\n    while (numNuevosMensajes) {\r\n      Serial.println(\"Nuevo mensaje recibido\");\r\n      for (int i = 0; i &lt; numNuevosMensajes; i++) {\r\n        String idChat = bot.messages[i].chat_id;\r\n        String texto = bot.messages[i].text;        \r\n        \/\/ Guardar el ID del \u00faltimo chat para enviar respuestas\r\n        idUltimoChat = idChat;        \r\n        \/\/ Mostrar mensaje en el display\r\n        u8g2.clearBuffer();\r\n        u8g2.setFont(u8g2_font_unifont_t_symbols); \/\/ Selecciona la fuente compatible con Unicode\r\n        mostrarTextoLargo(texto);        \r\n        \/\/ Sonar el buzzer\r\n        digitalWrite(pinBuzzer, HIGH);\r\n        delay(duracionBuzzer);\r\n        digitalWrite(pinBuzzer, LOW);        \r\n        bot.sendMessage(idChat, \"Mensaje recibido: \" + texto, \"\");\r\n      }\r\n      numNuevosMensajes = bot.getUpdates(bot.last_message_received + 1);\r\n    }\r\n    ultimaVezBotCorrio = millis();\r\n  }\r\n}<\/pre>\n<hr \/>\n<p>No te pierdas ning\u00fan video m\u00e1s suscr\u00edbete a nuestro canal de telegram\u00a0<a href=\"https:\/\/t.me\/carlosvolt_electronica_robotica\">https:\/\/t.me\/carlosvolt_electronica_robotica<\/a><\/p>\n<hr \/>\n<div class=\"page-sidebar widget\" id=\"donation_buttons\"><form action=\"https:\/\/www.paypal.com\/cgi-bin\/webscr\" method=\"post\" target=\"_blank\" ><input type=\"hidden\" name=\"business\" value=\"donacion@rogerbit.com\"><input type=\"hidden\" name=\"bn\" value=\"mbjtechnolabs_SP\"><input type=\"hidden\" name=\"cmd\" value=\"_donations\"><input type=\"hidden\" name=\"item_name\" value=\"Ayuda a RogerBit.com\"><input type=\"hidden\" name=\"item_number\" value=\"www.rogerbit.com\"><input type=\"hidden\" class=\"set_donation_button_amount\" name=\"amount\" value=\"1\"><table ><tbody><tr><td><label for=\"rogerBit necesita de tu ayuda para seguir existiendo :-)\">rogerBit necesita de tu ayuda para seguir existiendo :-)<\/label><\/td><\/tr><\/tbody><\/table><table ><tbody><tr><td><input style=\"margin-top:10px;\" type=\"image\" name=\"submit\" border=\"0\" src=\"https:\/\/www.paypal.com\/en_US\/i\/btn\/btn_donateCC_LG.gif\" alt=\"PayPal - The safer, easier way to pay online\"><\/td><\/tr><\/tbody><\/table><input type=\"hidden\" name=\"currency_code\" value=\"USD\"><input type=\"hidden\" name=\"notify_url\" value=\"https:\/\/rogerbit.com\/wprb\/?Donation_Button&#038;action=ipn_handler\"><\/form><\/div>\n<hr \/>\n<p><strong>PROYECTO RECOMENDADO<\/strong><\/p>\n<p><iframe loading=\"lazy\" title=\"\u2705 Notificaciones de fuga de gas y fuego por telegram y alarma con esp32  - PCBWay.es\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/-5u4MCXUPFA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>&nbsp;<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>En este tutorial, aprender\u00e1s a configurar y usar un dispositivo ESP32 para recibir mensajes de Telegram y mostrarlos en un display SH1106. Tambi\u00e9n incluiremos la funcionalidad de un bot\u00f3n y un buzzer para interactuar con el sistema. Tal vez pueda interesarte proyectos en arduino, pic, rob\u00f3tica, telecomunicaciones, suscribete en\u00a0http:\/\/www.youtube.com\/user\/carlosvolt?sub_confirmation=1\u00a0mucho videos con c\u00f3digo fuentes completos y [&hellip;]<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":7704,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[11],"tags":[1932,467,1372,1922,351,1921,1925,1920,1747,1927,1931,145,1926,917,1924,1742,1923,1919,1928,1930,1929],"_links":{"self":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/7700"}],"collection":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/comments?post=7700"}],"version-history":[{"count":1,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/7700\/revisions"}],"predecessor-version":[{"id":7703,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/7700\/revisions\/7703"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media\/7704"}],"wp:attachment":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media?parent=7700"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/categories?post=7700"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/tags?post=7700"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}