MCO018703 2018 2 AULA12: mudanças entre as edições

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Douglas (discussão | contribs)
 
Douglas (discussão | contribs)
 
(11 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
=Exercícios - Avaliação Teórica de 2017-2=


=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. (4 pontos)
;Código fonte
<syntaxhighlight lang=c>
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);
    }
}
</syntaxhighlight>
=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:
<syntaxhighlight lang=c>
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);
   
}
</syntaxhighlight>
=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
<syntaxhighlight lang=c>
#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);
}
</syntaxhighlight>




-----
-----
[[Imagem:icone_voltar.png|link=MCO018703_2018_2_AULA01]]
[[Imagem:icone_voltar.png|link=MCO018703_2018_2_AULA11]]
[[Imagem:icone_menu.png|link=MCO018703_2018_2#Aulas]]
[[Imagem:icone_menu.png|link=MCO018703_2018_2#Aulas]]
[[Imagem:icone_prox.png|link=MCO018703_2018_2_AULA13]]
[[Imagem:icone_prox.png|link=MCO018703_2018_2_AULA13]]

Edição atual tal como às 16h24min de 10 de dezembro de 2018

1 Exercícios - Avaliação Teórica de 2017-2

2 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. (4 pontos)

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);
    }
}

3 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);
    
}

4 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);
}