{"id":2303,"date":"2015-01-14T22:55:40","date_gmt":"2015-01-15T00:55:40","guid":{"rendered":"http:\/\/www.viazap.com.br\/?p=2303"},"modified":"2015-01-14T22:55:40","modified_gmt":"2015-01-15T00:55:40","slug":"arduino-uma-plataforma-open-source-para-desenvolvimento-de-eletronica","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=2303","title":{"rendered":"ARDUINO &#8211; UMA PLATAFORMA OPEN SOURCE PARA DESENVOLVIMENTO DE ELETR\u00d4NICA"},"content":{"rendered":"<h1>INTRODU\u00c7\u00c3O<\/h1>\n<p>&nbsp;<\/p>\n<div>Quando pensamos em automa\u00e7\u00e3o, sensoriamento e controle, normalmente fazemos uma associa\u00e7\u00e3o com sistemas altamente complexos e caros. Claro que sistemas que necessitam de muita precis\u00e3o e controle tornam-se mais caros mas o princ\u00edpio b\u00e1sico \u00e9 o mesmo, coletar um dado do ambiente e a partir deste dado fazer alguma a\u00e7\u00e3o.<\/p>\n<p>O projeto <em>Arduino<\/em> foi criado com este prop\u00f3sito, oferecer um hardware e software livre a um custo acess\u00edvel. Isto abriu possibilidades de muitos adeptos da eletr\u00f4nica e da programa\u00e7\u00e3o criarem sistemas de monitoramento e controle que at\u00e9 ent\u00e3o s\u00f3 eram comercializados por empresas de tecnologia.<\/p>\n<p>O Arduino foi criado na It\u00e1lia por um grupo de desenvolvedores e especialistas em engenharia eletr\u00f4nica que criaram um hardware baseado no chip microcontrolador atmega da empresa Atmel. Estes desenvolvedores criaram uma placa com os componentes para dar ao chip atmega uma estrutura pr\u00f3pria para a prototipagem, ou seja, um ambiente de testes para o desenvolvimento de projetos.<\/p><\/div>\n<div><!--more--><\/p>\n<h1>CONHECENDO A ESTRUTURA DO ARDUINO<\/h1>\n<p>O Arduino disp\u00f5e de v\u00e1rios modelos de placas, cada uma com caracter\u00edsticas pr\u00f3prias voltadas para o desenvolvimento de prot\u00f3tipos espec\u00edficos. Algumas placas s\u00e3o muito pequenas como a &#8220;Lily&#8221; e a &#8220;Nano&#8221;. Estas placas s\u00e3o extremamente pequenas, sendo otimizadas para projetos que n\u00e3o t\u00eam muito espa\u00e7o. Outras placas t\u00eam muitas portas\/pinos como a placa &#8220;Mega&#8221;. A &#8220;Mega&#8221; pode conectar um n\u00famero bem expressivo de sensores e rel\u00e9s, muito \u00fatil para projetos que necessitam controlar muitos equipamentos e sensores.<\/p>\n<p>A placa mais comum \u00e9 a &#8220;Uno&#8221;. Ela tem um n\u00famero razo\u00e1vel de portas &#8211; 13 portas digitais e 6 anal\u00f3gicas, e podem na maioria das vezes suprir as necessidades dos projetos. Vejamos na imagem como \u00e9 o Arduino Uno, suas especifica\u00e7\u00f5es e portas:<\/p>\n<div class=\"figura\"><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/arduino.uno.png\" target=\"_blank\" rel=\"nofollow\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_arduino.uno.png\" alt=\"Linux: Arduino - Uma \nplataforma open source para desenvolvimento de eletr\u00f4nica\" width=\"500\" height=\"256\" border=\"0\" \/><\/a><\/div>\n<p>Vamos inicialmente observar 4 informa\u00e7\u00f5es listadas na imagem, os pinos de conex\u00f5es:<\/p>\n<ol>\n<li>Pinos de Eletricidade &#8211; estes pinos s\u00e3o os respons\u00e1veis por fornecer energia para os sensores, rel\u00e9s e outros dispositivos. Nestes pinos temos voltagens de 3.3 volts, 5 volts e tamb\u00e9m os pinos do ground\/negativo;<\/li>\n<li>Pinos Anal\u00f3gicos &#8211; estes pinos s\u00e3o os respons\u00e1veis por receber as leituras de v\u00e1rios sensores acoplados ao Arduino. Um sensor de temperatura, de luminosidade ou de dist\u00e2ncia podem ser conectados nestes pinos;<\/li>\n<li>Pinos Digitais &#8211; estes pinos trabalham com os dois valores digitais: ligado e desligado. Dentre suas utilidades servem para ligar rel\u00e9s, LEDs e receber informa\u00e7\u00f5es de sensores que trabalham digitalmente. Alguns pinos digitais recebem outros valores al\u00e9m do ligado ou desligado. Estes pinos s\u00e3o chamados pinos PWM e s\u00e3o utilizados como pinos de entrada ou sa\u00edda para sensores e LEDs que t\u00eam varia\u00e7\u00f5es em suas correntes;<\/li>\n<li>Plug USB &#8211; respons\u00e1vel pela conex\u00e3o com o computador. Esta conex\u00e3o \u00e9 a respons\u00e1vel pelo upload do c\u00f3digo que ser\u00e1 rodado no Arduino. Normalmente depois do projeto feito o cabo USB n\u00e3o \u00e9 mais utilizado. Existem algumas formas de enviar os dados coletados pelos sensores do Arduino com um computador que \u00e9 o centro do sistema. Veremos isto no decorrer de nossos artigos.<\/li>\n<\/ol>\n<\/div>\n<p>&nbsp;<\/p>\n<h1>INSTALA\u00c7\u00c3O DA IDE DE DESENVOLVIMENTO<\/h1>\n<p>&nbsp;<\/p>\n<div>A equipe de desenvolvimento do Arduino criou uma interface para sua programa\u00e7\u00e3o. A \u00faltima vers\u00e3o da IDE pode ser baixada para v\u00e1rios sistemas operacionais no site do projeto:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.arduino.cc\/\" target=\"_blank\" rel=\"nofollow\">http:\/\/www.arduino.cc<\/a><\/li>\n<\/ul>\n<p>V\u00e1rias distribui\u00e7\u00f5es <a href=\"http:\/\/www.vivaolinux.com.br\/linux\/\">GNU\/Linux<\/a> j\u00e1 possuem em seus reposit\u00f3rios os pacotes e est\u00e3o dispon\u00edveis para instala\u00e7\u00e3o. No Debian, Ubuntu e outras distribui\u00e7\u00f5es que s\u00e3o baseadas nestas a instala\u00e7\u00e3o pode ser feita atrav\u00e9s do APT, Synaptic ou dselect.<\/p>\n<p>A instala\u00e7\u00e3o utilizando o APT \u00e9 muito simples.<\/p>\n<p>Primeiro sincronizamos a lista de pacotes do nosso computador com o mirror:<\/p>\n<p><strong># apt-get update<\/strong><\/p>\n<p>Procuramos os pacotes que cont\u00e9m a string &#8220;arduino&#8221;:<\/p>\n<p><strong># apt-cache search arduino<\/strong><\/p>\n<p>Instalamos o pacote:<\/p>\n<p><strong># apt-get install arduino<\/strong><\/p>\n<p>V\u00e1rios pacotes ser\u00e3o listados como depend\u00eancias para a instala\u00e7\u00e3o do arduino. \u00c9 s\u00f3 aceitar e esperar at\u00e9 os pacotes serem baixados e instalados.<\/p>\n<p>Depois da instala\u00e7\u00e3o ser\u00e1 criado uma entrada no menu de sua interface gr\u00e1fica. Como eu uso o Debian 7, no GNOME foi criada uma se\u00e7\u00e3o chamada &#8220;Eletr\u00f4nica&#8221; e dentro dela adicionada um \u00edcone do Arduino. Em outras interfaces como o Xfce, KDE e LXDE provavelmente ser\u00e3o criadas entradas semelhantes.<\/p>\n<p>Existem outras IDEs que podem ser utilizadas para a programa\u00e7\u00e3o do Arduino como a &#8220;Maria Mole&#8221;. Ela pode ser baixada em:<\/p>\n<ul>\n<li><a href=\"http:\/\/dalpix.com\/mariamole\" target=\"_blank\" rel=\"nofollow\">MariaMole | dalpix.com<\/a><\/li>\n<\/ul>\n<h1>CONHECENDO A INTERFACE DE PROGRAMA\u00c7\u00c3O<\/h1>\n<p>A IDE desenvolvida pela equipe do Arduino \u00e9 bem simples e est\u00e1 em constante desenvolvimento. Observe a imagem:<\/p>\n<div class=\"figura\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/arduino.interface.png\" alt=\"Linux: \nArduino - Uma plataforma open source para desenvolvimento de eletr\u00f4nica\" width=\"512\" height=\"581\" \/><\/div>\n<p>A vers\u00e3o dispon\u00edvel no reposit\u00f3rio do Debian 7 \u00e9 a vers\u00e3o 1.0.1, no site oficial do projeto a vers\u00e3o dispon\u00edvel para download \u00e9 a 1.0.4.<\/p>\n<p>Para come\u00e7ar a programar existem duas coisas que precisam ser feitas. A primeira \u00e9 escolher qual \u00e9 o Ardu\u00edno que ser\u00e1 utilizado. Clicando em TOOLS &gt; BOARD teremos uma s\u00e9rie de placas Arduino dispon\u00edveis. \u00c9 importante escolher a op\u00e7\u00e3o correta pois existem diferen\u00e7as entre as placas.<\/p>\n<p>A outra op\u00e7\u00e3o importante \u00e9 escolher a porta que o Arduino est\u00e1 conectada. Para ter acesso a esta op\u00e7\u00e3o basta clicar em TOOLS &gt; SERIAL PORT. Normalmente no GNU\/Linux n\u00e3o haver\u00e1 dificuldades no reconhecimento da porta. No Windows \u00e9 um pouco mais complicado pois \u00e9 necess\u00e1rio baixar o driver para seu correto reconhecimento. Nunca testei o Arduino no Windows ent\u00e3o n\u00e3o posso ajudar na instala\u00e7\u00e3o do driver.<\/p>\n<p>Estes s\u00e3o os passos b\u00e1sicos para come\u00e7ar a programar o Arduino. Vejamos agora como \u00e9 sua estrutura de programa\u00e7\u00e3o.<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<h1>A ESTRUTURA DE PROGRAMA\u00c7\u00c3O DO ARDUINO<\/h1>\n<p>&nbsp;<\/p>\n<div>Um projeto no <em>Arduino<\/em> \u00e9 chamado de &#8220;sketch&#8221;. Quando o Arduino \u00e9 instalado \u00e9 automaticamente criado no $HOME do usu\u00e1rio um diret\u00f3rio chamado sketchbook. Este diret\u00f3rio \u00e9 o padr\u00e3o para todos os projetos criados.<\/p>\n<p>Quando abrimos a IDE do Arduino ele abre um sketch vazio. Para que este sketch possa futuramente ser executado ele precisa obrigatoriamente ter duas se\u00e7\u00f5es: setup e loop. A se\u00e7\u00e3o setup \u00e9 lida uma \u00fanica vez no boot do Arduino. Nesta se\u00e7\u00e3o ficam as configura\u00e7\u00f5es do projeto. A se\u00e7\u00e3o loop \u00e9 executada enquanto o Arduino estiver ligado. As instru\u00e7\u00f5es dentro dessa se\u00e7\u00e3o s\u00e3o lidas e executadas. Na se\u00e7\u00e3o loop est\u00e1 a leitura dos dados coletados pelos sensores e o acionamento de dispositivos caso alguma a\u00e7\u00e3o esteja prevista se algum sensor detectar uma varia\u00e7\u00e3o j\u00e1 previamente definida no c\u00f3digo.<\/p>\n<p>Vejamos \u00e0 estrutura do sketch:<\/p>\n<pre class=\"prettyprint\">void setup()\r\n{\r\n\r\n}\r\n\r\nvoid loop()\r\n{\r\n\r\n}\r\n<\/pre>\n<p>Alguns cuidados s\u00e3o muito importantes na hora de programar: o arduino tem um limite de mem\u00f3ria, s\u00e3o apenas 32 kb de mem\u00f3ria, ent\u00e3o o c\u00f3digo tem que ser enxuto. \u00c9 sempre bom comentar o c\u00f3digo para que futuramente voc\u00ea saiba o que ele faz.<\/p>\n<p>Para comentar uma linha usamos o sinal \/\/ (dupla barra). Para comentar v\u00e1rias linhas usamos \/* no in\u00edcio da linha e *\/ no final. Todo o conte\u00fado entre estes caracteres ser\u00e3o entendidos como coment\u00e1rio.<\/p>\n<h1>CONSTRUINDO NOSSO PRIMEIRO PROJETO<\/h1>\n<p>Nosso primeiro c\u00f3digo \u00e9 muito simples. A a\u00e7\u00e3o produzida por ele ser\u00e1 ligar 2 LEDs alternadamente com um intervalo de 1 segundo entre eles.<\/p>\n<p>Para ficar mais did\u00e1tico vou comentar diretamente no c\u00f3digo o que o c\u00f3digo faz:<\/p>\n<pre class=\"prettyprint\"><span class=\"comentario\">\/\/ in\u00edcio da se\u00e7\u00e3o setup<\/span>\r\nvoid setup()\r\n{\r\n\r\n<span class=\"comentario\">\/\/ definindo as duas vari\u00e1veis que ser\u00e3o respons\u00e1veis pelos dois leds. Um led vermelho na porta<\/span>\r\n<span class=\"comentario\">\/\/ digital 12 e um led verde na porta digital 8<\/span>\r\n\u00a0\u00a0byte ledVermelho = 12;\r\n\u00a0\u00a0byte ledVerde = 8;\r\n\r\n<span class=\"comentario\">\/\/ definimos atrav\u00e9s do \"pinMode\" que o ledVermelho e o ledVerde ser\u00e3o utilizados como sa\u00edda<\/span>\r\n<span class=\"comentario\">\/\/ definimos atrav\u00e9s do \"digitalWrite\" que o ledVermelho inicia com o valor 1 \u2013 ligado<\/span>\r\n<span class=\"comentario\">\/\/ definimos atrav\u00e9s do \"digitalWrite\" que o ledVerde inicia com o valor 0 \u2013 desligado<\/span>\r\n\u00a0\u00a0pinMode(ledVermelho,OUTPUT);\r\n\u00a0\u00a0digitalWrite(ledVermelho,1);\r\n\r\n\u00a0\u00a0pinMode(ledVerde,OUTPUT);\r\n\u00a0\u00a0digitalWrite(ledVerde,0);\r\n}\r\n\r\n<span class=\"comentario\">\/\/ agora come\u00e7a a se\u00e7\u00e3o que ser\u00e1 repetida indefinidademente<\/span>\r\nvoid loop()\r\n{\r\n\r\n<span class=\"comentario\">\/\/ ele j\u00e1 come\u00e7a dando um tempo de 1 segundo.<\/span>\r\n<span class=\"comentario\">\/\/ no arduino o tempo \u00e9 medido em milisegundos<\/span>\r\n\u00a0\u00a0delay(1000);\r\n\r\n<span class=\"comentario\">\/\/ o ledVermelho fica desligado, o ledVerde fica ligado<\/span>\r\n\u00a0\u00a0digitalWrite(ledVermelho,0);\r\n\u00a0\u00a0digitalWrite(ledVerde,1);\r\n\r\n<span class=\"comentario\">\/\/ espera um segundo<\/span>\r\n\u00a0\u00a0delay(1000);\r\n\r\n<span class=\"comentario\">\/\/ o ledVermelho fica ligado, o ledVerde fica desligado<\/span>\r\n\u00a0\u00a0digitalWrite(ledVermelho,1);\r\n\u00a0\u00a0digitalWrite(ledVerde,0);\r\n\r\n<span class=\"comentario\">\/\/ quando chega no fim do c\u00f3digo ele volta para o in\u00edcio da se\u00e7\u00e3o \"void loop()\" e tudo recome\u00e7a.<\/span>\r\n}\r\n<\/pre>\n<p>Depois do c\u00f3digo escrito \u00e9 preciso compilar e envi\u00e1-lo atrav\u00e9s do cabo USB para o Arduino. Na IDE, abaixo do menu h\u00e1 a barra de bot\u00f5es com os bot\u00f5es respons\u00e1veis pela compila\u00e7\u00e3o do c\u00f3digo e seu upload. O primeiro bot\u00e3o \u00e9 respons\u00e1vel por sua compila\u00e7\u00e3o, o segundo por seu upload.<\/p>\n<p>Devemos tomar muito cuidado com a sintaxe, nomes de vari\u00e1veis, palavras reservadas e loops de controle. Qualquer erro impedir\u00e1 a compila\u00e7\u00e3o do c\u00f3digo.<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<h1>O USO DO PROTOBOARD PARA CRIAR OS PROJETOS<\/h1>\n<p>&nbsp;<\/p>\n<div>No desenvolvimento de projetos com o <em>Arduino<\/em> um dos componentes fundamentais \u00e9 o protoboard. Ele \u00e9 um componente que \u00e9 utilizado para a constru\u00e7\u00e3o dos prot\u00f3tipos, antes de se tornarem um produto final. Ele d\u00e1 liberdade para o projetista testar os componentes sem fazer tudo definitivamente.<\/p>\n<p>O protoboard \u00e9 composto de linhas e colunas divididas em duas partes. Observe a imagem:<\/p>\n<div class=\"figura\"><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/protoboard.png\" target=\"_blank\" rel=\"nofollow\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_protoboard.png\" alt=\"Linux: Arduino - Uma plataforma open source para desenvolvimento de eletr\u00f4nica\" width=\"500\" height=\"181\" border=\"0\" \/><\/a><\/div>\n<p>Este \u00e9 um protoboard padr\u00e3o encontrado nas lojas de eletr\u00f4nica. Observe que o dividi em dois setores e cada um destes tem suas respectivas funcionalidades.<\/p>\n<ul>\n<li>Setor respons\u00e1vel pela alimenta\u00e7\u00e3o el\u00e9trica. Os pontos s\u00e3o conectados entre si horizontalmente (veja a linha vermelha conectando-os horizontalmente). Uma linha pode ser destinada para o positivo e a outra linha para o negativo;<\/li>\n<li>Setor respons\u00e1vel pela conex\u00e3o dos componentes do sistema. Os pontos s\u00e3o conectados entre si verticalmente (veja a linha vermelha conectando-os verticalmente). Quando um jumper ou componente se conectar a um ponto da coluna todos os demais pontos estar\u00e3o energizados.<\/li>\n<\/ul>\n<p>Vejamos as conex\u00f5es do Arduino com o protoboard e seus componentes eletr\u00f4nicos que ser\u00e3o a parte de hardware e que ser\u00e3o controlados pelo programa feito no Arduino. Veja a imagem abaixo:<\/p>\n<div class=\"figura\"><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/arduino.protoboard.liga.led.png\" target=\"_blank\" rel=\"nofollow\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_arduino.protoboard.liga.led.png\" alt=\"Linux: Arduino - Uma plataforma open source para desenvolvimento de eletr\u00f4nica\" width=\"500\" height=\"279\" border=\"0\" \/><\/a><\/div>\n<p>Vamos analisar as conex\u00f5es do Arduino com o protoboard e seus componentes. Se n\u00f3s prestarmos aten\u00e7\u00e3o aos dois LEDs vemos que ambos t\u00eam resistores conectados na mesma coluna que uma de suas pernas. Do Arduino saem dois jumpers, um da porta digital 8 e outra da porta digital 12. Cada uma destas portas conectam-se a um resistor e este, por sua vez, conecta-se ao LED.<\/p>\n<p>Por fim o LED tem um jumper que tem como destino a linha azul do setor 1, respons\u00e1vel pelo negativo. Como as portas digitais trabalham com dois valores: ligado e desligado, a energia que acender\u00e1 os LEDs sai diretamente destas portas, quando o c\u00f3digo &#8220;escrever&#8221; for enviado na porta digital com o valor &#8220;1&#8221;, 5 volts de corrente cont\u00ednua ser\u00e3o enviadas para o LED. O resistor est\u00e1 presente para que o LED n\u00e3o queime pois ele trabalha com uma voltagem menor que 5 volts.<\/p>\n<p>Observando no setor do Arduino que denominamos de &#8220;1. Pinos de eletricidade&#8221; vemos que sai um jumper do pino GND ou negativo e se conecta na linha azul no protoboard. Nosso sistema tem dois elementos eletr\u00f4nicos &#8211; os LEDs, que se conectam ao negativo do protoboard e este se conecta ao Arduino. Num prot\u00f3tipo maior pode-se ter muitas conex\u00f5es positivas e negativas. Neste nosso primeiro projeto conectando os pinos negativos ao protoboard utilizaremos apenas um pino negativo do Arduino.<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<h1>RODANDO O C\u00d3DIGO SEM A CONEX\u00c3O USB COM O COMPUTADOR<\/h1>\n<p>&nbsp;<\/p>\n<div>Depois que um projeto est\u00e1 feito, seu c\u00f3digo j\u00e1 foi compilado e enviado para o <em>Arduino<\/em>, os componentes eletr\u00f4nicos, rel\u00e9s, j\u00e1 est\u00e3o montados e funcionando no protoboard, o computador n\u00e3o precisa mais estar conectado ao Arduino atrav\u00e9s do cabo USB.<\/p>\n<p>Uma fonte de 9 a 12 volts pode ser conectada ao Arduino para aliment\u00e1-lo. Depois que um projeto sai da fase de prot\u00f3tipo e transforma-se em um produto o ideal \u00e9 que a alimenta\u00e7\u00e3o el\u00e9trica seja feita por uma fonte. Dependendo das necessidades e recursos do Arduino (sensores, rel\u00e9s) baterias de 9 volts podem tem uma vida bem curta. Uma solu\u00e7\u00e3o de c\u00e9lula fotoel\u00e9trica alimentando o Arduino \u00e9 uma alternativa mas seu custo e complexidade podem ser um fator limitante. O mais simples \u00e9 utilizar uma extens\u00e3o el\u00e9trica e ligar uma fonte.<\/p>\n<h1>CONSIDERA\u00c7\u00d5ES FINAIS<\/h1>\n<p>Muitos projetos podem utilizar o Arduino como plataforma de desenvolvimento, de simples sensores de temperatura at\u00e9 m\u00f3dulos de automa\u00e7\u00e3o residencial, tudo com um custo muito menor que as solu\u00e7\u00f5es comerciais dispon\u00edveis no mercado.<\/p>\n<p>Nesta s\u00e9rie de artigos vamos aumentando a complexidade dos projetos e observando no dia a dia onde eles podem ser \u00fateis.<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>INTRODU\u00c7\u00c3O &nbsp; Quando pensamos em automa\u00e7\u00e3o, sensoriamento e controle, normalmente fazemos uma associa\u00e7\u00e3o com sistemas altamente complexos e caros. Claro que sistemas que necessitam de muita precis\u00e3o e controle tornam-se mais caros mas o princ\u00edpio b\u00e1sico \u00e9 o mesmo, coletar um dado do ambiente e a partir deste dado fazer alguma a\u00e7\u00e3o. O projeto Arduino [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[730,1,42,51],"tags":[806,353,515,809,808,355,233,807],"class_list":["post-2303","post","type-post","status-publish","format-standard","hentry","category-clusterweb","category-viazap","category-leitura-recomendada","category-linux-linuxrs","tag-arduino","tag-de","tag-desenvolvimento","tag-eletronica","tag-open-source","tag-para","tag-plataforma","tag-uma"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2303","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2303"}],"version-history":[{"count":1,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2303\/revisions"}],"predecessor-version":[{"id":2304,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2303\/revisions\/2304"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2303"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2303"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2303"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}