Buscar

Curso Básico de Programação com Arduino

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

ARDUINO 
 
 
01/09/2014 CURSO BÁSICO DE PROGRAMAÇÃO 
 
Apostila básica que explica como usar e programar o Arduino, uma 
plataforma física de computação de código aberto baseada em uma 
simples placa microcontroladora e um ambiente de desenvolvimento 
de desenvolvimento próprio para escrever o código para a placa. 
 
 
ARDUINO 
 
 
Página 1 
ARDUINO 
P R O G R A M A Ç Ã O E U S O 
O QUE É O ARDUINO? 
O Arduino é um projeto totalmente aberto de protótipos de eletrônica 
baseados numa plataforma de hardware e software flexível e de fácil utilização. 
É destinado a artistas, designers, hobbyistas e qualquer tipo de pessoa 
interessada em criar objetos ou ambientes interativos. É um projeto que 
engloba software e hardware e tem como objetivo fornecer uma plataforma 
fácil para prototipação de projetos interativos, utilizando um microcontrolador. 
Ele faz parte do que chamamos de computação física: área da computação em 
que o software interage diretamente com o hardware, tornando possível 
integração com sensores, motores e outros dispositivos eletrônicos. O Arduino 
pode perceber o ambiente por receber informação de uma grande variedade de 
sensores, e pode estimular o ambiente controlando luzes, motores, e outros 
atuadores. 
A parte de hardware do projeto, uma placa que cabe na palma da mão, é um 
computador como qualquer outro: possui microcontrolador, memória RAM, 
memória flash (para guardar o software), temporizadores, contadores, dentre 
outras funcionalidades. O microcontrolador em que se baseia (ATMEL) é 
programável usando a linguagem Arduino (baseada em C/C++), e também 
aceita código diretamente em C/C++, bem como o ambiente do Arduino que é 
baseado em Processing. 
Normalmente, é necessário construir os circuitos para as entradas e saídas do 
Arduino, o que permite flexibilidade e uma grande variedade de soluções para 
um mesmo problema. Muitos projetos para Arduino estão disponíveis na 
internet (o próprio site do Arduino mantém um fórum e um blog para os 
usuários do sistema), facilitando o aprendizado e a troca de informações entre 
os construtores. Os projetos em Arduino podem ser únicos ou podem 
comunicar com outros circuitos, ou até mesmo com outros softwares em um 
computador (por exemplo, Java, Flash, Processing, MaxMSP). As placas podem 
ser montadas à mão ou serem compradas montadas, e o software pode ser 
obtido gratuitamente. 
Como o Arduino é um projeto aberto, diversas empresas fabricam e 
disponibilizam suas placas no mercado, como o Freeduino, Seeduino, 
Roboduino, Pinguino e os brasileiros Severino e Brasuino. 
ARDUINO 
 
 
Página 2 
Esta apostila foi baseada em diversos projetos disponíveis na internet. São 
referências importantes: 
www.arduino.cc Site do projeto Arduino. Permite o download 
do ambiente de programação e contém referências e tutoriais para iniciantes, 
além de manter um fórum e um blog 
www.viaspositronicas.blogspot.com Blog mantido por diversas 
pessoas ligadas à robótica educacional, de várias localidades do país. Contém 
informações sobre diversas plataformas e campeonatos. 
www.earthshineEelectronics.com Disponibiliza para download o “The 
complete beginners guide to the Arduino”, uma das principais referências para 
iniciantes (em inglês). 
 
TIPOS DE ARDUINOS: 
 
 
ARDUINO 
 
 
Página 3 
 
 
 
ALIMENTAÇÃO 
O Arduino pode operar com uma tensão de 6 a 20 Volts. Se receber menos que 
7 V, entretanto, o pino de 5 V poderá fornecer menos que cinco Volts e a placa 
pode ficar instável. Se utilizar mais que 12 V, o regulador de tensão pode 
superaquecer e danificar a placa. A faixa recomendada é entre 7 e 12 volts. Os 
pinos de energia são os seguintes: 
VIN. Equivale à tensão de entrada da placa Arduino quando utiliza uma fonte 
externa (diferentemente dos 5 volts da conexão USB ou outras fontes 
reguladas). Você pode fornecer energia através deste pino, ou, se fornecer 
uma tensão através do plug, obter a mesma tensão através deste pino. 
5V. Fornece a tensão regulada para o microcontrolador e outros componentes 
da placa. 
3V3. Fornece uma tensão de 3.3 Volts gerada pelo chip FTDI (on-board). A 
corrente máxima é de 50mA. 
GND. Pinos-terra. 
 
ARDUINO 
 
 
Página 4 
Entradas e Saídas 
Cada um dos pinos digitais do Arduino pode ser usado como uma entrada ou 
saída, usando as funções pinMode(), digitalWrite(), e digitalRead(). Eles 
operam com 5 volts. Cada pino pode fornecer ou receber um máximo de 40 
mA e tem um resistor pull-up interno (desconectado por padrão) de 20-50 
kOhms. 
Além disso, alguns pinos têm funções especializadas: 
Serial: Usado para receber (RX) e transmitir dados (TX) TTL serial. 
PWM: Usado para fornecer 8 bits de saída PWM com a função analogWrite (). 
LED: 13. Há um built-in LED conectado ao pino digital 13. Quando o pino está 
em HIGH o LED está ligado, quando o pino é LOW, ele está desligado. 
Entradas Analógicas: Cada uma das quais com 10 bits de resolução (isto é, 
1024 valores diferentes). Por padrão, eles medem até 5 volts, embora seja 
possível mudar o limite superior de sua faixa usando o pino AREF e função 
analogReference (). 
AREF: Tensão de referência para as entradas analógicas. Usado com 
analogReference (). 
Reset. Trazer esta linha LOW para resetar o microcontrolador. Tipicamente 
usado para adicionar um botão de reset. 
 
HARDWARE VS SOFTWARE 
Antes de começar a trabalhar propriamente com esta plataforma de 
desenvolvimento, torna-se necessário começar por perceber o seu 
funcionamento, para tal descrever-se-á neste capítulo o funcionamento do 
Arduino, em termos de Hardware e Software. Espera-se assim de certa forma 
“iluminar o caminho” neste estudo, fazendo com que toda a percepção do 
assunto a tratar se torne mais simples, ou seja, serão aqui apresentadas as 
bases para a sua compreensão. 
 
Hardware 
Um microprocessador, basicamente, é constituído por um circuito integrado 
com a capacidade de executar determinadas instruções, sendo a sua 
velocidade de processamento determinada por um circuito que produz um 
determinado Clock (kHz, MHz ou GHz). 
ARDUINO 
 
 
Página 5 
O seu poder de processamento é afetado por características como Bits, 
quantidade de núcleos, arquitetura apresentada, tipo de instruções, entre 
outras. Como fator de grande importância tem-se ainda a existência de 
memória externa, onde estão armazenados os programas que serão 
executados. 
 
 
Um microcontrolador, ao contrário de um microprocessador, é desenhado e 
construído de forma a integrar diversos componentes num único circuito 
integrado, evitando, assim, a necessidade de adicionar componentes externos 
ao microcontrolador, que permitiriam as suas funcionalidades. 
 
Pela análise da figura acima, pode-se ter uma noção de alguns exemplos de 
componentes que se encontram disponíveis, conseguindo reunir uma grande 
quantidade de recursos num único circuito integrado. 
ARDUINO 
 
 
Página 6 
Na figura seguinte, é apresentado um diagrama de blocos de um 
microcontrolador ATMega168 – em tudo idêntico a um ATMega328 – em que é 
possível identificar todos os seus constituintes. 
 
 
ARDUINO 
 
 
Página 7 
 
 
 
 
 
ARDUINO 
 
 
Página 8 
 
 
ARDUINO 
 
 
Página 9 
 
 
ARDUINO 
 
 
Página 10 
 
 
 
 
 
ARDUINO 
 
 
Página 11 
 
 
ARDUINO 
 
 
Página 12 
 
 
 
 
 
ARDUINO 
 
 
Página 13 
SOFTWARE 
Instalação e Util ização 
O Software de desenvolvimento Arduinoé bastante fácil e intuitivo de utilizar, 
não havendo qualquer nível de dificuldade. Foram estruturados passos de 
forma a simplificar a sua utilização e instalação. 
O 1º passo consiste em efetuar o download do respectivo software de 
desenvolvimento, através do site oficial Arduino (www.arduino.cc). 
 
A última versão disponível aparecerá na parte superior da página, como 
mostra a figura abaixo, sendo só necessário escolher a versão apropriada para 
o sistema operacional do seu computador. 
 
O 2º passo consiste em descompactar o arquivo “.ZIP” (versão Windows ou 
Mac OS) ou “.tgz” (versão Linux) para uma pasta à sua escolha. Escolha uma 
pasta de destino final, pois o programa não necessita de instalação. Utilizando 
o sistema operacional Windows, o conteúdo da pasta deverá ser o seguinte: 
ARDUINO 
 
 
Página 14 
 
 
O 3º passo consiste em ligar a placa de desenvolvimento ao computador e 
instalar os drivers FTDI, para permitir uma conversão de USB para série. 
O 4º passo consiste em configurar a porta série a ser utilizada e qual o tipo de 
modelo Arduino, que nos encontramos a utilizar. Para tal, necessitamos de 
abrir o Software de desenvolvimento e escolher na barra de separadores a 
opção “Tools”. 
 
ARDUINO 
 
 
Página 15 
O 5º e último passo para a utilização do Software consiste em elaborar o seu 
Sketch, compilar e, caso não tenha erros, fazer o uploading para a placa de 
desenvolvimento Arduino. 
 
 
Ciclo de Desenvolvimento 
Os passos necessários para elaborar uma aplicação (após ter feito a instalação 
do Software) podem ser apresentados de uma forma esquemática e a qual se 
pode designar por Ciclo de Desenvolvimento. 
 
 
 
Índice de Instruções 
Aqui estão relacionadas as mais importantes instruções base do ambiente de 
desenvolvimento Arduino, sem recorrer a bibliotecas externas, sendo estas 
enumeradas por tipo de aplicação. Antes de abordar algumas das instruções 
possíveis numa linguagem de alto nível, podemos fazer uma breve abordagem 
para analisar qual a classificação a atribuir ao microcontrolador em estudo. 
Ppodemos classificar os processadores tendo em conta o seu conjunto de 
ARDUINO 
 
 
Página 16 
instruções em duas categorias: CISC (Complex Instruction Set Computers) e 
RISC (Reduced Instruction Set Computers). 
Baseando-se a arquitetura CISC num conjunto de instruções com modos de 
endereçamento bastante complexos, ao utilizar este tipo de arquitetura é 
permitido elaborar programas bastante compactos e codificáveis ao recorrer a 
um uso reduzido de instruções. Alguns dos inconvenientes deste tipo de 
arquitetura são baseados no elevado tempo de ciclos de relógio, necessários 
para executar cada uma das suas instruções. Outro inconveniente é a 
existência de variados modos de endereçamento. 
Por outro lado os processadores baseados em arquiteturas do tipo RISC 
apresentam um conjunto de instruções bastante reduzido, possibilitando assim 
obter uma enorme simplicidade e um tempo de execução menor por instrução 
que a arquitetura CISC. Conseguindo, assim, com um conjunto de instruções 
básicas com tempo de execução menores, obter, no final, velocidades de 
processamento mais elevadas que a arquitetura CISC. Na sua versão mais 
simples pode afirmar-se que os processadores RISC possuem os seguintes 
tipos de instruções: 
Instruções lógicas e aritméticas sobre registos; 
Instruções de transferência de dados entre memória e registros; 
Instruções de controle. 
No datasheet dos microcontroladores utilizados nos modelos do Arduino, pode-
se perceber que estamos perante microcontroladores baseados numa 
arquitetura “advanced RISC”. Esta arquitetura foi desenvolvida para ser uma 
especificação “standard” para uma família de microprocessadores baseada na 
família MIPS (Microprocessor Without Interlocked Pipeline Stages - arquitetura 
de microcontroladores RISC, desenvolvida pela “MIPS Technology”). 
 
 
 
 
 
 
 
 
 
ARDUINO 
 
 
Página 17 
 
 
 
 
 
 
ARDUINO 
 
 
Página 18 
 
 
 
 
 
ARDUINO 
 
 
Página 19 
 
 
ARDUINO 
 
 
Página 20 
 
ARDUINO 
 
 
Página 21 
 
 
 
 
 
 
 
 
 
 
ARDUINO 
 
 
Página 22 
FUNÇÕES DE CONTROLE DE FLUXO 
 
 
 
 
 
ARDUINO 
 
 
Página 23 
 
 
 
 
ARDUINO 
 
 
Página 24 
 
 
 
 
ARDUINO 
 
 
Página 25 
 
 
 
ARDUINO 
 
 
Página 26

Outros materiais