{"id":2282,"date":"2018-01-23T18:30:41","date_gmt":"2018-01-23T20:30:41","guid":{"rendered":"https:\/\/arduxop.com.br\/loja\/?p=2282"},"modified":"2020-12-30T12:52:46","modified_gmt":"2020-12-30T14:52:46","slug":"usando-os-pinos-digitais-do-arduino","status":"publish","type":"post","link":"https:\/\/arduxop.com.br\/loja\/usando-os-pinos-digitais-do-arduino\/","title":{"rendered":"Usando os pinos digitais do Arduino"},"content":{"rendered":"<p>Quando voc\u00ea adquire uma placa Arduino Uno, a primeira coisa que vem em mente \u00e9 como ligar e desligar um equipamento ou eletrodom\u00e9stico, \u00a0ou como ler uma tecla do computador para enviar comandos para a placa, ou seja, usar os pinos digitais do Arduino para controlar o mundo a sua volta.<\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\">Este artigo visa apresentar as fun\u00e7\u00f5es de manipula\u00e7\u00e3o dos pinos digitais do Arduino para us\u00e1-los como entrada ou sa\u00edda digital, exibindo os passos para correta configura\u00e7\u00e3o e por fim o seu uso em algumas aplica\u00e7\u00f5es.<\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\">\n<h2><span id=\"Pinos-digitais-do-Arduino-UNO\">Pinos digitais do Arduino UNO<\/span><\/h2>\n<p>&nbsp;<\/p>\n<p dir=\"ltr\">A <a href=\"https:\/\/www.embarcados.com.br\/arduino-uno\/\" data-wpel-link=\"internal\">placa Arduino UNO<\/a> possui 14 pinos que podem ser configurados como entrada ou sa\u00eddas digitais conforme a necessidade de seu projeto. Estes pinos s\u00e3o numerados de 0 a 13, conforme destacado na figura a seguir:<\/p>\n<p dir=\"ltr\">\n<figure id=\"attachment_42580\" class=\"wp-caption aligncenter\"><a class=\"td-modal-image\" href=\"https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-01.png\" data-wpel-link=\"internal\"><img fetchpriority=\"high\" decoding=\"async\" class=\"wp-image-42580 size-full lazyloading\" src=\"https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-01.png\" sizes=\"(max-width: 482px) 100vw, 482px\" srcset=\"https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-01.png 482w, https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-01-438x205.png 438w\" alt=\"pinos digitais do Arduino\" width=\"482\" height=\"226\" data-was-processed=\"true\" \/><\/a><figcaption class=\"wp-caption-text\">Pinos digitais da Arduino UNO &#8211; Entradas e Sa\u00eddas Digitais da placa<\/figcaption><\/figure>\n<p dir=\"ltr\">\n<p dir=\"ltr\">Antes de utilizar cada um desses pinos em sua aplica\u00e7\u00e3o, voc\u00ea deve configur\u00e1-lo como entrada ou sa\u00edda digital, conforme a necessidade. Por exemplo, para acionar um LED voc\u00ea deve configurar o pino como sa\u00edda e para ler uma tecla voc\u00ea deve configurar o pino \u00a0como entrada.<\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\">Por padr\u00e3o os pinos digitais do Arduino est\u00e3o configurados como entradas digitais, por\u00e9m, para ficar mais explicito \u00a0na programa\u00e7\u00e3o, deve-se configurar o pino como entrada. Dessa forma \u00a0o pino \u00e9 colocado em um estado de alta imped\u00e2ncia, equivalente a um resistor de 100 MegaOhms em serie com o circuito a ser monitorado. Dessa forma, o pino absorve uma corrente muito baixa do circuito que est\u00e1 monitorando. Devido a essa caracter\u00edstica de alta imped\u00e2ncia, quando um pino colocado com entrada digital encontrasse flutuando (sem liga\u00e7\u00e3o definida), o n\u00edvel de tens\u00e3o presente nesse pino fica variando n\u00e3o podendo ser determinado um valor est\u00e1vel devido a ruido el\u00e9trico e at\u00e9 mesmo capacit\u00e2ncia de entrada do pino. Para resolver esse problema \u00e9 necess\u00e1rio colocar um resistor de pull up (ligado a +5V) ou um resistor de pull down (ligado a GND) conforme a necessidade. Esses resistores garantem n\u00edvel l\u00f3gico est\u00e1vel quando por exemplo uma tecla n\u00e3o est\u00e1 pressionada. Geralmente utiliza-se um resistor de 10K para esse prop\u00f3sito. A seguir \u00e9 exibida a liga\u00e7\u00e3o desses resistores no circuito para leitura de tecla:<\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\"><a class=\"td-modal-image\" href=\"https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-pull-up-pull-down.jpg\" data-wpel-link=\"internal\"><img decoding=\"async\" class=\"aligncenter wp-image-42583 size-full lazyloading\" src=\"https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-pull-up-pull-down.jpg\" sizes=\"(max-width: 353px) 100vw, 353px\" srcset=\"https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-pull-up-pull-down.jpg 353w, https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-pull-up-pull-down-210x125.jpg 210w\" alt=\"pinos digitais do Arduino\" width=\"353\" height=\"210\" data-was-processed=\"true\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p dir=\"ltr\">O microcontrolador ATmega328, da placa Arduino UNO, possui resistores de pull-up internos ( 20 Kilohms) que facilitam a liga\u00e7\u00e3o de teclas, sensores sem a necessidade de conectar externamente um resistor de pull-up. A habilita\u00e7\u00e3o desses resistores \u00e9 feita de maneira simples via software.<\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\">Quando um pino \u00e9 configurado com sa\u00edda, ele se encontra em estado de baixa imped\u00e2ncia. Dessa forma, o pino pode fornecer ou drenar corrente para um circuito externo. A corrente m\u00e1xima que um pino pode fornecer ou drenar \u00e9 de 40 mA, por\u00e9m a soma das correntes n\u00e3o pode ultrapassar 200 mA. \u00a0Deve-se ficar atento a corrente maiores que este limite e a curto-circuitos que podem danificar o transistor de sa\u00edda danificando o pino e at\u00e9 mesmo queimar o microcontrolador. Essa \u00e9 uma caracter\u00edstica perigosa para a placa Arduino e seria interessante se tivessem resistores ou algum tipo de prote\u00e7\u00e3o em todos os pinos utilizados como sa\u00edda para limitar a corrente em uma situa\u00e7\u00e3o anormal.<\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\">\n<h2><span id=\"Funcoes-para-usos-dos-Pinos-digitais-do-Arduino\">Fun\u00e7\u00f5es para usos dos Pinos digitais do Arduino\u00a0<\/span><\/h2>\n<p dir=\"ltr\">\n<p dir=\"ltr\">A plataforma Arduino possui fun\u00e7\u00f5es para trabalhar com entradas e sa\u00eddas digitais que abstraem toda a configura\u00e7\u00f5es dos registradores que configuram e acessam os pino de I\/O. Isso torna a programa\u00e7\u00e3o do Arduino realmente f\u00e1cil e esse \u00e9 seu encanto. Essas fun\u00e7\u00f5es s\u00e3o:<\/p>\n<p dir=\"ltr\">\n<ul>\n<li>\n<p dir=\"ltr\">void pinMode();<\/p>\n<\/li>\n<\/ul>\n<p dir=\"ltr\">\n<p dir=\"ltr\">Essa fun\u00e7\u00e3o \u00e9 utilizada para configurar um pino como entrada ou sa\u00edda digital. Ela geralmente \u00e9 utilizada dentro da fun\u00e7\u00e3o setup(). Apresenta as seguintes caracter\u00edsticas:<\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\"><strong>Sintaxe:<\/strong><\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\">pinMode(pino, modo);<\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\"><strong>Par\u00e2metros:<\/strong><\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\"><strong>pino:<\/strong> N\u00famero correspondente ao pino que se deseja configurar, conforme a placa que est\u00e1 trabalhando. No caso da Arduino UNO \u00a0pode ser de 0 a 13;<\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\"><strong>modo:<\/strong> Modo que deseja configurar o pino. INPUT, INPUT_PULLUP, OUTPUT.<\/p>\n<p dir=\"ltr\">\n<ul>\n<li>\n<p dir=\"ltr\">INPUT: Entrada digital;<\/p>\n<\/li>\n<li>\n<p dir=\"ltr\">INPUT_PULLUP: Entrada digital com resistor de pull-up (ligado ao VCC) interno habilitado;<\/p>\n<\/li>\n<li>\n<p dir=\"ltr\">OUTPUT: Sa\u00edda digital;<\/p>\n<\/li>\n<\/ul>\n<p dir=\"ltr\">\n<p dir=\"ltr\"><strong>Retorno:<\/strong><\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\">Essa fun\u00e7\u00e3o n\u00e3o tem retorno algum.<\/p>\n<p dir=\"ltr\">\n<ul>\n<li>\n<p dir=\"ltr\">int digitalRead();<\/p>\n<\/li>\n<\/ul>\n<p dir=\"ltr\">\n<p dir=\"ltr\">Essa fun\u00e7\u00e3o l\u00ea o valor presente em um pino digital. Este valor pode ser HIGH ou LOW. Apresenta as seguintes caracter\u00edsticas:<\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\"><strong>Sintaxe:<\/strong><\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\">digitalRead(pino);<\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\"><strong>Par\u00e2metros:<\/strong><\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\"><strong>pino:<\/strong> valor correspondente ao pino que se deseja ler.<\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\"><strong>Retorno:<\/strong><\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\">HIGH ou LOW.<\/p>\n<p dir=\"ltr\">\n<ul>\n<li>\n<p dir=\"ltr\">void digitalWrite();<\/p>\n<\/li>\n<\/ul>\n<p dir=\"ltr\">\n<p dir=\"ltr\">A fun\u00e7\u00e3o digitalWrite() coloca um n\u00edvel l\u00f3gico Alto (HIGH, 5V) ou baixo (LOW, 0V) em um pino configurado como sa\u00edda digital.<\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\"><strong>Sintaxe:<\/strong><\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\">digitalWrite(pino, valor)<\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\"><strong>Par\u00e2metros:<\/strong><\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\"><strong>pino:<\/strong> N\u00famero correspondente ao pino;<\/p>\n<p dir=\"ltr\"><strong>valor:<\/strong> HIGH OU LOW<\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\"><strong>Retorno:<\/strong><\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\">Essa fun\u00e7\u00e3o n\u00e3o tem retorno algum.<\/p>\n<p dir=\"ltr\">\n<p><strong>Exemplo<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p dir=\"ltr\">Para exemplificar a utiliza\u00e7\u00e3o de pinos de I\/O digitais, vamos desenvolver uma aplica\u00e7\u00e3o de leitura de tecla e acionamento de LED, conforme o a montagem feita no software <a class=\"wpel-icon-right\" href=\"http:\/\/fritzing.org\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow external\" data-wpel-link=\"external\">Fritzing<i class=\"wpel-icon dashicons-before dashicons-external\" aria-hidden=\"true\"><\/i><\/a> exibida a seguir:<\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\"><a class=\"td-modal-image\" href=\"https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-03.png\" data-wpel-link=\"internal\"><img decoding=\"async\" class=\"aligncenter wp-image-42582 size-large lazyloading\" src=\"https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-03-543x418.png\" sizes=\"(max-width: 543px) 100vw, 543px\" srcset=\"https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-03-543x418.png 543w, https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-03-342x263.png 342w, https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-03-696x535.png 696w, https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-03-1068x822.png 1068w, https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-03-546x420.png 546w, https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-03.png 1500w\" alt=\"pinos digitais do Arduino\" width=\"543\" height=\"418\" data-was-processed=\"true\" \/><\/a><\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\">\n<p dir=\"ltr\">O esquema el\u00e9trico obtido a partir do Fritzing \u00e9 exibido abaixo, note que no circuito h\u00e1 um resistor de pull-up que garante n\u00edvel l\u00f3gico alto quando tecla n\u00e3o est\u00e1 pressionada:<\/p>\n<p dir=\"ltr\">\u00a0<a class=\"td-modal-image\" href=\"https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-02.png\" data-wpel-link=\"internal\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-42581 size-large lazyloading\" src=\"https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-02-405x418.png\" sizes=\"(max-width: 405px) 100vw, 405px\" srcset=\"https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-02-405x418.png 405w, https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-02-255x263.png 255w, https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-02-696x718.png 696w, https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-02-407x420.png 407w, https:\/\/www.embarcados.com.br\/wp-content\/uploads\/2013\/12\/Entradas-e-Sa\u00eddas-digitais-Arduino-02.png 759w\" alt=\"pinos digitais do Arduino\" width=\"405\" height=\"418\" data-was-processed=\"true\" \/><\/a><\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\">O exemplo consiste em ler a tecla S1 e ligar o LED caso a mesma estiver pressionada. Caso n\u00e3o esteja sendo pressionada, o LED deve permanecer desligado. O Sketch a seguir exibe a programa\u00e7\u00e3o:<\/p>\n<p dir=\"ltr\">\n<div id=\"crayon-5a679929ce052384557491\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><textarea class=\"crayon-plain print-no\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"dblclick\">\/*<br \/>\nLeitura de tecla<br \/>\nO exemplo le uma tecla conectada ao pino 2 e aciona um led conectado ao pino 13<br \/>\n*\/<\/p>\n<p>const int ledPin = 13; \/\/ cria uma constante com o numero do pino ligado ao LED<br \/>\nconst int inputPin = 2; \/\/ cria uma constante com o numero do pino conectado a tecla<\/p>\n<p>void setup()<br \/>\n{<br \/>\n  pinMode(ledPin, OUTPUT); \/\/ declara o pino do led como sa\u00edda<br \/>\n  pinMode(inputPin, INPUT); \/\/ declara o pino da tecla como entrada<br \/>\n}<\/p>\n<p>void loop()<br \/>\n{<br \/>\n  int val = digitalRead(inputPin); \/\/ le o valor na entrada<br \/>\n  if (val == LOW) \/\/ se valor est\u00e1 em zero( tecla pressionada)<br \/>\n  {<br \/>\n    digitalWrite(ledPin, HIGH); \/\/ Liga LED indicando tecla pressionada<br \/>\n  }<br \/>\n  else<br \/>\n  {<br \/>\n    digitalWrite(ledPin, LOW); \/\/ Desliga LED indicando tecla solta<br \/>\n  }<br \/>\n}<\/textarea><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-5a679929ce052384557491-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a679929ce052384557491-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a679929ce052384557491-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a679929ce052384557491-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a679929ce052384557491-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a679929ce052384557491-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a679929ce052384557491-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a679929ce052384557491-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a679929ce052384557491-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a679929ce052384557491-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a679929ce052384557491-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a679929ce052384557491-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a679929ce052384557491-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a679929ce052384557491-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a679929ce052384557491-15\">15<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a679929ce052384557491-16\">16<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a679929ce052384557491-17\">17<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a679929ce052384557491-18\">18<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a679929ce052384557491-19\">19<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a679929ce052384557491-20\">20<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a679929ce052384557491-21\">21<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a679929ce052384557491-22\">22<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a679929ce052384557491-23\">23<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a679929ce052384557491-24\">24<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a679929ce052384557491-25\">25<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a679929ce052384557491-26\">26<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-5a679929ce052384557491-1\" class=\"crayon-line\"><span class=\"crayon-c\">\/*<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-c\">Leitura de tecla<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-3\" class=\"crayon-line\"><span class=\"crayon-c\">O exemplo le uma tecla conectada ao pino 2 e aciona um led conectado ao pino 13<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-4\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-c\">*\/<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-5\" class=\"crayon-line\"><\/div>\n<div id=\"crayon-5a679929ce052384557491-6\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-m\">const<\/span> <span class=\"crayon-t\">int<\/span> <span class=\"crayon-v\">ledPin<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-cn\">13<\/span><span class=\"crayon-sy\">;<\/span> <span class=\"crayon-c\">\/\/ cria uma constante com o numero do pino ligado ao LED<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-7\" class=\"crayon-line\"><span class=\"crayon-m\">const<\/span> <span class=\"crayon-t\">int<\/span> <span class=\"crayon-v\">inputPin<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-cn\">2<\/span><span class=\"crayon-sy\">;<\/span> <span class=\"crayon-c\">\/\/ cria uma constante com o numero do pino conectado a tecla<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-8\" class=\"crayon-line crayon-striped-line\"><\/div>\n<div id=\"crayon-5a679929ce052384557491-9\" class=\"crayon-line\"><span class=\"crayon-t\">void<\/span> <span class=\"crayon-e\">setup<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-10\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-11\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-e\">pinMode<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">ledPin<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">OUTPUT<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span> <span class=\"crayon-c\">\/\/ declara o pino do led como sa\u00edda<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-12\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-e\">pinMode<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">inputPin<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">INPUT<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span> <span class=\"crayon-c\">\/\/ declara o pino da tecla como entrada<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-13\" class=\"crayon-line\"><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-14\" class=\"crayon-line crayon-striped-line\"><\/div>\n<div id=\"crayon-5a679929ce052384557491-15\" class=\"crayon-line\"><span class=\"crayon-t\">void<\/span> <span class=\"crayon-e\">loop<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-16\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-17\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-t\">int<\/span> <span class=\"crayon-v\">val<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-e\">digitalRead<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">inputPin<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span> <span class=\"crayon-c\">\/\/ le o valor na entrada<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-18\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-st\">if<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">val<\/span> <span class=\"crayon-o\">==<\/span> <span class=\"crayon-v\">LOW<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-c\">\/\/ se valor est\u00e1 em zero( tecla pressionada)<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-19\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-20\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">digitalWrite<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">ledPin<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">HIGH<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span> <span class=\"crayon-c\">\/\/ Liga LED indicando tecla pressionada<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-21\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-22\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-st\">else<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-23\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-24\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">digitalWrite<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">ledPin<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">LOW<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span> <span class=\"crayon-c\">\/\/ Desliga LED indicando tecla solta<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-25\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5a679929ce052384557491-26\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-sy\">}<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p dir=\"ltr\">A programa\u00e7\u00e3o apresentada acima possui uma estrutura bem simples e serve de inicio para a \u00a0manipula\u00e7\u00e3o de pinos de I\/O digitais. Com as tr\u00eas fun\u00e7\u00f5es apresentadas \u00e9 poss\u00edvel aplicar em diversos projetos que necessitem de acionamento e leitura de sinais digitais. Agora para fixar os conceitos apresentados \u00e9 necess\u00e1rio colocar a m\u00e3o na massa!!! \u00a0Fica como exerc\u00edcio o desenvolvimento de um sketch para leitura de tecla com resistor de pull up interno habilitado para o pino onde \u00e9 conecta a tecla S1.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quando voc\u00ea adquire uma placa Arduino Uno, a primeira coisa que vem em mente \u00e9 como ligar e desligar um equipamento ou eletrodom\u00e9stico, \u00a0ou como ler uma tecla do computador para enviar comandos para a placa, ou seja, usar os pinos digitais do Arduino para controlar o mundo a sua volta. Este artigo visa apresentar [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2283,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[569,207],"tags":[218,381,379,380,378],"class_list":["post-2282","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-artigos","category-blog","tag-arduino","tag-digitais","tag-os","tag-pinos","tag-usando","entry","has-media","owp-thumbs-layout-horizontal","owp-btn-normal","owp-tabs-layout-horizontal","has-no-thumbnails","has-product-nav"],"_links":{"self":[{"href":"https:\/\/arduxop.com.br\/loja\/wp-json\/wp\/v2\/posts\/2282","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arduxop.com.br\/loja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arduxop.com.br\/loja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arduxop.com.br\/loja\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/arduxop.com.br\/loja\/wp-json\/wp\/v2\/comments?post=2282"}],"version-history":[{"count":0,"href":"https:\/\/arduxop.com.br\/loja\/wp-json\/wp\/v2\/posts\/2282\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/arduxop.com.br\/loja\/wp-json\/wp\/v2\/media\/2283"}],"wp:attachment":[{"href":"https:\/\/arduxop.com.br\/loja\/wp-json\/wp\/v2\/media?parent=2282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arduxop.com.br\/loja\/wp-json\/wp\/v2\/categories?post=2282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arduxop.com.br\/loja\/wp-json\/wp\/v2\/tags?post=2282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}