Baixe o app para aproveitar ainda mais
Prévia do material em texto
2 ARDUINO 2.1 O que é Arduino O Arduino foi criado em 2005 por um grupo de 5 pesquisadores : Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino e David Mellis. O objetivo era elaborar um dispositivo que fosse ao mesmo tempo barato, funcional e fácil de programar, sendo dessa forma acessível a estudantes e projetistas amadores. Além disso, foi adotado o conceito de hardware livre, o que significa que qualquer um pode montar, modificar, melhorar e personalizar o Arduino, partindo do mesmo hardware básico. O Arduino é uma plataforma de hardware open source, projetada sobre o microcon- trolador Atmel AVR, que pode ser programado através de uma linguagem de programação similar a C/C++, permitindo a elaboração de projetos com um conhecimento mínimo ou mesmo nenhum de eletrônica. Foi criado com o objetivo de fornecer uma plataforma de fácil prototipação de projetos interativos, unindo software e hardware, características da Computação Física. A Computação Física é uma área da Computação na qual o software se comunica diretamente com o hardware, controlando componentes eletrônicos, como sensores e atuadores, permitindo construir sistemas que consigam perceber e interagir com ambientes reais. A placa Arduino dor, memóriaé muito similar à de um computador de pequeno porte, sendo composto por um microcontrolador RAM, armazenamento secundário (memória flash) e clock, entre outras funcionalidades. Editora Érica - Arduino Descomplicado - Como Elaborar Projetos de Eletrônica - Cláudio Luís V. Oliveira e Humberto Augusto P. Zanetti - 1a Edição pag 18 2.2 Tipos de Arduino Arduino Uno Dentre os tipos de Arduino, este possui um bom número de portas disponíveis, e grande compatibilidade com os shields disponíveis no mercado. Possui processador ATMEGA328, 14 portas digitais, sendo que 6 delas podem ser usadas como saidas PWM, e 6 portas analógicas. A alimentação (selecionada automaticamente), pode vir da conexão USB ou do conector para alimentação externa (recomendável 7 à 12 Vdc). Esta placa, na versão com soquete, permite a troca do chip microcontrolador ATMEGA328 facilmente em caso de dano ao microcontrolador ou se o mesmo for utilizado em projetos dedicados. Existe também a placa Arduino Uno versão SMD, com o microcontrolador soldado na placa. Arduino Mega 2560 Versão maior da placa Arduino, com microcontrolador ATmega2560 e 54 portas digitais, das quais 15 podem ser usadas como PWM, além de 15 portas analógicas. Clock de 16 Mhz, conexão USB e conector para alimentação externa. Ideal para projetos mais elaborados que exijam grande número de entradas e saídas. Arduino Leonardo Placa à primeira vista muito parecida com o Arduino Uno, mas com microcontrolador Atmega32u4, possuindo 20 portas digitais, das quais 7 podem ser usadas como PWM, e 12 como portas analógicas. Esta placa também possui clock de 16 Mhz e conexão pra alimentação externa. Diferentemente do Arduino Uno, possui conector micro-usb para ligação ao computador. Outra característica dessa placa é o chip de conexão USB integrado ao microcontrolador, o que elimina a necessidade de um chip adicional de comunicação na placa, e permite que o Arduino Leonardo seja reconhecido pelo computador como se fosse um mouse ou um teclado, e não necessariamente como uma porta serial (também disponível). Arduino Due De todos os tipos de Arduino esta é a placa com maior capacidade de processamento, baseada em um microcontrolador ARM de 32 bits e 512 Kb de memória totalmente disponível para programas/aplicações. O bootloader já vem gravado de fábrica em uma memória ROM dedicada. Possui 54 portas digitais, das quais 12 podem ser usadas como PWM, e 12 portas analógicas. Possui também 4 chips controladores de portas seriais, conexão USB e conector para alimentação externa. As ligações desta placa exigem especial atenção pois as portas trabalham à 3.3V, o que pode comprometer o uso dos shields disponíveis no mercado, que geralmente trabalham com 5v. Arduino Mega ADK Também baseado no ATmega2560, esta placa possui uma conexão USB dedicada à ligação com dispositivos baseados em Android, como telefones celulares. Possui 54 porta digitais, das quais 15 podem ser usadas como PWM, 16 portas analógicas, 4 chips dedicados à comunicação serial, clock de 16 Mhz e conexão ao computador via USB. Também possui conector para alimentação externa. Arduino Nano Placa compacta baseada no microcontrolador ATmega328 (para placas Arduino Nano versão 3.x), ou ATmega168 (versão 2.x). Ao contrário das outras placas, não possui conector para alimentação externa, sendo alimentada por um conector USB Mini-B. É uma placa desenvolvida pela Gravitech. Possui 32 Kb de memória (Nano versão 3.0), ou 16 Kb (Nano versão 2.0), sendo que 2 K são usados pelo bootloader. Seu tamanho reduzido (4,3 de comprimento x 1,85 de largura) faz dessa placa uma boa opção para projetos compactos que exijam atualização constante de software. Arduino Pro Mini Placa compacta, ideal para projetos permanentes e que não necessitem de grande poder de processamento ou constante atualização. O microcontrolador utilizado por esta placa é o ATmega168 que, dependendo da versão da placa, roda à 8 Mhz (placa versão 3.3v) ou 16 Mhz (placa versão 5v). Possui 14 portas digitais, sendo que 6 podem ser usadas como PWM, e 8 portas analógicas. Não possui conexão USB ou conector para alimentação externa. Para comunicação com o computador, pode ser adquirido um módulo USB separadamente, ou utilizada uma placa Arduino para programação, como mostrado no artigo Programando um Arduino Pro Mini com Arduino Uno. Arduino Esplora Com o formato parecido com o de um controle de videogame (e até pode ser usado como um, dependendo da criatividade do desenvolvedor), o Arduino Esplora é uma placa diferente de todas as outras da família Arduino, principalmente por possuir diversos sensores na sua construção. Nessa placa vem embutido um buzzer, um joystick, um potenciômetro deslizante, um sensor de temperatura, um acelerômetro, um led RGB, um sensor de luz (LDR), 4 push-buttons e um microfone. Além de tudo isso, ainda possui um soquete para tela LCD. É uma placa indicada para quem deseja aprender Arduino sem se preocupar muito com eletrônica, uma vez que os componentes já estão embutidos na placa. Assim o usuário pode se concentrar na parte de programação. Baseado no Arduino Leonardo, utiliza o microcontrolador Atmega32U4, com clock de 16 Mhz e 32 KB de memória (4K usados pelo bootloader). Possui 2 conectores de 3 pinos, para conexão de módulos adicionais. A conexão com o microcomputador utiliza cabo micro-usb. 2.3 Escrever um programa em Arduino é muito simples. Tudo o que você precisa é conectá-lo ao computador por meio de um cabo USB e utilizar um ambiente de programação chamado IDE, onde você digita o programa, faz os testes para encontrar eventuais erros e transfere o programa para o dispositivo. A programação do arduino é composta por duas partes, ou dois blocos: setup() – É nessa parte do programa que você configura as opções iniciais do seu programa: os valores iniciais de uma variável, se uma porta será utilizada como entrada ou saída, mensagens para o usuário, etc. loop() – Essa parte do programa repete uma estrutura de comandos de forma contínua ou até que algum comando de “parar” seja enviado ao Arduino. Assim como em qualquer dispositivo programável, a plataforma Arduino necessita que os programas sejam desenvolvidos em uma linguagem de programação, compilados e, posteriormente, transferidos para o Arduino, de modo que seja possível a execução dos comandos utilizados no programa. Com o intuito de facilitar e tornar o processo mais pro- dutivo, utilizamos um programa denominado ambiente integrado de programação, comu- mente chamado de IDE, do inglês Integrated Development Environment. Pag 19 O Arduino, assim como qualquer outrodispositivo programável, necessita de uma lingua- gem de programação. Podemos entender, de uma maneira sintética, que uma linguagem de programação é um conjunto de comandos que permitirão o desenvolvimento de um programa para computador ou qualquer outro dispositivo programático. Esses comandos possuem re- gras que podem ser classificadas como sintáticas e semânticas. A sintaxe de uma linguagem corresponde ao conjunto de palavras que podem ser usadas para expressar os comandos. Já a semântica diz respeito ao significado dessas palavras (comandos), indicando quais ações e funções devem ser realizadas. A solução para um determinado problema computacional, pensada pelo programador e descrita em linguagem de programação, é chamada algoritmo. Por intermédio da linguagem, o programador consegue especificar como os dados serão tratados, armazenados e manipulados em um computador. Essa organização de comandos e regras é chamada de código-fonte. Uma vez criado esse código-fonte, temos toda a solução lógica (algoritmo) e comandos. Este é traduzido para uma linguagem de mais baixo nível, de máquina, para ser compreendida e executada pelo processador. Pag 27. 2.4 IMPUTS E OUTPUTS 2.4.1 Entradas Analógicas As entradas digitais só podem assumir dois estados, HIGH e LOW, ou seja, 0 V ou 5 V. Dessa forma só é possível ler apenas dois estados. Por exemplo, verificar se uma porta está aberta ou fechada, identificar se um botão está pressionado ou solto, etc. Com as entradas digitais você aplica em lógica discreta para controle de seus projetos, porém em muitas situações a variação das grandezas envolvidas acontece de forma analógica. Ou seja, variam continuamente em relação ao tempo e podem assumir infinitos valores dentro de uma faixa. Como exemplo a temperatura, pressão e umidade são grandezas que variam dessa forma. O microcontrolador da Arduino trabalha internamente com dados digitais, portanto é necessário traduzir um sinal analógico para um valor digital. A técnica utilizada para leitura de um sinal analógico pelo Arduino é a conversão analógica digital. Essa técnica consiste em converter o sinal analógico para um valor digital, dessa forma se pode quantificar o sinal presente no pino. Esse processo é feito pelo conversor Analógico digital, ADC ou conversor A/D. https://www.embarcados.com.br/arduino-entradas-analogicas/ Exemplo - Entradas Analógicas com Arduino Para iniciar o estudo da entrada analógica, a maneira mais simples e rápida é ligando um potenciômetro a uma entrada analógica, conforme esquema apresentado em seguida: Entradas Analógicas Figura 2 - Ligação de um potenciômetro a uma entrada analógica Se girarmos o cursor do potenciômetro, alteramos a resistência em cada lado do contato elétrico que está conectado ao terminal central do botão. Isso provoca a mudança na proximidade do terminal central aos 5 volts ou GND, o que implica numa mudança no valor analógico de entrada. Quando o cursor for levado até o final da escala, teremos, por exemplo, 0 V a ser fornecido ao pino de entrada do Arduino e, assim, ao lê-lo obtém-se 0. Quando giramos o cursor até o outro extremo da escala, haverá 5 V a ser fornecido ao pino do Arduino e, ao lê-lo, teremos 1023. Em qualquer posição intermediaria do cursor, teremos um valor entre 0 e 1023, que será proporcional à tensão elétrica sendo aplicada ao pino do Arduino. 2.4.2 Pinos de entrada e saída digital Primeiramente, deve-se ter em mente que, quando falamos em entradas ou saídas digitais em uma placa Arduino, estamos falando de elementos que trabalham apenas dois níveis de tensão definidos. No caso do Arduino UNO, por exemplo, estes são: Um nível lógico alto, correspondente a 5V; Um nível lógico baixo, correspondente a 0V. Em um Arduino UNO, as entradas e saídas digitais estão localizadas desde pino 0 até o pino 13. Note que, estes pinos devem ser configurados previamente para que atuem como entradas ou saídas (é importante ressaltar que alguns destes pinos possuem funções especiais, no entanto, isto será tratado em outros tutoriais. Neste momento basta salientar a função destes enquanto entradas e saídas digitais). https://www.embarcados.com.br/arduino-entradas-analogicas/
Compartilhar