        <style>
            #donation_buttons td{
                border:medium none;
                background: inherit !important;
            }
            #donation_buttons table{               
                border:medium none;
                margin: auto;
                width: auto;
            }
        </style>
        {"id":6627,"date":"2021-11-02T12:52:29","date_gmt":"2021-11-02T12:52:29","guid":{"rendered":"https:\/\/rogerbit.com\/wprb\/?p=6627"},"modified":"2021-11-02T12:52:29","modified_gmt":"2021-11-02T12:52:29","slug":"alimentador-de-peces-por-telegram-con-termometro-y-control-de-luz","status":"publish","type":"post","link":"https:\/\/rogerbit.com\/wprb\/2021\/11\/alimentador-de-peces-por-telegram-con-termometro-y-control-de-luz\/","title":{"rendered":"Alimentador de peces por telegram con term\u00f3metro y control de luz"},"content":{"rendered":"<p><iframe loading=\"lazy\" title=\"\ud83d\udc20 Alimentador de peces por telegram con term\u00f3metro y control de luz - PCBWay.es\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/fgv2tzv4ek8?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p>En este tutorial veremos como hacer un alimentador de peces controlado por telegram con esp32, un motor paso a paso 28byj-48 con su respectiva controladora. Este dispositivo tambi\u00e9n incluye la posibilidad de conocer la temperatura del agua, con un sensor de temperatura ds18b20 en su versi\u00f3n sumergible con encapsulado met\u00e1lico, y tiene la funci\u00f3n de encender una luz de 110V\/220V.<\/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<p><strong>Componentes electr\u00f3nicos<\/strong><\/p>\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<hr \/>\n<h4>Pines Hembra<\/h4>\n<p><img src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/pines-hembra.jpg\" \/><\/p>\n<hr \/>\n<h4>Un Foco<\/h4>\n<p><img src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/02\/foco-led.jpg\" \/><\/p>\n<hr \/>\n<h4>Un resistor de 4,7 Kohm<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-6628\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/11\/47k.jpg\" alt=\"\" width=\"255\" height=\"159\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/11\/47k.jpg 568w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/11\/47k-300x187.jpg 300w\" sizes=\"(max-width: 255px) 100vw, 255px\" \/><\/p>\n<hr \/>\n<h4>Un sensor de temperatura ds18b20<\/h4>\n<p><img loading=\"lazy\" class=\"\" src=\"https:\/\/electronilab.co\/wp-content\/uploads\/2015\/04\/ds18b20-waterproof.jpg\" alt=\"Resultado de imagen para ds18B20\" width=\"233\" height=\"288\" \/><\/p>\n<p>*poner un resistor de 4,7 Kohm entre el cable de 5 voltios y el de datos.<\/p>\n<hr \/>\n<h4>Cables dupont<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-6630\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/11\/dupont-macho-hembra.jpg\" alt=\"\" width=\"299\" height=\"299\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/11\/dupont-macho-hembra.jpg 458w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/11\/dupont-macho-hembra-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/11\/dupont-macho-hembra-150x150.jpg 150w\" sizes=\"(max-width: 299px) 100vw, 299px\" \/><\/p>\n<hr \/>\n<h4>Un motor paso a paso 28byj-48 con su controladora<\/h4>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/motorpap.jpg\"><img loading=\"lazy\" class=\"alignnone wp-image-6307\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/motorpap.jpg\" sizes=\"(max-width: 376px) 100vw, 376px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/motorpap.jpg 506w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/motorpap-300x259.jpg 300w\" alt=\"\" width=\"376\" height=\"325\" \/><\/a><\/p>\n<p><strong>Los par\u00e1metros de este motor paso a paso son:<\/strong><\/p>\n<ul>\n<li>Modelo: 28BYJ-48 \u2013 5V<\/li>\n<li>Tensi\u00f3n nominal: 5V (o 12 V, valor indicado en la parte trasera).<\/li>\n<li>Cantidad de fases: 4.<\/li>\n<li>Reductor de velocidad: 1\/64<\/li>\n<li>\u00c1ngulo de paso: 5,625\u00b0 \/ 64<\/li>\n<li>Frecuencia: 100Hz<\/li>\n<li>Resistencia en CC: 50\u03a9 \u00b17 % (25\u00b0 C)<\/li>\n<li>Frecuencia con tracci\u00f3n: &gt; 600Hz<\/li>\n<li>Frecuencia sin tracci\u00f3n: &gt; 1000Hz<\/li>\n<li>Torque con tracci\u00f3n: &gt;34,3mN.m (120Hz)<\/li>\n<li>Torque en autoposicionamiento: &gt;34,3mN.m<\/li>\n<li>Torque con fricci\u00f3n: 600-1200 gf.cm<\/li>\n<li>Arrastre en torque: 300 gf.cm<\/li>\n<li>Resistencia de aislaci\u00f3n &gt; 10M\u03a9 (500V)<\/li>\n<li>Aislaci\u00f3n el\u00e9ctrica: 600VAC\/1mA\/1s<\/li>\n<li>Grado de aislaci\u00f3n: A<\/li>\n<li>Aumento de temperatura: &lt; 40K (120Hz)<\/li>\n<li>Ruido: &lt; 35dB (120Hz, sin carga, 10cm)<\/li>\n<\/ul>\n<p><strong>ULN2003APG<\/strong><\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/07\/uln2003a_pinout.jpg\"><img loading=\"lazy\" class=\"alignnone wp-image-5725 size-medium\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/07\/uln2003a_pinout-300x300.jpg\" sizes=\"(max-width: 300px) 100vw, 300px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/07\/uln2003a_pinout-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/07\/uln2003a_pinout-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/07\/uln2003a_pinout.jpg 500w\" alt=\"\" width=\"300\" height=\"300\" \/><\/a><\/p>\n<p><strong>Especificaciones principales:<\/strong><\/p>\n<ul>\n<li>500 mA de corriente de colector nominal (de salida \u00fanica)<\/li>\n<li>50 V de salida (hay una versi\u00f3n que soporta 100 V de salida)<\/li>\n<li>Incluye diodos de retorno de salida<\/li>\n<li>Entradas compatibles con\u00a0TTL\u00a0y 5-V\u00a0CMOS\u00a0l\u00f3gica<\/li>\n<\/ul>\n<hr \/>\n<h4>Un pcb<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-6631\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/11\/pcb.jpg\" alt=\"\" width=\"484\" height=\"418\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/11\/pcb.jpg 484w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/11\/pcb-300x259.jpg 300w\" sizes=\"(max-width: 484px) 100vw, 484px\" \/><\/p>\n<p>Descargar archivo gerber &#8211;&gt; <a href=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/11\/Gerber_esp32.zip\">Gerber_esp32<\/a><\/p>\n<hr \/>\n<h4>M\u00f3dulo Relay<\/h4>\n<div><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/realay.jpg\"><img loading=\"lazy\" class=\"alignnone wp-image-6203\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/realay-1024x875.jpg\" sizes=\"(max-width: 343px) 100vw, 343px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/realay-1024x875.jpg 1024w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/realay-300x256.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/realay-768x656.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/realay-600x513.jpg 600w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/realay-820x701.jpg 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/realay-1320x1128.jpg 1320w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/realay.jpg 2048w\" alt=\"\" width=\"343\" height=\"293\" \/><\/a><\/div>\n<div>\n<h4>ESPECIFICACIONES T\u00c9CNICAS<\/h4>\n<ul>\n<li>Voltaje de Operaci\u00f3n: 5V DC<\/li>\n<li>Se\u00f1al de Control: TTL (3.3V o 5V)<\/li>\n<li>N\u00ba de Relays (canales):\u00a01\u00a0CH<\/li>\n<li>Capacidad m\u00e1x: 10A\/250VAC, 10A\/30VDC<\/li>\n<li>Corriente m\u00e1x: 10A (NO), 5A (NC)<\/li>\n<li>Tiempo de acci\u00f3n: 10 ms \/ 5 ms<\/li>\n<li>Para activar salida NO: 0 Voltios<\/li>\n<\/ul>\n<\/div>\n<hr \/>\n<h4>Archivos STL<\/h4>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/alimentador.zip\">alimentador<\/a><\/p>\n<hr \/>\n<h4>Circuito<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone size-large wp-image-6633\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/11\/circuito-629x1024.jpg\" alt=\"\" width=\"629\" height=\"1024\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/11\/circuito-629x1024.jpg 629w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/11\/circuito-184x300.jpg 184w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/11\/circuito-768x1250.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/11\/circuito-943x1536.jpg 943w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/11\/circuito-820x1335.jpg 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/11\/circuito.jpg 1256w\" sizes=\"(max-width: 629px) 100vw, 629px\" \/><\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<div id=\"specification-detailinfo\" class=\"infoContainer\">\n<p><strong>Crear Bot en Telegram<\/strong><\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen1.png\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-6218\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen1-1024x576.png\" sizes=\"(max-width: 1024px) 100vw, 1024px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen1-1024x576.png 1024w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen1-300x169.png 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen1-768x432.png 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen1-600x338.png 600w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen1-820x461.png 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen1-1320x743.png 1320w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen1.png 1920w\" alt=\"\" width=\"1024\" height=\"576\" \/><\/a><\/p>\n<p>En telegram buscamos BotFather<\/p>\n<hr \/>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen2.png\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-6219\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen2-1024x576.png\" sizes=\"(max-width: 1024px) 100vw, 1024px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen2-1024x576.png 1024w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen2-300x169.png 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen2-768x432.png 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen2-600x338.png 600w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen2-820x461.png 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen2-1320x743.png 1320w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen2.png 1920w\" alt=\"\" width=\"1024\" height=\"576\" \/><\/a><\/p>\n<p>Escribimos \/start y nos aparecer\u00e1 algo similar a esto<\/p>\n<hr \/>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen3.png\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-6220\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen3-1024x576.png\" sizes=\"(max-width: 1024px) 100vw, 1024px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen3-1024x576.png 1024w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen3-300x169.png 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen3-768x432.png 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen3-600x338.png 600w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen3-820x461.png 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen3-1320x743.png 1320w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen3.png 1920w\" alt=\"\" width=\"1024\" height=\"576\" \/><\/a><\/p>\n<p>Escribimos \/newbot<\/p>\n<hr \/>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen4_fix.png\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-6221\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen4_fix-576x1024.png\" sizes=\"(max-width: 576px) 100vw, 576px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen4_fix-576x1024.png 576w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen4_fix-169x300.png 169w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen4_fix-768x1364.png 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen4_fix-600x1066.png 600w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen4_fix-820x1457.png 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen4_fix-1320x2345.png 1320w\" alt=\"\" width=\"576\" height=\"1024\" \/><\/a><\/p>\n<p>Nos aparecer\u00e9 el nombre del bot, y inventamos un nombre para nuestro bot, debe tener el formato \u00abusuario_bot\u00bb<\/p>\n<hr \/>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen5_fix.png\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-6222\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen5_fix-577x1024.png\" sizes=\"(max-width: 577px) 100vw, 577px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen5_fix-577x1024.png 577w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen5_fix-169x300.png 169w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen5_fix-768x1364.png 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen5_fix-600x1066.png 600w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen5_fix-820x1456.png 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen5_fix-1320x2344.png 1320w\" alt=\"\" width=\"577\" height=\"1024\" \/><\/a><\/p>\n<p>Obtendremos un token que vamos a usar en el c\u00f3digo fuente<\/p>\n<hr \/>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen6.png\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-6223\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen6-1024x576.png\" sizes=\"(max-width: 1024px) 100vw, 1024px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen6-1024x576.png 1024w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen6-300x169.png 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen6-768x432.png 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen6-600x338.png 600w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen6-820x461.png 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen6-1320x743.png 1320w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen6.png 1920w\" alt=\"\" width=\"1024\" height=\"576\" \/><\/a><\/p>\n<p>Ahora buscaremos IDBot, y lo iniciamos<\/p>\n<\/div>\n<hr \/>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen8_fix.png\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-6225\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen8_fix-576x1024.png\" sizes=\"(max-width: 576px) 100vw, 576px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen8_fix-576x1024.png 576w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen8_fix-169x300.png 169w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen8_fix-768x1364.png 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen8_fix-600x1066.png 600w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen8_fix-820x1457.png 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Imagen8_fix-1320x2345.png 1320w\" alt=\"\" width=\"576\" height=\"1024\" \/><\/a><\/p>\n<p>Escribimos \/getid y nos entregar\u00e1 el user_id que debemos colocar en el c\u00f3digo fuente<\/p>\n<hr \/>\n<h4>C\u00f3digo Fuente<\/h4>\n<pre class=\"lang:default decode:true \" title=\"C\u00f3digo Fuente\">\/\/Alimentador de peces x telegram\r\n#include &lt;WiFi.h&gt;\r\n#include &lt;WiFiClientSecure.h&gt;\r\n#include &lt;UniversalTelegramBot.h&gt;\r\n#include &lt;DallasTemperature.h&gt;\/\/Librer\u00eda para el manejo del sensor de temperatura ds18b20\r\n#define sensorTem4 4 \/\/Pin n\u00famero 4 para el sensor de temperatura ds18b20\r\nOneWire ourWire(sensorTem4); \/\/Se establece el pin declarado como bus para la comunicaci\u00f3n OneWire\r\nDallasTemperature sensors(&amp;ourWire); \/\/Se instancia la librer\u00eda DallasTemperature\r\n\/\/ Reemplazar con los datos de tu red wifi\r\n#define WIFI_SSID \"Tu_red_Wifi\"\r\n#define WIFI_PASSWORD \"Tu_clave\"\r\n\/\/Token de Telegram BOT se obtenienen desde Botfather en telegram\r\n#define BOT_TOKEN \"Tu_token\"\r\nconst unsigned long tiempo = 1000; \/\/tiempo medio entre mensajes de escaneo\r\nWiFiClientSecure secured_client;\r\nUniversalTelegramBot bot(BOT_TOKEN, secured_client);\r\nint inicio = 1;\r\nString chat_id;\r\n#define ID_Chat \"Tu_ID\"\/\/ID_Chat se obtiene de telegram\r\nunsigned long tiempoAnterior; \/\/\u00faltima vez que se realiz\u00f3 el an\u00e1lisis de mensajes\r\nconst int led14 = 14;\/\/Pin 14 para en control de la luz\r\nint estadoLed14 = 0;\r\n\/\/ Pines para controlar el motor paso a paso\r\n#define IN1  16\r\n#define IN2  17\r\n#define IN3  5\r\n#define IN4  18\r\n\/\/ Secuencias del motor paso a paso\r\nint paso [4][4] =\r\n{\r\n  {1, 1, 0, 0},\r\n  {0, 1, 1, 0},\r\n  {0, 0, 1, 1},\r\n  {1, 0, 0, 1}\r\n};\r\nvoid mensajesNuevos(int numerosMensajes)\r\n{\r\n  for (int i = 0; i &lt; numerosMensajes; i++)\r\n  {\r\n    String chat_id = bot.messages[i].chat_id;\r\n    String text = bot.messages[i].text;\r\n\/\/\/\/\/\/\/\/\/\/Luz 1 en el pin 12\/\/\/\/\/\/\r\n    if (text == \"\/Alimentar\")\r\n    {\r\n\/\/Movemos el motor paso a paso algunos grados \r\n \r\n for (int m = 0; m &lt; 51; m++){\r\n    for (int p = 0; p &lt; 4; p++)\r\n    {\r\n      digitalWrite(IN1, paso[p][0]);\r\n      digitalWrite(IN2, paso[p][1]);\r\n      digitalWrite(IN3, paso[p][2]);\r\n      digitalWrite(IN4, paso[p][3]);\r\n      delay(10);\r\n         }\r\n   } \r\n\r\n      bot.sendMessage(chat_id, \"Alimento depositado\", \"\");\r\n    }\r\n\r\n    if (text == \"\/Temperatura\")\r\n    {\r\nsensors.requestTemperatures(); \/\/Prepara el sensor para la lectura\r\nfloat datoSensor = sensors.getTempCByIndex(0); \/\/ getTempCByIndex(0) se refiere al primer sensor si es que tubieramos m\u00e1s de uno conectado en el cable\r\n\/\/Imprimimos en el terminal serial el valor de la lectura tomada en el sensor de temperatura\r\nSerial.print(\"Temperatura en celcius: \");\r\nSerial.println(datoSensor); \r\nString stringT = String(datoSensor);\r\nString datos =\"Temperatura: \"+ stringT;\r\n      bot.sendMessage(chat_id, datos, \"\");\r\n    }\r\n\/\/\/\/\/\/\/\/\/\/Luz en el pin 14\/\/\/\/\/\/\r\n    if (text == \"\/Luzon\")\r\n    {\r\n      digitalWrite(led14, HIGH); \r\n      estadoLed14 = 1;\r\n      bot.sendMessage(chat_id, \"Luz encendida\", \"\");\r\n    }\r\n\r\n    if (text == \"\/Luzoff\")\r\n    {\r\n      estadoLed14 = 0;\r\n      digitalWrite(led14, LOW); \r\n      bot.sendMessage(chat_id, \"Luz apagada\", \"\");\r\n    }  \r\n\r\n\/\/\/\/\/\/\/\/Estado de la luz  \/\/\/\/\/\/\/     \r\n\r\n    if (text == \"\/Estado\")\r\n    {\r\n      \/\/\/\/Estado luz \/\/\/\/\r\n      if (estadoLed14)\r\n      {\r\n        bot.sendMessage(chat_id, \"Luz encendida\", \"\");\r\n      }\r\n      else\r\n      {\r\n        bot.sendMessage(chat_id, \"Luz apagada\", \"\");\r\n      }\r\n    }\r\n\r\n    if (text == \"\/Ayuda\")\r\n    {\r\n      String ayuda = \"Bienvenido al sistema de control con Esp32, \" \".\\n\";\r\n      ayuda += \"Estas son tus opciones.\\n\\n\";\r\n      ayuda += \"\/Alimentar: Alimenta a los peces \\n\";\r\n      ayuda += \"\/Temperatura: Temperatura de la pecera \\n\";\r\n      ayuda += \"\/Luzon: para encender la Luz \\n\";\r\n      ayuda += \"\/Luzoff: para apagar la luz \\n\";\r\n      ayuda += \"\/Estado : devuelve el estado actual de las luz\\n\";\r\n      ayuda += \"\/Ayuda: Imprime este men\u00fa \\n\";\r\n      ayuda += \"Recuerda el sistema distingue entre mayuculas y minusculas \\n\";\r\n      bot.sendMessage(chat_id, ayuda, \"\");\r\n    }\r\n    \r\n  }\r\n}\r\n\r\nvoid setup()\r\n{\r\n  Serial.begin(115200);\r\n  sensors.begin(); \/\/se inicia el sensor ds18b20\r\n  \/\/ Todos los pines como salida\r\n  pinMode(IN1, OUTPUT);\r\n  pinMode(IN2, OUTPUT);\r\n  pinMode(IN3, OUTPUT);\r\n  pinMode(IN4, OUTPUT);\r\n  delay(1000);\r\n  pinMode(led14, OUTPUT); \/\/inicializar pin 14 digital como salida.\r\n  digitalWrite(led14, LOW);\r\n  \/\/ Intenta conectarse a la red wifi\r\n  Serial.print(\"Conectando a la red \");\r\n  Serial.print(WIFI_SSID);\r\n  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);\r\n  secured_client.setCACert(TELEGRAM_CERTIFICATE_ROOT); \/\/Agregar certificado ra\u00edz para api.telegram.org\r\n  while (WiFi.status() != WL_CONNECTED)\r\n  {\r\n    Serial.print(\".\");\r\n    delay(500);\r\n  }\r\n  Serial.print(\"\\nConectado a la red wifi. Direcci\u00f3n IP: \");\r\n  Serial.println(WiFi.localIP());\r\n   if(inicio == 1){\r\n    Serial.println(\"Sistema preparado\");\r\n    bot.sendMessage(ID_Chat, \"Sistema preparado!!!, escribe \/Ayuda para ver las opciones\", \"\");\/\/Enviamos un mensaje a telegram para informar que el sistema est\u00e1 listo\r\n    inicio = 0;\r\n    }\r\n}\r\n\r\nvoid loop()\r\n{\r\n  \/\/Verifica si hay datos nuevos en telegram cada 1 segundo\r\n  if (millis() - tiempoAnterior &gt; tiempo)\r\n  {\r\n    int numerosMensajes = bot.getUpdates(bot.last_message_received + 1);\r\n\r\n    while (numerosMensajes)\r\n    {\r\n      Serial.println(\"Comando recibido\");\r\n      mensajesNuevos(numerosMensajes);\r\n      numerosMensajes = bot.getUpdates(bot.last_message_received + 1);\r\n    }\r\n\r\n    tiempoAnterior = millis();\r\n  } \r\n}<\/pre>\n<hr \/>\n<p>Descargar Librer\u00eda \u2013&gt;\u00a0<a href=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/Universal-Arduino-Telegram-Bot-master.zip\">Universal-Arduino-Telegram-Bot-master<\/a><\/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-n2\" 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<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>VIDEO RECOMENDADO<\/strong><\/p>\n<p><iframe loading=\"lazy\" title=\"\ud83d\udc1f\ud83d\udc20 Como hacer un alimentador autom\u00e1tico de peces \ud83d\udc20\ud83d\udc1f - PCBWay.es\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/PzxpNWPKFEM?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/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 veremos como hacer un alimentador de peces controlado por telegram con esp32, un motor paso a paso 28byj-48 con su respectiva controladora. Este dispositivo tambi\u00e9n incluye la posibilidad de conocer la temperatura del agua, con un sensor de temperatura ds18b20 en su versi\u00f3n sumergible con encapsulado met\u00e1lico, y tiene la funci\u00f3n de [&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":6632,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[11],"tags":[530,1119,1121,1122,1306,1305,1307,1067,45,181,486,906,772,1309,595,1308,1310,1071,1070,1069,624,1311,613,1068,1066,917,1120,31,687],"_links":{"self":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/6627"}],"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=6627"}],"version-history":[{"count":2,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/6627\/revisions"}],"predecessor-version":[{"id":6636,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/6627\/revisions\/6636"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media\/6632"}],"wp:attachment":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media?parent=6627"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/categories?post=6627"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/tags?post=6627"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}