Prática da disciplina de laboratório de conversão de energia
1. Prática da Disciplina de Laboratório de Conversão de Energia
Tema: Controle de um motor DC através do Arduino.
2. 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.
4. 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.
5. 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.
•.
6. 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..
8. 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.
11. 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
12. 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.
13. 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.
14. 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)
15. 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).
16. 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);
17. 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.
18. 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.
19. 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
}
20. 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++;
}
21. 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.
22. 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);
}
}
23. 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().
24. 3.6. Funções analógicas
•Ideais para a leitura ou escrita de valores analógicos.
•Funções Analógicas:
analogRead()
analogWrite()
25. 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.
26. 4. 1. Layout do programa
Figura 6 – Tela Inicial do Virtual BreadBoard
27. 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.
28. 4.2. Implementação do projeto no Virtual Bread Board
•Figura 7 – Projeto Implementado no VBB
29. 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.
30. 4.2. Implementação do projeto no Virtual Bread Board
Link do Vídeo da Implementação
https://www.youtube.com/watch?v=4sUWrE-hJf4&list=UUr6xc60yWd1cl6J79Hewavg