programação para arduíno_curso de extensão

53
Programação para Arduíno Curso de Extensão Prof. MSc. Algeir Sampaio

Upload: joao-paulo-monteiro

Post on 02-Aug-2015

44 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Programação Para Arduíno_Curso de Extensão

Programação para Arduíno

Curso de ExtensãoProf. MSc. Algeir Sampaio

Page 2: Programação Para Arduíno_Curso de Extensão

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

3

Introdução

• Microprocessador– CPU–ULA–UC

• Microprocessador x Microcontrolador

CPU

UC ULA

Page 4: Programação Para Arduíno_Curso de Extensão

Introdução

Page 5: Programação Para Arduíno_Curso de Extensão

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

Microcontrolador

Page 7: Programação Para Arduíno_Curso de Extensão

Arquitetura Interna de um μC

Page 8: Programação Para Arduíno_Curso de Extensão

Aplicação de μCs

Page 9: Programação Para Arduíno_Curso de Extensão

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

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

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

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

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

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

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

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

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

Características

Page 19: Programação Para Arduíno_Curso de Extensão

Layout

Page 20: Programação Para Arduíno_Curso de Extensão

Esquema

Page 21: Programação Para Arduíno_Curso de Extensão

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

Tipos de Arduino

Arduino Nano

Page 23: Programação Para Arduíno_Curso de Extensão

Tipos de Arduino

Arduino Mega

Page 24: Programação Para Arduíno_Curso de Extensão

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

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

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

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

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

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

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

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

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

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

Trabalhando com Arduino

Page 35: Programação Para Arduíno_Curso de Extensão

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

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

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

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

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

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

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

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

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

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

Iniciando o Aplicativo do Arduino

Page 46: Programação Para Arduíno_Curso de Extensão

Selecionando a sua placa

Page 47: Programação Para Arduíno_Curso de Extensão

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

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

Carregando o programa

Page 50: Programação Para Arduíno_Curso de Extensão

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

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

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