APRENDENDO COMANDOS DO ARDUINO
DEFININDO PINOS/PORTAS
Quando começarmos a fazer nossos projetos utilizando o software, de fato, devemos ficar atentos para não nos esquecer de definir em que pino digital ou analógico está inserido cada um dos componentes. Caso conectemos o LED no pino 13, temos que por obrigação mandar essa informação ao Arduino. Nesse caso, por exemplo, precisamos digitar o comando int LED = 13. Observe a explicação abaixo:
Variáveis são posições na memória de programa do Arduino identificadas com um nome e o tipo de dado que irão ser armazenados nessa posição.
Essa posição de memória pode receber valores durante a execução do programa e podem ser alterados a qualquer momento pelo programa e deve ser respeitado o tipo de dado da variável.
Observe que logo acima digitamos //declara a variável e atribui o valor 13 para explicar o significado da linha de comando int LED = 13; Logo, usa-se // (duas barras invertidas) para habilitar a possibilidade de fazer comentários na linha de código. O objetivo é explicar o código da maneira mais clara possível para que quem for ler possa compreender facilmente o projeto apresentado. Os comentários são descartados no momento de envio de dados para a placa, ou seja, o que estiver escrito nos comentários não será enviado como instruções ao microcontrolador.
FUNÇÃO setup()
Todo o conteúdo da função setup() será executado apenas uma vez, imediatamente após o microcontrolador ser energizado. Caso o botão Reset da placa Arduino seja pressionado ou ocorra queda de energia elétrica, a placa executará o último conjunto de instruções enviadas. Nessas condições, a função setup() é executada novamente.
O comando pinMode () configura um componente eletrônico como dispositivo de saída (OUTPUT) – atuador – ou como dispositivo de entrada (INPUT) – sensor. Apresenta como primeiro argumento, o pino, e como segundo argumento, o tipo do dispositivo empregado (entrada ou saída).
Através dele, iniciaremos a comunicação com a porta serial. Em nossos projetos, digitaremos Serial.begin(9600). Este valor (9600) representa a taxa de transferência de dados, em bits por segundo (9600 bits/segundo).
A comunicação serial possibilita o Arduino se comunicar com um computador ou com outros dispositivos.
Observação: Os LEDs RX e TX da placa piscam quando há a transferência de dados entre o computador e a placa Arduino. O fato ajuda a perceber se a comunicação está ocorrendo da maneira correta.
A função loop() tem como propósito fundamental a repetição contínua do código atribuído a ela. Haverá execução dos códigos desta função até o momento em que a placa não puder ser energizada.
Siga os passos abaixo:
1º Passo: Digite os comandos da mesma forma que se encontra abaixo.
Atenção: Você deverá digitar o que se encontra do lado esquerdo. As informações em vermelho do lado direito é apenas para que você entenda o que cada comando significa.
2º Passo: Clique em Verify.
3º Passo: Realize a seguinte montagem:
3º Passo: Insira o cabo USB no seu PC e o outro extremo na placa Arduino.
4º Passo: Clique em Upload.
5º Passo: Gire a chave seletora do multímetro para 20 V.
6º Passo: Meça a tensão de saída de cada porta digital em relação ao GND, como mostra a figura abaixo, uma porta de cada vez.
7º Passo: Verifique o valor de, aproximadamente, 5 V no visor do multímetro.
8º Passo: Realize a medição na outra porta digital de saída em relação ao GND como mostra a figura abaixo.
9º Passo: Verifique o valor de, aproximadamente, 5 V no visor do multímetro.
10º Passo: Faça o mesmo procedimento para os demais fios.
Agora que você já testou as portas digitais do Arduino que serão utilizadas, está na hora de realizar o primeiro projeto utilizando, de fato, o Arduino. A ideia é ativar 10 LEDs, você utilizará o mesmo programa que digitou anteriormente, não necessitando fazer nenhuma alteração.
1º Passo: Retire o cabo USB que está conectado na placa Arduino.
2º Passo: Retire os fios que você utilizou no momento do teste com o multímetro.
4º Passo: Realize a montagem como mostra abaixo.
5º Passo: Conecte o cabo USB no PC e na placa Arduino.
6º Passo: No software, clique em Upload
Faremos agora alterações no programa para que você crie habilidade em programar com o Arduino. Com essas alterações, os LEDs acenderão um de cada vez a cada 2 segundos e, por fim, após todos estarem acesos, um de cada vez será desligado com um intervalo de 2 segundos, até que todos sejam desligados. Para isso, siga os passos:
1º Passo: Digite o programa a seguir.
Observação: A declaração das variáveis se mantém e o void setup também. Você só precisará alterar o programa anterior a partir do void loop.
2º Passo: Clique em Verify.
3º Passo: Clique em Upload.
4º Passo: Verifique se o seu projeto está trabalhando adequadamente. Isto é, se os LEDs estão acendendo um de cada vez a cada 2 segundos e, após todos estarem acesos, um de cada vez está sendo desligado com um intervalo de 2 segundos.
ESTUDANDO PUSH BUTTON
Um interruptor pode funcionar como um sensor digital já que ou está fechado (conduzindo corrente elétrica) ou aberto. Reforçando, só existem essas duas condições: ou o circuito estará fechado (em eletrônica digital, dizemos normalmente nível lógico 1) ou o circuito ficará aberto (em eletrônica digital, dizemos nível lógico 0) .
O modelo de interruptor Push Button que será utilizado nessa aula consiste em uma chave dupla, ou seja, são duas chaves independentes (6 terminais), cada uma com 3 terminais. Ela é usada quando desejamos ativar/desativar duas situações diferentes. Por exemplo, podemos ligar um LED em um lado da chave e do outro lado outro componente eletrônico como um BUZZER (sirene).
Figura: Modelo de Interruptor Push Button (chave dupla)
Figura: Vista lateral do interruptor Push Button sendo pressionado, à esquerda e, sem estar sendo pressionado, à direita.
TESTANDO O INTERRUPTOR PUSH BUTTON (CHAVE DUPLA)
1. Interruptor sem estar pressionado:
Observação: Deixe a chave sem estar pressionada.
1º Passo: Segure o interruptor de modo que você possa visualizá-la como a figura abaixo.
2º Passo: Procure no multímetro a simbologia e gire a chave seletora do multímetro para essa opção. Fazendo isso, você poderá medir continuidade, isto é, se nessa configuração ela pode permitir ou não a passagem da corrente elétrica, quando o circuito estiver sendo energizado.
Coloque as duas ponteiras do multímetro como mostra a figura abaixo.
3º Passo: Observe o valor indicado no visor do multímetro.
– Caso tenha aparecido um valor, siga para o próximo passo.
– Caso tenha aparecido “|”, gire a chave e faça novamente a medição nos dois terminais e veja se agora está indicando um valor.
4º Passo: Observe que apareceu um valor, indicando que a chave está fechada e a corrente pode passar de um terminal para o outro, se essa chave estiver em um circuito fechado sendo energizado.
5º Passo: Pressione a chave e meça novamente sem alterar a posição das ponteiras como mostra a figura a seguir.
Interruptor pressionado:
6º Passo: Observe que agora no visor do multímetro está aparecendo o símbolo de infinito “|”, indicando que agora a chave está aberta.
7º Passo: Mantenha o multímetro na opção
8º Passo: Pressione a chave novamente para que ela agora fique na opção “não pressionada”.
9º Passo: Coloque as ponteiras do multímetro como mostra a figura abaixo.
10º Passo: Observe que nesse caso apareceu no visor do multímetro um traço vertical como esse “|”, indicando que a chave está aberta e a corrente elétrica não passa de um terminal para o outro.
Interruptor pressionado:
11º Passo: Pressione a chave e meça novamente como você fez logo acima.
12º Passo: Observe que apareceu no visor um valor, ou seja, ao pressionar a chave, ela fechou seus contatos. Assim, em um circuito, com a chave pressionada, esses dois contatos permitiriam a passagem da corrente elétrica nessa configuração.
Observação: Perceba que sempre que pressionamos a chave mudamos o estado dos terminais. Se a chave estava aberta, depois de pressionar, ela fecha e, se estava fechada, depois de pressionar, ela abre.
13º Passo: Realize o mesmo procedimento feito até agora para testar os 3 terminais superiores da chave.
PROJETO: INTERRUPTOR PUSH BUTTON E LED
1º Passo: Monte o circuito abaixo.
Observação: A tensão de alimentação é de 3,3 V. Perceba onde está conectado o jumper vermelho.
2º Passo: Sem pressionar a chave, verifique o estado do LED e responda aqui se ele se encontra aceso ou apagado: _______________________
3º Passo: Gire a chave seletora do multímetro para escala de 20 V DC e meça a ddp no LED e indique o valor encontrado: __________________
4º Passo: Pressione a chave, verifique o estado do LED e responda aqui se ele se encontra aceso ou apagado: _____________________________
5º Passo: Mova o jumper que está conectando o resistor à chave para o terminal da chave mais à esquerda.
6º Passo: Mova o jumper de alimentação (3,3 V) para o terminal do centro da chave.
Deverá ficar assim:
Observação: Perceba que em uma configuração, a chave precisou ser pressionada para que o LED acendesse, já na outra, o LED permaneceu aceso até que a chave fosse pressionada e o LED viesse a apagar.
PROJETO: INTERRUPTOR PUSH BUTTON E BUZZER
1º Passo: Monte o circuito abaixo.
2º Passo: Conecte o cabo USB para alimentar a placa Arduino e seu circuito ser energizado.
3º Passo: Sem pressionar a chave, verifique o estado do BUZZER e responda aqui se ele se encontra ativado ou desativado: _____________
4º Passo: Pressione a chave, verifique o estado do BUZZER e responda aqui se ele se encontra ativado ou desativado: ________________________
5º Passo: Desconecte o cabo USB para fazer alterações no circuito.
6º Passo: Mova o jumper que está conectando o resistor ao terminal do centro da chave para o extremo da esquerda.
7º Passo: Mova o jumper dos 5 V proveniente do Arduino para o terminal do centro da chave.
Deverá ficar assim:
8º Passo: Conecte o cabo USB e veja o resultado.
Observação: Você deve ter percebido que em uma condição a sirene só foi ativada quando a chave foi pressionada e, em outra condição (sem a chave estar pressionada), a sirene já estava ativada e quando pressionada, desativou.
9º Passo: Desconecte o cabo USB.
PROJETO: CHAVE PUSH BUTTON COM LED E BUZZER
1º Passo: Monte o circuito abaixo.
2º Passo: Conecte o cabo USB para alimentar a placa Arduino e seu circuito ser energizado.
3º Passo: Deixe a chave sem estar pressionada e anote aqui se o BUZZER está ativado ou desativado e se o LED está aceso ou apagado.
Estado do BUZZER: __________________________
Estado do LED: _____________________________
4º Passo: Pressione a chave e anote aqui se o BUZZER está ativado ou desativado e se o LED está aceso ou apagado.
Estado do BUZZER: __________________________
Estado do LED: _____________________________
5º Passo: Retire a chave do circuito.
6º Passo: Gire a chave e conecte no circuito, isto é, os terminais que antes estavam em cima agora deverão ficar embaixo.
7º Passo: Você deve ter percebido que houve uma mudança no seu circuito.
Observação: Perceba que em uma configuração da chave, o LED e o BUZZER ativaram apenas quando a chave foi pressionada. Já em outra configuração, eles já estavam ativados com a chave não pressionada e, quando pressionada, desativaram.
8º Passo: Gire a chave e conecte no circuito, retornando à posição original.
9º Passo: Retire o cabo USB.
10º Passo: Perceba que o resistor que está conectado ao LED está no extremo da chave do lado esquerdo. Desloque o resistor para o extremo do lado direito.
11º Passo: Conecte o cabo USB.
12º Passo: Sem a chave estar pressionada, anote aqui o estado do LED e do BUZZER.
Estado do LED: ________________________
Estado do BUZZER: _____________________
13º Passo: Pressione a chave e, em seguida, anote aqui o estado do LED e do BUZZER.
Estado do LED: ________________________
Estado do BUZZER: _____________________
Observação: Você deve ter notado que agora os estados do LED e do BUZZER estão alternados, isto é, quando um está ativo o outro está desativo. Isso acontece exatamente devido ao modo como a chave funciona, ora fechando uns contatos, ora fechando outros, que já verificamos anteriormente.
13º Passo: Para finalizar essa etapa, veja o que acontece caso mude a posição do jumper que está conectado no pino 5V para o pino de 3,3 V.
Observação: Você deve ter notado que utilizando a alimentação de 3,3 V, quando o BUZZER foi ativado, emitiu um som com intensidade sonora inferior.
TEORIA BÁSICA DE UM SISTEMA DE AUTOMAÇÃO
Para automatizar residências, processos industriais, precisamos de sensores que captem alguma informação do mundo real como umidade, presença, iluminação, temperatura, e dispositivos como relés e contatores (atuadores) para ativar ventiladores, lâmpadas, ares-condicionados, entre outros equipamentos. Para que possamos controlar o tempo de acionamento desses dispositivos, por exemplo, precisamos programar e gravar o que desejamos em um microcontrolador, que nesse curso será o microcontrolador do Arduino.
Assim, de forma mais detalhada, temos que:
Sensores são dispositivos que captam informação do meio externo. Isto é, detectam a variação de grandezas do meio externo, transformando essas variações em pequenos sinais elétricos que são utilizados para executar determinadas ações pertinentes para cada situação. Como já citado anteriormente, existem sensores de temperatura, de luminosidade, infravermelho, entre outros. Os sensores podem ser analógicos e digitais. Mais na frente você aprenderá como diferenciá-los, pois essa informação vai ser importante quando for programar no Arduino.
Os Controladores recebem informações (dados) dos sensores e mandam a ordem para que os atuadores executem. Um exemplo de controlador é o chip presente nas placas Arduino.
Pense em um robô (carrinho) andando em linha reta só que a determinada distância se encontra uma pedra. Se o robô colidir com a pedra talvez quebre. Portanto, é fundamental um sensor de distância que perceba objetos e que envie a distância continuamente para o controlador para que quando chegue perto da pedra, o controlador mande o robô desviar da pedra, seja dobrando a direita ou esquerda dependendo da programação pré-estabelecida.
Os atuadores são aqueles que executam as ações comandados pelo controlador.
As informações do mundo real são captadas por meio de sensores, passam pelo microcontrolador e os atuadores executam as tarefas dependendo do que foi programado pelo usuário.
O usuário digita o programa no IDE (Integrated Development Environment ou Ambiente de Desenvolvimento Integrado) do Arduino, depois manda o comando para que possa ser gravado em um chip (microcontrolador) e, posteriormente, diversas ações possam ser tomadas.
Figura: Ambiente de Desenvolvimento Integrado do Arduino (IDE).
Por exemplo, um microcontrolador de forno microondas obtém a entrada a partir de um teclado (sensor), exibe a saída em um visor LCD e por meio de uma interface aciona um dispositivo eletromecânico chamado relé (atuador), que liga e desliga o gerador de microondas.
Como dissemos anteriormente, existem os sensores analógicos e digitais.
Uma maneira bem simples para se entender o conceito das palavras analógico e digital é a comparação de uma rampa com uma escada.
Ao se analisar a rampa, percebe-se que uma pessoa poderá ocupar cada uma das infinitas posições existentes entre o início e o fim. No caso da escada, a pessoa poderá estar em apenas um dos seus degraus. Sendo assim, é correto dizer que a rampa pode representar um sistema analógico, enquanto que a escada pode representar um sistema digital.
Nota-se, então, que o sinal analógico é um tipo de sinal que aumenta ou diminui com o tempo de forma gradativa, como uma rampa. Já o sinal digital é um sinal com valor ora ALTO (HIGH), ora baixo (LOW). Isto é, apresenta “saltos” bruscos, como os degraus de uma escada.
Mas, quem será que capta esses sinais analógicos/digitais? A resposta é fácil: os sensores.
Estudaremos ao longo das nossas aulas o controlador do Arduino, alguns tipos de sensores como o LM35 (sensor de temperatura), potenciômetro, LDR, push button (modelo de chave) e atuadores como LED, motores, buzzer (espécie de buzina), entre outros.
Segue abaixo alguns componentes eletrônicos e como eles podem atuar em um sistema de automação.
1. Push Button (trabalha como sensor digital)
2. Potenciômetro (trabalha como sensor analógico)
3. LDR (trabalha como sensor analógico)
4. LED (trabalha como atuador digital, de modo geral)
ESQUEMA SIMPLES DE AUTOMAÇÃO COM ARDUINO
COMANDOS DE FORMA ESQUEMÁTICA
Alguns exemplos:
Ex: Push button (exemplo de uma chave) Devemos digitar a função digitalRead para ler o estado da chave (1 ou 0) , isto é, (1) caso pressionada e (0), caso não.
Ex: Sensores de luminosidade, temperatura, pressão e umidade possuem grandezas analógicas Devemos digitar a função analogRead para ler a informação “captada” por cada sensor.
Observação: Dos comandos acima, apenas a função analogWrite não será apresentada durante a aula de hoje. Ela será abordada mais na frente, em outra aula desse curso.
Observação: Podemos citar mais exemplos para completar essa tabela. Caso você tenha um pouco mais de conhecimento em eletrônica, talvez tenha se lembrado do NTC (sensor de temperatura) como sensor analógico e ainda do relé e das lâmpadas como atuadores digitais. No entanto, caso você ainda não conheça esses componentes eletrônicos, não tem problema, pois ao longo do curso estudaremos esses dispositivos.
PROJETO: BUZZER + LED
1º Passo: Monte o circuito abaixo.
2º Passo: Digite o programa no Arduino
3º Passo: Conecte o cabo USB na placa para energizar seu circuito.
Atenção: É fundamental que o aluno entenda a importância do uso do Arduino para os projetos eletrônicos. Muitos dos projetos que estamos desenvolvendo com o Arduino e que ainda iremos fazer, também são possíveis de serem criados apenas com os componentes eletrônicos, no entanto, o nível de complexidade é bem maior. Assim, a placa Arduino, que já apresenta uma quantidade muito grande de componentes eletrônicos de forma integrada, chegou como uma forma de facilitar o nosso trabalho, economizando espaço e, principalmente, tempo.
Em outras palavras, projetos com controle de tempo, de velocidade ou de luz, por exemplo, que com o Arduino são considerados simples/medianos, sem usar esse microcontrolador, fazendo tudo apenas com os componentes eletrônicos disponíveis, demandaria muito mais conhecimento, componentes, espaço e tempo.
Vamos supor que no nosso projeto temos 2 lâmpadas (iguais), 2 motores DC (iguais) e 1 sirene e desejamos que um dos motores gire mais do que o outro e que uma lâmpada acenda com intensidade luminosa superior a da outra, controlados para que primeiro uma das lâmpadas acenda com menor luminosidade e depois de 5 segundos a outra acenda. Em seguida, um dos motores comece a girar com metade da sua velocidade máxima e depois de 10 segundos, o outro gire com sua velocidade máxim a. Após 2 minutos nesse processo, tudo seja desativado durante 10 segundos e depois ao retornar ao funcionamento, a sirene seja ativada com metade da intensidade sonora.
Com o Arduino, seria relativamente simples de se fazer. Com os conhecimentos dessa segunda aula ainda não é possível, mas à medida que formos aprofundando nossos conhecimentos ao longo das aulas, você verá que é possível realizar esse projeto sem dificuldade. Já usando apenas a eletrônica, sem se aliar à programação por meio de um microcontrolador, como o Arduino, seria preciso realizar diversos circuitos como PWM (para controle de luminosidade/velocidade), timers, para controle do tempo, No entanto, cada um deles exige considerável conhecimento técnico em eletrônica, que muitas vezes, o aluno que está iniciando no ramo ainda não tem e fica limitado em realizar seus projetos ou até mesmo os que têm e sabem montá-los não fazem devido ao tempo que levaria para criar projetos desse tipo (controle de tempo, velocidade e luminosidade com precisão).
Então, o Arduino chegou como uma forma de ajudar aqueles que não tem tanto contato com a eletrônica mas que querem ir aprendendo aos poucos à medida que vão realizando projetos. O problema é que muitos estudantes ficam satisfeitos com apenas ativar um LED, um Buzzer ou usar um sensor de distância e não avançam em circuitos mais interessantes, aproveitando o que o microcontrolador pode nos fornecer, por não quererem estudar eletrônica e programação juntas. Ou seja, ou escolhem um ramo ou outro, em vez dos dois e acabam ficando bastante limitados.
Por esse motivo, no nosso curso, ensinamos os comandos necessários para saber programar no Arduino e realizar inúmeros projetos, já que ensinamos a eletrônica, de fato, para que o aluno possa depois também criar seus próprios projetos seja na área de robótica, automação residencial, entre outras, e não ficar sempre dependendo de modelos encontrados na Internet ou livros.
REVISANDO: POTENCIÔMETRO
O potenciômetro, por exemplo, é um resistor variável já que sua resistência varia conforme a nossa mão vai girando o eixo do potenciômetro, trabalhando dessa forma como um sensor analógico.
PROJETO: VARIANDO RESISTÊNCIA DO POTENCIÔMETRO
Esse projeto será bem simples, porém muito importante, pois ajudará a compreender o fato de o Arduino apresentar um conversor Analógico/Digital e interpretar a faixa de 0 a 5 V do potenciômetro (sensor analógico) como 0 a 1023, como citado anteriormente.
1º Passo: Definir em que pino analógico do Arduino o potenciômetro está conectado.
int potenciometro = A0;
2º Passo:
Parte 1: Chamar a função void setup. Na região entre as chaves, definiremos se os nossos componentes são sensores (INPUT) ou atuadores (OUTPUT) e iniciaremos comunicação com a porta serial.
3º Passo: Chamar a função loop. O que estiver dentro dela será executado várias vezes.
4º Passo: Criar uma variável chamada valorlido e definir que receberá um valor entre 0 e 1023 do potenciômetro. Observe que 0 representa resistência 0 e 1023, resistência máxima.
5º Passo: Mostrar no Serial Monitor esse valor entre 0 e 1023, lido de acordo com resistência do potenciômetro.
Seu programa deverá estar assim:
Sua tela principal do Arduino (IDE, que significa Ambiente de Desenvolvimento Integrado) deverá estar assim:
Depois de ter digitado todo o programa, siga os passos:
1º Passo: Clique no ícone Verify ou Verificar.
2º Passo: Aparecerá uma mensagem na barra de status da sua tela, indicando que os comandos que você digitou no seu esboço (sketch) estão sendo verificados.
Observe que a verificação está “carregando”.
3º Passo: Caso você tenha digitado tudo certo aparecerá a seguinte mensagem: “Done compiling.”
Atenção: Se não aparecer a mensagem “Done compiling”, tente encontrar a sua falha. Caso apareça a mensagem “Done compiling”, indica que você digitou tudo certo.
4º Passo: Ao chegar nesse passo, a verificação do programa já deve ter sido realizada com sucesso. Isto é, a mensagem “Done compiling” precisa estar aparecendo no seu programa, conforme a figura abaixo:
Observação: Você deverá selecionar o modelo da placa Arduino que está em sua bancada (UNO, Duemilanove ou MEGA 2560) no software. Para isso, siga os passos:
1º Passo: Clique no ícone Tools, se o seu Arduino estiver em inglês, ou Ferramentas, se estiver em português.
2º Passo: Desloque o mouse sobre a opção Board ou Placa e, em seguida, clique sobre a opção Arduino Uno, Arduino Duemilanove w/ATmega328 ou Arduino Mega2560 or Mega ADK, dependendo de qual placa você está usando na sua bancada.
3º Passo: Agora conecte o cabo USB (Azul) na placa Arduino e no PC.
4º Passo: Clique em Upload para o programa ser gravado na memória do Arduino.
5º Passo: Deverá aparecer uma mensagem indicando que o Upload foi realizado com sucesso.
Observação: Caso tenha aparecido uma alerta em laranja, você precisará encontrar o problema e solucioná-lo.
Se a mensagem de alerta for semelhante a da figura abaixo, siga os passos que estão depois da imagem para você corrigir o problema.
1º Passo: Clique no ícone Tools, se o seu Arduino estiver em inglês, ou Ferramentas, se estiver em português.
2º Passo: Clique sobre o ícone Serial Port e, em seguida, escolha uma das opções de COM que aparecem.
3º Passo: Clique em Upload para o programa ser gravado na memória do Arduino.
Para que possamos visualizar se o microcontrolador está lendo a variação da resistência do potenciômetro à medida que rotacionamos o seu eixo, utilizaremos o Serial Monitor (versão do software em inglês) ou Monitor Serial (versão do software em português). Para isso, siga os passos:
1º Passo: Clique no ícone Tools, se o seu Arduino estiver em inglês, ou Ferramentas, se estiver em português.
2º Passo: Ao selecionar opção Tools (versão inglês) ou Ferramentas (versão português), clique sobre Serial Monitor (versão inglês) ou Monitor Serial (versão português).
Observe que abriu uma janela do Serial Monitor. Ela servirá de interface entre você e o microcontrolador do Arduino. Para você compreender melhor a sua importância, siga os passos:
1º Passo: Gire o eixo do potenciômentro para a esquerda até não conseguir mais girar e observe o valor que aparecerá no Serial Monitor.
2º Passo: Agora gire um pouco o eixo do potenciômetro para direita até metade e observe o valor que aparecerá no Serial Monitor.
3º Passo: Continue girando para direita até não conseguir mais girar e observe o valor que aparecerá no Serial Monitor.
Observação: Você deve ter percebido que ao girar o potenciômetro totalmente em um sentido, apareceu o valor “0” no Serial Monitor e, ao girar o potenciômetro totalmente no outro sentido, apareceu o valor “1023” no Serial Monitor. Já no meio termo desse giro, você deve ter visualizado valores entre “0” e “1023”.
No momento que você rotacionou o eixo do potenciômetro totalmente em um sentido, você o deixou com resistência 0 ohm. À medida que você foi girando o eixo, foi aumentando a resistência até não conseguir girar mais e chegar no valor máximo de resistência, nesse caso, 100 k ohms e a tensão foi variando de 0 V até 5 V. Para comprovar isso, siga os passos abaixo:
1º Passo: Gire a chave seletora do multímetro para 20 V DC para que você possa medir a ddp o potenciômetro em cada um desses casos.
2º Passo: Gire o eixo do potenciômetro todo para o lado esquerdo.
3º Passo: Coloque a ponteira vermelha no centro e a ponteira preta no terminal que está conectado ao GND.
4º Passo: Visualize o valor da ddp no visor do multímetro.
5º Passo: Aos poucos, gire o eixo do potenciômetro.
6º Passo: Visualize o valor da ddp no visor do multímetro.
7º Passo: Você deve ter observado que ao girar o potenciômetro, a ddp variou de 0 V até 5 V que, para o Arduino, variou de 0 a 1023.
CONVERSÃO ANALÓGICO/DIGITAL
É preciso entender que o microcontrolador do Arduino trabalha internamente com dados digitais. Ou seja, ao receber um sinal analógico converte para um valor digital. O responsável pela conversão é um circuito eletrônico conhecido como conversor Analógico/Digital e, nesse caso, é de 10 bits.
Assim, a partir da função analogRead, o Arduino lê a informação do pino analógico (conectado ao sensor). Depois, o conversor pode mapear tensões de entrada entre 0 e 5 V para valores inteiros entre 0 e 1023.
Quando o potenciômetro estiver regulado em sua máxima resistência, o Arduino entenderá esses 5 V entre o seu pino analógico e o GND como 1023 (valor digital). Por que será que isso acontece?
Isso ocorre porque as placas de Arduino apresentam um conversor Analógico/Digital de 10 bits. Recebendo um valor de tensão de 5 V (valor analógico), converterá no valor 1023 (em eletrônica digital, vemos que 210 = 1024).
210 O algarismo 2 faz referência ao sistema binário em que os algarismos só podem ser 0 ou 1 (2 opções) e o algarismo 10 do expoente representa o número de bits (conversor Analógico/Digital do Arduino apresenta 10 bits).
Observação: O sistema de numeração binário é o mais importante sistema de numeração em sistemas digitais. Porém, outros sistemas também são muito utilizados, sendo necessária uma maneira de se converter os valores de um sistema para outro.
Os principais periféricos que contém conversores analógico/digitais são:
- as placas de aquisição de vídeo
- os scanners
- as placas de captura de som (quase todas as placas de som)
- o mouse, a tela e todo o mecanismo de mira
- os leitores (óticos como o leitor de CD-ROM, magnéticos como o disco rígido)
- os modems (na recepção)
Assim, 0 Volt para o Arduino é 0 e 5 V é 1023. Se você contar quantos números há nesse intervalo entre 0 e 1023 perceberá que são 1024. Faça assim: conte de 0 até 9 e veja que tem 10 números. Assim, com a mesma lógica, de 0 até 1023 tem 1024 números.
Ou seja, esse 1024 representa 1024 valores entre 0 e 5 V.