{"id":3841,"date":"2018-10-01T12:27:37","date_gmt":"2018-10-01T12:27:37","guid":{"rendered":"http:\/\/rogerbit.com\/wprb\/?p=3841"},"modified":"2019-07-23T11:51:02","modified_gmt":"2019-07-23T11:51:02","slug":"encendiendo-8-luces-de-110v-220v-con-esp32-con-el-aporte-de-banggood-com","status":"publish","type":"post","link":"https:\/\/rogerbit.com\/wprb\/2018\/10\/encendiendo-8-luces-de-110v-220v-con-esp32-con-el-aporte-de-banggood-com\/","title":{"rendered":"Encendiendo 8 luces de 110V\/220V con esp32 con el aporte de banggood.com"},"content":{"rendered":"<p><iframe loading=\"lazy\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/fFRVkqUUVm4?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p>Hola en este tutorial veremos como encender hasta 8 focos de 110v a 220v, con el m\u00f3dulo esp32 y un m\u00f3dulo relay de 8 canales.<\/p>\n<p>Se incluye el circuito el\u00e9ctrico y tambi\u00e9n el\u00a0 c\u00f3digo fuente completo para que puedas modificar y mejorar tanto el skech como la aplicaci\u00f3n en app inventor.<\/p>\n<p>Este m\u00f3dulo esp32 ha sido gentileza de <a href=\"http:\/\/www.banggood.com\">www.banggood.com<\/a><\/p>\n<hr \/>\n<p>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<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>\n<hr \/>\n<h4>Caracteristicas del m\u00f3dulo ESP32-T<\/h4>\n<h3>Conectividad<\/h3>\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<h4>ESP8266 versus ESP32<\/h4>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/08\/1.gif\"><img loading=\"lazy\" class=\"alignnone wp-image-2359\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/08\/1-300x181.gif\" sizes=\"(max-width: 597px) 100vw, 597px\" srcset=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/08\/1-300x181.gif 300w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/08\/1-600x363.gif 600w\" alt=\"\" width=\"597\" height=\"360\" \/><\/a><\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/08\/2.gif\"><img loading=\"lazy\" class=\"alignnone wp-image-2361\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/08\/2-300x297.gif\" sizes=\"(max-width: 593px) 100vw, 593px\" srcset=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/08\/2-300x297.gif 300w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/08\/2-600x595.gif 600w\" alt=\"\" width=\"593\" height=\"587\" \/><\/a><\/p>\n<p><strong>ESP32 pinout<\/strong><\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2018\/10\/lolin_esp32_pinout.jpg\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-3842\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2018\/10\/lolin_esp32_pinout.jpg\" alt=\"\" width=\"514\" height=\"386\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2018\/10\/lolin_esp32_pinout.jpg 514w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2018\/10\/lolin_esp32_pinout-300x225.jpg 300w\" sizes=\"(max-width: 514px) 100vw, 514px\" \/><\/a><\/p>\n<p>Circuito<\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2018\/10\/circuito-8-focos-esp32.png\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-3843\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2018\/10\/circuito-8-focos-esp32-1024x694.png\" alt=\"\" width=\"1024\" height=\"694\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2018\/10\/circuito-8-focos-esp32-1024x694.png 1024w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2018\/10\/circuito-8-focos-esp32-300x203.png 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2018\/10\/circuito-8-focos-esp32-768x521.png 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2018\/10\/circuito-8-focos-esp32-600x407.png 600w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2018\/10\/circuito-8-focos-esp32-820x556.png 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2018\/10\/circuito-8-focos-esp32-1320x895.png 1320w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>C\u00f3digo Fuente<\/p>\n<pre class=\"lang:arduino decode:true\">#include &lt;WiFi.h&gt;\r\n\r\nconst char* ssid     = \"xxxxxx\";\r\nconst char* password = \"xxxxxx\";\r\n\r\nWiFiServer server(80);\r\n\r\nvoid setup()\r\n{\r\n    Serial.begin(115200);\r\n    \/\/ Seteamos estos pines como salida\r\n    pinMode(16, OUTPUT);      \r\n    pinMode(5, OUTPUT);\r\n    pinMode(4, OUTPUT);\r\n    pinMode(2, OUTPUT);\r\n    pinMode(14, OUTPUT);\r\n    pinMode(12, OUTPUT);\r\n    pinMode(13, OUTPUT);\r\n    pinMode(15, OUTPUT);\r\n    \/\/Y los ponemos en alto\r\n    digitalWrite(16, HIGH);\r\n    digitalWrite(5, HIGH);\r\n    digitalWrite(4, HIGH);\r\n    digitalWrite(2, HIGH);\r\n    digitalWrite(14, HIGH);\r\n    digitalWrite(12, HIGH);\r\n    digitalWrite(13, HIGH);\r\n    digitalWrite(15, HIGH); \r\n    delay(10);\r\n\r\n    \/\/ Comenzamos conect\u00e1ndonos a una red WiFi\r\n\r\n    Serial.println();\r\n    Serial.println();\r\n    Serial.print(\"Conectando a \");\r\n    Serial.println(ssid);\r\n\r\n    WiFi.begin(ssid, password);\r\n\r\n    while (WiFi.status() != WL_CONNECTED) {\r\n        delay(500);\r\n        Serial.print(\".\");\r\n    }\r\n\r\n    Serial.println(\"\");\r\n    Serial.println(\"Conectado a red Wifi.\");\r\n    Serial.println(\"Direcci\u00f3n IP \");\r\n    Serial.println(WiFi.localIP());\r\n    \r\n    server.begin();\r\n\r\n}\r\n\r\nint value = 0;\r\n\r\nvoid loop(){\r\n WiFiClient client = server.available();   \/\/ Escuchando a los clientes entrantes\r\n\r\n  if (client) {                             \/\/ Si hay un cliente,\r\n    Serial.println(\"Nuevo cliente\");        \/\/ Imprime un mensaje en el puerto serie\r\n    String currentLine = \"\";                \/\/ String para contener datos entrantes del cliente\r\n    while (client.connected()) {            \/\/ Bucle mientras el cliente est\u00e1 conectado\r\n      if (client.available()) {             \/\/ Si hay bytes para leer del cliente,\r\n        char c = client.read();             \/\/ Lee un caracter\r\n        Serial.write(c);                    \/\/ Lo imprimimos en el monitor serial\r\n        if (c == '\\n') {                    \/\/ Si el byte es un car\u00e1cter de nueva l\u00ednea\r\n\r\n          \r\n          if (currentLine.length() == 0) {\r\n            client.println(\"HTTP\/1.1 200 OK\");\r\n            client.println(\"Content-type:text\/html\");\r\n            client.println();\r\n\r\n            \/\/ Contenido HTML\r\n            client.print(\"Click &lt;a href=\\\"\/E16\\\"&gt;Encender&lt;\/a&gt; Para Encender led 16.&lt;br&gt;\");\r\n            client.print(\"Click &lt;a href=\\\"\/A16\\\"&gt;Apagar&lt;\/a&gt; Para Apagar led 16.&lt;br&gt;\");\r\n\/\/-------------------------------------------------------------------------------------------\r\n            client.print(\"Click &lt;a href=\\\"\/E5\\\"&gt;Encender&lt;\/a&gt; Para Encender led 5.&lt;br&gt;\");\r\n            client.print(\"Click &lt;a href=\\\"\/A5\\\"&gt;Apagar&lt;\/a&gt; Para Apagar led 5.&lt;br&gt;\");\r\n\/\/-------------------------------------------------------------------------------------------\r\n            client.print(\"Click &lt;a href=\\\"\/E4\\\"&gt;Encender&lt;\/a&gt; Para Encender led 4.&lt;br&gt;\");\r\n            client.print(\"Click &lt;a href=\\\"\/A4\\\"&gt;Apagar&lt;\/a&gt; Para Apagar led 4.&lt;br&gt;\");\r\n\/\/-------------------------------------------------------------------------------------------\r\n            client.print(\"Click &lt;a href=\\\"\/E2\\\"&gt;Encender&lt;\/a&gt; Para Encender led 2.&lt;br&gt;\");\r\n            client.print(\"Click &lt;a href=\\\"\/A2\\\"&gt;Apagar&lt;\/a&gt; Para encender led 2.&lt;br&gt;\");\r\n\/\/-------------------------------------------------------------------------------------------\r\n            client.print(\"Click &lt;a href=\\\"\/E14\\\"&gt;Encender&lt;\/a&gt; Para Encender led 14.&lt;br&gt;\");\r\n            client.print(\"Click &lt;a href=\\\"\/A14\\\"&gt;Apagar&lt;\/a&gt; Para Apagar led 14.&lt;br&gt;\");\r\n\/\/-------------------------------------------------------------------------------------------\r\n            client.print(\"Click &lt;a href=\\\"\/E12\\\"&gt;Encender&lt;\/a&gt; Para Encender led 12.&lt;br&gt;\");\r\n            client.print(\"Click &lt;a href=\\\"\/A12\\\"&gt;Apagar&lt;\/a&gt; Para Apagar led 12.&lt;br&gt;\");\r\n\/\/-------------------------------------------------------------------------------------------\r\n            client.print(\"Click &lt;a href=\\\"\/E13\\\"&gt;Encender&lt;\/a&gt; Para Encender led 13.&lt;br&gt;\");\r\n            client.print(\"Click &lt;a href=\\\"\/A13\\\"&gt;Apagar&lt;\/a&gt; Para Apagar led 13.&lt;br&gt;\");\r\n\/\/-------------------------------------------------------------------------------------------\r\n            client.print(\"Click &lt;a href=\\\"\/E15\\\"&gt;Encender&lt;\/a&gt; Para Encender led 15.&lt;br&gt;\");\r\n            client.print(\"Click &lt;a href=\\\"\/A15\\\"&gt;Apagar&lt;\/a&gt; Para Apagar led 15.&lt;br&gt;\");           \r\n\r\n            \r\n            client.println();\r\n            \/\/ Salir del ciclo while:\r\n            break;\r\n          } else {    \/\/ si tienes una nueva l\u00ednea, borra currentLine:\r\n            currentLine = \"\";\r\n          }\r\n        } else if (c != '\\r') {  \r\n          currentLine += c;      \r\n        }\r\n\r\n        \/\/ Verifica si la solicitud del cliente fue \"GET \/E\" de encendido o \"GET \/A de apagado\":\r\n        if (currentLine.endsWith(\"GET \/A16\")) {\r\n          digitalWrite(16, HIGH);               \r\n        }\r\n        if (currentLine.endsWith(\"GET \/E16\")) {\r\n          digitalWrite(16, LOW);                \r\n        }\r\n        \/\/-----------------------\r\n        if (currentLine.endsWith(\"GET \/A5\")) {\r\n          digitalWrite(5, HIGH);               \r\n        }\r\n        if (currentLine.endsWith(\"GET \/E5\")) {\r\n          digitalWrite(5, LOW);                \r\n        }\r\n        \/\/-----------------------\r\n        if (currentLine.endsWith(\"GET \/A4\")) {\r\n          digitalWrite(4, HIGH);               \r\n        }\r\n        if (currentLine.endsWith(\"GET \/E4\")) {\r\n          digitalWrite(4, LOW);                \r\n        }\r\n        \/\/-----------------------\r\n        if (currentLine.endsWith(\"GET \/A2\")) {\r\n          digitalWrite(2, HIGH);               \r\n        }\r\n        if (currentLine.endsWith(\"GET \/E2\")) {\r\n          digitalWrite(2, LOW);                \r\n        }\r\n        \/\/-----------------------\r\n        if (currentLine.endsWith(\"GET \/A14\")) {\r\n          digitalWrite(14, HIGH);               \r\n        }\r\n        if (currentLine.endsWith(\"GET \/E14\")) {\r\n          digitalWrite(14, LOW);                \r\n        }\r\n        \/\/-----------------------\r\n        if (currentLine.endsWith(\"GET \/A12\")) {\r\n          digitalWrite(12, HIGH);               \r\n        }\r\n        if (currentLine.endsWith(\"GET \/E12\")) {\r\n          digitalWrite(12, LOW);                \r\n        }\r\n        \/\/-----------------------\r\n        if (currentLine.endsWith(\"GET \/A13\")) {\r\n          digitalWrite(13, HIGH);               \r\n        }\r\n        if (currentLine.endsWith(\"GET \/E13\")) {\r\n          digitalWrite(13, LOW);                \r\n        }\r\n        \/\/-----------------------\r\n        if (currentLine.endsWith(\"GET \/A15\")) {\r\n          digitalWrite(15, HIGH);               \r\n        }\r\n        if (currentLine.endsWith(\"GET \/E15\")) {\r\n          digitalWrite(15, LOW);                \r\n        }\r\n      }\r\n    }\r\n    \/\/ Cierra la conexi\u00f3n\r\n    client.stop();\r\n    Serial.println(\"Cliente desconectado\");\r\n  }\r\n}<\/pre>\n<p>Aplicaci\u00f3n en app inventor<\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2018\/10\/app_inventor.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-3847\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2018\/10\/app_inventor-201x300.png\" alt=\"\" width=\"201\" height=\"300\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2018\/10\/app_inventor-201x300.png 201w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2018\/10\/app_inventor.png 346w\" sizes=\"(max-width: 201px) 100vw, 201px\" \/><\/a><\/p>\n<p>Descargar app y archivo fuente<\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2018\/10\/8_luces_esp32.zip\">Descargar app y archivo fuente &#8211;&gt;8_luces_esp32<\/a><\/p>\n<p>Si aun no has instalado la tarjeta ESP32 en tu ide de arduino te recomiendo ver el sigueinte video:<\/p>\n<p><iframe loading=\"lazy\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/3bYrdJmBoEY?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<hr \/>\n<p>Este m\u00f3dulo puedes adquirir en la p\u00e1gina de bangood en el siguiente enlace:<\/p>\n<p>ModuloESP32 OLED WiFi + Bluetooth<br \/>\n<a href=\"https:\/\/ban.ggood.vip\/mbj\">https:\/\/ban.ggood.vip\/mbj<\/a><\/p>\n<p>Tambien puedes adquires otros m\u00f3dulos y kit de review anterios:<\/p>\n<p>Kit de 45 sensores para arduino<br \/>\n<a href=\"https:\/\/ban.ggood.vip\/mbh\">https:\/\/ban.ggood.vip\/mbh<\/a><\/p>\n<p><iframe loading=\"lazy\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/JyRMiQaRQNE?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<hr \/>\n<p>Kit generador de funci\u00f3n con XR2206<br \/>\n<a href=\"https:\/\/ban.ggood.vip\/mbl\">https:\/\/ban.ggood.vip\/mbl<\/a><\/p>\n<p><iframe loading=\"lazy\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/RQJWNYZcQ0Y?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p>Descarga la aplicaci\u00f3n de Banggood<br \/>\n(para obtener 10% de descuento)<br \/>\nhttps:\/\/www.banggood.com\/AppDownload.html?gasource=global-top-nav<\/p>\n<h4><\/h4>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Hola en este tutorial veremos como encender hasta 8 focos de 110v a 220v, con el m\u00f3dulo esp32 y un m\u00f3dulo relay de 8 canales. Se incluye el circuito el\u00e9ctrico y tambi\u00e9n el\u00a0 c\u00f3digo fuente completo para que puedas modificar y mejorar tanto el skech como la aplicaci\u00f3n en app inventor. Este m\u00f3dulo esp32 ha [&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":3845,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[11],"tags":[],"_links":{"self":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/3841"}],"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=3841"}],"version-history":[{"count":5,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/3841\/revisions"}],"predecessor-version":[{"id":4841,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/3841\/revisions\/4841"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media\/3845"}],"wp:attachment":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media?parent=3841"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/categories?post=3841"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/tags?post=3841"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}