tut arduino

Download Tut Arduino

Post on 31-Dec-2014

15 views

Category:

Documents

2 download

Embed Size (px)

TRANSCRIPT

Universidade Federal Fluminense gico Centro Tecnolo Escola de Engenharia es Curso de Engenharia de Telecomunica co o Tutorial Programa de Educa ca

Apostila Arduino

Autores: Erika Guimara es Pereira da Fonseca Mathyan Motta Beppu Orientador: Prof. Alexandre Santos de la Vega Nitero i-RJ Dezembro / 2010

Sum ario1 Introdu c ao ao Arduino 2 Caracter sticas do Duemilanove 2.1 Caracter sticas . . . . . . . . . . . 2.2 Alimenta c ao . . . . . . . . . . . . . 2.3 Mem oria . . . . . . . . . . . . . . . 2.4 Entrada e Sa da . . . . . . . . . . . 2.5 Comunica c ao . . . . . . . . . . . . 2.6 Programa ca o . . . . . . . . . . . . 2.7 Reset Autom atico . . . . . . . . . . 2.8 Prote c ao contra sobrecorrente USB 2 4 4 4 5 5 6 6 6 7 8 8 9 10

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

3 Refer encias da linguagem usada na programa c ao 3.1 Linguaguem de refer encia . . . . . . . . . . . . . 3.2 Fun co es . . . . . . . . . . . . . . . . . . . . . . . 3.3 Bibliotecas . . . . . . . . . . . . . . . . . . . . . .

do Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 Instala c ao da IDE e suas bibliotecas 12 4.1 Arduino para Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.2 Arduino para GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5 Desenvolvimento 5.1 Exemplo 1 . . 5.2 Exemplo 2 . . 5.3 Exemplo 3 . . 5.4 Exemplo 4 . . de . . . . . . . . Projetos . . . . . . . . . . . . . . . . . . . . . . . . 14 14 16 18 20 22

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

6 Refer encias Bibliogr acas

1

Cap tulo 1 Introdu c ao ao ArduinoO Arduino faz parte do conceito de hardware e software livre e est a aberto para uso e contribui ca o de toda sociedade. O conceito Arduino surgiu na It alia em 2005 com o objetivo de criar um dispositivo para controlar projetos/prot otipos constru dos de uma forma menos dispendiosa do que outros sistemas dispon veis no mercado. Arduino e uma plataforma de computa c ao f sica (s ao sistemas digitais ligados a sensores e atuadores, que permitem construir sistemas que percebam a realidade e respondem com a co es f sicas), baseada em uma simples placa de Entrada/Sa da microcontrolada e desenvolvida sobre uma biblioteca que simplica a escrita da programa ca o em C/C++. O Arduino pode ser usado para desenvolver artefatos interativos stand-alone ou conectados ao computador atrav es de Adobe Flash, Processing, Max/MSP, Pure Data ou SuperCollider. Um microcontrolador (tamb em denominado MCU) e um computador em um chip, que con um microprocessador que pode ser t em processador, mem oria e perif ericos de entrada/sa da. E programado para fun co es espec cas, em contraste com outros microprocessadores de prop osito geral (como os utilizados nos PCs). Eles s ao embarcados no interior de algum outro dispositivo, no nosso caso o Arduino, para que possam controlar suas fun c oes ou a co es. um kit de desenvolvimento capaz de interpretar vari E aveis no ambiente e transform a-las em sinal el etrico correspondente, atrav es de sensores ligados aos seus terminais de entrada, e atuar no controle ou acionamento de algum outro elemento eletro-eletr onico conectado ao terminal de sa da. Ou seja, e uma ferramenta de controle de entrada e sa da de dados, que pode ser acionada por um sensor (por exemplo um resistor dependente da luz - LDR) e que, logo ap os passar por uma etapa de processamento, o microcontrolador, poder a acionar um atuador (um motor por exemplo). Como podem perceber, e como um computador, que t em como sensores de entrada como o mouse e o teclado, e de sa da, impressoras e caixas de som, por exemplo, s o que ele faz interface com circuitos el etricos, podendo receber ou enviar informa co es/tens oes neles. Para um melhor entendimento, abaixo na gura 1 e poss vel identicar os elementos principais do circuito atrav es de diagrama em blocos.

Figura 1.1: Diagrama de Blocos

2

O Arduino e baseado em um microcontrolador (Atmega), e dessa forma e logicamente program avel, ou seja, e poss vel a cria ca o de programas, utilizando uma linguagem pr opria baseada em C/C++, que, quando implementadas fazem com que o hardware execute certas a co es. Dessa forma, estamos congurando a etapa de processamento. O grande diferencial desta ferramenta e que ela e desenvolvida e aperfei coada por uma comunidade que divulga os seus projetos e seus c odigos de aplica ca o, pois a concep ca o dela e open-source, ou seja, qualquer pessoa com conhecimento de programa ca o pode modic a-lo e ampli a-lo de acordo com a necessidade, visando sempre a melhoria dos produtos que possam ser criados aplicando o Arduino. Ele foi projetado com a nalidade de ser de f acil entendimento, programa ca o e aplica ca o, al em de ser multiplataforma, ou seja, podemos congura-lo em ambientes Windows, GNU/Linux e Mac OS. Assim sendo, pode ser perfeitamente utilizado como ferramenta educacional sem se preocupar que o usu ario tenha um conhecimento espec co de eletr onica, mas pelo fato de ter o seu esquema e software de programa ca o open-source, acabou chamando a aten ca o dos t ecnicos de eletr onica, que come caram a aperfei co a-la e a criar aplica co es mais complexas.

3

Cap tulo 2 Caracter sticas do DuemilanoveO Arduino Duemilanove (2009 em italiano) e uma placa baseada no microcontrolador ATmega168 ou ATmega328. Tem 14 pinos de entrada ou sa da digital (dos quais 6 podem ser utilizados como sa das PWM), 6 entradas anal ogicas, um oscilador de cristal 16 MHz, controlador USB, uma tomada de alimenta ca o, um conector ICSP, e um bot ao de reset. Para sua utiliza ca o basta conect a-lo a um computador com um cabo USB ou lig a-lo com um adaptador AC para DC ou bateria.

2.1

Caracter sticas

Microcontrolador ATmega328 ou ATmega168 Tens ao operacional 5V Tens ao de alimenta ca o (recomendada) 7-12 V Tens ao de alimenta ca o (limites) 6-20 V Pinos I/O digitais 14 (dos quais 6 podem ser Sa das PWM) Pinos de entrada anal ogica 6 Corrente cont nua por pino I/O 40 mA Corrente cont nua para o pino 3.3 V 50 mA Mem oria ash 32 KB (2KB usados para o bootloader) / 16KB SRAM 2 KB EEPROM 1 KB Frequ encia de clock 16 MHz Tabela com as caracter sticas b asicas do arduino Duemilanove.

2.2

Alimenta c ao

O Arduino Duemilanove pode ser alimentado pela conex ao USB ou por qualquer fonte de alimenta c ao externa. A fonte de alimenta c ao e selecionada automaticamente. A alimenta c ao externa (n ao-USB) pode ser tanto de uma fonte ou de uma bateria. A fonte pode ser conectada com um plug de 2,1 mm (centro positivo) no conector de alimenta ca o. Cabos vindos de uma bateria podem ser inseridos nos pinos GND (terra) e Vin (entrada de tens ao) do conector de alimenta c ao. A placa pode operar com uma alimenta c ao externa de 6 a 20 V. Entretanto, se a alimenta ca o for inferior a 7 V o pino 5 V pode fornecer menos de 5 V e a placa pode car inst avel. Se a alimenta c ao for superior a 12 V o regulador de tens ao pode superaquecer e avariar a placa. A alimenta c ao recomendada e de 7 a 12 V.

4

Os pinos de alimenta ca o s ao: Vin : entrada de alimenta ca o para a placa Arduino quando uma fonte externa for utilizada. Voc e pode fornecer alimenta ca o por este pino ou, se usar o conector de alimenta ca o, acessar a alimenta ca o por este pino; 5 V: A fonte de alimenta c ao utilizada para o microcontrolador e para outros componentes da placa. Pode ser proveniente do pino Vin atrav es de um regulador on-board ou ser fornecida pelo USB ou outra fonte de 5 V; 3 V3: alimenta ca o de 3,3 V fornecida pelo circuito integrado FTDI (controlador USB). A corrente m axima e de 50 mA; GND (ground): pino terra.

2.3

Mem oria

O ATmega328 tem 32 KB de mem oria ash (onde e armazenado o software), al em de 2 KB de SRAM (onde cam as vari aveis) e 1 KB of EEPROM (esta u ltima pode ser lida e escrita atrav es da biblioteca EEPROM e guarda os dados permanentemente, mesmo que desliguemos a placa). A mem oria SRAM e apagada toda vez que desligamos o circuito.

2.4

Entrada e Sa da

Cada um dos 14 pinos digitais do Duemilanove pode ser usado como entrada ou sa da usando as fun c oes de pinMode(), digitalWrite(), e digitalRead(). Eles operam com 5 V. Cada pino pode fornecer ou receber um m aximo de 40 mA e tem um resistor pull-up interno (desconectado por padr ao) de 20-50 k. Al em disso, alguns pinos t em fun co es especializadas: Serial: 0 (RX) e 1 (TX). Usados para receber (RX) e transmitir (TX) dados seriais TTL. Estes pinos s ao conectados aos pinos correspondentes do chip serial FTDI USB-to-TTL. PWM: 3, 5, 6, 9, 10, e 11. Fornecem uma sa da anal ogica PWM de 8-bit com a fun ca o analogWrite(). SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estes pinos suportam comunica c ao SPI, que embora compat vel com o har