programação para arduíno_curso de extensão
TRANSCRIPT
![Page 1: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/1.jpg)
Programação para Arduíno
Curso de ExtensãoProf. MSc. Algeir Sampaio
![Page 2: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/2.jpg)
Sumário
• Introdução• Características• Começando...• Programação Básica• Projetos• Bibliografia• Sites
![Page 3: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/3.jpg)
3
Introdução
• Microprocessador– CPU–ULA–UC
• Microprocessador x Microcontrolador
CPU
UC ULA
![Page 4: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/4.jpg)
Introdução
![Page 5: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/5.jpg)
5
Definição
• O que é um microcontrolador?– É computador num chip, que contém
um processador, memória e funções de E/S.
• Elementos adicionais–Memória RAM, EEPROM ou flash– Periféricos– Interfaces de E/S.
• Baixo consumo de energia.
![Page 6: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/6.jpg)
Microcontrolador
![Page 7: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/7.jpg)
Arquitetura Interna de um μC
![Page 8: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/8.jpg)
Aplicação de μCs
![Page 9: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/9.jpg)
9
Sistemas Microcontrolados
• Os microcontroladores são rápidos e precisos.
• São máquinas seqüenciais.• Sistemas que necessitam Controle
Automático são microcontrolados.• Aplicação dos microcontroladores– Telefonia, Automóveis, Aviação– Eletrodomésticos, Celulares, Segurança
Eletrônica
![Page 10: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/10.jpg)
10
Microcontroladores (μCs)
• Para trabalharmos com microcontroladores precisaremos de:–Hardware de gravação do
microcontrolador– Kit de desenvolvimento ou simulador– Conhecimento de programação–Um compilador – Projetos de aplicação
![Page 11: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/11.jpg)
Arduino
• O Arduino é uma placa de controle E/S baseada no microcontrolador Atmega (Atmel), que serve de controle para diversos outros sistemas.
• Esta placa de controle E/S open-source já é muito divulgada no exterior.
• Seu diferencial é que a sua concepção é open-source.
• Seus códigos de aplicação são abertos e divulgados.
![Page 12: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/12.jpg)
Arduino• O conceito do Arduino surgiu na Itália em
2005 com o objetivo de criar um controlador para projetos/protótipos construídos de forma menos dispendiosa que outros sistemas existentes no mercado, então.
• É uma plataforma de computação física, baseada em uma placa de E/S microcontrolada e desenvolvida sobre uma biblioteca que simplifica a escrita da programação em C/C++.
![Page 13: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/13.jpg)
Arduino
• Uma plataforma de computação física é um conjunto de sistemas digitais ligados a sensores e atuadores, que permitem construir sistemas que tenham noção do ambiente e que atuem sobre esse ambiente com ações físicas.
• Um microcontrolador é um processador que traz consigo memória e periféricos de E/S.
![Page 14: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/14.jpg)
Arduino
• Esta placa foi projetada com finalidades educativas.
• Ideal para ajudar designers e artistas a criarem obras interativas sem terem muitos conhecimentos de eletrônica.
• A idéia básica de uso é introduzir sensores ou chaves nos conectores de entrada, e LEDs, displays, relés, motores e outros dispositivos que possam ser acionados pelos sinais de saída.
![Page 15: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/15.jpg)
Arduino
• Uma plataforma Arduino é capaz de receber sinais de entrada que podem indicar diversas variáveis, processar esses sinais e controlar seus canais de saídas para atuarem a partir deste processamento.
• È baseado no microcontrolador Atmega e programável em uma linguagem baseada em C/C++ para executar um conjunto de ações.
![Page 16: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/16.jpg)
Arduino
• O grande barato é que a comunidade que usa o Arduino, cresce cada vez mais e divulga seus códigos de aplicação, dentro da filosofia open-source.
• Qualquer programador pode modificar e ampliar de acordo a necessidade, divulgando, da mesma forma.
![Page 17: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/17.jpg)
Arduino
• Projetado com possibilidades multiplataforma, é de fácil entendimento, programação e aplicação.
• Rodando em ambientes Windows, GNU/Linux e Mac OS.
• Está sendo utilizado, mesmo por quem não tem domínio da eletrônica e pode ser usado tanto para aplicações simples quanto para tarefas mais complexas.
![Page 18: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/18.jpg)
Características
![Page 19: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/19.jpg)
Layout
![Page 20: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/20.jpg)
Esquema
![Page 21: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/21.jpg)
Características
• Existem várias placas Arduino:– Arduino Uno– Arduino Duemilanove– Arduino MEGA– Arduino Nano– Tatuino– Etc...
![Page 22: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/22.jpg)
Tipos de Arduino
Arduino Nano
![Page 23: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/23.jpg)
Tipos de Arduino
Arduino Mega
![Page 24: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/24.jpg)
Características
• O Arduino Duemilanove é uma placa baseada no microcontrolador ATmega168 ou ATmega328.
• Tem 14 pinos de entrada ou saída digital, dos quais 6 são utilizados como PWM, 6 entradas analógicas, um oscilador de cristal de 16 MHz, um controlador USB, um plug de alimentação, um conector ICSP e um botão de reset.
![Page 25: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/25.jpg)
Características
• O Arduino pode ser alimentado pela conexão USB ou por qualquer fonte externa.
• A alimentação externa pode ser tanto uma fonte ou uma bateria.
• A alimentação recomendada é de 7 a 12 volt
![Page 26: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/26.jpg)
Características
• Os pinos de alimentação são:– Vin: Entrada de alimentação para a
placa.– 5V: A fonte utilizada para o
microcontrolador e para outros componentes da placa.
– 3V3: Alimentação de 3,3 volts fornecida pelo CI FTDI.
– GND: Pino terra.
![Page 27: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/27.jpg)
Características
• O ATmega328 tem 32KB de memória flash (onde o software fica armazenado), além de 2 KB de SRAM (onde as variáveis ficam) e 1 KB de EEPROM (que guarda os dados permanentes).
• A memória SRAM é apagada toda vez que desligamos o circuito.
![Page 28: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/28.jpg)
Características
• Cada um dos 14 pinos digitais ode ser usado como entrada ou saída usando as funções de pinMode( ), digitalWrite( ) e digitalRead( ).
• Cada uma opera com 5 V.• Cada pino fornece ou recebe no
máximo 40 mA e tem um resistor pull-up interno de 20 – 50 Ohms.
![Page 29: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/29.jpg)
Características
• Alguns pinos possuem função específica:– Serial: 0 (RX) e 1 (TX): Usados para
receber e transmitir dados seriais TTL.– PWM: 3, 5, 6, 9, 10 e 11: Fornecem uma
saída analógica PWM de 8 bits com a função analogWrite( ).
– SPI: 10, 11, 12 e 13: Suportam comunicação SPI.
– LED: 13: Já existe um led conectado a este pino.
![Page 30: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/30.jpg)
Características
• O Arduino Duemilanove tem 6 entradas analógicas, cada uma delas está ligada a um conversor analógico-digital de 10 bits.
• Os pinos 4 e 5 suportam a comunicação I2C.
• AREF: Referência de tensão para as entradas analógicas.
• Reset: Envia o valor LOW para reiniciar o microcontrolador.
![Page 31: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/31.jpg)
Características
• A comunicação com um computador, com outro Arduino ou com outros microcontroladores é simples.
• O ATmega328 permite comunicação serial no padrão UART TTL (5 V), que está disponível nos pinos digitais 0 (RX) e 1 (TX).
![Page 32: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/32.jpg)
Características• Algumas versões anteriores do Arduino
requerem um reset físico (botão de pressão na placa) antes de carregarem um sketch.
• No Arduino Duemilanove é possível fazer o reset via software.
• A placa do Arduino Duemilanove tem um polifusível que protege a porta USB do computador contra curtocircuitos e sobrecorrentes superiores a 500 mA.
![Page 33: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/33.jpg)
Iniciando o trabalho com Arduino
• Adquira uma placa Arduino e um cabo USB.
• O Arduino pode ser Arduino Uno, Arduino Duemilanove, Nano, ou Diecimila.
• É preciso também um cabo USB padrão do tipo que você usaria para conectar uma impressora USB, por exemplo.
![Page 34: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/34.jpg)
Trabalhando com Arduino
![Page 35: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/35.jpg)
Trabalhando com Arduino
• Baixe o ambiente Arduino.• Obtenha a última versão da página de
downloads.• Quando o download terminar, descompacte
o arquivo baixado. • Certifique-se de preservar a estrutura da
pasta. • Dê um duplo clique na pasta para abri-lo. • Deve haver alguns arquivos e sub-pastas
dentro.
![Page 36: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/36.jpg)
Trabalhando com Arduino
• Ao conectar a placa Arduino, automaticamente a energia é extraída, a partir da ligação USB no computador ou de uma fonte de alimentação externa.
• A fonte de alimentação é selecionada com um jumper, que se encaixa em dois dos três pinos entre o USB e os conectores de energia.
• Ligue a placa Arduino ao computador utilizando o cabo USB e o LED (rotulado PWR) deve acender.
![Page 37: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/37.jpg)
Trabalhando com Arduino
• Ao instalar os drivers para o Arduino Uno com Windows7, Vista ou XP:– Conecte a placa e espere pelo Windows para
começar seu processo de instalação do driver. – Depois de alguns momentos, o processo irá
falhar, apesar de seus melhores esforços, clique no menu Iniciar e abra o Painel de Controle.
–No Painel de Controle, vá para Sistema e Segurança.
– Em seguida, clique em Sistema.
![Page 38: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/38.jpg)
Trabalhando com Arduino
• Ao clicar em Sistema:– Quando a janela do Sistema surgir, abra o
Gerenciador de Dispositivos e procure em Portas (COM & LPT).
– Você deverá ver uma porta aberta com o nome “Arduino UNO (COMxx)”.
– Clique com o botão direito do mouse sobre o "UNO Arduino (COMxx)" port e escolha a opção "Atualização de driver de software".
– Em seguida, escolha a opção "Procurar o meu computador para software Driver" opção.
![Page 39: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/39.jpg)
Trabalhando com Arduino
• Finalmente, selecione o arquivo Uno do driver, chamado "ArduinoUNO.inf", localizado no "Drivers" da pasta do download do software Arduino (não os Drivers USB FTDI "sub-diretório).
• Então o Windows irá terminar a instalação do driver.
• Consulte http://arduino.cc/en/Guide/Windows para saber como instalar o Uno no Windows XP.
![Page 40: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/40.jpg)
Trabalhando com Arduino
• Para instalar os drivers para o Duemilanove, Nano, ou Diecimila com Windows7, Vista ou XP, é preciso:– Conectar a placa e o Windows deverá
iniciar o processo de instalação do driver (se você não usou o computador com uma placa Arduino antes).
–No Windows Vista, o driver deve ser baixado e instalado automaticamente.
–No Windows XP, o assistente Adicionar novo hardware será aberto:
![Page 41: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/41.jpg)
Trabalhando com Arduino
• E deve perguntar se o Windows pode se conectar ao Windows Update para procurar software?
• Selecione Não, não desta vez. • Clique em Avançar.• Selecione Instalar de uma lista ou local
específico (avançado) e clique em Avançar.• Certifique-se de que a opção Procurar o
melhor driver nestes locais está marcada:– Desmarque Pesquisar mídia removível;
![Page 42: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/42.jpg)
Trabalhando com Arduino
• Você deve marcar Incluir este local na pesquisa e procure os drivers /FTDI USB Drivers diretório da distribuição Arduino. (A última versão dos drivers está no site da FTDI.)
• Clique em Avançar.• O assistente irá procurar o driver e, em
seguida, irá dizer-lhe que um "Conversor USB Serial" foi encontrado.
• Clique em Concluir.• O assistente de novo hardware aparecerá
novamente.
![Page 43: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/43.jpg)
Trabalhando com Arduino
• Atravesse os mesmos passos e selecione as mesmas opções e local para pesquisar.
• Desta vez, um "USB Serial Port" vai ser encontrada.
• Você pode verificar que os drivers foram instalados, abrindo o Manager de dispositivos do Windows (na aba Hardware do painel de controle do sistema).
• Procure um "USB Serial Port" na seção Portas, que é a placa Arduino.
![Page 44: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/44.jpg)
Iniciando o Aplicativo do Arduino
• Para iniciar o aplicativo, basta dar um duplo clique no aplicativo Arduino.
• Tomemos como exemplo o programa demo Blink.
• Para abrir este programa (sketch) basta seguir a seqüência:– File > Examples > 1.Basics > Blink.
![Page 45: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/45.jpg)
Iniciando o Aplicativo do Arduino
![Page 46: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/46.jpg)
Selecionando a sua placa
![Page 47: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/47.jpg)
Selecionando a porta serial
• Selecione o dispositivo de série da placa Arduino do menu Tools|Serial Port.
• Provavelmente, deve ser COM3 ou superior (COM1 e COM2 são normalmente reservados para portas seriais de hardware).
• Para descobrir, você pode desconectar sua placa Arduino e reabrir o menu, a entrada que desaparece deve ser a placa Arduino.
• Volte a ligar a placa e selecione essa porta serial.
![Page 48: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/48.jpg)
Carregando o programa
• Agora, basta clicar no botão "Enviar" no ambiente.
• Aguarde alguns segundos - você deve ver o RX e TX leds piscando na placa.
• Se o envio for bem sucedida, a mensagem "Done uploading" aparecerá na barra de status.
• (Nota:. Se você tem um Arduino Mini, NG, ou outra placa, você precisa fisicamente do botão de reset na placa imediatamente antes de apertar o botão de upload)
![Page 49: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/49.jpg)
Carregando o programa
![Page 50: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/50.jpg)
Carregando o programa
• Alguns segundos após o término do envio, você deverá ver o pino 13 (L) LED na placa começar a piscar.
• Se isso acontecer, parabéns! Você conseguiu colocar seu Arduino para executar seu programa.
• Se você tiver problemas, consulte as sugestões de solução.
![Page 51: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/51.jpg)
Bibliografia
• MARGOLIS, Michael. Arduino Cookbook, O´Reilly. United States of America, 2011.
• Fonseca, Erika G. P. & Beppu, Mathyan M. Apostila Arduino, UFF, 2010.
• McRoberts, Michael. Beginning Arduino, Apress. United States of America, 2010.
• Oxer, J. & Blemings, H. Practical Arduino, Apress. United States of America, 2009.
![Page 52: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/52.jpg)
Bibliografia
• Kurt, Tod E. Bionic Arduino – Introduction do Microcontrollers with Arduino. Machine Project, 2007.
• Evans, Brian W. Arduino Programming Notebook.
• www.arduino.cc• www.arduino.com.br
![Page 53: Programação Para Arduíno_Curso de Extensão](https://reader036.vdocuments.pub/reader036/viewer/2022062405/557210f5497959fc0b8e00e9/html5/thumbnails/53.jpg)
Prof. Algeir Sampaio