Buscar

Arduino - 4 exp

Prévia do material em texto

Introdução a Programação - EC
Quinto Experimento Galileo
SystemC and OO-Synthesis
18.04.2015
Tobias Oppold
1
Apresentando a equipe
Camila Ascendina - login: can
Caio Cesar - login: ccal
Fabio Nunes Peixoto Sobral - login: fnps
Jose Nilton de Oliveira Lima Junior - login: jnolj 
Ladson Gomes - login: lgs3
Lucas Gabriel Xavier de Aguiar - login: lgxa
Lucas Maggi - login: lom
Luiz Emanoel Gomes de Farias Junior - login: legfj
Marvson - login: mapa
Matheus Felipe - login: mflm
Matthaeus Bezerra Marinho - login: mbm2
Nilson de Lima - login: nlj
Roberto Costa Fernandes - login: rcf6
Walber de Macedo - login: wmr
Site monitoria:
https://sites.google.com/site/introprogramacaoec/
http://www.cin.ufpe.br/~if669ecf/ (Monitores e Equipes)
Apresentar a equipe, deixar claro os contatos e incentivar as perguntas tanto em sala de aula quanto por email ou telefone (para aqueles alunos mais tímidos que não vencem este medo)
SystemC and OO-Synthesis
18.04.2015
Tobias Oppold
2
Regras de Uso do Laboratório
Zelar pelo laboratório;
Não riscar bancadas;
Não cortar bancadas ou cadeiras;
Zelar pelos equipamentos;
Observar tensão suportada pelo equipamento;
Observar corrente máxima suportada;
Não quebrar contatos;
Utilizar os equipamentos com cuidado e paciência;
Zelar pelo Kit Galileo;
Observar que kits tem tags indicando a quantidade e tipo dos componentes em cada espaço da caixa;
Armazenar e usar os componentes com cuidado e paciência.
O laboratório de hardware ficou tão lindo que nada mais justo do que avisar que o laboratório precisa de cuidados para permanecer lindo. O alunos não são mais crianças, mas um aviso sempre cai bem.
SystemC and OO-Synthesis
18.04.2015
Tobias Oppold
3
O que vamos aprender hoje???
Strings
Vetores
Matrizes
Experimento
Software Galileo
Executar código
Testar
SystemC and OO-Synthesis
18.04.2015
Tobias Oppold
4
LCD
Liquid Crystal Display
5
Apresentar o LCD com as suas mais diversas camadas e claro, apresentar que ele realmente tem uma camada de cristal líquido. Que com a corrente elétrica reorganiza as moléculas e permite que a luz passe. Lembrar das técnicas de tornar um monitor de LCD visível somente a um óculos.
SystemC and OO-Synthesis
18.04.2015
Tobias Oppold
5
LCD
Conexões do LCD (16 X 2)
LCD
Conexões do LCD (16 X 2)
Mostrar as ligações do LCD e introduzir o potenciômetro.
SystemC and OO-Synthesis
18.04.2015
Tobias Oppold
7
Biblioteca do LCD
Função
Exemplo
Descrição
LiquidCrystal(rs, enable, d4, d5, d6, d7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
Serve para indicar quais os pinos estão sendo utilizados para controlar, enviar ou receber dados doGalileo
lcd.begin(colunas, linhas)
lcd.begin(16, 2);
Esta função de inicialização do LCD indica a quantidade de linhas e colunas que ela possui.
lcd.setCursor(coluna, linha)
lcd.setCursor(0, 0);
Indica para que linha e coluna o cursor deve ir.
lcd.print(data)
lcd.print(“Ola!”);
Serve para apresentar algo na tela.
#include <LiquidCrystal.h> 
Lembrar que para utilizá-la precisa usar o include no cabeçalho do código
SystemC and OO-Synthesis
18.04.2015
Tobias Oppold
8
Inicializando LCD
Código de Inicialização
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //seta as portas para o LCD
void setup(){ //seta o LCD e as portas de entrada
 lcd.begin(16, 2);
}
void loop() {
	int i;
	i = 10;
	 lcd.setCursor(0, 0);
 lcd.print(i);
}
Potenciômetro
Resistência variável 
Apresentar ele como essa panelinha mais a esquerda e apresentar o funcionamento dele com ele aberto.
SystemC and OO-Synthesis
18.04.2015
Tobias Oppold
10
Strings
Conjunto de caracteres representados por um vetor ou matriz;
Vetor (em tempo de compilação)
Somente um for
Char1
Char
2
Char
3
Char
4
Char
5
Char
6
Char
7
Char
8
Char
9
Char
10
Memória
Char1
Char
2
Char
3
Char
4
Char
5
Char
6
Char
7
Char
8
Char
9
Char
10
Apresentar a teoria das Strings, mostrando que o vetor é criado um espaço na memória em tempo de compilação, ou seja, enquanto o programa está lendo o código.
Para passear por este tipo de estrutura basta somente um for passendo pelo x.
SystemC and OO-Synthesis
18.04.2015
Tobias Oppold
11
Strings
Matriz (em tempo de compilação)
Dois for aninhados
Char(0,0)
Char(1,0)
Char(2,0)
Char(3,0)
Char(4,0)
Char(0,1)
Char(1,1)
Char(2,1)
Char(3,1)
Char(4,1)
Char(0,2)
Char(1,2)
Char(2,2)
Char(3,2)
Char(4,2)
Memória
Char(0,0)
Char(1,0)
Char(2,0)
Char(3,0)
Char(4,0)
Char(0,1)
Char(1,1)
Char(2,1)
Char(3,1)
Char(4,1)
Char(0,2)
Char(1,2)
Char(2,2)
Char(3,2)
Char(4,2)
Para passear por esta estrutura são necessários dois for, um para passear pelo x e outro para passear pelo y. 
SystemC and OO-Synthesis
18.04.2015
Tobias Oppold
12
Strings
Vetor
char nomeDaString [tamanhoDaString + 1];
Matriz
char nomeDaString [altura+1][largura+1];
Inicialização
char string[6];
char vetc[6]= {'T', 'e', 'x', 't', 'o', '\0'};
char vetc[6] = “Texto”;
vetc[ ] = “Texto”;
Mostrar que este mais um é utilizado, porque o símbolo “\0” é utilizado para avisar do termino de uma string.
Apresentar as formas de Inicialização do vetor e da matriz
SystemC and OO-Synthesis
18.04.2015
Tobias Oppold
13
Experimento Strings
Experimentos
10kΩ
10kΩ
Experimentos - Strings
Experimento 1
Apresentar a string “Hello World” no LCD
Tela fixa
For(;;);
Experimento 2
Criar uma matriz de caracteres 
Colunas 128;
Linhas 2;
Preencher esta matriz com X e espaços “ ”
X X X X
 X X 
Experimentos - String
Experimento 2 – Continuação
LCD 
16 colunas; 
2 linhas;
Apresentação como janela:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
...
127
Linha 0
Linha 1
Experimentos - Strings
Experimento 3
Pegar o experimento anterior
Adicionar caractere D
Sempre na posição (0,1)
Movimentação da tela com D fixo
Experimento 4
Pegar o experimento anterior
Adicionar movimento a D – Precisa de atraso
Pressionou botão D sobe;
Pressionou outro botão D desce. 
X
D
X
X
D
X
D
X
X
OU
Desafio - Strings
Ideia geral
Aviãozinho desviando dos obstáculos
SystemC and OO-Synthesis
18.04.2015
Tobias Oppold
18
Dúvidas

Continue navegando