{"id":149,"date":"2014-01-25T16:58:07","date_gmt":"2014-01-25T16:58:07","guid":{"rendered":"http:\/\/omecatronico.com.br\/blog\/?p=149"},"modified":"2014-08-06T21:20:25","modified_gmt":"2014-08-07T00:20:25","slug":"arduino-programa-fade","status":"publish","type":"post","link":"https:\/\/omecatronico.com.br\/blog\/arduino-programa-fade\/","title":{"rendered":"Arduino &#8211; Programa Fade"},"content":{"rendered":"<h1>FADE<\/h1>\n<p style=\"text-align: justify;\">Em nosso 3\u00ba programa a ser analisado vamos aprender como utilizar o PWM do Arduino. PWM vem de Pulse Width Modulation (Modula\u00e7\u00e3o por largura de pulso). Pra que serve? Bem, existem casos em que se deseja controlar alguma sa\u00edda de forma anal\u00f3gica ao inv\u00e9s de simplesmente liga-la ou desliga-la. Quando usamos a fun\u00e7\u00e3o <span style=\"color: #ff9900;\">digitalWrite<\/span>(pino, \u00a0valor); podemos <span style=\"color: #000000;\">apenas<\/span> ligar ou desligar um pino. Mas quando queremos que ele fique com tens\u00f5es intermediarias podemos\u00a0 usar a fun\u00e7\u00e3o <span style=\"color: #ff9900;\">analogWrite<\/span>(pino, valor);<\/p>\n<p style=\"text-align: justify;\">Lembrando que sempre que for usar uma fun\u00e7\u00e3o de sa\u00edda, o pino j\u00e1 dever\u00e1 ter sido configurado l\u00e1 no setup com a fun\u00e7\u00e3o <span style=\"color: #ff9900;\">pinMode<\/span>(pino, <span style=\"color: #3366ff;\">OUTPUT<\/span>);.E lembrando ainda mais&#8230; s\u00f3 podemos usar pwm nos pinos que possuem essa fun\u00e7\u00e3o, no Arduino Uno s\u00e3o os pinos 3,5,6,9,10 e 11.<\/p>\n<p style=\"text-align: justify;\"><strong><span style=\"color: #000000;\">Liga\u00e7\u00e3o el\u00e9trica:<\/span><\/strong><\/p>\n<div id=\"attachment_160\" style=\"width: 790px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2014\/01\/placa-programa-FADE1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-160\" class=\"size-full wp-image-160\" src=\"http:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2014\/01\/placa-programa-FADE1.png\" alt=\"Esquema el\u00e9trico para o programa FADE\" width=\"780\" height=\"864\" srcset=\"https:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2014\/01\/placa-programa-FADE1.png 780w, https:\/\/omecatronico.com.br\/blog\/wp-content\/uploads\/2014\/01\/placa-programa-FADE1-270x300.png 270w\" sizes=\"(max-width: 780px) 100vw, 780px\" \/><\/a><p id=\"caption-attachment-160\" class=\"wp-caption-text\">Esquema el\u00e9trico para o programa FADE<\/p><\/div>\n<p style=\"text-align: justify;\"><strong>Detalhando:<\/strong><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #ff9900;\">analogWrite<\/span>(pino, valor);<\/p>\n<p style=\"text-align: justify;\">pino: \u00e9 nome do pino que ser\u00e1 usado.<\/p>\n<p style=\"text-align: justify;\">valor: \u00e9 um numero entre 0 e 255, ou seja, 0 representa 0v e 255 representa 5v. Com isso colocando qualquer valor entre esses limites teremos na sa\u00edda uma tens\u00e3o proporcional. Digamos que seja colocado 128. Como \u00e9 a metade teremos l\u00e1 no pino uma tens\u00e3o de 2,5v. Para mais informa\u00e7\u00f5es sobre PWM e como fazer a convers\u00e3o da escala pra tens\u00e3o v\u00e1 ate o final desta p\u00e1gina.<\/p>\n<p style=\"text-align: justify;\">Logo abaixo temos o c\u00f3digo do programa FADE id\u00eantico ao que encontramos em (File&gt;Examples&gt;01.Basics&gt;Fade) a \u00fanica mudan\u00e7a que fiz foi a tradu\u00e7\u00e3o e complementos nos coment\u00e1rios.<\/p>\n<h6><span style=\"color: #999999;\">\/*<\/span><br \/>\n<span style=\"color: #999999;\"> Fade<\/span><br \/>\n<span style=\"color: #999999;\">Este exemplo mostra o efeito fade (transi\u00e7\u00e3o) \u00a0em um LED conectado no pino 9<\/span><br \/>\n<span style=\"color: #999999;\">utilizando a fun\u00e7\u00e3o analogWrite().<\/span><br \/>\n<span style=\"color: #999999;\">Este c\u00f3digo exemplo \u00e9 de dom\u00ednio p\u00fablico.<\/span><br \/>\n<span style=\"color: #999999;\"> *\/<\/span><\/h6>\n<h6><span style=\"color: #ff9900;\">int<\/span> led = 9; <span style=\"color: #999999;\">\/\/ o pino 9 o qual o LED est\u00e1 conectado<\/span><br \/>\n<span style=\"color: #ff9900;\">int<\/span> brightness = 0;<span style=\"color: #999999;\"> \/\/ guarda o n\u00edvel de luminosidade do LED<\/span><br \/>\n<span style=\"color: #ff9900;\">int<\/span> fadeAmount = 5; <span style=\"color: #999999;\">\/\/quantos n\u00edveis de brilho por vez<\/span><\/h6>\n<h6><span style=\"color: #999999;\">\/\/ A rotina setup roda apenas uma vez quando o reset \u00e9 pressionado:<\/span><br \/>\n<span style=\"color: #ff9900;\">void setup<\/span>() {<br \/>\n<span style=\"color: #999999;\">\/\/ declando que o pino 9 ser\u00e1 uma sa\u00edda:<\/span><br \/>\n<span style=\"color: #ff9900;\">pinMode<\/span>(led, <span style=\"color: #3366ff;\">OUTPUT<\/span>);<br \/>\n}<\/h6>\n<h6><span style=\"color: #999999;\">\/\/ A rotina loop roda continuamente sem parar&#8230; para sempre:<\/span><br \/>\n<span style=\"color: #ff9900;\">void loop<\/span>() {<br \/>\n<span style=\"color: #999999;\">\/\/ escreve no pino 9 o brilho( a tens\u00e3o ) desejado:<\/span><br \/>\n<span style=\"color: #ff9900;\">analogWrite<\/span>(led, brightness);<\/h6>\n<h6><span style=\"color: #999999;\">\/\/ agora muda a luminosidade para que no pr\u00f3ximo ciclo do loop aconte\u00e7a a mudan\u00e7a:<\/span><\/h6>\n<h6><span style=\"color: #999999;\">\/\/fazemos isso somando ao brilho atual mais alguns n\u00edveis de brilho (tens\u00e3o).<\/span><br \/>\nbrightness = brightness + fadeAmount;<\/h6>\n<h6><span style=\"color: #999999;\">\/\/ testando se ja chegou ao m\u00e1ximo (0=0volt totalmente apagado ou 255=5volts \/\/totalmente aceso) ent\u00e3o revertemos o ciclo mudando o sinal dos incrementos:<\/span><br \/>\n<span style=\"color: #ff9900;\">if<\/span> (brightness == 0 || brightness == 255) {<br \/>\nfadeAmount = -fadeAmount ;<br \/>\n}<br \/>\n<span style=\"color: #999999;\"><span style=\"color: #999999;\">\/\/ agora espera 30\u00a0milissegundos\u00a0para podermos ver o efeito da transi\u00e7\u00e3o<\/span><\/span><br \/>\n<span style=\"color: #ff9900;\">delay<\/span>(30);<br \/>\n}<\/h6>\n<p>&nbsp;<\/p>\n<p>at\u00e9 a pr\u00f3xima \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>FADE Em nosso 3\u00ba programa a ser analisado vamos aprender como utilizar o PWM do Arduino. PWM vem de Pulse Width Modulation (Modula\u00e7\u00e3o por largura de pulso). Pra que serve? Bem, existem casos em que se deseja controlar alguma sa\u00edda de forma anal\u00f3gica ao inv\u00e9s de simplesmente liga-la ou desliga-la. Quando usamos a fun\u00e7\u00e3o digitalWrite(pino, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":160,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,15],"tags":[],"_links":{"self":[{"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/posts\/149"}],"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=149"}],"version-history":[{"count":4,"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/posts\/149\/revisions"}],"predecessor-version":[{"id":234,"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/posts\/149\/revisions\/234"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/media\/160"}],"wp:attachment":[{"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/media?parent=149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/categories?post=149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/tags?post=149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}