Buscar

Arduino - 6 exp

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Introdução a Programação - EC
Oitavo Experimento Galileo
SystemC and OO-Synthesis
18.04.2015
Tobias Oppold
1
Apresentando a equipe
Camila Ascendina (can@cin.ufpe.br)
Matthaeus Marinho (mbm2@cin.ufpe.br)
 Gustavo Costa (ghgcs@cin.ufpe.br)
Douglas Brito (dba@cin.ufpe.br)
João Marquim (jvsmfn@cin.ufpe.br)
Nilson de Lima (nlj@cin.ufpe.br)
Walber Macêdo – ( wmr @cin.ufpe.br)
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???
Funções
Estruturas dinâmicas
Experimento
Software Galileo
Executar código
Testar
Função
Trecho de código encapsulado
int soma (int a, int b){
	int resultado;
 resultado = a + b;
 return resultado;
 }
Uma função é como uma ameba, um trecho de código que foi englobado. O programador escreve a bagunça, depois verifica o trecho de código que mais se repete e faz uma função. Mostrar que a função pode ter retorno ou não (void ou nome do tipo).
SystemC and OO-Synthesis
18.04.2015
Tobias Oppold
5
Função
Dicas de como escrever o nome das funções
1- Pode começar com qualquer letra ou caractere especial;
2- Não pode começar com numero;
3- Caso a função tenha nome composto, a partir da segunda palavra, a primeira letra de cada palavra deve ser maiúscula. 
Ex: funcaoSomaInteirosTotais ()
Ponteiros e seus derivados
Armazena endereço de variável
Por quê ponteiro?
Acesso mais rápido a vetores e matrizes;
Vetores e matrizes não podem ser utilizadas como parâmetros
Acesso a grandes porções de memória (basta adicionar)
Permite alocação dinâmica
Ponteiros e seus derivados
Como usar:
int a; 
int *p = &a; //inicializando o ponteiro
*p = 20; //modificando o valor da variável 
Pode ter vários tipos:
int = inteiro
int* = array dinamica de inteiros
int** = array dinamica de array de inteiros
Vale a pena olhar:
http://pt.wikibooks.org/wiki/Programar_em_C/Ponteiros
http://www.tiexpert.net/programacao/c/ponteiro-para-ponteiro.php
Estruturas Dinâmicas
Usando um programa
End 1
End 2
End 3
...
End 255
Programa soma - vetor
Programa soma
Programa soma
Quando se utiliza um programa, uma parte da memória é reservado para o código do seu programa. (uma parte para as estruturas estáticas e outras para as demais variáveis por exemplo). Mas e quando não se sabe o tamanho ao certo? Imagina que tu tens um programa que salva o nomes dos clientes em um vector, tu saberia o tamanho desse vector???
SystemC and OO-Synthesis
18.04.2015
Tobias Oppold
9
Estruturas dinâmicas
Quando não se sabe o tamanho... 
OBS: Precisa da biblioteca stdlib.h
Malloc
Calloc
Free
End 1
End 2
End 3
...
End 255
Reservado Malloc
Reservado Malloc
Reservado Malloc
Reservado Calloc - 0
Reservado Calloc - 0
Reservado Calloc - 0
SystemC and OO-Synthesis
18.04.2015
Tobias Oppold
10
Estruturas dinâmicas
Malloc (memory allocation)
 
 char *ptr; 
 ptr = (char *) malloc( 1); 
Calloc
	int *p;
	int a; 
	p= (int *) calloc(a, sizeof(int));
Free
	free(p);
Malloc – quantidade de bytes você precisa multiplicar
Calloc – recebe um inteiro que indica as posições e outro valor que indica o tipo que deve ser salvo.
SystemC and OO-Synthesis
18.04.2015
Tobias Oppold
11
Experimento Estruturas Dinâmicas
Experimentos
10kΩ
200Ω
10kΩ
10kΩ
SystemC and OO-Synthesis
18.04.2015
Tobias Oppold
12
Experimentos – Estruturas Dinâmicas
Experimento 1
Criar uma matriz dinâmica de inteiros que tenha inicialmente 20 colunas e duas linhas.
 
Experimento 2
Criar um ponteiro que armazene dois ponteiros para inteiros.
Experimento 3
Na primeira linha da matriz colocar valores correspondentes as portas de saida dos LEDS, na segunda linha colocar valores para as portas de entrada (botoes).
Experimentos – Estruturas Dinâmicas
Desafio
A cada rodada uma sequencia de leds irá piscar, começando com 1 led, depois 2 e assim por diante, e o jogador deve memorizar a sequencia e depois apertar o botão correspondente a cada led que acendeu, respeitando a sequencia. O jogo terá no máximo 19 rodadas. Caso o jogador perca, todos os leds se acenderão por 4 segundos e o jogo reinicia. Caso o jogador vença, os leds piscarão num padrão que se repetirá por 4 vezes e o jogo reinicia.
Dúvidas

Outros materiais