Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Internet das Coisas: Arduino Informação e Comunicação 2 MINISTÉRIO DA ECONOMIA Ministro Paulo Guedes Secretário Especial de Produtividade, Emprego e Competitividade Carlos Alexandre da Costa Secretário de Políticas Públicas de Emprego Fernando de Holanda Barbosa Filho Sub-secretário de Capital Humano Rodrigo Zerbone Loureiro UNIVERSIDADE DE BRASÍLIA Reitora Márcia Abrahão Moura Vice-reitor Enrique Huelva Decana de Pesquisa e Inovação Maria Emília Machado Telles Walter Decana de Extensão Olgamir Amancia Coordenação do Projeto Qualifica Brasil Thérèse Hofmann Gatti Rodrigues da Costa (Coordenadora Geral) Wilsa Maria Ramos Valdir Adilson Steinke Rafael Timóteo de Sousa Jr Instituto Brasileiro de Informação em Ciência e Tecnologia – IBICT Cecília Leite - Diretora Tiago Emmanuel Nunes Braga Realização Instituto de Artes (IDA-UnB), Instituto de Psicologia (IP-UnB), Instituto de Letras (LET-UnB), Departamento de Engenharia Elétrica (ENE – UnB), Departamento de Geografia (GEA – UnB), Faculdade de Ciência da Informação (FCI-UnB). Apoio Secretaria de Educação Profissional e Tecnológica (SETEC-MEC) Gestão de Negócios e Tecnologia da Informação Loureine Rapôso Oliveira Garcez Wellington Lima de Jesus Filho Coordenação da Unidade de Pedagogia Wilsa Maria Ramos Danielle Xabregas Pamplona Nogueira Lívia Veleda Sousa e Melo Coordenação do Núcleo de Produção de Materiais Janaina Angelina Teixeira Autor Izaías Lopes Cabral Filho Design Instrucional Danielle Xabregas Pamplona Nogueira Janaina Angelina Teixeira Lívia Veleda Sousa e Melo Nina Cláudia de Assunção Mello Marina Vianna de Souza Projeto Gráfico e Diagramação Sanny Caroline Saraiva Sousa Patrícia Fernandes Faria Nathalia Delgado Gomes Ilustradores Ana Maria Silva Sena Pereira Andresa Oliveira Augstroze Aguiar Amanda Morais Silva Camilla Santos Dantas Eugênia Versiani Souza Carvalho Gabriel Victor Alves Meireles João Victor Silva Araújo Equipe de audiovisual João Paulo Biage (Jornalista) Ig Uractan (Produtor Audiovisual e Animador) Maurício Neves (Produtor Audiovisual) Bruno Lara (Jornalista) Raíssa Ferreira (Animadora) Rodrigo Gomes (Fotógrafo e Videografista) Desenvolvimento de Ambiente Virtual de Aprendizagem Osvaldo Corrêa José Wilson Patrícia Fernandes Faria Ficha Técnica 3 Descrição Resultados do Aprendizado Público-alvo • Adquirir conhecimentos básicos sobre a plataforma Arduino. • Conhecer os comandos básicos da linguagem de programação da plataforma Arduino. • Compreender o funcionamento de sensores. • Compreender os fundamentos de automação. Público em geral, pessoas interessadas em conhecer a plataforma Arduino, com pouco ou nenhum conhecimento em programação de microcontroladores. A plataforma Arduino foi criada em 2005 como uma grande alternativa para o ensino e aprendizagem de microcontroladores. De fácil utilização, é considerada uma grande revolução na popularização da programação e no universo da IOT (internet das coisas). É interessante aprender a utilizar essa plataforma, pois o mercado de trabalho está cada dia mais interessado em profissionais com capacidade de compreensão do funcionamento de dispositivos automatizados e interligados entre si. Esse curso tem como objetivo apresentar a plataforma Arduino, propiciando subsídios para que, ao final do curso, o profissional possa embarcar em novas áreas de tecnologia sem medo. Com a plataforma Arduino é possível criar projetos completos de automação e produtos de fácil utilização e baixo custo. Isso dará ao cursista a possibilidade de pesquisa e criação de novos dispositivos para estudo ou comercialização. Internet das Coisas: Arduíno Internet das Coisas: Arduíno 3 4 Apresentação da Placa Arduino – 16h Uso de sensores analógicos – 8h Uso de sensores digitais – 8h Fundamentos de automação – 8h Carga Horária da Unidade | 40 horas TEMA 01 TEMA 02 TEMA 03 TEMA 04 TEMA 01 TEMA 02 TEMA 03 TEMA 04 TEMA 01 TEMA 02 TEMA 03 TEMA 04 Internet das Coisas: Arduíno Internet das Coisas: Arduíno 4 Competências Conheça as competências mobilizadas no curso: • Dominar as características estruturais e de uso da placa ARDUINO, visando sua utilização no desenvolvimento de projetos adequados aos interesses do programador; • Produzir projetos utilizando a placa ARDUINO, para adequar os resultados aos diferentes recursos de programação, testes e análise da placa; • Criar um programa, respeitando e seguindo instruções de programação da placa ARDUINO. 5 Materiais Necessários • Plataforma Arduino Uno Rev3; • Placa protoboard 830 pontos; • Fios jumpers do tipo macho-macho, pelo menos 10 unidades; • 9 leds de cores ( 3 vermelhos, 3 verdes , 3 amarelos); • 3 resistores de 390 ohms; • Potenciômetro de 10k; • Sensor de temperatura LM35; • Sensor Módulo sensor Ultrassônico HC-SR04; • Fios jumpers do tipo macho-macho, pelo menos 10 unidades; • Ponte H modelo L298N; • Motor DC com redução e roda; • Bateria de 9 V com clip; • Sensor de umidade de solo. Internet das Coisas: Arduíno Internet das Coisas: Arduíno 5 6 Tema 01 Apresentação da placa ARDUINO 7 Objetivos do Tema Materiais Necessários Anotações Internet das Coisas: Arduíno - Tema 1 Apresentar a plataforma Arduino. Instalar a IDE da plataforma Arduino. Apresentar a linguagem de programação. Entender e fazer o primeiro programa na plataforma Arduino. Você precisará dos seguintes materiais para estudar o Tema 1: Internet das Coisas: Arduíno Plataforma Arduino Uno Rev3 Placa protoboard 830 pontos 8 Anotações Internet das Coisas: Arduíno - Tema 1 Internet das Coisas: Arduíno 9 leds de cores ( 3 vermelhos , 3 verdes , 3 amarelos) 3 resistores de 390 ohms , 9 O que é o ARDUINO? Internet das Coisas: Arduíno - Tema 1 O Arduino é uma plataforma eletrônica de código aberto baseada em hardware e software fáceis de usar. É destinado a qualquer pessoa que faça projetos interativos. Existem muitos tipos de placas Arduino. Todas tem o mesmo funcionamento. Veja os diversos modelos existentes. Internet das Coisas: Arduíno Arduino Uno Rev 3 Arduino Uno Rev 3 Arduino Nano Arduino Micro Arduino Due Fique Atento Para esse curso usaremos a placa padrão Arduino Uno Rev3 por ser a mais comum nos dias atuais. Mas todas as informações aqui apresentadas servem para as demais placas. Quando você compreender a utilização da placa modelo Arduino Uno, a utilização das demais ficará bem simples. 10 Características da placa ARDUINO Anotações Internet das Coisas: Arduíno - Tema 1 É uma placa de prototipagem. O que significa isso? Significa que é uma placa pronta para desenvolvimento de projetos. Já vem preparada para ser usada diretamente nos pro- jetos e com todos os recursos de programação e testes direta- mente. Não há necessidade de nenhum outro equipamento para que os projetos funcionem. A placa do Arduino foi projetada por designers italianos em 2005 e desde sua concepção foi projetada com o objetivo de ser muito simples a utilização por qualquer pessoa com muito ou um pouquíssimo conhecimento nas áreas de eletrônica e programa- ção. Não há uma limitação de faixa de idade para a utilização da placa Arduino. Crianças utilizam sem dificuldades e pessoas com idade avançada também. A placa Arduino tem 14 pinos digitais para serem utilizados. Contudo recomenda-se utilizar apenas 12 desses pinos. Tem ainda 6 pinos de entradas analógicas com conversor ana- lógico/digital de 10 bits, o que garante uma excelente precisão na utilização de sensores. Internet das Coisas: Arduíno Pinos AnalógicosPinos digitaisPinos Analógicos Pinos digitais 11 Internet das Coisas: Arduíno - Tema 1 Atualmente existe uma enorme indústria em torno da placa Arduino. Uma grande quantidade de sensores e equipamentos projetados para serem utilizados exclusivamente com esta placa. Toda essa indústria facilita ainda mais a utilização da placa Arduino, para os menos experientes essa é a maior facilidade. Sensores, placas de controle, atuadores, periféricos e vários outros equipamentos já vem preparados para serem usados dire- tamente sem a necessidade de ajustes ou adaptações. A placa Arduino vem preparada para funcionar ligada ao compu- tador ou a uma fonte externa. Essa fonte deve ser entre 7,5 V a 30V. No entanto, os componentes da placa funcionam com 5V. A placa Arduino tem um regulador de tensão para reduzir a tensão de entrada para 5V e o restante será transformado em calor. O que significa isso? Significa que é importante utilizar uma fonte mais próxima de 5V. Como é muito difícil fontes de 7,5V recomenda-se fortemente a utilização de fontes de 9V. Quando utilizamos a placa Arduino ligada ao computador, esta será alimentada por 5V da porta USB. Internet das Coisas: Arduíno Sensor de gásSensor de distância Sensor de presença Sensor de chamas Sensor de Temperatura 12 Anotações Internet das Coisas: Arduíno - Tema 1 Quando utilizamos a placa Arduino ligada ao computador, esta será alimentada por 5V da porta USB. Internet das Coisas: Arduíno Conexão para fonte de energia Porta USB Porta USB Conexão para fonte de energia Fique Atento Nunca devemos ligar uma placa fonte de alimentação caso a placa esteja ligada ao computador. Apresentação da Placa Arduino Para assistir ao vídeo, acesse o link: https://player.vimeo.com/ video/304214154 13 Alimentação Internet das Coisas: Arduíno - Tema 1 Vamos considerar que a parte de “cima” da placa é a late- ral na qual podem ser conectados os cabos USB para ligar ao computador ou a fonte de energia. Na parte esquerda da placa Arduino temos os pinos responsáveis pela sua alimentação. Logo no começo desse slot temos os pinos IOREF e RESET que não serão muito utilizados na maioria dos projetos. O estudo deles deve ocorrer somente nos projetos específicos. Os principais pinos desse slot são: a) Pino 3.3V Esse pino é utilizado por sensores e dispositivos que precisam dessa voltagem para funcionar. Existe uma grande quantidade de sensores que necessitam ser alimentados por 3.3V e não por 5V e a cada dia o número de dispositivos que utilizam 3.3V tem aumen- tado. Portanto, esse pino é de extrema necessidade. Considera-se esse pino como sendo o positivo (+) da alimentação de 3.3V. Internet das Coisas: Arduíno IOREF E RESET IOREF E RESET 3.3 V3.3 V Pinos IOREF e RESET b) Pino 5V Imediatamente abaixo do pino 3.3V temos o pino de alimen- tação de 5V. Esse pino é bastante usado nos projetos, serve para alimentar os dispositivos que usam 5V. Da mesma forma como o pino anterior, considera-se esse pino como sendo o positivo (+) da alimentação de 5V. 14 Anotações Internet das Coisas: Arduíno - Tema 1 c) Pino GND Na sequência temos dois pinos GND que equivalem ao nega- tivo (-) da alimentação. São exatamente iguais. A placa Arduino possui 3 pinos GND: dois pinos nesse slot de alimentação e um outro próximo ao pino digital 13. Todos esses pinos são iguais e utilizados em conjunto com os pinos 3.3V e 5V. Internet das Coisas: Arduíno 5 V5 V GND GND d) Pino Vin (a sigla ”Vin” significa voltagem de entrada) é um pino bas- tante interessante. Esse pino tem a função de ser o positivo (+) da alimentação de entrada, se a placa for alimentada por uma fonte de 9V, o pino Vin terá o positivo de 9V, se a placa for alimentada 15 Anotações Internet das Coisas: Arduíno - Tema 1 Para compreender melhor a Alimentação, assista ao vídeo. Internet das Coisas: Arduíno VINVIN Slot de Alimentação Para assistir ao vídeo, acesse o link: https://player.vimeo.com/ video/304214084 por fonte de 12V, esse pino será o positivo de 12V. Esse pino tem a mesma voltagem de entrada da placa. É um pino pouco utiliza- do. Deve-se ser tomado muito cuidado com seu uso: se a placa estiver ligado a um computador (5V) e for usado para alimentar, por exemplo, um sensor de 5V, e a alimentação da placa for alte- rada para ser alimentada por uma fonte de 9V, poderá ocorrer um problema. Então esse pino deve ser usado com bastante cuidado. Aconselha-se que não seja utilizado. 16 Pinos Digitais Anotações Internet das Coisas: Arduíno - Tema 1 A sua direita, a placa Arduino tem 14 pinos digitais numerados de 0 a 13. Os dois primeiros pinos (0 e 1) são pinos usados pela placa para a comunicação com o computador. O pino 0, chamado de RX, é o que faz o recebimento dos dados enviados pelo compu- tador durante a programação. De forma semelhante, o pino 1, chamado de TX, faz o envio de dados da placa Arduino para o computador. Esses dois pinos têm leds ligados a eles que indicam quando a placa Arduino está recebendo ou enviando dados. Por essa característica de envio e recebimento de dados, os pinos 0 e 1 devem ser evitados nos projetos. O uso deles pode causar erros nos projetos que podem ser de difícil percepção. O uso deles deve ocorrer somente se for indispensável em um projeto. Internet das Coisas: Arduíno Pinos digitaisPinos digitais PINO 1 E PINO 0 PINO 1 E PINO 0 17 Anotações Internet das Coisas: Arduíno - Tema 1 Já os pinos numerados de 2 a 13 são pinos digitais que serão largamente usados em todos os projetos. Podem ser usados tanto como entrada ou saída. Veremos no decorrer do curso a utilização desses pinos como entrada ou saída. Observe que em alguns pinos tem um símbolo de (~). Especificamente os pinos ~3, ~5, ~6, ~9, ~10 e ~11. Esse símbo- lo indica que esses pinos possuem outra função chamada PWM (pulse width modulation) que significa modulação por largura de pulso. Essa função é bastante utilizada em projetos que usam motores ou lâmpadas. É uma função que gera uma série de pulsos digitais que são usados para controle de velocidade ou brilho de lâmpadas. Durante o curso, essa função será utilizada e explicada detalhadamente. Internet das Coisas: Arduíno Exemplo de pino com função PWM (~) PINO 2 A 13 Para compreender melhor os Pinos Digitais, assista ao vídeo. 18 Pinos Analógicos Internet das Coisas: Arduíno - Tema 1 O último slot de pinos é o das portas analógicas. Ele encon- tra-se à esquerda da placa Arduino. São 6 pinos analógicos que são indicados com os símbolos A0, A1, A2, A3, A4 e A5. Eles fun- cionarão como entradas analógicas. Nos projetos eles receberão sensores. A placa Arduino tem um conversor digital /analógico de 10 bits. Isso garante uma alta precisão para a leitura de sensores. Durante o tema sobre sensores essa precisão será explorada em detalhes. Internet das Coisas: Arduíno Slot de Pinos Digitais Para assistir ao vídeo, acesse o link: https://player.vimeo.com/ video/304214073 Pinos Analógicos 19 Anotações Internet das Coisas: Arduíno - Tema 1 Os pinos A4 e A5 tem outra função, a saída de protocolo I2C; o pino A4 recebe também o nome de SDA e o pino A5 recebe o nome de SCL. Esse protocolo é muito usado para receber dados de sensores e controlar outros dispositivos como um LCD. Essa função também será bastante explorada no estudo de sensores. Para compreender melhor os Pinos Digitais, assista ao vídeo. Internet das Coisas: Arduíno PINO A4 E PINO A5 Slot de Pinos Analógicos Para assistir ao vídeo, acesse o link: https://player.vimeo.com/ video/304213920 20 Utilização da Ide do Arduino Anotações Internet das Coisas: Arduíno - Tema 1 O programa utilizado para a programação da placa Arduino é o IDE e pode ser baixado gratuitamente no site www.arduino.cc. Nesse site, você pode apenas baixá-lo ou, caso queira, pode fazer uma doação para os criadores da placa Arduino. Internet das Coisas: Arduíno Dica Depois de fazero download como arquivo zipado, a melhor alternativa é colocar esse arquivo na área de trabalho, clicar na opção “Extrair aqui”. Esse procedimento garante que seja criada uma pasta com todos os arquivos necessários e de fácil acesso. Não se deve criar uma pasta dentro de outras para depois descompactar os arquivos. Esse procedimento pode causar erros quando for utilizar bibliotecas na programação. A facilidade de acesso ao programa utilizado pela placa Arduino na área de trabalho é a alternativa mais apropriada para os iniciantes. O vídeo a seguir mostra a sequência usada para usuários da plataforma Windows, por ser a mais comum. Para uso das demais plataformas, é aconselhável assistir algum vídeo sobre o assunto. No site www.youtube.com encontram-se diversos vídeos explicativos sobre as demais plataformas. Explorar 21 Internet das Coisas: Arduíno - Tema 1 Internet das Coisas: Arduíno Instalação do Programa Arduino Para assistir ao vídeo, acesse o link: https://player.vimeo.com/ video/306807429 Como atividade de pesquisa, busque vídeos na internet sobre a instalação do programa da plataforma Arduino. Essa atividade o ajudará a compreender as diversas possibilidades desta plataforma. Não tenha receio da pesquisa, existem milhares de bons exemplos desse procedimento. Ao realizar essa atividade você ampliará o seu aprendizado sobre a plataforma Arduino. Siga em frente! Explorar Depois da instalação do programa da plataforma Arduino, vamos aprender sobre o uso e a programação da plataforma. Conforme visto anteriormente, a placa Arduino tem 14 pinos digitais numerados de 0 a 13, dos quais devemos evitar o uso dos pinos 0 e 1 por serem utilizados pela placa para a comunicação com o computador. Os demais pinos, numerados de 2 a 13, podem ser usados tanto como pinos de entrada como de saída. Nesses Pinos Digitais 22 Anotações Internet das Coisas: Arduíno - Tema 1 pinos, serão ligados sensores digitais, outros dispositivos para controlar motores, lâmpadas, servos e vários outros atuadores. Internet das Coisas: Arduíno Pinos digitais Como pino de entrada para a leitura de sensores, deve ser res- peitada a tensão máxima de 5V. Então, toda vez que for usado um pino como entrada deve-se ter a certeza que não há possibilidade de chegar mais de 5V nesses pinos. Isso normalmente é tranquilo quando se utiliza sensores destinados a placa Arduino. Como pinos de saída, serão utilizados para controlar os dispo- sitivos como lâmpadas, motores, servos e outras placas. Cada pino tem a capacidade de fornecer 5V com corrente máxima de 40mA. Essa tensão e corrente é bastante alta para o controle de um led por exemplo. Contudo muito pequena para o controle de um motor. Normalmente, os pinos digitais são conectados a outros dispositi- vos que farão o controle de motores, por exemplo. Veremos muito em breve como fazer isso. Para o controle de um led é recomen- dável a utilização de um resistor de 220 ohms para que o led não queime. A corrente de 40 mA é bastante alta para um led. Pesquise vídeos ou artigos sobre leds. O estudo aprofundado de componentes não será explorado nesse curso. É importante realizar essa pesquisa para compreender que os materiais usados para o desenvolvimento dos projetos na plataforma Arduino são bem simples. Isso é uma das bases dessa plataforma: a simplicidade. Explorar 23 Internet das Coisas: Arduíno - Tema 1 A definição para que um pino digital seja de entrada ou saída é feita na hora da programação utilizando-se a função: pinMode - define um pino com OUTPUT (saída) ou INPUT (entrada). Vamos então ao nosso primeiro programa. Esse deve ser sempre o primeiro programa que fazemos quando estamos usando a placa Arduino. É um programa que nos ensina muito sobre a programação e, principalmente, o formato de todos os demais programas que faremos. Para esse primeiro programa utilizaremos um led de qualquer cor, no caso, será apresentado um led vermelho. O que queremos é fazer um simples pisca pisca com um led. Veja o vídeo. Internet das Coisas: Arduíno Primeiro Programa Dica É sempre recomendado fazer as ligações ou montagens sempre com a Plataforma Arduino desligada. Isso evita possíveis curtos circuitos e eventual queima de algum componente. Primeiro Programa Para assistir ao vídeo, acesse o link: https://player.vimeo.com/ video/304214143 Para obter o programa Arduino e mais informações acesse o link: https://www.arduino.cc/ 24 Anotações Internet das Coisas: Arduíno - Tema 1 A placa Arduino foi tão bem planejada que ao lado do pino 13 temos uma saída de GND. Isso facilita muito a montagem. Devemos colocar o terminal maior do led no furo equivalente marcado com o número 13 e o terminal menor no furo com a sigla GND. Todos os programas usados na placa Arduino tem sempre as duas estruturas obrigatórias “void setup()” e “void loop()”. Quando abrimos a IDE já aparece um programa parcialmen- te preenchido com as estruturas obrigatórias. Isso facilita ainda mais a programação, pois nos ajuda a não esquecer de nenhuma informação. Na estrutura “void setup()” devem ser colocadas todas as informações referentes aos pinos e todos os comandos serão executados apenas uma vez. No decorrer do curso, explicaremos com mais detalhes todas as informações que poderemos colocar na estrutura “void setup()”. Nesse primeiro programa colocaremos a definição do pino 13 como saída. Na estrutura “void loop()” é que realmente ocorre o que que- remos no programa. Nessa estrutura todos os comandos ficaram se repetindo indefinitivamente, um após o outro até o final e vol- tando ao primeiro. Daí o nome “loop”. Digite o seguinte programa exatamente como mostrado na Figura, mas antes apague as frases: “// put your setup code here, to run once:” // put your main code here, to run repeatedly: Internet das Coisas: Arduíno 25 Anotações Internet das Coisas: Arduíno - Tema 1 Podemos comparar um programa para a placa Arduino com uma receita de bolo em que temos duas partes: ingredientes e modo de fazer. Podemos comparar o “void setup()” com os “ingre- dientes” e o “void loop()” com o “modo de fazer”. Receita de Bolo Ingredientes: 1 lata de milho verde com água e tudo 1/2 lata da mesma de óleo 1 lata da mesma de açúcar 1/2 lata da mesma de fubá 4 ovos 2 colheres bem cheias de farinha de trigo 2 colheres de coco ralado 1 colher e 1/2 de chá bem cheia de fermento em pó Modo de fazer: Bata bastante todos os ingredientes no liquidificador, depois bem batido acrescente o coco ralado e o fermento e misture, coloque para assar Pode colocar na forma redonda de buraco e na quadrada, a forma deverá ser untada e enfarinhada Leve ao forno preaquecido a 180ºC por, aproximadamente, 40 minutos. Programa para a placa Arduino void setup() { pinMode (13,OUTOUT); } void loop () { digitalWrite (13, HIGH); delay(1000); digitalWrite (13, LOW); delay(1000); } Internet das Coisas: Arduíno Fonte da receita de bolo: http:// gshow.globo.com/receitas-gshow/ receita/bolo-cremoso-de-milho- 55c2ce3f4d38853ede000047. html 26 Anotações Internet das Coisas: Arduíno - Tema 1 Começaremos com a estrutura “void setup()”. Aqui colocare- mos os “ingredientes” que usaremos no programa. É o momento de listar os pinos que serão usados e informar se serão pinos com a função de “saída” ou “entrada”. Serão de “saída” se forem con- trolar algo e de “entrada” se forem receber dados de um sensor por exemplo. Vamos listar os comandos que estamos usando: pinMode (13, OUTPUT); Esse primeiro comando deve ser digitado exatamente dessa forma. Todo comando usado na programação tem uma forma específica de ser escrito. Observe a forma de escrever os coman- dos: a primeira palavra é toda escrita em letras minúsculas e somente a primeira letra da segunda palavra é escrita com letra maiúscula. A palavra OUTPUT é toda escrita em maiúscula. Sempre que digitamos um comando queestiver correto a cor das letras muda, mostrando que está corretamente digitado. No primeiro comando (pinMode) fica na cor laranja e o segundo comando (OUTPUT) fica todo em azul. Um detalhe super impor- tante: cada linha de comando tem, obrigatoriamente, que termi- nar com um ponto e virgula (;). Essa é uma exigência da lingua- gem “C” na qual a programação da placa Arduino é baseada. Internet das Coisas: Arduíno 27 Anotações Internet das Coisas: Arduíno - Tema 1 Nosso comando pinMode pode ser traduzido como modo do pino. Esse comando será usado em todos os programas, pois é necessário dizer se os pinos usados serão de entradas ou saídas. No nosso primeiro exemplo o pino 13 será usado como saída, pois iremos controlar um led ligado nele. A estrutura “void setup()” terá apenas essa linha de comando, já que usaremos apenas um pino, portanto não há necessidade de mais nenhuma informação. Caso fossem utilizados mais pinos, seria necessário digitar, para cada pino, o mesmo comando para indicar se será utilizado como um pino de entrada ou de saída. digitalWrite(13, HIGH); Esse também é um comando bastante utilizado na progra- mação. Traduzindo seria: escreva alto no pino. Esse comando faz com que o pino 13, no qual está ligado o led, fique com uma tensão de 5V. Isso faz com que o led acenda. Em outras palavras nosso comando acenderá o led. Novamente observe a forma de escrever os comandos. A primeira palavra é toda escrita em letras minúsculas. Somente a primeira letra da segunda palavra é escrita com letra maiúscula. E a palavra HIGH toda escrita em maiúscula. Novamente quando os comandos são escritos corretamente a cor muda. O primeiro comando (digitalWrite) fica na cor laranja e o segundo comando (HIGH) fica todo em azul. Internet das Coisas: Arduíno 28 Anotações Internet das Coisas: Arduíno - Tema 1 delay (1000); Esse comando também é bastante utilizado nos programas da placa Arduino. A função aqui é esperar pelo tempo definido dentro dos parênteses. Esse tempo é medido em milissegundos, portanto o comando acima significa que haverá uma espera de 1 segundo até que o próximo comando seja executado. Internet das Coisas: Arduíno digitalWrite(13, LOW); Novamente, aparece o comando digitalWrite. Mas, dessa vez o parâmetro é LOW, que significa baixo. Em outras palavras, com esse comando o pino 13 ficará com a tensão de 0V. E isso fará com que o led ligado a esse pino apague. delay (1000); Por último, novamente o comando que faz com que seja gerado uma espera de 1 segundo. Esse último comando é funda- mental, pois, após sua execução o programa recomeça. Se esse comando não for colocado, logo após o comando de apagar o led, seria seguido novamente pelo comando ligar o led. Isso resultaria em uma confusão e não seria possível verificar o led piscando. 29 Anotações Internet das Coisas: Arduíno - Tema 1 Resumo do programa: liga o led, espera por 1 segundo, desliga o led, espera 1 segun- do e volta ao início, liga o led, espera 1 segundo, desliga o led, espera um segundo... E assim indefinitivamente. Para que o programa seja gravado na placa Arduino é neces- sário que primeiro seja salvo com um nome que desejar e logo depois enviá-lo para a placa através do botão Carregar. Veja a figura: Internet das Coisas: Arduíno 30 Anotações Internet das Coisas: Arduíno - Tema 1 Se tudo estiver correto e não houver nenhum erro de digita- ção, o programa será carregado na placa Arduino. Imediatamente após o carregamento, começará a executar. Todos os demais programas seguirão essa lógica. Você digi- tará o programa e em seguida salvará com um nome qualquer e fará o upload desse programa para a placa Arduino. Todas as vezes que for feito o upload de um novo programa, o anterior será substituído. Não interessa o seu tamanho, sempre o último programa carregado substituirá o anterior. Esse processo pode ser realizado por mais de 10 mil vezes sem nenhum prejuízo para a placa. Essa é uma característica bastante interessante da placa Arduino. Os programas poderão ser criados e substituídos por milhares de vezes, garantindo ao projetista/ hobbysta a possibilidade de testar sempre, o que facilita o apren- dizado. A versatilidade da placa Arduino é o que lhe garante o grande sucesso. Concluída esta primeira etapa do curso, na qual estudamos e praticamos a instalação do programa da plataforma Arduino, o uso e a programação da plataforma, continuaremos explorando as funcionalidades desta ferramenta no Tema 2. Vamos conhecer sobre o uso dos sensores analógicos. Parabéns! Você acaba de fazer o seu primeiro programa! Internet das Coisas: Arduíno Fique Atento Caso receba a mensagem “avrdude: ser_open(): can’t open device “\\.\COM1”: O sistema não pode encontrar o arquivo especificado. Ou a mensagem Problema ao carregar para a placa. Veja http://www. arduino.cc/en/Guide/Troubleshooting#upload para sugestões. Para ter acesso às Atividades de Estudo, veja as telas interativas do curso. 1 Tema 02 Uso de Sensores Analógicos 2 Objetivos do Tema Materiais Necessários Internet das Coisas: Arduíno - Tema 2 • Entender o funcionamento dos pinos analógicos. • Utilizar e compreender o funcionamento de sensores analógicos. • Apresentar a utilização prática da plataforma Arduino no controle de temperatura de dispositivos. Você precisará dos seguintes materiais para estudar o Tema 2: Internet das Coisas: Arduíno Plataforma Arduino Uno Rev3. Placa protoboard 830 pontos. Verifique o significado no Glossário ao final do curso. 3 Anotações Internet das Coisas: Arduíno - Tema 2 Internet das Coisas: Arduíno Fios jumpers do tipo macho- macho, pelo menos 10 unidades. 3 leds de cores (vermelho, verde e amarelo). 3 resistores de 390 ohms. Potenciômetro de 10k. 4 Anotações Internet das Coisas: Arduíno - Tema 2 Internet das Coisas: Arduíno Sensor de temperatura LM35. Pinos Analógicos A placa Arduino tem 6 (seis) pinos analógicos, identificados pelos símbolos A0, A1, A2, A3, A4 e A5. Esses pinos estão ligados internamente a um circuito conversor analógico/digital. O que isso significa? Esse circuito faz a conversão entre tensão e valores digitais. Em outras palavras esse circuito “lê” a tensão colocada em um pino analógico e retorna para o processador da placa Arduino um valor entre 0 e 1.023. A tensão de entrada nos pinos analógicos não pode ser superior a 5V. Pinos Analógicos Pinos Analógicos Para uma melhor compreensão de como esse conversor fun- ciona vamos exemplificar. Imagine dois conjuntos, um com todas as possibilidades de valores entre 0 e 5 e outro conjunto somente com valores inteiros de 0 a 1.023. No primeiro conjunto temos um número infinito de possibilidades. No segundo as possibilida- Verifique o significado no Glossário ao final do curso. 5 Anotações Internet das Coisas: Arduíno - Tema 2 des são 1.024. O que o conversor analógico digital faz é associar esses dois conjuntos. Internet das Coisas: Arduíno Conjunto 1 0,00000 0,00001 0,00002 0,00003 0,00004 0,00005 .. 2,49998 2,49999 2,50000 2,50001 2,50002 ... 4,99998 4,99999 5,00000 Possíveis valores Infinitos Possíveis valores 1.024 Conjunto 2 0 1 2 ... 512 513 ... 1.021 1.022 1.023 Para o valor 0 no primeiro conjunto associa-se o valor 0 no segundo conjunto. Para o valor 5 no primeiro conjunto associa-se o valor 1.023 no segundo conjunto. Conjunto 1 Analógico 0,00000 0,00001 0,00002 0,00003 0,00004 0,00005 .. 2,49998 2,49999 2,50000 2,50001 2,50002 ... 4,99998 4,99999 5,00000 Possíveis valores Infinitos Possíveis valores 1.024 Conjunto 2 Digital 0 1 2 ... 512 513 ... 1.021 1.022 1.023 Conversor analógico digital 6 Anotações Internet das Coisas: Arduíno - Tema 2 Para qualquer outro valor no primeiro conjunto, entre 0 e 5, associa-se no segundo conjunto um valor inteiro entre 0 e 1.023, mantendo a proporcionalidade. Com uma regra de trêssimples é possível calcular o valor convertido. Dois pinos analógicos (A4 e A5) tem uma outra função espe- cial. São pinos que podem ser usados com o protocolo I2C. Esse protocolo está sendo muito utilizado nos dias de hoje pela facili- dade e versatilidade. Com esse protocolo é possível, por exem- plo, ligar um sensor e um display LCD nos mesmos pinos. Essa funcionalidade será explorada no Tema 4. Internet das Coisas: Arduíno Conjunto 1 Analógico 0,00000 0,00001 0,00002 0,00003 0,00004 0,00005 .. 2,49998 2,49999 2,50000 2,50001 2,50002 ... 4,99998 4,99999 5,00000 Possíveis valores Infinitos Possíveis valores 1.024 Conjunto 2 Digital 0 1 2 ... 512 513 ... 1.021 1.022 1.023 Conversor analógico digital Os pinos analógicos servirão para receber sensores analógicos ligados a eles. Nunca usaremos esses pinos como saída, sempre como pinos de entrada. Os sensores projetados para a placa Arduino normalmente já vem preparados para serem ligados diretamente aos pinos analógicos. Essa é uma grande facilidade da placa Arduino. Verificaremos no decorrer do curso que o uso de sensores é uma tarefa bastante simples. 7 Programa de Utilização das Portas Analógicas Anotações Internet das Coisas: Arduíno - Tema 2 Esse exemplo é uma forma de entender de maneira bem sim- ples a utilização das portas analógicas. Precisaremos dos seguintes componentes: a) Potenciômetro 10k. b) Protoboard. c) Fios jumpers do tipo macho-macho. d) Placa Arduino. Internet das Coisas: Arduíno PINO A4 E PINO A5 Verifique o significado no Glossário ao final do curso. 8 Anotações Internet das Coisas: Arduíno - Tema 2 Internet das Coisas: Arduíno Para compreender mais sobre a protoboard, faça uma pesquisa na internet. No site www.youtube.com. br você poderá encontrar diversos vídeos explicativos sobre protoboard. A plataforma Arduino tem uma vasta comunidade mundial que está sempre compartilhando conhecimentos. A realização dessa pesquisa ampliará seus conhecimentos e abrirá caminhos para novos aprendizados. Explorar Faça a montagem conforme a Figura: Ponto 30 Ponto 34 Ponto 32 Ponto 30 Ponto 34 Ponto 32 Ponto 30 Ponto 34 Ponto 32 9 Anotações Internet das Coisas: Arduíno - Tema 2 Insira os três pinos do potenciômetro na protoboard, cada um em uma das fileiras numerada da protoboard com 5 pontos. Pode ser em qualquer fileira desde que use três fileiras diferentes. Na figura ao lado os pinos do potenciômetro foram ligados em pontos das fileiras 30, 32 e 34. Alguns modelos de potenciô- metro tem espaço entre os pinos diferente do que está na figura. Não se preocupe se isso acontecer com o que você tem. Agora que o potenciômetro está na protoboard vamos ao pró- ximo passo: ligá-lo ao Arduino usando fios jumpers macho-macho. Faça a montagem conforme a Figura: Com a placa Arduino desligada do computador, conecte a ponta de um fio jumper em outro dos pontos da fileira da proto- board na qual está ligado um dos pinos laterais do potenciômetro (no exemplo, 30) e outra no pino negativo (GND) da placa Arduino. Ligue outro fio jumper entre o outro pino lateral do potenciôme- tro e o pino positivo (5V) da placa Arduino. O pino central deve ser ligado ao pino analógico (A0) da placa Arduino. Internet das Coisas: Arduíno Pino A0 Pino 5v Pino GND 10 O Programa Análise do Programa Anotações Internet das Coisas: Arduíno - Tema 2 Depois de efetuar a montagem, ligue a placa ao computador utilizando um cabo USB. Vamos analisar de forma detalhada cada linha de comando desse programa: int valor; Esse é um recurso bastante usado na programação da placa Arduino. O uso de variáveis. Uma variável é um nome escolhido pelo programador que irá receber valores durante o programa; no nosso caso o nome é valor. Esse recurso é muito útil uma vez que o nome usado pela vari- ável ajuda a mostrar os valores que nos interessa e o entendimen- to do que está acontecendo fica bem mais claro. Internet das Coisas: Arduíno 11 Anotações Internet das Coisas: Arduíno - Tema 2 Os nomes das variáveis não podem ser nomes já usados pelo programa. Por exemplo: não se pode utilizar o nome “digitalRead” para ser o nome de uma variável, pois ele é usado pelo programa para designar um comando. Você poderá criar mais de uma variável no mesmo programa com o comando int, desde que os nomes sejam diferentes. No programa essa linha de comando criará uma variável que guardará os valores convertidos pela placa Arduino após a leitura do potenciômetro. Os comandos de criação das variáveis podem ser colocados em qualquer lugar no programa. Normalmente são colocados antes do comando void setup() pois faz com que essa variá- vel assuma uma função de variável global que tem uma amplitu- de maior de uso. Programadores experientes as vezes utilizam o recurso de criação de variáveis locais. Mas, para quem está come- çando, sempre que for necessário o uso de variáveis, é aconse- lhável o uso de variáveis globais. Para tanto, todas devem ser listadas antes do comando void setup(). #define potenciometro A0 Aqui o comando “#define” faz com que o nome “poten- ciometro” seja associado a sigla “A0”. Isso significa que os dois serão interpretados pelo programa como sendo a mesma coisa. A qualquer momento pode ser usado a sigla “A0” que Internet das Coisas: Arduíno 12 Anotações Internet das Coisas: Arduíno - Tema 2 representa o pino analógico ou o nome “potenciometro”. Esse recurso é muito utilizado na programação para facilitar o entendimento futuro de um programa. Dessa forma ao se ler “potenciometro” já saberemos que na porta A0 está ligado um potenciômetro. Internet das Coisas: Arduíno #define potenciometro A0 Observe duas características interessantes nesse ponto do programa. Não há necessidade de colocar o sinal “=” após a pala- vra “potenciomentro” para associá-la a sigla “A0”. O coman- do #define já faz essa associação sem o símbolo de “=”. Ao fim dessa linha também não há necessidade de se colocar ponto e vírgula (;) como fazemos normalmente. Essas duas característi- cas são importantes, pois podem causar erro no programa se não forem observadas. Fique Atento • Na programação da placa Arduino não se utiliza acentos ou símbolos especiais para designar nomes de variáveis. • Essas definições devem ser colocadas antes da estrutura void setup(). 13 Anotações Internet das Coisas: Arduíno - Tema 2 Serial.begin(9600); Esse comando é usado para estabelecer a comunicação entre a placa Arduino e o computador. Usaremos nesse momento a tela do computador como um monitor para mostrar os valores lidos do potenciômetro. O valor de 9600 entre parênteses define a velocidade de comunicação entre a placa e o computador. A velocidade 9600 é padrão. Com a evolução das placas Arduino e a atualizações da IDE, a velocidade mais utilizada tem sido 115200. Para esse nosso exemplo isso não é importante. Internet das Coisas: Arduíno Para esse programa não há necessidade de mais nada na estrutura void setup(). Lembrando que essa estrutura pode ser comparada aos “ingredientes” de uma receita de bolo. Você poderá perguntar se não há a necessidade de colocar que o pino analógico A0 deveria ser definido como entrada. A resposta é que não há necessidade dessa definição, pois o entendimento é que todos os pinos analógicos da placa Arduino já são definidas como entradas. 14 Anotações Internet das Coisas: Arduíno - Tema 2 valor = analogRead(potenciometro); Esse é um dos comandos mais importantes desse programa. Aqui a variável “valor” receberá o valor definido pelo conversor analógico/digital após a leitura do pino A0. O comando “analogRead” pode ser traduzido como leitura analógica do pino que está entre parênteses. Esse pino foi definido pelo nome “potenciometro”. Internamente, o processador da placa Arduino lê o valor da tensão aplicada ao pino A0 e converte esse valor em outro valor que é um número entre 0 e 1.023. É interessanteverificar que essa linha de comando poderia ser escrita também como: Internet das Coisas: Arduíno valor = analogRead(A0); O resultado seria exatamente o mesmo. Optei pela primeira opção por ser a forma de entender o uso de variáveis e definições. Serial.print(“leitura =”); Esse comando é responsável pela escrita dos valores lidos na tela do computador. Essa tela é acionada através do comando “serial monitor” na IDE da plataforma Arduino. O interessante nesse comando é que ele “escreve” na tela do computador o que está entre parênteses (no caso o texto entre aspas “leitura =”) e fica na mesma linha na tela do computador, esperando o próximo comando para escrever logo após o que já “escreveu”. 15 Anotações Internet das Coisas: Arduíno - Tema 2 Serial.println(valor); Esse comando é quase idêntico ao primeiro, com a pequena diferença de que o ”ln” ao final do comando indica que a variável valor terá o seu valor escrito (logo após a expressão “leitura =”). Em seguida, passa para a próxima linha. Isso é importante, pois assim fica organizado. Temos então o seguinte efeito: leitura =200 leitura =230 leitura =250 leitura =200 Caso o comando Serial.println(valor); não fosse usado e no lugar desse comando fosse colocado Serial. print(valor); o resultado seria o seguinte: leitura = 200leitura =230leitura=250leitura=200 Veja que nesse caso ficou desorganizado. Sugiro, que você mude o comando Serial.println(valor); por Serial. print(valor); para que esse aprendizado fique claro nesse momento. delay(300); Esse comando tem apenas a função de deixar mais lento a Internet das Coisas: Arduíno 16 Anotações Internet das Coisas: Arduíno - Tema 2 apresentação dos valores na tela do computador. Caso não seja colocado esse comando, os valores serão apresentados muito rapidamente. Nesse momento sugiro que seja retirado esse comando para a verificação do que foi exposto. Internet das Coisas: Arduíno A programação da plataforma Arduino é bem simples e não requer praticamente nenhum conhecimento anterior para que seja compreendida. Não tenha receio de pesquisar, testar, modificar a programação! Isso fará com que você aprenda mito mais sobre as possibilidades da plataforma. Realizaremos 3 (três) montagens, a partir de agora, visando praticar, compreender e explorar as potencialidades da plataforma Arduino. Pratique os comandos estudados e repita quantas vezes achar necessário. Explorar Praticar Assista ao vídeo seguinte para que você possa compreender ainda mais essa atividade. A compreensão do uso das portas ana- lógicas é a base para os projetos envolvendo sensores analógicos. Funcionamento das portas analógicas Para assistir ao vídeo, acesse o link: https://player.vimeo.com/ video/304214089 Curso Internet das coisas: ARDUINO Curso Internet das coisas: 17 Pesquise e tente reproduzir alguns dos diversos projetos que existem disponíveis na internet usando esse sensor. Explorar Montagem 01 - Sensor De Temperatura Anotações Internet das Coisas: Arduíno - Tema 2 O sensor LM 35 é um sensor bastante interessante e versátil e muito simples para o uso com a plataforma Arduino. Ele servirá de base para diversos outros projetos. Assista primeiro ao vídeo introdutório sobre o sensor de tempe- ratura LM35. Esse vídeo ajudará a compreender essa montagem. Internet das Coisas: Arduíno Apresentação dos Sensores analógicos Para assistir ao vídeo, acesse o link: https://player.vimeo.com/ video/304214056 Curso Internet das coisas: Curso Internet das coisas: O sensor LM35 é bem simples de ser utilizado. Ele tem três pinos que devem ser ligados a alimentação de 5V e a uma das portas analógicas. 18 Anotações Internet das Coisas: Arduíno - Tema 2 Internet das Coisas: Arduíno Observe a Figura. Esse sensor é muito usado em montagens da plataforma Arduino. Tem uma excelente precisão. Segundo o seu datasheet (veja a explicação mais à frente sobre o que isso significa) esse componente consegue medir tem- peraturas entre -55 a +150 graus Celsius. Esse componente funciona de forma bem simples. Recebe 5V através dos seus pinos V+ e GND. Conforme a temperatura que o sensor está, um valor entre 0V e 5V aparece no pino OUT. Isso pode ser usado por uma porta analógica e com uma simples fór- mula apresentar a temperatura medida. Esse sensor é um exemplo de sensor analógico e o seu funcio- namento é idêntico a outros sensores analógicos. Ampliar conhecimentos Com esse exemplo, você poderá montar diversos outros projetos e descobrir muitas utilizações para esse componente e de vários outros sensores analógicos. Faça uma pesquisa e descubra projetos utilizando esses versáteis sensores. Um dos objetivos desse curso é apresentar possibilidades para que você possa criar produtos simples e úteis, possa comercializar e aumentar sua renda mensal. Não tenha receio de montar e testar projetos novos! A plataforma Arduino foi criada com o objetivo de incentivar a criação de produtos por pessoas com pouquíssimo conhecimento. A ligação desse sensor deve obedecer a seguinte indicação: o pino V+ ligado ao pino 5V no slot de alimentação da plataforma Arduino; o pino GND do sensor a algum GND da plataforma Arduino. No nosso caso, vamos ligar o pino OUT ao pino analógico A0. Bastante atenção nessa montagem. A posição dos pinos não pode ser modificada sob pena de queima do componente. 19 Anotações Internet das Coisas: Arduíno - Tema 2 Observe a Figura com os detalhes da montagem. Internet das Coisas: Arduíno Ampliar conhecimentos Na explicação sobre o sensor LM 35 foi dito: “(...) segundo o seu Datasheet”. Datasheet é um documento no qual o fabricante do componente fornece todas as características técnicas do mesmo. Esse documento é importante para todos os que queiram projetar algum produto. O datasheet de qualquer componente é um documento bem fácil de ser encontrado na internet. Todos os fabricantes disponibilizam esses documentos de forma gratuita. Aproveite para aprender um pouco sobre algum componente. Basta digitar no Google o nome do componente seguido da palavra datasheet e você terá diversos documentos de todos os fabricantes daquele componente. Abra algum deles e se familiarize sobre essa importante fonte de informação. 20 Internet das Coisas: Arduíno - Tema 2 Assista ao vídeo com o passo a passo da montagem. Internet das Coisas: Arduíno Montagem usando Sensores analógicos Para assistir ao vídeo, acesse o link: https://player.vimeo.com/ video/304214117 ARDUINO Curso Internet das coisas: Fique Atento O programa para essa montagem segue abaixo. Observe que todas as linhas estão comentadas. Fique muito atento para não digitar nenhuma palavra errada. Isso causará problemas durante a compilação. 21 Anotações Internet das Coisas: Arduíno - Tema 2 Analisaremos cada linha desse programa agora. Verifique que cada uma delas já está comentada. O símbolo “//” serve para comentários e não será considerado pelo programa. Serve apenas para que ajude a interpretação do programa. O uso de comentários é essencial, altere com suas próprias palavras para que você aprenda a sempre colocá-los em seus programas. Os comentários não precisam estar logo após a linha de comando, podem ser localizados, por exemplo, acima da linha de comando. Nas figuras que serão usadas para a análise do progra- ma alguns comentários não estão visíveis, pois são somente ilustrativos. int valor=0; Esse comando cria uma variável do tipo inteira com o nome de “valor”. Uma variável pode ter qualquer nome, desde que não seja um nome usado pelo programa. Exemplo: Não podemos usar como nome de variável a palavra pinMode, pois essa palavra é um comando usado pelo programa. O nome da variável deve representar o que ela será no programa, visto que uma excelen- te maneira de lembrar os nomes das variáveis no programa, e principalmente para a compreensão desse programa por outras pessoas. Internet das Coisas: Arduíno 22 AnotaçõesInternet das Coisas: Arduíno - Tema 2 int temperatura; O comado cria uma variável inteira com o nome “tempera- tura”, seguindo as mesmas orientações em relação a criação de nome de varáveis apresentadas anteriormente. A variável “tem- peratura” armazenará o valor da temperatura medida pela leitura do sensor. Portanto, nada mais apropriado do que usar o nome “temperatura” na variável. Serial.begin(9600); Esse comando já foi usado na montagem anterior. Ele serve para estabelecer a comunicação entre a placa Arduino e o com- putador. Usaremos nesse momento a tela do computador como um monitor para mostrar os valores da temperatura medida por meio do sensor LM35. Conforme foi mostrado no vídeo, sempre que você quiser verificar os valores enviados para a tela do computador, basta clicar no comando. Internet das Coisas: Arduíno 23 Anotações Internet das Coisas: Arduíno - Tema 2 Observe a Figura a seguir. A seta indica o local do comando Serial Monitor. O valor de 9600 entre parênteses define a velocidade de comunicação entre a placa e o computador. A velocidade 9600 é padrão. Atualmente, com a evolução das placas Arduino e a atua- lizações da IDE, a velocidade mais utilizada tem sido 115200. Para esse nosso exemplo isso não é importante. Contudo, você pode modificá-lo para esse novo valor com parte do aprendizado. valor = analogRead(A0); Esse comando foi comentado no programa anterior. Aqui a variável “valor” receberá o valor definido pelo conversor analógico/digital após a leitura do pino A0. O comando “analogRead” pode ser traduzido como leitura analógica do pino que está entre parênteses. Internamente, o que acontece é que o processador da placa Arduino lê o valor da tensão aplicada ao pino A0 pelo pino OUT do sensor LM35 e converte esse valor em outro valor, um número entre 0 e 1023. Internet das Coisas: Arduíno 24 Anotações Internet das Coisas: Arduíno - Tema 2 temperatura= ( 5 * valor * 100) / 1024 ; Essa linha de comando é a que transforma o valor lido na porta analógica A0 em um valor de temperatura em graus Celsius. Como visto anteriormente, o sensor LM35 “converte” tempera- tura em tensão. Essa tensão é aplicada ao pino A0. O intervalo de medida do sensor é de -55 a +150 graus Celsius. Isso significa que, se a temperatura estiver em -55 graus, a tensão aplicada ao pino A0 será de 0V. Mas, se a temperatura for de +150 graus, a tensão será de 5V. Qualquer outro valor de temperatura será um valor de tensão entre 0V e 5V. Isso faz com que seja usada a fórmula 5*valor*100/1024. temperatura= ( 5 * valor * 100) / 1024 ; Os símbolos “ * “ e “ / “ significam respectivamente multi- plicação e divisão. Essa fórmula foi pensada para esse tipo de aplicação onde o componente LM35 é ligado diretamente a entrada analógica A0. Internet das Coisas: Arduíno 25 Anotações Internet das Coisas: Arduíno - Tema 2 Internet das Coisas: Arduíno Ampliar conhecimentos Raramente teremos projetos que utilizem o intervalo total de funcionamento do sensor LM35, que é de -55 graus a +150 graus. Esses são valores extremos do sensor. Para aplicações usuais, podemos trabalhar com um intervalo de valores menor que o intervalo extremo do componente. No datasheet do lM35 existe diferentes formas de ligação do componente para obter outros intervalos dependendo do objetivo que deseja alcançar. Com a ligação utilizada nessa montagem, o intervalo de medição do sensor não é de -55 graus a +150 graus. Verificou- se por experimentação que esse tipo de montagem consegue valores entre 0 graus e 60 graus o que mais do que suficiente para uma grande maioria de aplicações. Nesse caso, a fórmula “5*valor*100/1024” é bastante precisa para a maioria das aplicações. Para obter outros intervalos de medição, aconselha- se uma pesquisa no datasheet do LM35. Faça experiências. Serial.print(“Temperatura = “); Esse comando já foi usado na montagem anterior e escre- verá na tela a expressão Temperatura =. Tudo que estiver entre aspas será escrito na tela e continuará na mesma linha para receber o próximo comando. Como visto no exemplo anterior, o comando “print” escreve e permanece na mesma linha. 26 Anotações Internet das Coisas: Arduíno - Tema 2 Serial.print(temperatura); Aqui tem uma situação bem interessante, esse comando é praticamente igual ao comando anterior com a exceção dos sím- bolos de aspas “ ”. Isso mostra que os detalhes fazem diferença na programação. O que será escrito neste caso é o valor da variável temperatura e não a palavra Temperatura. Verifique que no comando anterior a palavra Temperatura mudou de cor e isso aconteceu porque a palavra está entre aspas. Novamente, nesse comando o valor da variável temperatura será escrito e permanecerá na mesma linha continuando o que já estava escrito anteriormente. Serial.println(“ graus Celsius”); Este comando executa de forma bem semelhante o que o comando Serial.print(“Temperatura = “); com a dife- rença de que nesse caso, após escrever a expressão graus Celsius, ocorre um salto para a linha seguinte. Verifique a dife- rença entre os comandos Serial.print e Serial.prinln. Internet das Coisas: Arduíno 27 Anotações Internet das Coisas: Arduíno - Tema 2 delay(1000); Esse comando já foi bastante usado e nesse programa sim- plesmente é uma forma de fazer com que a escrita dos valores na tela fique mais lenta, facilitando a leitura. Modifique o valor 1000 e verifique o que acontece. Esse programa mostra como usar sensores analógicos. O funcionamento de todos é sempre da mesma forma. Converte alguma medida em tensão e essa tensão é lida por alguma porta analógica e transformada em um valor entre 0 e 1023. Daí basta entender o que se quer medir e usar uma fórmula que fará a transformação. Internet das Coisas: Arduíno Dica Observe os detalhes dos comandos. A linguagem usada na programação da plataforma Arduino é bem simples. No entanto, deve-se estar atento aos detalhes. Mude os comandos Serial.print e Serial.prinln para entender melhor o que ocorre. Lembre-se: sempre faça testes e modifique alguns comandos. Isso ajudará muito na compreensão da linguagem. 28 Internet das Coisas: Arduíno - Tema 2 Exploramos neste tema o uso dos sensores analógicos. Continuaremos estudando a plataforma Arduino, compreen- dendo e testando o uso dos sensores digitais. Internet das Coisas: Arduíno Realize pesquisas sobre outros sensores analógicos e faça montagens com esses sensores, têm centenas de exemplos na internet. Explorar Para ter acesso às Atividades de Estudo, veja as telas interativas do curso. 1 Tema 03 Uso de Sensores Digitais 2 Objetivos do Tema Materiais Necessários Anotações Internet das Coisas: Arduíno - Tema 3 • Utilizar e compreender o funcionamento de sensores digitais. • Apresentar a utilização prática da plataforma Arduino no controle de sensores digitais. Você precisará dos seguintes materiais para estudar o Tema 3: Internet das Coisas: Arduíno Placa protoboard 830 pontos Módulo sensor Ultrassônico HC-SR04. Plataforma Arduino Uno Rev3 Módulo sensor Ultrassônico HC-SR04 3 Anotações Internet das Coisas: Arduíno - Tema 3 Internet das Coisas: Arduíno Fios jumpers do tipo macho-macho, pelo menos 10 unidades. 3 leds de cores (vermelho, verde e amarelo). 3 resistores de 390 ohms. Fios jumpers do tipo macho-macho, pelo menos 10 unidades. 3 leds de cores (vermelho, verde e amarelo). 3 resistores de 390 ohms. 4 Uso de Sensores Digitais Internet das Coisas: Arduíno - Tema 3 Na seção anterior, trabalhamos o uso de sensores analógicos e, para tanto, usamos as portas analógicas localizadas ao lado do slot de alimentação. Nessa seção, trabalharemos com os senso- res digitais e para isso usaremos os pinos digitais que estão loca- lizados em dois slots e são numerados de 0 a 13. Observe a figura: Internet das Coisas: Arduíno Sensores digitais são aqueles em que só existem duas possibilidades de sinal. Positivo ou negativo,0 ou 1, desligado ou ligado. Sensores digitais são bastante úteis e muito usados. Devem ser ligados aos pinos digitais que trabalham com aquelas duas possibilidades. Mas, existem sensores digitais que trabalham como se fossem analógicos. Isso ocorre pelo fato de que a frequência de trabalho desses sensores é muito alta e isso faz com que o comportamento dele seja semelhante a sensores analógicos. Verifique o significado no Glossário ao final do curso. 5 Anotações Internet das Coisas: Arduíno - Tema 3 Um exemplo de sensor digital bem interessante é o sensor de ultrassom. Esse sensor tem o seguinte aspecto: Esse sensor é composto por um circuito eletrônico que emite um som em uma frequência muito alta, tão alta que os huma- nos não conseguem ouvir. O sensor tem um alto falante capaz de emitir ondas sonoras de alta frequência e também um microfone capaz de receber ondas sonoras naquelas frequências. Uma onda de som viaja a uma velocidade de aproximadamente 340 metros por segundo no ar e quando ela bate em algum obstáculo é refle- tida, volta para o sensor e é captada pelo microfone. O tempo que a onda demora para ir e voltar até o sensor multiplicada pela velocidade do som no ar será igual a distância do sensor até o obstáculo. Esse recurso é usado por esse sensor para projetos que neces- sitem calcular a distância até algum obstáculo. Internet das Coisas: Arduíno 6 Internet das Coisas: Arduíno - Tema 3 Assista ao vídeo e verifique a montagem proposta para essa seção. Internet das Coisas: Arduíno Apresentação dos Sensores Digitais Para assistir ao vídeo, acesse o link: https://player.vimeo.com/ video/304214006 ARDUINO Curso Internet das coisas: Como visto no vídeo, esse sensor é bem simples de ser utilizado, necessitando de apenas dois pinos digitais do Arduino. Podem ser usados quaisquer pinos digitais. Os pinos utilizados serão determinados durante a programação. Um fato que simplifica muito a utilização da plataforma Arduino é o uso de bibliotecas. Esse fato é tão importante que separaremos uma boa parte dessa seção para a explicação do uso de bibliotecas. Uso de Bibliotecas Uma biblioteca é um pequeno programa que já faz grande parte das ações necessárias para serem usadas em outros pro- gramas. As bibliotecas podem ser comparadas a ferramentas. São usadas para tornar mais simples o uso de sensores e outros dispositivos usados na plataforma Arduino. Sempre que surge um novo sensor ou dispositivo, ele vem acompanhado de uma biblioteca que simplifica o seu uso. Vamos entender melhor o que é uma biblioteca no caso da plataforma Arduino, usando o exemplo desse sensor ultrassônico. 7 Anotações Internet das Coisas: Arduíno - Tema 3 O programa para o cálculo da distância deve enviar um sinal para o sensor emitir uma onda de som. Imediatamente começa a medir o tempo e aguardar o sinal que o microfone receberá após a onda ter batido no obstáculo e retornado. Em seguida verifi- ca o tempo que a onda de som gastou para sair do sensor, bater no obstáculo e retornar ao sensor. Sabendo que a velocidade de propagação do som no ar é de aproximadamente 340 metros por segundo, usam-se as fórmulas: velocidade = espaço ÷ tempo e espaço = velocidade x tempo. Lembrando que o espaço a ser considerado é duas vezes a distância (ida e volta até o obstáculo). Então, o resultado final seria dividido por dois. Você percebe que não é tão complexo fazer um programa que utilize o sensor. Talvez, seria algo trabalhoso, principalmente para os menos experientes. Bom, a grande vantagem de usar uma biblioteca é que todo esse trabalho já foi feito por alguém que fez a biblioteca. Desse modo, basta utilizar os comandos que a biblioteca disponibili- za. No caso de sensor ultrassônico o comando “ultrasonic. Ranging(CM)”. E ainda mais simples é o detalhe de que o parâmetro (CM) entre parênteses já indica que a medida está em centímetros. Isso torna a programação tão simples com o uso de bibliotecas que sobra muito tempo para usar a criatividade para construir produtos muito úteis. Praticamente todos os sensores mais complexos têm biblio- tecas específicas para facilitar o seu uso. O número de bibliotecas para a plataforma Arduino cresce a cada dia. É uma prática entre os desenvolvedores que todas as bibliotecas devem ser comparti- lhadas por todos os interessados, isso é muito bom, pois os even- tuais erros podem ser descobertos e corrigidos. Internet das Coisas: Arduíno Pesquise sobre sensores e as bibliotecas que os acompanham. Contudo, para se utilizar as bibliotecas, é necessário primeiro fazer a instalação dessa biblioteca na IDE da Plataforma Arduino. Esse procedimento não é complexo. A partir da versão 1.6.0, a instalação das bibliotecas é feita diretamente na IDE. Veremos os passos para a instalação da biblioteca “Ultrasonic.h” que será utilizada no programa de medição de distância. Explorar 8 Anotações Internet das Coisas: Arduíno - Tema 3 Acesse o gerenciador de bibliotecas. No gerenciador de bibliotecas você verá o local para digitar a biblioteca que deseja instalar. Digite Ultrasonic. Depois use a barra de rolagem para encontrar a biblioteca ultrasonic-library- -master e clique para fazer a instalação. Passo 1: Passo 2: Internet das Coisas: Arduíno 9 Anotações Internet das Coisas: Arduíno - Tema 3 Internet das Coisas: Arduíno Fique Atento Algumas versões da IDE da Plataforma Arduino podem não aparecer na biblioteca Ultrasonic-library-master. Nesse caso, como sugestão, você pode optar por instalar a biblioteca Ultrasonic. A única diferença é que o comando “ultrasonic. Ranging(CM)” será substituído pelo comando “ultrasonic. read()” e as demais observações no programa serão exatamente as mesmas. Verifique outras bibliotecas e compare as mudanças nos comandos. Você observará que são bem semelhantes. Dica A IDE da plataforma Arduino já tem um número significativo de bibliotecas testadas e algumas com várias versões. Toda vez que você abrir a plataforma Arduino e estiver conectado à internet, o programa de atualização verificará a existência de novas bibliotecas que já foram largamente testadas e podem fazer parte da plataforma Arduino, bastando para isso instalar e começar a usar. Lembre-se que para a utilização da biblioteca é necessário seguir os passos anteriores para que a biblioteca seja instalada. Obs: Como sugestão, você deve fazer uma pesquisa sobre outras formas de instalação de bibliotecas na plataforma Arduino. Feita a instalação da biblioteca Ultrasonic, automaticamente aparecem mais opções de comandos que fazem parte da biblioteca. Uma forma de verificar esses novos comandos é realizar uma pesquisa sobre a biblioteca no Google. Outra forma é pesquisar no endereço https://www.arduino.cc/ en/Reference/Libraries. Neste link, você encontrará todas as informações sobre os comandos de inúmeras bibliotecas e com muitos exemplos. Explore esses novos comandos e faça pesquisas sobre outras bibliotecas. Explorar 10 Anotações Internet das Coisas: Arduíno - Tema 3 Vamos à montagem! Observe agora a Figura. Assista ao vídeo e use os detalhes da figura para que não cometa erros durante a montagem. Internet das Coisas: Arduíno Montagem usando Sensores Digitais Para assistir ao vídeo, acesse o link: https://player.vimeo.com/ video/304213991 ARDUINO Curso Internet das coisas: 11 Anotações Internet das Coisas: Arduíno - Tema 3 Feita a montagem basta digitar o seguinte programa: Vamos analisar cada linha de comando para compreender integralmente o programa. #include “Ultrasonic.h” O comando #include faz a inclusão da biblioteca ultraso- nic.h no nosso programa. Deve ser o primeiro comando quando formos utilizar uma biblioteca específica. Em alguns exemplos de programas será necessário incluir outras bibliotecas. Para cada uma delas é necessário o comando #include. int distancia; O comado int já foi usado em exemplos anteriores e é sim- plesmente a criação deuma variável do tipo inteira para armaze- nar o valor da distância calculada pelo sensor durante a execução do programa. Internet das Coisas: Arduíno Observe que alguns dos sensores usados pela plataforma Arduino já vem quase prontos para a utilização. Sempre tem nesses sensores a indicação VCC e GND. Isso é quase um padrão. VCC significa +5V e deve ser ligado no pino correspondente. Para a ligação GND existem três pinos que podem ser usados. Para cada tipo de sensor, existirá um ou mais pinos que tem a função de enviar o sinal correspondente. 12 Anotações Internet das Coisas: Arduíno - Tema 3 Ultrasonic ultrasonic(11,12); Esse é um dos comandos mais importantes desse programa. Esse comando diz para o compilador quais pinos serão usados pelo sensor e em que ordem. O primeiro parâmetro é o pino usado para ser ligado ao pino Trig do sensor; o segundo é o pino usado para ser ligado ao pino Echo do sensor. Esse comando facilita muito o uso do sensor com a biblioteca. Se você desejar poderá mudar os números 11 e 12 por quaisquer outros pinos do Arduino, desde que sejam pinos digitais. Lembrando sempre da sequência: primeiro Trig e depois Echo. Um outro detalhe muito importante desse comando é o nome que você pode escolher no seu programa. A primeira palavra Ultrasonic (a que inicia com letra maiúscula) faz parte da biblioteca, mas a segunda palavra pode ser qualquer palavra que você quiser, desde que não utilize palavras que são comandos de programação. Internet das Coisas: Arduíno 13 Anotações Internet das Coisas: Arduíno - Tema 3 Serial.begin(9600); Esse comando já foi usado no programa anterior, ele simples- mente abre a comunicação entre o computador e a Plataforma Arduino e assim poderemos ver os valores calculados no programa. Internet das Coisas: Arduíno Poderíamos usar Ultrasonic metros(11,12); Não poderíamos usar Ultrasonic pinMode(11,12); Uma grande vantagem do uso das bibliotecas é que não há necessidade de indicar no programa que os pinos 11 e 12 são entradas ou saídas. Isso tudo já foi feito através do comando Ultrasonic ultrasonic (11,12); Exemplo 14 Anotações Internet das Coisas: Arduíno - Tema 3 distancia= ( ultrasonic.Ranging(CM)); Esse é o mais importante dos comandos do programa, pois grava na variável distancia o valor já calculado em cm. É muito interessante saber que por trás desse comando tem uma sequência de ações que é mais ou menos a seguinte: enviar um comando através do pino 11 ao sensor para que um som de altís- sima frequência seja enviado para que ele atinja um obstáculo e seja refletido; captar através do microfone do sensor o som emi- tido e enviar pelo pino 12; calcular o tempo que demorou entre enviar o som e receber de volta; fazer os cálculos para determinar a distância em cm. Nesse momento, percebemos o quanto o uso de uma biblioteca facilita o uso de sensores. Essa biblioteca é tão versátil que se utilizássemos o comando distancia= ( ultrasonic.Ranging(INC)); Trocando CM por INC o resultado será a medida da distância em polegadas. Internet das Coisas: Arduíno 15 Anotações Internet das Coisas: Arduíno - Tema 3 Serial.print(“Distância = “); Esse comando escreverá na tela do monitor a expressão Distância =. Como o comando foi print o cursor continua na mesma linha aguardando o próximo comando de escrita. Serial.print(distancia); Aqui o que será escrito é o valor da variável distancia. Note que há uma diferença importante em relação ao comando anterior: naquele caso a expressão Distância = estava entre aspas e aqui a palavra distancia é exatamente igual ao nome da variável. Portanto, será escrito o valor atual que essa variável tem. Novamente o comando usado é print, fazendo com que o cursor permaneça na mesma linha e o próximo comando de escrita con- tinuará logo após o valor da variável distancia. Internet das Coisas: Arduíno Serial.println(“ cm”); Nesse comando, apenas a palavra cm será escrita e, como foi usado o comando println, será finalizada a linha e inicia- da uma nova linha. O próximo comando de escrita será então na próxima linha. 16 Anotações Internet das Coisas: Arduíno - Tema 3 delay(500); Esse comado define uma pausa de 500 milissegundos, ou 0,5 segundo, para o próximo comando. Isso para que a escrita dos valores no serial monitor não fique muito rápida, facilitando a lei- tura dos valores. Veja que o programa é bem simples com o uso da biblioteca. Isso será bastante comum na Plataforma Arduino. Releia o pro- grama para fixar. Internet das Coisas: Arduíno Sensores ultrassônicos são muito usados atualmente em muitos produtos que vemos no dia a dia. Eis alguns exemplos: • Sensores de estacionamento nos carros que auxiliam o motorista na hora de estacionar. • Aparelho para auxílio de deficientes visuais, pois esses aparelhos ajudam a detectar obstáculos. • Em alguns shopping centers existe uma forma de geren- ciamento automático de disponibilidade de vagas. Em 17 Anotações Internet das Coisas: Arduíno - Tema 3 cada vaga do estacionamento foi instalado um equipa- mento que detecta quando não há carro estacionado na vaga e aciona uma luz verde, visível de longe, indicando a outros motoristas que a vaga não está ocupada. Caso haja carro estacionado na vaga, uma luz vermelha fica acesa indicando que a vaga está ocupada. Esses equipamentos usados em shopping centers utilizam dois sensores como os que estudamos nessa seção. Ele fica ins- talado no teto da vaga de estacionamento e fica o tempo todo medindo a distância entre o teto e o que tem abaixo dele. Quando um carro é colocado na vaga, os sensores detectam que houve a mudança da distância e informam ao equipamento que muda a cor da luz. Agora, é interessante entender o motivo pelo qual esse equi- pamento usa dois sensores em cada vaga. Os sensores são ins- talados com uma distância entre si e com ângulo tal que só será acionado se os dois sensores detectarem um objeto ao mesmo tempo. Assim, ele detecta quando é teto de um carro, mas ignora a presença de uma pessoa na vaga. Isso é importante para que o equipamento possa ser preciso e eficiente. Sensores de ultrassom são muito versáteis e podem ser a base de muitos projetos e equipamentos que você poderá construir. Faça algumas pesquisas na internet e descubra projetos sobre esse sensor. Todos os projetos envolvendo sensor ultrassônico tem na sua base o programa que usamos nessa seção. Seja auda- cioso e tente construir equipamentos baseados nele. Outros sensores digitais têm o seu funcionamento bem pare- cido. A base de todos é sempre a mesma. Você encontrará os pinos de alimentação VCC e GND. Dependendo do sensor, 1 ou 2 pinos de sinal podem ser necessários. Internet das Coisas: Arduíno Dica Na internet, os projetos são muito bem documentados, existem muitos vídeos e fóruns de discussões. Aproveite essas oportunidades para melhorar o seu aprendizado. Para ter acesso às Atividades de Estudo, veja as telas interativas do curso. 18 Anotações Internet das Coisas: Arduíno - Tema 3 Internet das Coisas: Arduíno Concluímos o Tema 3, no qual experimentamos conceitos e comandos relativos aos sensores digitais. Vamos estudar, na próxima seção, o último conteúdo proposto para este curso: os fundamentos de automação. Com este conhecimento, associado aos dos demais temas estudados, será possível desenvolver diversos projetos com a placa de Arduino, contando com sua ousadia e criatividade! 1 Tema 04 Fundamentos de Automação com a Plataforma Arduino 2 Objetivos do Tema Materiais Necessários Anotações Internet das Coisas: Arduíno - Tema 4 • Compreender os fundamentos da automação usando a plataforma Arduino. • Utilizar e compreender o funcionamento de pinos especiais da plataforma Arduino. • Montar um exemplo de uma simples automação com motores. • Apresentar exemplos mais complexos do uso da plataforma Arduino em projetos de automação. Internet das Coisas: Arduíno Você precisará dosseguintes materiais para estudar o Tema 4: Plataforma Arduino Uno Rev3 Ponte H modelo L298N Placa protoboard 830 pontos 3 Anotações Internet das Coisas: Arduíno - Tema 4 Internet das Coisas: Arduíno 3 leds de cores (vermelho, verde e amarelo). 3 leds de cores (vermelho, verde e amarelo). Fios jumpers do tipo macho-macho e fêmea- fêmea pelo menos 5 unidades de cada Motor DC com redução e roda Bateria de 9 V e clip Potenciômetro de 10k 4 Anotações Internet das Coisas: Arduíno - Tema 4 Internet das Coisas: Arduíno Sensor de umidade de solo Fundamentos de Automação com a Plataforma Arduino A automação é uma área da engenharia que se dedica a tornar processos e equipamentos capazes de efetuar atividades com a mínima ou sem nenhuma interferência humana. Automatizar é tornar algo capaz de fazer uma atividade ou processo de forma autônoma. Essa é uma tendência nos dias atuais, pois, com o avanço da tecnologia, a automatização ficou mais simples e acessível a um grande número de pessoas. Um dos objetivos dos criadores da Plataforma Arduino é aproximar a automação e as pessoas. Existem muitos projetos na internet de automação utilizando a Plataforma Arduino. Alguns exemplos de automação: Monitoramento de ambientes: • Movimentos. • Presença de gases. Automação residencial: • Controle de temperatura. • Irrigação automática de um jardim. • Alimentação de animais. 5 Anotações Internet das Coisas: Arduíno - Tema 4 Automação comercial : • Controle de acesso. • Controle de iluminação com movimentos. Neste Tema, aprenderemos fundamentos da automação e mostraremos exemplo de uma montagem que o auxiliará a entender como controlar um motor DC (Direct Current ou corren- te contínua). E mais: essa montagem poderá ser adaptada para outros tipos de automação. O princípio é o mesmo. Você poderá desenvolver seus próprios projetos com os conhecimentos adquiridos ao estu- dar este Tema. Todo sistema de automação é composto com pelo menos três elementos: sensor, controlador e atuador. Os sensores são responsáveis por levarem ao controlador as informações externas importantes ao sistema de automação. O controlador fará a interpretação dos sensores e tomará a decisão programada para aquela situação naquele sistema. Após a leitura dos sensores e a tomada de decisão, o contro- lador enviará ao atuador informações para que ele possa agir e executar a ação para a qual foi projetado. Um exemplo para esclarecer a respeito de um sistema de auto- mação: um equipamento que faz a irrigação automática de uma horta. São usados sensores de umidade de solo para identificar a quantidade de água em determinado local. Os sensores enviam essas informações para o controlador que processa os dados recebidos e toma a decisão de irrigar ou não determinada área. Ao decidir por irrigar, envia ao atuador, que nesse caso pode ser uma bomba de água, um comando para que seja realizada a irrigação. Podemos comparar os elementos de um sistema de automa- ção com um ser humano. Os sensores fazem o papel dos sentidos: audição, olfato, tato, visão e paladar. O controlador é o cérebro, que recebe as informações dos sentidos e decide o que fazer. Os atuadores são os membros do corpo: braços e pernas. Observe que em um sistema de automação é comum existirem vários sensores e vários atuadores, mas apenas um controlador. Internet das Coisas: Arduíno 6 Anotações Internet das Coisas: Arduíno - Tema 4 Nada impede que tenha também vários controladores, mas assim mesmo terá um controlador que fará o gerenciamento dos demais. Você já deve ter percebido que a Plataforma Arduino fará o papel de controlador. Os sensores poderão ser do tipo analógicos ou digitais, conforme visto anteriormente. A Plataforma Arduino é um equipamento capaz de receber informações de sensores e enviar comandos para atuadores. Desenvolver um sistema de automação é fazer a escolha apropriada de sensores e de atuado- res. O sistema fará a leitura dos sensores e decidirá o que fazer e indicar como os atuadores agirão. Existe um detalhe importantíssimo para desenvolver um sis- tema de automação: a Plataforma Arduino não tem capacidade de controlar diretamente alguns atuadores, um motor por exem- plo. Motores DC exigem tensões e correntes bem superiores as que os pinos da Plataforma Arduino podem fornecer. Os pinos da Plataforma Arduino fornecem no máximo 5V por 40mA. Isso é muito pouco para qualquer motor DC. Internet das Coisas: Arduíno Faça uma pesquisa sobre motores DC, procure entender os tipos, as tensões, as correntes que utilizam e onde são usados. Essa pesquisa será bastante útil para o seu aprendizado sobre sistema de automação. Um desses dispositivos é a ponte H. Esse dispositivo é largamente usado em montagens com a Plataforma Arduino. Existe diversos modelos de pontes H. Um dos modelos mais usados é o da figura ao lado. Explorar Explorar O que fazer, então, para que a Plataforma Arduino possa con- trolar um motor? Para isso existem outros dispositivos que auxi- liam a Plataforma Arduino a controlar motores ou outros atuado- res como, por exemplo, relés. Esse modelo é capaz de controlar até dois motores DC e tra- balham com tensão máxima de 36V e corrente máxima de 2A. Esses parâmetros são muito bons para serem usados em um grande número de projetos de automação. No nosso caso mostraremos como usar esse modelo e como controlar essa ponte H com a Plataforma Arduino. 7 Anotações Internet das Coisas: Arduíno - Tema 4 Observe a figura. Vamos aprender sobre a função de todos os pinos dessa ponte H. Internet das Coisas: Arduíno Motor 1 e Motor 2: Esses pinos são para encaixar as conexões dos motores a serem controlados. A ponte da ilustração pode controlar até dois motores de forma independente. Ela pode também controlar um motor de passo. Motor de passo é um tipo especial de motor DC. São usados em projetos que necessitem de precisão, como por exemplo impressoras 3D (três dimensões) ou máquinas do tipo CNC (Computer Numeric Control ou Comando numérico computadorizado). Nesse curso, não trabalharemos com motores de passo. Mas, isso não impede que você pesquise para aprender como é feito o controle desse interessante motor. 6-35v: Esse pino é a entrada de voltagem para alimentação dos motores. Observe que o intervalo de valores é bem extenso: de 6 a 35 volts. Isso é uma ótima característica, pois permite que possam ser usados vários tipos de motores. Essa entrada repre- senta o positivo da alimentação que será usada. GND: Esse é o negativo para alimentação. 8 Internet das Coisas: Arduíno - Tema 4 5V: Esse é um pino de saída de alimentação. Pode ser usado para alimentar o controlador e com ela não é necessário usar outra fonte de alimentação. Para que esse pino possa ser usado é necessário que seja ativado o pino Ativa 5V. Ativa 5V: Essa ponte H utiliza um circuito integrado que tem internamente um regulador de 5 V, o que garante essa voltagem no pino 5V. Um jumper ligando os dois pinos ativa a voltagem do pino 5V. Jumper é uma ligação móvel entre dois pinos ou partes de um circuito eletrônico; pode ser uma peça plástica que conduz eletricidade entre dois pinos, como exemplificado na figura ao lado, ou os fios com conectores que já usamos antes no curso. Abaixo do pino 5V, existem 8 pinos que servirão para o con- trole efetivo dos motores, sendo que dois estão alinhados mais atrás do que os demais. Para cada motor é necessário usar três pinos, dois para o contro- le do sentido do motor e um pino para o controle da sua velocidade. Para o controle de velocidade usaremos uma função especial da Plataforma Arduino, chamado de PWM (Pulse Width Modulation) sobre a qual já falamos na primeira parte do curso. Mas, as carac- terísticas dessa função especial serão detalhadas em breve. Internet das Coisas: Arduíno Jumper plástico ligando os dois pinos Pino alinhado atrás Pino alinhado atrás 9 Anotações Internet das Coisas: Arduíno
Compartilhar