{"id":346,"date":"2016-02-16T01:07:44","date_gmt":"2016-02-16T04:07:44","guid":{"rendered":"http:\/\/omecatronico.com.br\/blog\/?p=346"},"modified":"2016-03-30T22:36:14","modified_gmt":"2016-03-31T01:36:14","slug":"controlando-braco-mearm-por-controle-infravermelho","status":"publish","type":"post","link":"https:\/\/omecatronico.com.br\/blog\/controlando-braco-mearm-por-controle-infravermelho\/","title":{"rendered":"Controlando Bra\u00e7o MeArm por Controle Infravermelho"},"content":{"rendered":"<div id=\"attachment_393\" style=\"width: 1034px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/03\/MeArm_IRremote.jpg\" rel=\"attachment wp-att-393\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-393\" class=\"size-full wp-image-393\" src=\"http:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/03\/MeArm_IRremote.jpg\" alt=\"Bra\u00e7o MeArm V04 mais controle Infravermelho\" width=\"1024\" height=\"576\" srcset=\"https:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/03\/MeArm_IRremote.jpg 1024w, https:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/03\/MeArm_IRremote-300x169.jpg 300w, https:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/03\/MeArm_IRremote-768x432.jpg 768w, https:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/03\/MeArm_IRremote-210x118.jpg 210w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><p id=\"caption-attachment-393\" class=\"wp-caption-text\">Bra\u00e7o MeArm V04 mais controle Infravermelho<\/p><\/div>\n<p style=\"text-align: justify;\">Este Post foi criado para documentar um exemplo criado por mim para controlar o bra\u00e7o rob\u00f3tico <a href=\"http:\/\/www.mearm.com\" target=\"_blank\">MeArm V0.4<\/a> atrav\u00e9s de controle remoto de Infravermelho. N\u00e3o abordarei a montagem do bra\u00e7o em si. Para a montagem indico a publica\u00e7\u00e3o\u00a0<a href=\"http:\/\/www.instructables.com\/id\/Pocket-Sized-Robot-Arm-meArm-V04\/\" target=\"_blank\">Pocket-Sized-Robot-Arm-meArm-V04<\/a>.<\/p>\n<p style=\"text-align: justify;\">OBS:\u00a0 J\u00e1 existe uma vers\u00e3o mais nova do bra\u00e7o. Para informa\u00e7\u00f5es sobre como montar o seu, visite o site do <a href=\"http:\/\/www.mearm.com\" target=\"_blank\">meArm<\/a>.<\/p>\n<p style=\"text-align: justify;\">Continuando&#8230; existem v\u00e1rios exemplos controlando o bra\u00e7o com potenci\u00f4metros&#8230; mas \u00e9 digamos&#8230; algo sem gra\u00e7a =D. Procurei algo diferente e simples e n\u00e3o achei. Ent\u00e3o resolvi fazer esse c\u00f3digo s\u00f3 para mostrar que nem tudo \u00e9 s\u00f3 potenci\u00f4metros =p. Ao mesmo tempo este programa serve de exemplo para controle de servos e utiliza\u00e7\u00e3o de infravermelho.<\/p>\n<hr \/>\n<h2 style=\"text-align: justify;\">1-Liga\u00e7\u00f5es El\u00e9tricas:<\/h2>\n<p style=\"text-align: justify;\"><strong>Importante:\u00a0<\/strong>os servos motores consomem muita corrente. O regulador do Arduino n\u00e3o \u00e9 capaz de suportar os 4 servos ligados a ele. Neste exemplo utilizei 6V(4 pilhas) para alimentar os servos e alimentar o Arduino atrav\u00e9s do Vin. <strong>Alimentar os servos pela USB N\u00c3O\u00a0\u00e9 uma op\u00e7\u00e3o.<\/strong><\/p>\n<p style=\"text-align: justify;\">Os sinais dos servos motores foram configurados para os pinos 2,3,4,5 do Arduino.<\/p>\n<p style=\"text-align: justify;\">O sensor de IR foi ligado ao pino 11, que \u00e9 o padr\u00e3o da biblioteca IRremote. Foi utilizado um m\u00f3dulo receptor de IR que possui o receptor Vs1838B. Caso n\u00e3o possua o m\u00f3dulo mas apenas o vs1838b ent\u00e3o monte na protoboard o circuito.<\/p>\n<div id=\"attachment_370\" style=\"width: 587px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/02\/ir-vs1838b-pinout.png\" rel=\"attachment wp-att-370\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-370\" class=\"size-full wp-image-370\" src=\"http:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/02\/ir-vs1838b-pinout.png\" alt=\"ir-vs1838b pinagem\" width=\"577\" height=\"340\" srcset=\"https:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/02\/ir-vs1838b-pinout.png 577w, https:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/02\/ir-vs1838b-pinout-300x177.png 300w, https:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/02\/ir-vs1838b-pinout-210x124.png 210w\" sizes=\"(max-width: 577px) 100vw, 577px\" \/><\/a><p id=\"caption-attachment-370\" class=\"wp-caption-text\">ir-vs1838b pinagem<\/p><\/div>\n<hr \/>\n<h2 style=\"text-align: justify;\">2- Baixar e instalar a biblioteca IRremote no IDE do Arduino:<\/h2>\n<p style=\"text-align: justify;\">Para fazer a decodifica\u00e7\u00e3o dos sinais recebidos pelo sensor de IR utilizei a biblioteca <a href=\"https:\/\/github.com\/z3t0\/Arduino-IRremote\" target=\"_blank\">IRremote<\/a> vers\u00e3o 2.01 encontrada no GitHub. \u00c9 s\u00f3 entrar na p\u00e1gina e baixar clicando no bot\u00e3o &#8220;download ZIP&#8221;. Descompacte. Renomeie a pasta descompactada para IRremote. Copie e cole a pasta IRremote para dentro da pasta &#8220;libraries&#8221; que fica dentro do IDE arduino.<\/p>\n<div id=\"attachment_354\" style=\"width: 1039px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/02\/BiliotecaIR.png\" rel=\"attachment wp-att-354\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-354\" class=\"size-full wp-image-354\" src=\"http:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/02\/BiliotecaIR.png\" alt=\"Guia de instala\u00e7\u00e3o Biblioteca Arduino\" width=\"1029\" height=\"772\" srcset=\"https:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/02\/BiliotecaIR.png 1029w, https:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/02\/BiliotecaIR-300x225.png 300w, https:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/02\/BiliotecaIR-768x576.png 768w, https:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/02\/BiliotecaIR-1024x768.png 1024w, https:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/02\/BiliotecaIR-210x158.png 210w\" sizes=\"(max-width: 1029px) 100vw, 1029px\" \/><\/a><p id=\"caption-attachment-354\" class=\"wp-caption-text\">Guia de instala\u00e7\u00e3o de Biblioteca na IDE Arduino<\/p><\/div>\n<p>DICA: Arduino n\u00e3o tolera alguns caracteres especiais em suas bibliotecas&#8230; por isso foi renomeado neste exemplo.<\/p>\n<p>DICA2: talvez exista conflito entre a biblioteca &#8220;IRremote&#8221; com a &#8220;RobotIRremote&#8221;. Neste caso apague a pasta\u00a0&#8220;RobotIRremote&#8221;.<\/p>\n<hr \/>\n<h2 style=\"text-align: justify;\">3-Descobrindo os C\u00f3digos dos Controles Remotos:<\/h2>\n<p style=\"text-align: justify;\">Cada controle remoto possui seu sistema de codifica\u00e7\u00e3o(existem v\u00e1rios). Felizmente a biblioteca IRremote consegue descobrir qual o sistema de codifica\u00e7\u00e3o e nos retornar\u00e1 o c\u00f3digo da tecla. Como cada controle pode ter sua codifica\u00e7\u00e3o diferente&#8230; temos que &#8220;descobrir&#8221; e &#8220;anotar&#8221; o c\u00f3digo de cada tecla.<\/p>\n<p style=\"text-align: justify;\">OBS: Sim, poderia ter escrito um c\u00f3digo para descobrir e aprender a tecla de qualquer controle e salvar na EEPROM do Arduino&#8230; mas estava com pregui\u00e7a \ud83d\ude09 e queria manter um exemplo simples&#8230;<\/p>\n<p style=\"text-align: justify;\">Para &#8220;descobrir&#8221; o c\u00f3digo de cada tecla utilizei o c\u00f3digo exemplo da IRremote de nome &#8220;IRrecvDemo&#8221; (Arquivo&gt;exemplos&gt;IRremote&gt;IRrecvDemo) ele decodifica o sinal recebido e envia pela porta serial o c\u00f3digo. Ap\u00f3s enviar esse exemplo para sua placa Arduino, abra o serial monitor (fica no canto direito superior) e saia anotando os c\u00f3digos de cada tecla do seu controle.<\/p>\n<hr \/>\n<h2 style=\"text-align: justify;\">4-C\u00f3digo Completo:<\/h2>\n<p style=\"text-align: justify;\">De posse dos c\u00f3digos das teclas do seu controle&#8230; atualize a tabela de teclas do c\u00f3digo abaixo e mande para o Arduino.<\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #999999;\">\/\/Autor: Almir M Ventura<\/span><br \/>\n<span style=\"color: #999999;\">\/\/site: www.omecatronico.com.br<\/span><br \/>\n<span style=\"color: #999999;\">\/\/controla Bra\u00e7o &#8220;MeArm V0.4&#8221; atrav\u00e9s de controle remoto IR.<\/span><br \/>\n<span style=\"color: #999999;\">\/\/importando bibliotecas<\/span><br \/>\n#include &lt;IRremote.h&gt;<br \/>\n#include &lt;<span style=\"color: #ff9900;\">Servo<\/span>.h&gt;<\/p>\n<p><span style=\"color: #999999;\">\/\/defini\u00e7\u00f5es das teclas do controle remoto(dica n\u00e3o tem &#8220;;&#8221; ap\u00f3s comando #define)<br \/>\n\/\/&#8221;0x&#8221; na frente dos c\u00f3digos \u00e9 para o compilador entender que s\u00e3o n\u00fameros Hexadecimais<\/span><br \/>\n#define TECLA0 0xFDB04F<br \/>\n#define TECLA1 0xFD00FF<br \/>\n#define TECLA2 0xFD807F<br \/>\n#define TECLA3 0xFD40BF<br \/>\n#define TECLA4 0xFD20DF<br \/>\n#define TECLA5 0xFDA05F<br \/>\n#define TECLA6 0xFD609F<br \/>\n#define TECLA7 0xFD10EF<br \/>\n#define TECLA8 0xFD906F<br \/>\n#define TECLA9 0xFD50AF<br \/>\n#define TECLAVELHA 0xFD30CF<br \/>\n#define TECLAAST 0xFD708F<br \/>\n#define TECLASUP 0xFD8877<br \/>\n#define TECLAESQ 0xFD28D7<br \/>\n#define TECLAOK 0xFDA857<br \/>\n#define TECLADIR 0xFD6897<br \/>\n#define TECLAINF 0xFD9867<\/p>\n<p><span style=\"color: #999999;\">\/\/criando objetos para controlar os servos.<\/span><br \/>\n<span style=\"color: #ff9900;\">Servo<\/span> servo0;\u00a0 <span style=\"color: #999999;\">\/\/ cria objeto servo para controlar o servo<\/span><br \/>\n<span style=\"color: #ff9900;\">Servo<\/span> servo1;\u00a0 <span style=\"color: #999999;\">\/\/ cria objeto servo para controlar o servo<\/span><br \/>\n<span style=\"color: #ff9900;\">Servo<\/span> servo2;\u00a0 <span style=\"color: #999999;\">\/\/ cria objeto servo para controlar o servo<\/span><br \/>\n<span style=\"color: #ff9900;\">Servo<\/span> servo3;\u00a0 <span style=\"color: #999999;\">\/\/ cria objeto servo para controlar o servo<\/span><\/p>\n<p><span style=\"color: #999999;\">\/\/VARIAVEIS para guardar os angulos atuais dos servos:<\/span><br \/>\n<span style=\"color: #ff9900;\">int<\/span> angulo0 = 90;<br \/>\n<span style=\"color: #ff9900;\">int<\/span> angulo1 = 90;<br \/>\n<span style=\"color: #ff9900;\">int<\/span> angulo2 = 90;<br \/>\n<span style=\"color: #ff9900;\">int<\/span> angulo3 = 90;<\/p>\n<p><span style=\"color: #999999;\">\/\/configurando biblioteca do receptor IR<\/span><br \/>\n<span style=\"color: #ff9900;\">int<\/span> RECV_PIN = 11; \u00a0 \u00a0 <span style=\"color: #999999;\">\/\/configurando receptor de infravermelho para pino 11<\/span><br \/>\n<span style=\"color: #ff9900;\">IRrecv<\/span> irrecv(RECV_PIN);<br \/>\n<span style=\"color: #ff9900;\">decode_results<\/span> results;\u00a0 <span style=\"color: #999999;\">\/\/objeto que guardar\u00e1 resultados da recep\u00e7\u00e3o do IR.<\/span><\/p>\n<p><span style=\"color: #ff9900;\">void<\/span> <span style=\"color: #ff6600;\">setup<\/span>()<br \/>\n{<br \/>\n\/\/configurando servos<br \/>\nservo0.<span style=\"color: #ff9900;\">attach<\/span>(2);\u00a0 <span style=\"color: #999999;\">\/\/ configura objeto servo0 para o pino 2<\/span><br \/>\nservo1.<span style=\"color: #ff9900;\">attach<\/span>(3);\u00a0 <span style=\"color: #999999;\">\/\/ configura objeto servo1 para o pino 3<\/span><br \/>\nservo2.<span style=\"color: #ff9900;\">attach<\/span>(4);\u00a0 <span style=\"color: #999999;\">\/\/ configura objeto servo2 para o pino 4<\/span><br \/>\nservo3.<span style=\"color: #ff9900;\">attach<\/span>(5);\u00a0<span style=\"color: #999999;\"> \/\/ configura objeto servo3 para o pino 5<\/span><\/p>\n<p><span style=\"color: #999999;\">\/\/configurando comunica\u00e7\u00e3o serial<\/span><br \/>\n<span style=\"color: #ff6600;\">Serial<\/span>.<span style=\"color: #ff9900;\">begin<\/span>(19200);<br \/>\nirrecv.<span style=\"color: #ff9900;\">enableIRIn<\/span>(); <span style=\"color: #999999;\">\/\/ inicia recep\u00e7\u00e3o de IR<\/span><br \/>\n}<\/p>\n<p><span style=\"color: #ff9900;\">void<\/span> <span style=\"color: #ff6600;\">loop<\/span>() {<br \/>\n<span style=\"color: #ff9900;\"> if<\/span> (irrecv.<span style=\"color: #ff9900;\">decode<\/span>(&amp;results)) {<br \/>\n<span style=\"color: #ff9900;\"> switch<\/span>(results.value)<br \/>\n{<br \/>\n<span style=\"color: #999999;\">\/\/servo 0 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/span><br \/>\n<span style=\"color: #999999;\">\/\/tecla 1<\/span><br \/>\ncase TECLA1:<br \/>\nangulo0=angulo0-5;<br \/>\nservo0.<span style=\"color: #ff9900;\">write<\/span>(angulo0); <span style=\"color: #999999;\">\/\/diminui em 5 graus<\/span><br \/>\nbreak;<\/p>\n<p><span style=\"color: #999999;\">\/\/tecla 2<\/span><br \/>\n<span style=\"color: #ff9900;\"> case<\/span> TECLA2:<br \/>\nangulo0=90;<br \/>\nservo0.<span style=\"color: #ff9900;\">write<\/span>(angulo0); <span style=\"color: #999999;\">\/\/faz angulo ir para 90 graus.<\/span><br \/>\n<span style=\"color: #ff9900;\"> break<\/span>;<\/p>\n<p><span style=\"color: #999999;\">\/\/tecla 3<\/span><br \/>\n<span style=\"color: #ff9900;\">case<\/span> TECLA3:<br \/>\nangulo0=angulo0+5;<br \/>\nservo0.<span style=\"color: #ff9900;\">write<\/span>(angulo0); <span style=\"color: #999999;\">\/\/aumenta em 5 graus<\/span><br \/>\n<span style=\"color: #ff9900;\">break<\/span>;<br \/>\n<span style=\"color: #999999;\">\/\/servo 1 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"color: #999999;\">\/\/tecla 4<\/span><br \/>\ncase TECLA4:<br \/>\nangulo1=angulo1-5;<br \/>\nservo1.<span style=\"color: #ff9900;\">write<\/span>(angulo1); <span style=\"color: #999999;\">\/\/diminui em 5 graus<\/span><br \/>\n<span style=\"color: #ff9900;\">break<\/span>;<\/p>\n<p><span style=\"color: #999999;\"> \/\/tecla 5<\/span><br \/>\n<span style=\"color: #ff9900;\">case<\/span> TECLA5:<br \/>\nangulo1=90;<br \/>\nservo1.<span style=\"color: #ff9900;\">write<\/span>(angulo1); <span style=\"color: #999999;\">\/\/faz angulo ir para 90 graus.<\/span><br \/>\n<span style=\"color: #ff9900;\">break<\/span>;<\/p>\n<p><span style=\"color: #999999;\"> \/\/tecla 6<\/span><br \/>\n<span style=\"color: #ff9900;\">case<\/span> TECLA6:<br \/>\nangulo1=angulo1+5;<br \/>\nservo1.<span style=\"color: #ff9900;\">write<\/span>(angulo1); <span style=\"color: #999999;\">\/\/aumenta em 5 graus<\/span><br \/>\n<span style=\"color: #ff9900;\">break<\/span>;<br \/>\n<span style=\"color: #999999;\">\/\/servo 2 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"color: #999999;\">\u00a0\u00a0 \/\/tecla 7<\/span><br \/>\n<span style=\"color: #ff9900;\">case<\/span> TECLA7:<br \/>\nangulo2=angulo2-5;<br \/>\nservo2.<span style=\"color: #ff9900;\">write<\/span>(angulo2);<span style=\"color: #999999;\"> \/\/diminui em 5 graus<\/span><br \/>\n<span style=\"color: #ff9900;\"> break<\/span>;<\/p>\n<p><span style=\"color: #999999;\"> \/\/tecla 8<\/span><br \/>\n<span style=\"color: #ff9900;\"> case<\/span> TECLA8:<br \/>\nangulo2=90;<br \/>\nservo2.<span style=\"color: #ff9900;\">write<\/span>(angulo2); <span style=\"color: #999999;\">\/\/faz angulo ir para 90 graus.<\/span><br \/>\n<span style=\"color: #ff9900;\"> break<\/span>;<\/p>\n<p><span style=\"color: #999999;\">\/\/tecla 9<\/span><br \/>\n<span style=\"color: #ff9900;\">case<\/span> TECLA9:<br \/>\nangulo2=angulo2+5;<br \/>\nservo2.<span style=\"color: #ff9900;\">write<\/span>(angulo2); <span style=\"color: #999999;\">\/\/aumenta em 5 graus<\/span><br \/>\n<span style=\"color: #ff9900;\">break<\/span>;<br \/>\n<span style=\"color: #999999;\">\/\/servo 3 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;\u00a0<\/span><br \/>\n<span style=\"color: #999999;\"> \/\/tecla *<\/span><br \/>\n<span style=\"color: #ff9900;\">case<\/span> TECLAAST:<br \/>\nangulo3=angulo3-5;<br \/>\nservo3.<span style=\"color: #ff9900;\">write<\/span>(angulo3); <span style=\"color: #999999;\">\/\/diminui em 5 graus<\/span><br \/>\n<span style=\"color: #ff9900;\">break<\/span>;<\/p>\n<p><span style=\"color: #999999;\">\/\/tecla 0<\/span><br \/>\n<span style=\"color: #ff9900;\">case<\/span> TECLA0:<br \/>\nangulo3=90;<br \/>\nservo3.<span style=\"color: #ff9900;\">write<\/span>(angulo3); <span style=\"color: #999999;\">\/\/faz angulo ir para 90 graus.<\/span><br \/>\n<span style=\"color: #ff9900;\">break<\/span>;<\/p>\n<p><span style=\"color: #999999;\"> \/\/tecla #<\/span><br \/>\n<span style=\"color: #ff9900;\">case<\/span> TECLAVELHA:<br \/>\nangulo3=angulo3+5;<br \/>\nservo3.<span style=\"color: #ff9900;\">write<\/span>(angulo3); <span style=\"color: #999999;\">\/\/aumenta em 5 graus<\/span><br \/>\n<span style=\"color: #ff9900;\">break<\/span>;<\/p>\n<p><span style=\"color: #999999;\">\/\/codigo n\u00e3o encontrado\/desconhecido&#8230;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; \u00a0<\/span><br \/>\n<span style=\"color: #ff9900;\">default<\/span>:<br \/>\n<span style=\"color: #999999;\"> \/\/ se o codigo n\u00e3o for conhecido ou for errado<\/span><br \/>\n<span style=\"color: #999999;\">\/\/ n\u00e3o faz nada<\/span><br \/>\n<span style=\"color: #ff9900;\">break<\/span>;<\/p>\n<p>}<br \/>\n<span style=\"color: #ff6600;\">Serial<\/span>.<span style=\"color: #ff9900;\">println<\/span>(results.value, <span style=\"color: #0000ff;\">HEX<\/span>);<br \/>\nirrecv.<span style=\"color: #ff9900;\">resume<\/span>();\u00a0 <span style=\"color: #999999;\">\/\/Recebe o proximo valor pelo IR.<\/span><br \/>\n}<br \/>\n<span style=\"color: #ff9900;\">delay<\/span>(100);<br \/>\n}<\/p>\n<hr \/>\n<h2 style=\"text-align: justify;\">5-Funcionamento:<\/h2>\n<p><a href=\"http:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/02\/controleIR.jpg\" rel=\"attachment wp-att-357\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-357 alignleft\" src=\"http:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/02\/controleIR.jpg\" alt=\"controleIR\" width=\"171\" height=\"260\" srcset=\"https:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/02\/controleIR.jpg 295w, https:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/02\/controleIR-198x300.jpg 198w, https:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2016\/02\/controleIR-210x319.jpg 210w\" sizes=\"(max-width: 171px) 100vw, 171px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Ao iniciar, o programa faz todos os servos irem para 90 graus.<\/p>\n<p style=\"text-align: justify;\">Tecla 1 diminui em 5 graus o \u00e2ngulo do servo0. Tecla 2 faz servo0 ir para 90 graus. Tecla 3 adiciona 5 graus no \u00e2ngulo atual do servo0.<\/p>\n<p style=\"text-align: justify;\">As teclas 456 funcionam da mesma forma mas para o servo1, 789 para servo2 e *0# para servo 3.<\/p>\n<hr \/>\n<p>Espero ter sido claro nas explica\u00e7\u00f5es e documenta\u00e7\u00e3o desse pequeno projeto. Qualquer erro favor apontar para que eu possa corrigir. Obrigado e at\u00e9 a pr\u00f3xima ;).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Este Post foi criado para documentar um exemplo criado por mim para controlar o bra\u00e7o rob\u00f3tico MeArm V0.4 atrav\u00e9s de controle remoto de Infravermelho. N\u00e3o abordarei a montagem do bra\u00e7o em si. Para a montagem indico a publica\u00e7\u00e3o\u00a0Pocket-Sized-Robot-Arm-meArm-V04. OBS:\u00a0 J\u00e1 existe uma vers\u00e3o mais nova do bra\u00e7o. Para informa\u00e7\u00f5es sobre como montar o seu, visite [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":393,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,15,8,4],"tags":[],"_links":{"self":[{"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/posts\/346"}],"collection":[{"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/comments?post=346"}],"version-history":[{"count":14,"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/posts\/346\/revisions"}],"predecessor-version":[{"id":395,"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/posts\/346\/revisions\/395"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/media\/393"}],"wp:attachment":[{"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/media?parent=346"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/categories?post=346"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/tags?post=346"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}