Você está na página 1de 42

WORKSHOP

INTRODUÇÃO AO ARDUINO
KIT ARDUINO:
1 Arduino UNO board rev.3
1 USB cable
1 Breadboard
1 Potentiometer 10kilohm
1 Pushbuttons
1 LED (bright white)
1 Small DC motor 6/9V
1 LED (RGB)
1 Small servo motor
3 LEDs (red)
2 Mosfet transistors
3 LEDs (green)
6 Resistors 220 ohm
3 LEDs (yellow)
3 Resistors 560 ohm
3 LEDs (blue)
3 Resistors 1 kilohm
3 Resistors 4.7 kilohm
3 Resistors 10 kilohm
3 Resistors 1 megohm
3 Resistors 10 megohm
Caixa de armazenamento individual
O QUE É?
• É uma plataforma de prototipagem eletrônica de hardware
livre e de placa única, projetada com um microcontrolador
Atmel AVR com suporte de entrada/saída embutido, uma
linguagem de programação padrão, que é essencialmente
C/C++.
• O objetivo do projeto é criar ferramentas que são acessíveis,
com baixo custo, flexíveis e fáceis de se usar por artistas e
amadores. Principalmente para aqueles que não teriam
alcance aos controladores mais sofisticados e de ferramentas
mais complicadas.
HISTÓRIA
• O projeto iniciou-se na Itália, em 2005, com o intuito de
interagir em projetos escolares de forma a ter um
orçamento menor que outros sistemas de prototipagem
disponíveis naquela época.

• Atualmente, seu hardware é feito através de um


microcontrolador Atmel AVR.
HARDWARE
• Sua placa consiste em um microcontrolador Atmel AVR de 8 bits, com componentes complementares
para facilitar a programação e incorporação para outros circuitos. Um importante aspeto é a
maneira padrão que os conectores são expostos, permitindo o CPU ser interligado a outros módulos
expansivos, conhecidos como shields.

• Os Arduinos originais utilizam a série de chips megaAVR, especialmente os ATmega8, ATmega168,


ATmega328 e a ATmega1280; porém muitos outros processadores foram utilizados por clones deles.

• A grande maioria de placas inclui um regulador linear de 5 volts e um oscilador de cristal de 16


MHz (podendo haver variantes com um ressonador cerâmico. Além de ser microcontrolador, o
componente também é pré-programado com um bootloader que simplifica o carregamento de
programas para o chip de memória flash embutido, comparado com outros aparelhos que
usualmente necessitam de um chip programador externo.

• FTDI acoplado
• A transmissão dos dados do computador para o arduino é feita via USB, adicionadas através de um
chip adaptador USB-para-Serial como o FTDI FT232.
ENTRADAS E SAÍDAS
SOFTWARE
• O Arduino IDE é uma aplicação multiplataforma escrita em Java. É
esquematizado para introduzir a programação a artistas e a pessoas
não familiarizadas com o desenvolvimento de software. Inclui um editor
de código com recursos de realce de sintaxe, parênteses
correspondentes e indentação automática, sendo capaz de compilar e
carregar programas para a placa com um único clique.
• Este ambiente de programação faz uso das bibliotecas para tornar a
sua programação o mais simples possível.
• Estrutura de um programa ou sktech:
• setup() – Inserida no inicio, na qual pode ser usada para inicializar
configuração, e
• loop() – Chamada para repetir um bloco de comandos ou esperar até
que seja desligada.
EXEMPLO DE UM PROGRAMA
(SKETCH)
SKETCH – PISCA PISCA COM LED
REALIZAR A MONTAGEM ELETRÓNICA
O CIRCUITO ELÉTRICO
PARA DESENHAR CIRCUITOS
ELECTRONICOS
• http://fritzing.org/projects/
• http://www.cadsoftusa.com/
UTILIZAR A FERRAMENTA PARA
DESENHAR
ESPECIFICAÇÕES TÉCNICAS

O LED é um díodo e portanto tem A resistência não tem polaridade. O


polaridade. Ligado ao contrario não código de cores nela impresso indica o
funciona. seu valor.
LIGAÇÃO DE UM LED

Datasheet de um led

https://learn.sparkfun.com/tutorials/diodes

http://ledcalc.com/
REALIZAR A MONTAGEM
INSTALAÇÃO DO SOFTWARE

• http://www.arduino.cc/
1º PROGRAMA
ABRINDO O EXEMPLO BÁSICO - BLINK
ANALISANDO O PROGRAMA
Este programa começa com um
comentário que apenas serve para
as pessoas que estão a ler o código
o compilador apaga este texto
quando compila o programa.
Para comentar um bloco de texto:
/* e acaba com */
Para comentar uma linha:
//
A secção SETUP serve para inicializar
as portas que vamos utilizar elas
podem ser inicializadas como
entradas ou saídas INPUT ou
OUTPUT).
A palavra chave para inicializar uma
porta é pinMode.
ANALISANDO O PROGRAMA
• pinMode
• http://www.arduino.cc/en/Reference/PinMode
ANALISANDO O PROGRAMA
• A função loop
ANALISANDO O PROGRAMA
2º PROGRAMA
OBJETIVOS:
• A estrutura de decisão – If
• Noção Pullup Resistor
• Utilizar um botão de pressão

Esta montagem consistirá na montagem de um


circuito que ao carregar num botão de pressão faz
acender um led durante 1segundo.
MONTAGEM ELETRÓNICA:
ESQUEMA ELÉTRICO:
PROGRAMA:
Noções prévias:
A estrutura de controlo If Teste lógico.
Explicação:
Tem que ser
A palavra chave if diz ao compilador que
uma
Sintaxe: está perante uma estrutura de controlo
comparação
que faz parar o programa até que o teste
lógico seja resolvido. O resultado do teste
Instruções a só pode tomar dois valores ou TRUE ou
executar FALSE. Caso o resultado do teste seja
caso o teste verdadeiro o programa irá continuar
seja executando as instruções designadas na
verdadeiro imagem como actionA caso o resultado do
teste seja falso o programa continuará
Instruções a executando as instruções designadas na
executar imagem por actionB.
caso o teste
seja falso
PROGRAMA
Noção de variável:

Qualquer microcontrolador necessita de memória para


armazenar dados. A memória está endereçada, ou seja, está
numerada de 1 até ao limite da memória.
Cada posição de memória é como se fosse uma gaveta onde
podemos guardar coisas, no caso do programa podemos guardar
informação na forma de números, texto, etc.

Para usar essas posições de memoria para guardar dados é


necessário declarar as variáveis.

Em c podemos declarar uma variável escrevendo o seu tipo e de


seguida o seu nome, exemplo:
Int a=23;
Neste vaso declaramos uma variável que o programa irá
identificar pela letra “a” e colocamos lá o valor 23.
O identificador a não nos diz qual a posição da memória pois
isso é gerido pelo compilador.
PROGRAMA COMPLETO = atribuição
== comparar
int switchPin = 4; //Switch Connected to PIN 4 void loop()
int ledPin = 8; //LED Connected to PIN 8 {
int switchState = 0; // Variable for reading Switch status switchState = digitalRead(switchPin);
//Reads the status of the switch.

if (switchState == LOW) //If the switch is


void setup() pressed

{ {

pinMode(ledPin, OUTPUT); //LED PIN is Output digitalWrite(ledPin, HIGH); //LED ON

pinMode(switchPin, INPUT);//Switch PIN is delay(3000); //3 Second Delay


input with PULLUP
digitalWrite(ledPin, LOW); //LED OFF
}
}
}
3º PROGRAMA
OBJETIVOS:
• A função map
• Noção transístor e díodo
• Utilizar um motor dc

Esta montagem consistirá na montagem de um


circuito que ao variar a resistência de um
potenciómetro fará aumentar ou diminuir a
velocidade de um pequeno motor DC.
MONTAGEM ELETRÓNICA:
ESQUEMA ELÉTRICO:
PROGRAMA:
Noções prévias:
A função map

Sintaxe:

Explicação:
A palavra chave map diz ao compilador para transformar um intervalo de valores
noutro intervalo de valores. Por exemplo converter uma nota de 0 a 100 numa nota
de 0 a 20.
PROGRAMA COMPLETO
int potPin = A0; void loop() {
int motorPin = 9; potValue = analogRead(potPin);
int potValue = 0; motorValue = map(potValue, 0, 1023, 0, 255);
int motorValue = 0; analogWrite(motorPin, motorValue);
void setup() { Serial.print("potentiometer = " );
Serial.begin(9600); Serial.print(potValue);
} Serial.print("\t motor = ");
Serial.println(motorValue);
delay(2); A função analogwrite é
Ativa a } usada para para pwm,
comunicação serie ou seja, para enviar um
através de USB sinal que vai variar de 0
para o computador a 5v de acordo com o
comando 0 ou 255.
4º PROGRAMA
OBJETIVOS:
• Utilizar livrarias
• Noção potenciómetro
• Utilizar um servo

Esta montagem consistirá na montagem de um


circuito que ao variar a resistência de um
potenciómetro fará rodar um pequeno servo entre o
0 e os 180 graus.
MONTAGEM ELETRÓNICA:
ESQUEMA ELÉTRICO:
PROGRAMA:
Noções prévias:
A função map

Sintaxe:

Explicação:
A palavra chave map diz ao compilador para transformar um intervalo de valores
noutro intervalo de valores. Por exemplo converter uma nota de 0 a 100 numa nota
de 0 a 20.
PROGRAMA COMPLETO
#include <Servo.h> void loop()
{
Servo myservo; // create servo object to val = analogRead(potpin); // reads the value of the
control a servo potentiometer (value between 0 and 1023)

int potpin = 0; // analog pin used to val = map(val, 0, 1023, 0, 179); // scale it to use it with
connect the potentiometer
the servo (value between 0 and 180)
int val; // variable to read the value from
myservo.write(val); // sets the servo position
the analog pin
according to the scaled value
void setup()
delay(15); // waits for the servo to get
{ there

myservo.attach(9); // attaches the }


servo on pin 9 to the servo object

Você também pode gostar