Mudanças entre as edições de "MCO018703 2023 2 AULA12"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 1: Linha 1:
 
=Lista de Exercícios=
 
=Lista de Exercícios=
  
==Parte 1 -  Teórica==
+
;OBJETIVO: Estudar para a avaliação final, que será prática.
  
#Como funciona e como onde posso utilizar a ''shield'' do LCD 16x2?
+
==Questão 1==
#Qual é o nome da biblioteca de funções para a utilização do LCD na programação do Arduíno?
 
#O que é e para que serve o LM35 e quais são suas características técnicas?
 
#O que é um display de 7 segmentos?
 
#Quantos pinos do Arduíno eu preciso disponibilizar para mostrar as informações no display de 7 segmentos?
 
#Como é o funcionamento com o Anodo Comum e Catado Comum?
 
#O que é PWM?
 
#Na prática, o que significa o ''Duty Cicle'' ser menor e ser maior?
 
#Se eu tenho um ''Duty Cicle'' de 60% com VCC de 5V. Qual é o valor de tensão saída (Vout) do pino PWM?
 
#Quais são os pinos que podem ser utilizados com PWM no Arduíno Uno?
 
#O que é um conversor A/D?
 
#Quantos bits de resolução tem o conversor A/D do Arduíno Uno?
 
#Quantos e quais são os canais (pinos) para o conversor do Arduíno Uno?
 
#O que é um Termistor NTC e para que serve?
 
#Qual é melhor: LM35 ou NTC?
 
#O que é um sensor LDR e para que serve?
 
#Normalmente os LDRs trabalham em série com um resistor de mesmo valor. Por quê?
 
#Cite algumas ''Shields'' que você acharia legal de ter e programar no Arduíno.
 
#Para que serve os ''Timers'' do Arduíno?
 
#O que é uma interrupção em um microcontrolador?
 
#Cite algumas aplicações utilizando interrupções.
 
#Qual a diferença entre uma interrupção interna e uma externa.
 
#Quais os pinos do Arduíno podem ser utilizados como interrupção externa?
 
 
 
==Parte 2 - Prática==
 
 
 
 
 
 
 
===Questão 1===
 
  
 
Faça um programa em Arduíno que utilize push-button e LED de modo que quando
 
Faça um programa em Arduíno que utilize push-button e LED de modo que quando
Linha 63: Linha 35:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===Questão 2===
+
==Questão 2==
  
 
Faça um programa em Arduíno que leia dados do potenciômetro para temporizar o
 
Faça um programa em Arduíno que leia dados do potenciômetro para temporizar o
Linha 93: Linha 65:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===Questão 3===
+
==Questão 3==
  
 
Faça um programa em Arduíno que leia dados de sensor NTC e acione o LED no
 
Faça um programa em Arduíno que leia dados de sensor NTC e acione o LED no
Linha 137: Linha 109:
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
 
  
  

Edição das 13h50min de 10 de novembro de 2023

Lista de Exercícios

OBJETIVO
Estudar para a avaliação final, que será prática.

Questão 1

Faça um programa em Arduíno que utilize push-button e LED de modo que quando a chave for pressionada o estado do LED mude. Por exemplo, uma vez pressionado a chave o LED ascende, outra vez, o LED apaga.

Código fonte
int guarda_estado = LOW; // variável para armazenar valores do pushbutton
 
void setup() {
    pinMode(5, OUTPUT);
    pinMode(10, INPUT); 
}
 
void loop(){
    int estado = digitalRead(10);
 
    if (estado == LOW) {    
        guarda_estado = !guarda_estado;  // inverte valor da variável variable_buttonEstado
        delay(500); //esperera o tempo de 200ms para evitar que haja várias vezes alterações
    }
    if (guarda_estado == HIGH) {
        digitalWrite(5, HIGH);
    }
    else {
        digitalWrite(5, LOW);
    }
}

Questão 2

Faça um programa em Arduíno que leia dados do potenciômetro para temporizar o LED. O potenciômetro no máximo, pisca devagar e no mínimo, pisca mais rápido. (3 pontos)

Código fonte
void setup()
{ 
   Serial.begin(9600);
   pinMode(5, OUTPUT);
}
 
void loop()
{ 
    float valor;
    int val = analogRead(0);
 
    valor = (val*5.0)/1023;
 
    Serial.println(valor);
    digitalWrite(5, HIGH);
    delay(val);
    digitalWrite(5, LOW);
    delay(val);
    
}

Questão 3

Faça um programa em Arduíno que leia dados de sensor NTC e acione o LED no caso de a temperatura em graus Celsius esteja maior que setup de temperatura. Por exemplo, aciona o LED quando passar de 30°C e apaga quando for menor 30°C. Acompanhe os valores lidos no monitor serial do Arduíno. (3)

Código Fonte
#include <math.h>
 
const int sensor = A0;
 
double tempCelsius(int valorNTC)
{
   double temp;
 
   temp = log(((10240000/valorNTC)-10000)); // para NTC de 10k
   temp = 1/(0.001129148+(0.000234125+(0.0000000876741*temp*temp))*temp);
 
   temp=temp-273.15; // Coonverte Kelvin para Cesius
 
   return temp;
}
 
void setup()
{
    Serial.begin(9600);
    pinMode(5, OUTPUT);
}
 
void loop()
{
   int valor=analogRead(sensor);
   double c=tempCelsius(valor);
   Serial.println(c);
   if (c>30)
        digitalWrite(5, HIGH);
   else
        digitalWrite(5, LOW);
   delay(250);
}



Icone voltar.png Icone menu.png Icone prox.png