{"id":146,"date":"2020-07-31T10:45:00","date_gmt":"2020-07-31T13:45:00","guid":{"rendered":"https:\/\/www.hugocristo.com.br\/projetos\/milton\/blog\/?p=146"},"modified":"2020-08-10T13:58:51","modified_gmt":"2020-08-10T16:58:51","slug":"milton-7","status":"publish","type":"post","link":"https:\/\/www.hugocristo.com.br\/projetos\/milton\/blog\/2020\/07\/31\/milton-7\/","title":{"rendered":"Milton #7"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><a rel=\"noreferrer noopener\" href=\"https:\/\/nodemcu.readthedocs.io\/\" target=\"_blank\">NodeMCU<\/a> \u00e9 uma plataforma incr\u00edvel. O pre\u00e7o \u00e9 muito baixo para o que oferece (R$10 na China). Por outro lado, \u00e9 relativamente jovem e tem partes pouco documentadas. H\u00e1 pessoas explorando os limites do Esp8266 com <a rel=\"noreferrer noopener\" href=\"https:\/\/hackaday.io\/search?term=esp8266\" target=\"_blank\">ideias espetaculares<\/a> todos os dias.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ESPVGAx2 \u00e9 uma dessas ideias. O m\u00f3dulo pode ser excelente ponto de conex\u00e3o wi-fi para sistemas embarcados, mas n\u00e3o foi pensado para gerar sinais VGA. Parte das limita\u00e7\u00f5es descritas por Sandro Maffiodo s\u00e3o chatas e contorn\u00e1veis (p.ex. n\u00e3o retornar do <em>loop<\/em>). Outras, como o sequestro da mem\u00f3ria para dar conta do <em>framebuffer<\/em> e n\u00e3o poder utilizar comunica\u00e7\u00e3o serial s\u00e3o mais complexas. Alternativas como as bibliotecas\u00a0<em>SoftwareSerial\u00a0<\/em>e <a rel=\"noreferrer noopener\" href=\"https:\/\/pt.wikipedia.org\/wiki\/I%C2%B2C\" target=\"_blank\">I2C<\/a> s\u00e3o poss\u00edveis, apesar de inclu\u00edrem outro microcontrolador na equa\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eu tentei, por v\u00e1rios dias e sem sucesso, utilizar a mesma <a href=\"https:\/\/github.com\/PaulStoffregen\/PS2Keyboard\" target=\"_blank\" rel=\"noreferrer noopener\">biblioteca de teclado PS\/2 do Arduino<\/a>. Seria a escolha \u00f3bvia: conex\u00e3o de apenas quatro portas no soquete PS\/2 (dados, interrup\u00e7\u00e3o, 5V e GND) e ampla disponibilidade de teclados baratos por a\u00ed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Entretanto, o m\u00f3dulo travava antes de gerar sinais VGA. A inclus\u00e3o de um Arduino Nano como controlador do teclado e conex\u00e3o I2C entre os dois resolveu, assim como via <em>SoftwareSerial<\/em>. O aumento de custos decorrente da inclus\u00e3o do segundo microcontrolador (+R$30 no Brasil, R$ 10 na China) cria condi\u00e7\u00f5es para tratar o NodeMCU como placa de v\u00eddeo, servidor de web e controlador de rede wi-fi, deixando o controle dos perif\u00e9ricos com o Arduino. Preciso testar melhor o conceito e o funcionamento, mas a princ\u00edpio as vantagens superam as desvantagens.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 fato que n\u00e3o preciso do Arduino Nano <em>todo<\/em>. Poderia substituir a placa por um circuito espec\u00edfico com o ATmega328 (ou ATTiny85) e demais componentes necess\u00e1rios para controlar o n\u00famero de portas que realmente preciso. NodeMCUs s\u00e3o muito mais baratos, de forma que talvez o caminho seja basear Milton no Arduino, que \u00e9 mais est\u00e1vel e melhor documentado, apesar de mais caro.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tive muito trabalho para entender a ESPVGAx2 e desenvolver os dois primeiros editores (<a rel=\"noreferrer noopener\" href=\"https:\/\/www.hugocristo.com.br\/projetos\/milton\/blog\/2020\/07\/27\/milton-5\/\" target=\"_blank\">milton:p<\/a> e <a rel=\"noreferrer noopener\" href=\"https:\/\/www.hugocristo.com.br\/projetos\/milton\/blog\/2020\/07\/30\/milton-6\/\" target=\"_blank\">milton:u<\/a>) para desistir dos sinais VGA. O dilema, por outro lado, me fez lembrar que Arduinos podem ser alternativas independentes para vers\u00f5es mais simples de Milton.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O monitor de v\u00eddeo de 4.3 polegadas chegou bem no momento da crise. Comprei destes modelos utilizados como c\u00e2mera de r\u00e9 para utilizar com a biblioteca <a rel=\"noreferrer noopener\" href=\"http:\/\/code.google.com\/p\/arduino-tvout\/\" target=\"_blank\">TVOut<\/a> do Arduino. A montagem foi simples e o resultado animador, mesmo com a baixa resolu\u00e7\u00e3o (128&#215;80, apenas preto e branco).<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.hugocristo.com.br\/projetos\/milton\/blog\/wp-content\/uploads\/2020\/08\/tvout.jpg\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"600\" src=\"https:\/\/www.hugocristo.com.br\/projetos\/milton\/blog\/wp-content\/uploads\/2020\/08\/tvout.jpg\" alt=\"\" class=\"wp-image-151\" srcset=\"https:\/\/www.hugocristo.com.br\/projetos\/milton\/blog\/wp-content\/uploads\/2020\/08\/tvout.jpg 800w, https:\/\/www.hugocristo.com.br\/projetos\/milton\/blog\/wp-content\/uploads\/2020\/08\/tvout-300x225.jpg 300w, https:\/\/www.hugocristo.com.br\/projetos\/milton\/blog\/wp-content\/uploads\/2020\/08\/tvout-768x576.jpg 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><figcaption>Arduino Uno com demonstra\u00e7\u00e3o da biblioteca TVOut.<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Televisores com entrada v\u00eddeo-composto (conectores &#8220;RCA&#8221;) podem ser at\u00e9 mais f\u00e1ceis de encontrar que monitores VGA. At\u00e9 essas TVs inteligentes enormes e conectadas mant\u00eam as portas na parte traseira. Testei em todos os aparelhos velhos e novos que encontrei pela frente e consegui gerar sinais, sem sofrimento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uma vers\u00e3o reduzida de Milton, com sa\u00edda para TV em vez de monitor VGA, baseada apenas em Arduinos, tamb\u00e9m pode ser vi\u00e1vel. Descobri projetos que geram sinal de v\u00eddeo com <a href=\"https:\/\/halfbyteblog.wordpress.com\/2015\/10\/28\/getting-video-out-from-your-adafruit-trinket-or-digispark-or-any-attiny85\/\" target=\"_blank\" rel=\"noreferrer noopener\">Digisparks<\/a>, que s\u00e3o <em>m\u00ednimos<\/em>. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>NodeMCU \u00e9 uma plataforma incr\u00edvel. O pre\u00e7o \u00e9 muito baixo para o que oferece (R$10 na China). Por outro lado, \u00e9 relativamente jovem e tem partes pouco documentadas. H\u00e1 pessoas explorando os limites do Esp8266 com ideias espetaculares todos os dias. ESPVGAx2 \u00e9 uma dessas ideias. O m\u00f3dulo pode ser excelente ponto de conex\u00e3o wi-fi [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-146","post","type-post","status-publish","format-standard","hentry","category-atualizacoes"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.hugocristo.com.br\/projetos\/milton\/blog\/wp-json\/wp\/v2\/posts\/146","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hugocristo.com.br\/projetos\/milton\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hugocristo.com.br\/projetos\/milton\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hugocristo.com.br\/projetos\/milton\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hugocristo.com.br\/projetos\/milton\/blog\/wp-json\/wp\/v2\/comments?post=146"}],"version-history":[{"count":8,"href":"https:\/\/www.hugocristo.com.br\/projetos\/milton\/blog\/wp-json\/wp\/v2\/posts\/146\/revisions"}],"predecessor-version":[{"id":157,"href":"https:\/\/www.hugocristo.com.br\/projetos\/milton\/blog\/wp-json\/wp\/v2\/posts\/146\/revisions\/157"}],"wp:attachment":[{"href":"https:\/\/www.hugocristo.com.br\/projetos\/milton\/blog\/wp-json\/wp\/v2\/media?parent=146"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hugocristo.com.br\/projetos\/milton\/blog\/wp-json\/wp\/v2\/categories?post=146"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hugocristo.com.br\/projetos\/milton\/blog\/wp-json\/wp\/v2\/tags?post=146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}