MCO018703 2020 2 AULA12: mudanças entre as edições
Ir para navegação
Ir para pesquisar
Linha 6: | Linha 6: | ||
#Qual é o nome da biblioteca de funções para a utilização do LCD na programação do Arduíno? | #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 é 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? | |||
# | # | ||
Edição das 16h59min de 30 de março de 2021
1 Lista de Exercícios
1.1 Parte 1 - Teórica
- Como funciona e como onde posso utilizar a shield do LCD 16x2?
- 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?
1.2 Parte 2 - Prática*
*Para quem tem computador e/ou Arduíno
1.2.1 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);
}
}
1.2.2 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);
}
1.2.3 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);
}