Você está na página 1de 9

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE SÃO PAULO

Novas Tecnologias no Ensino de Física 2


Profa. Marisa Cavalcante

O que é Arduino ?

Arduino é uma plataforma de hardware livre, baseado em microprocessador de


código aberto, uma placa física em código aberto baseada em um circuito de
entradas/saídas simples, e linguagem de programação padrão, que é essencialmente
C/C++, sendo uma plataforma completamente personalizável já que todo o seu projeto é
aberto aos usuários.
O objetivo da criação do Arduino é ter uma plataforma totalmente aberta, tanto
hardware como software acessíveis, pois além de ter um custo baixo é uma plataforma
flexível e de fácil utilização, tanto para profissionais como para interessados na área,
visando fornecer uma alternativa para aqueles que não tem alcance a outros
microcontroladores, que além do custo elevado e software prioritário, não podem ser
personalizados e são mais difíceis de utilizar pois requerem um maior nível de
conhecimento técnico.
Uma das grandes vantagens do Arduino é o seu nível de personalização, como se
trata de uma plataforma aberta, todo o projeto é disponibilizado aos seus usuários no site
www.arduino.cc, assim caso o usuário queira ele pode montar o seu próprio Arduino e
adicionar ou retirar funcionalidades de acordo com o seu projeto, o mesmo também pode
ser feito com a sua IDE (software utilizado para programar o Arduino), que é de código
aberto, e funciona nos sistemas operacionais Windows, Macintosh OSX, e Linux, diferente
da maioria dos microcontroladores em que suas IDE's funcionam apenas no Windows.
Todas essas qualidades fazem o Arduino se tornar uma alternativa muito interessante
para o ensino.

1
Marisa Cavalcante e Eduardo Silva Damasceno ( marisac@pucsp.br )
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE SÃO PAULO
Novas Tecnologias no Ensino de Física 2
Profa. Marisa Cavalcante

Descrição da placa Arduino

Os componentes mais básicos da placa Arduino são:

 Entrada usb
 Entrada de alimentação
 Pino ICSP
 Pinos de entrada analógica
 Pinos digitais
 Pinos de alimentação
 Botão reset

Descrição dos componentes básicos

Entrada USB

A entrada USB da placa Arduino é utilizada para realizar a comunicação entre o Arduino e o
computador, através dessa comunicação são enviados os códigos referentes as ações que o
Arduino executará, a entrada também é utilizada para o envio e recepção de informações
do código em execução, que serão exibidos em um hiperterminal (monitor serial) e além
dessas funções a entrada USB também fornece alimentação para a placa Arduino.
O padrão do cabo utilizado é USB AB.

Entrada de alimentação

Caso seja necessário mais alimentação, ou caso haja necessidade da não utilização da
alimentação através da entrada USB, a placa Arduino dispõe de uma entrada padrão para
adaptadores AC-DC.

2
Marisa Cavalcante e Eduardo Silva Damasceno ( marisac@pucsp.br )
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE SÃO PAULO
Novas Tecnologias no Ensino de Física 2
Profa. Marisa Cavalcante

Pino ICSP

Esse pino suporta comunicação SPI (Serial Peripheral Interface Bus ), presente nos
modelos de Arduino, Duemilanove e Diecimila, é usado por alguns modelos de shield como
por ex. Ethernet Shield.

Pinos de entrada analógica

A função principal dos pinos de entrada analógica para a maioria dos usuários de Arduino, é
a leitura de sensores analógicos, como por exemplo, ldr, sensores de distância, sensores de
temperatura, os pinos de entrada analógica fazem leituras em valores inteiros em um
intervalo de 0-1023 ( conversão 10 bits).

Pinos digitais

Os pinos digitais são pinos de propósito geral de entrada(input) e saída(output), cada pino
tem uma chave interna que pode receber os valores HIGH e LOW, o funcionamento deles é
parecido com o de um interruptor que pode estar “ligado” ou “desligado”, assim podemos
ligar ou desligar componentes, ex: led.

Pinos de alimentação

Como mais uma alternativa de alimentação para a placa Arduino, existe o pino VIN (voltage
input), através dele e do pino GND a placa pode ser alimentada, ligando uma bateria ou
pilhas através de um adaptador diretamente a esses dois pinos, porém cada modelo de
Arduino requer um faixa de voltagem diferente, portanto antes usar o pino verifique qual a
necessária para alimentar a sua placa corretamente.

Botão reset

Utilizado para dar um reset físico no microcontrolador, o botão reset era utilizado em
algumas versões anteriores do Arduino como um procedimento antes de enviar um novo
código para a placa.

Arduino IDE

3
Marisa Cavalcante e Eduardo Silva Damasceno ( marisac@pucsp.br )
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE SÃO PAULO
Novas Tecnologias no Ensino de Física 2
Profa. Marisa Cavalcante

O Arduino IDE (ambiente de desenvolvimento integrado ou Integrated Development


Environment) é o software que nos possibilita escrever códigos e enviá-los para a placa
Arduino, através dele é possível verificar quando e aonde há erros no código.
O programa fornece ao usuário a opção de salvar o código, podendo assim administrar seus
projetos.
Também há a interface serial de comunicação, por onde o usuário pode enviar dados do
seu projeto e visualizá-los na tela.
Dentro do programa são disponibilizados exemplos prontos, desde os de nível básico até o
nível avançado, assim o usuário pode ir subindo progressivamente conforme o
conhecimento que vai adquirindo.

4
Marisa Cavalcante e Eduardo Silva Damasceno ( marisac@pucsp.br )
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE SÃO PAULO
Novas Tecnologias no Ensino de Física 2
Profa. Marisa Cavalcante

Programando na IDE

Para programar na IDE Arduino utilizaremos duas de suas funções principais, a primeira é o
void setup(). Estabelece as configurações iniciais.
Nela fazemos as configurações dos componentes e recursos que utilizaremos, por exemplo,
para ligar um led, nesse caso o led atuará como um dispositivo de saída, vamos usar a porta
digital 13 no exemplo, então dentro da função: Assim teremos por exemplo:
pinMode(13, OUTPUT); caso o dispositivo seja de saída
pinMode(13, INPUT); caso o dispositivo seja de entrada
Ainda em void seteup; para iniciar uma comunicação serial, e criar a possibilidade de enviar
os dados obtidos e visualizá-los em um hiper terminal, usamos a função Serial.begin(9600);
em que o 9600 representa a velocidade dessa comunicação em bits por segundo,

A segunda função void Loop(), nela estabelecemos o controle propriamente dito e a


operação que vai”rodar” o tempo no seu Arduino:
Nela podemos, por exemplo, enviar os dados para a serial e imprimi-los e neste caso
usamos o comando Serial.print(dados1), onde dados1 é apenas uma variável que
representa algum valor medido por algum sensor conectado ao Arduino, que pode ser do
tipo inteiro, real, caractere ou string.

Alguns comandos:

Para escrever e ler através das portas digitais da placa Arduino utilizaremos as seguintes
funções:
Para leitura nas portas digitais: digitalRead(13), leitura porta 13
Para escrever em um porta digital: digitalWrite este pode divido em duas parte por se
tratar de um comando de saída, já que ela aceita dois valores HIGH e LOW, que podem ser
entendidos como ligado e desligado (e na leitura de uma porta digital são recebidos como 1
e 0), e escritos da seguinte maneira para os dois casos: digitalWrite(13, HIGH);
digitalWrite(13, LOW);
Já para leitura em portas analógicas utilizaremos o seguinte comando: analogRead(13);
A IDE Arduino pode ser baixada no seguinte endereço:
http://arduino.googlecode.com/files/arduino-0022.zip

5
Marisa Cavalcante e Eduardo Silva Damasceno ( marisac@pucsp.br )
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE SÃO PAULO
Novas Tecnologias no Ensino de Física 2
Profa. Marisa Cavalcante

Experimento 1: Piscar um led- Blink

O experimento a seguir propõe um primeiro contato com o Arduino, aonde um LED será
ligado a placa em uma porta digital, e através do código programado nele o LED piscará
interruptamente, com um intervalo de alternação entre acender e apagar de 1 segundo.
Nesse experimento serão utilizados os seguintes componentes: 1 LED, 1 resistor de 330
Ohm, 2 fios.

Definição dos componentes:

LED

LED é a sigla em inglês para Light Emitting Diode, ou Diodo Emissor de Luz. O led é um
diodo semicondutor (junção P-N) que quando energizado emite luz visível.

Obs: O led é um componente que possui polaridade, portanto a sua perna maior deve ser
ligada a alimentação e a perna menor ao terra (GND na placa Arduino) no caso de um led
normal de 2 pernas, caso seja um led RGB, que possui 4 pernas, a maior é ligada no terra.
Resistor
O resistor é um dispositivo cujas principais funções são: dificultar a passagem da corrente
elétrica e transformar energia elétrica em energia térmica por efeito joule. Entendemos a
dificuldade que o resistor apresenta à passagem da corrente elétrica como sendo
resistência elétrica. O material mais comum na fabricação do resistor é o carbono.
Para o resistor é válida a expressão:

6
Marisa Cavalcante e Eduardo Silva Damasceno ( marisac@pucsp.br )
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE SÃO PAULO
Novas Tecnologias no Ensino de Física 2
Profa. Marisa Cavalcante

Que relaciona a resistência oferecida à passagem da corrente elétrica com tensão e


corrente elétrica. Devemos lembrar que a unidade da resistência elétrica é o ohm (Ω)
relação entre a tensão e a corrente elétrica em ampère.

Obs: Diferente do led o resistor não possui polaridade, portanto a ligação de suas pernas
não segue alguma determinada ordem.

Monte o circuito com base na figura a abaixo, e faça o upload do código usando a IDE do
Arduino. Este circuito foi desenhado em um software freeware Fritzing disponível em
http://fritzing.org/.

Calculando o valor mínimo do resistor que deve ser associado:

Suponha que para o led acender suporte uma tensão máxima da ordem de 2,0 Volts

Considere ainda que a corrente máxima oferecida para as portas digitais é de 20 mA

VR+Vled=5,0

VR= 3,0 Volts

Para i=20 mA

VR=Ri

3/20*10-3

Rmin= 150 ohms

7
Marisa Cavalcante e Eduardo Silva Damasceno ( marisac@pucsp.br )
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE SÃO PAULO
Novas Tecnologias no Ensino de Física 2
Profa. Marisa Cavalcante

Código:

void setup() {
pinMode(13, OUTPUT);
}

Void loop()
{
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}

Este código também está disponível em exemplos no IDE do Arduino veja na figura abaixo
como obte-lo. Exemplo : Blink

8
Marisa Cavalcante e Eduardo Silva Damasceno ( marisac@pucsp.br )
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE SÃO PAULO
Novas Tecnologias no Ensino de Física 2
Profa. Marisa Cavalcante

Comando via teclado -_ Função Serial.read()


Com o mesmo circuito anterior vamos enviar comandos para acender e apagar o led via
teclado
Faça upolad do programa e abra o monitor serial. Digite o caracter desejado
para o estado do led e tecle enter

Código

int ledPin = 13; //define o pino em que o led está ligado


char leitura; //define a variavel leitura que corresponde a uma letra o teclado
//definido por char

void setup() {
pinMode(ledPin, OUTPUT); //define que o pino 13 será uma saida
Serial.begin(9600);
}

void loop() {

leitura = Serial.read(); // a variavel leitura será obtida através do teclado


if (leitura == 'L') {
digitalWrite(ledPin, LOW);
}
else if (leitura == 'H') {
digitalWrite(ledPin, HIGH);
}
}

Adicione a este programa a linha de programação que permite imprimir no


monitor serial o estado do pino 13 (dica defina uma nova variável chamada
estadodoled).
9
Marisa Cavalcante e Eduardo Silva Damasceno ( marisac@pucsp.br )

Você também pode gostar