Tópicos Abordados na Aula
Sáb Abr 27, 2019 10:01 pm
Na aula de hoje fizemos uma revisão das dúvidas mais comuns que encontrei nas publicações que fizeram no fórum e vários outros alinhamentos sobre nossos trabalhos, abaixo os pontos mais relevantes:
- Sobre os trabalhos no Fórum
1.1 As notificações chegam a mim através dos novos tópicos os das respostas publicadas nos tópicos. Quando há uma edição de texto o fórum não notifica sobre essa ação. E acabo não revisando o exercício, então,
1.2 Combinamos que quando vocês fizerem uma edição nos exercícios já publicados, façam também uma resposta no tópico para eu receber a notificação e fazer a avaliação do exercício e garantir aquela merecida nota 10.0. . Respondam com "revisei o exercício" ou " " Não importa desde que eu receba a notificação e corrija sua nota. Vamos colocar uma meta de todos com nota 10.0 em tudo. Só depende de vocês.
1.3 Tratamos as questões sobre cópia dos exercícios, situação na qual é descontado 5.0 pontos. Na verdade o que espero é que voces realmente aprendam a programar essas máquinas. Se copiam os exercícios, não vão aprender. O objetivo não pode ser "esperto" e faturar a nota, tem que saber programar. Quem não souber e tiver nota 10.0 em tudo está enganando a si mesmo. Aproveitem a oportunidade que estão tendo. - Sobre os Comentários
2.1 Revisamos os comentários dos comandos, aqueles que vem depois do // . Essa é a forma que utilizo para saber se voce entendeu o que cada comando faz no programa, é fundamental para me convencer que está aprendendo e garantir a melhor nota. Também serve para eu te orientar quando tiver uma interpretação errada, uma dúvida ou um complemento que possa fazer para que melhore como programador.
2.2 Falamos também sobre os comentários em bloco, aqueles que são seguidos de /* ... */ Essa é a forma correta de colocar as observações que fazem sobre o que fizeram na aula, os aprendizados que tiveram, a forma que resolveram os exercícios, entre outras observações que acharem necessárias.
2.2.1 Esses blocos também servem para fazer um descritivo mais completo sobre um programa ou função.
2.2.2 Uma coisa garanto, sempre leio e considero na hora de aplicar a nota, pois além de saber sobre cada comando , e entender como o conjunto funciona, vejo também as suas experiencias com programação.
2.2.3 Independente do objetivo dos comentários em bloco vamos combinar de escreve-los usando a linguagem C, ou seja, entre /* e */. - Sobre as funções COMPLEMENTARES
3.1 Na regra geral vamos trabalhar com mais profundidade essas funções conforme o curso for evoluindo, mas não podemos deixar de saber sobre o básico, pois elas estão sendo usadas o tempo todo.
3.2 As funções complementares são blocos de programas que devem ser executados em várias partes do programa principal. Elas são colocadas em funções e as chamadas realizadas no programa principal.
3.3 São escrita assim: nomeDaFuncao() { comandos } . Onde, o nome da função é também o comando usado para chamar a função, entre parenteses vão as variáveis, quando aplicáveis, e dentro das chaves os comandos que serão executados.
3.2 O void na frente da função indica que a função não retornará nenhum valor, lá na frente vamos ver como chamar funções com algum valor que deverá ser processado e como retornar com um resultado, por enquanto vamos nos ater apenas aos comandos de bloco que serão executados.
3.3 Vimos também como os funções facilitam os programas, como no exemplo do exercício 1.12. onde o tempo pode ser ajustado a cada ciclo chamando a função após troca do estado do led. - Dúvidas Sobre as Interrupções
4.1 Revisamos os parâmetros do comando attachInterrupt(pino, função, modo); onde :
4.1.1 pino - Aceita os valores 0 e 1. refere-se, no caso do nano, aos pinos D2 valor 0 e D3 para o valor 1
4.1.2 função - É a função escrita com os comandos que serão executados quando houver um evento de interrupção no processador
4.1.3 modo - Vimos os 4 modes de disparo, que são LOW quando o pino estiver em 0, RISING quando o sinal passar de 0 para 1, FALLING quando o snal passar de 1 para 0 e CHANGE quando houver alteração no sinal do pino.
4.2 Revisamos o exercício 1.17 - Função map() e o debug()
5.1 Revisamos a função map(valor, min1, max1, min2, max2); onde:
5.1.1 valor - é uma variável, leitura de sensor, ou outras formas de entrada de valores, esse é o número que será convertido
5.1.2 min1, max1 - trata-se da faixa de variação do valor de entrada, usamos a função debug() para verificar qual a faixa minima e máxima que o sensor apresentou.
5.1.3 min2, max2 - esses são os valores convertidos que retornam quando a função é acionada.
5.2 para exemplificar transformei minha placa em um termometro,
5.2.1 Monitoramos o valor que o sensor apresentou em temperatura ambiente , deu 565 e estimamos que seria 22 graus
5.2.2 Monitoramos o valor quando segurei o sensor com os dedos, deu 610 e estimamos que esse valor seria para 32 graus
5.2.3Pelo terminal vimos que quando o ntc estava na temperatura ambiente indicava 22 e quando segurava os valores iam aumentando proporcional a temperatura até atingir o valor 32
5.3 Programa usado
- Código:
# define ntc A0
int temperatura;
//funcoe auxiliares
void debug(){
Serial.print(temperatura); // imprime na porta serial o valor indicado pelo termometro
Serial.print("\n"); // vai para proxima linha
}
#define led 3
void setup() {
Serial.begin(9600); //inicialização da porta serial
}
void loop() {
temperatura = map(analogRead(ntc), 565, 610, 22, 32); //variavel recebe a leitura do ntc com os valores convertidos em graus celcius
delay(400); //atraso entre as leituras
debug(); //para ler a temperatura e mostrar na porta serial
}
SEMANA QUE VEM JÁ INICIAMOS NO CAPÍTULO 2, NÃO PERCAM.
Permissões neste sub-fórum
Não podes responder a tópicos
|
|