Upload
heitor-galvao
View
114
Download
3
Embed Size (px)
DESCRIPTION
VBB, Arduino
Citation preview
Prática da Disciplina de
Laboratório de Conversão de
Energia
Tema: Controle de um motor DC
através do Arduino.
1. Conceito de Arduino
• Plataforma de computação física ou
embarcada;
• Um Arduino é um pequeno computador
que dá para programar com o objetivo
de processar entradas e saídas entre o
dispositivo e os componentes externos
conectados a ele.
1. Conceito de Arduino
Figura 1 - Arduino UNO
1. Conceito de Arduino
• Pode ser utilizado para desenvolver
objetos interativos independentes, ou
pode ser conectado a um computador;
• O Arduino pode ser conectado a LEDs,
displays de matriz de pontos, botões,
interruptores, motores, sensores de
temperatura, sensores de pressão,
sensores de distancia, receptores GPS,
módulos Ethernet.
1.1 Características do Arduino
• A placa do Arduino e composta de um
microprocessador Atmel AVR: um cristal
ou oscilador (relógio simples que envia
pulsos de tempo em uma frequência
especificada);
• Saída USB, que permite conecta-lo a um
PC ou Mac para upload ou recuperação
dos dados.
• .
1.1 Características do Arduino
• A placa expõe os pinos de entrada/saída
d microcontrolador, para que voce possa
conecta-los a outros circuitos ou
sensores..
1.1 Características do Arduino
2. Software Arduino
Figura 3 - O programa do Arduino também é conhecido
como IDE Arduino (Integrated Development Environment)
pois além do entorno de programação consiste também em
um editor de código, um compilador e um depurador.
2. Software Arduino
Figura 4 - Espaço de trabalho
2. Software Arduino
• Legenda para a Figura 4.
3. Programando o Arduino
• Arduino se programa em uma linguagem
de alto nível semelhante a C/C++ e
geralmente tem:
Estruturas
Variáveis
Operadores booleanos, de comparação
e aritméticos
Estrutura de controle
Funções digitais e analógicas
3.1. Estruturas
• São duas funções principais que deve ter
todo programa em Arduino:
“Função setup()”:é chamada quando um
programa começa a rodar. Função
usada para inicializar as sua variáveis,
os modos dos pinos, declarar o uso de
livrarias.
“Função loop()”: parte principal do
programa (executa sempre o mesmo
bloco de código). Esta função é usada
para controlar ativamente a placa
Arduino.
3.2. Variáveis
• Variáveis são expressões que são
usadas em programas para armazenar
valores como a leitura de um sensor em
um pino analógico.
“Variáveis Booleanas”: possui apenas
dois valores verdadeiro (true) ou
falso(false).
“Int”: armazenador de dado numérico
capaz de armazenar ate dois bytes.
“Char”: Um tipo de dado que ocupa 1
byte de memória.
3.3. Operadores booleanos, de
comparação e aritméticos
• Operadores booleanos: Estes
operadores podem ser usados dentro da
condição em uma sentença “if”.
• Operadores: && (“e” lógico), || (“ou”
lógico), ! (negação).
• Exemplos:
if (digitalRead(2) == 1 && digitalRead(3)
== 1)
if (x > 0 || y > 0)
if (!x)
3.3. Operadores booleanos, de
comparação e aritméticos
• Operadores de comparação: “if”, que é
usado juntamente com um operador de
comparação, verifica quando uma
condição é satisfeita.
• Operadores:
x == y (x é igual a y);
x != y (x é não igual a y);
x < y (x é menor que y);
x > y (x é maior que y);
x <= y (x é menor ou igual a y);
x >= y (x é maior ou igual a y).
3.3. Operadores booleanos, de
comparação e aritméticos
• Operadores aritméticos: Se aplicam no
uso de variáveis.
• Operadores:
“=” (igualdade);
“+” (adição);
“-” (subtração);
“*”(multiplicação);
“/” (divisão);
“%” (resto da divisão);
3.4. Estruturas de controle
• São instruções que permitem decidir e
realizar diversas repetições de acordo
com alguns parâmetros. Entre os mais
importantes pode-se destacar:
Switch/case;
While;
For.
3.4. Estruturas de controle
• Switch/case: permite ao programador
construir uma lista de “casos” dentro de
um bloco delimitado por chaves. O
programa checa cada caso com a
variável de teste e executa o código se
encontrar um valor idêntico.
3.4. Estruturas de controle
• Exemplo de Switch/case:
switch (var) {
case 1:
//faça alguma coisa quando var == 1
case 2:
//faça alguma coisa quando var == 2
default:
// se nenhum valor for idêntico, faça o
default
// default é opcional
}
3.4. Estruturas de controle
• While: fará com que o bloco de código
entre chaves se repita contínua e
indefinidamente até que a expressão
entre parentesis () se torne falsa.
Exemplo:
var = 0;
while(var < 200){
// algum código que se repete 200 vezes
var++;
}
3.4. Estruturas de controle
• For: A sentença for é utilizada para
repetir um bloco de código delimitado por
chaves. Um contador com incremento
normalmente é usado para controlar e
finalizar o loop.
• Exemplo no slide seguinte.
3.4. Estruturas de controle
// Aumentar o brilho de um LED usando um pino PWM
int PWMpin = 13; // um LED no pino 13
void setup()
{
// nenhum setup é necessário
}
void loop()
{
for (int i=0; i <= 255; i++){
analogWrite(PWMpin, i);
delay(10);
}
}
3.5. Funções digitais
• Orientadas a revisar o estado e a
configuração das entradas e saídas
digitais.
• Funções Digitais:
pinMode();
digitalRead();
digitalWrite().
3.6. Funções analógicas
• Ideais para a leitura ou escrita de valores
analógicos.
• Funções Analógicas:
analogRead()
analogWrite()
4. Simulação de Projetos do
microcontrolador Arduino no Virtual
Breadboard
• O teste de projetos de eletrônica hoje em
dia podem ser facilmente realizados em
laboratórios virtuais. Esta possiblidade
oferece uma vantagem muito importante:
Evitar a destruição de componentes por
erro de calculo de alguma variável ou
algum outro dimensionamento;
Um exemplo desse tipo de software é o
Virtual Bread Board versão 4.15,
especifico para projetos com
microcontroladores.
4. 1. Layout do programa
Figura 6 – Tela Inicial do Virtual
BreadBoard
4.2. Detalhes importante do programa
Virtual Bread Board
• A linguagem de programação utilizada é
o java.
• É possivel adaptar o programa em c do
software do arduino para o java do VBB,
basta utilizar o seguinte comando:
• Importmuvium.compatibility.arduino.*;
class (nomedoprojeto) extends Arduino.
4.2. Implementação do projeto no
Virtual Bread Board
• Figura 7 – Projeto Implementado no VBB
4.2. Implementação do projeto no
Virtual Bread Board
• Desenvolvimento de um controle de
velocidade de rotação para um motor de
corrente contínua. Utilizando um medidor
de potência aplicada usando leds.
• Funcionamento: a medida que o
potenciômetro linear é utilizado o motor
cc aumenta e os leds vão acendendo de
acordo com a potência aplicada, se o
motor estiver girando no máximo todos
os leds ficarão acesos.
4.2. Implementação do projeto no
Virtual Bread Board
Link do Vídeo da Implementação
https://www.youtube.com/watch?v=4sUWr
E-hJf4&list=UUr6xc60yWd1cl6J79Hewavg