Você está na página 1de 5

Atividade 14: Termómetro

Digital
Objetivo: Construir um circuito eletrônico de medição de
temperaturas, onde um display de sete segmentos irá indicar as
temperaturas de 0 a 30.
Para este projeto utilize:

- Um buzzer se acionado para valores abaixo de 0 ou acima de


30;

- Temperaturas abaixo de 20 devem acionar um LED azul,


indicando frio;

- Acima de 20 irão acionar um LED vermelho, indicando calor;

O display deve indicar:

Valor entre 0° ou menos;

Valores entre 10° e 19°;

Valores entre 20° e 29°;

Valores entre 30° ou mais.

69
Circuito Elétrico
Utilize os seguintes componentes:

Arduino Uno Display Resistor 1K Ω

1 Unidade 1 Unidade 2 Unidades

Fio Jumper Protoboard Resistor 330 Ω

19 Unidades 1 Unidade 8 Unidades

LED NTC Buzzer

2 Unidades 1 Unidade 1 Unidade

70
Siga os seguintes passos:

- Interligue as fileiras do Protoboard, e conecte-as as


fileiras de alimentação do Arduino;

- Acople o NTC ao circuito, e conecte um jumper entre os


terminais e as fileiras negativa e positiva do Protoboard;

NTC não possui polaridade.

- Conecte um resistor entre uma das fileiras do NTC, e um


jumper entre o resistor e uma porta analógica do Arduino;

71
- Coloque um jumper entre o terminal positivo do buzzer e uma
porta digital do Arduino, e resistor de 1K ohms entre terminal
negativo do buzzer e a fileira negativa do Protoboard;

- Encaixe o display, e coloque jumpers entre os resistores de


330 Ω e 8 portas digitais do Arduino;

Siga uma ordem crescente ou decrescente de portas digitais, e conecte


o pino do meio de acordo com o tipo de display (Anodo ou Catodo).

- Encaixe o resistor entre o terminal negativo do LED e a


fileira negativa do Protoboard.

72
Atividade 14: Termômetro Digital

// Projeto Curto Circuito – Termômetro Digital

// Biblioteca NTC
#include <Thermistor.h>
// Pinos do Display
int A = 13;int B = 12;int C = 11;int D = 10;int E = 9;int F = 8;int G = 7;
int DP = 6;
Thermistor temp(0);
int buzzer = 5;
int LED2 = 4; // Azul
int LED = 3; // Vermelho
void setup() {
Serial.begin(9600);
pinMode(LED, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(A, OUTPUT); pinMode(B, OUTPUT); pinMode(C, OUTPUT); pinMode(D, OUTPUT);
pinMode(E, OUTPUT); pinMode(F, OUTPUT); pinMode(G, OUTPUT); pinMode(DP, OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
// Interpretação da leitura do sensor
int temperature = temp.getTemp();
Serial.print("Temperatura no Sensor: ");
Serial.print(temperature);
Serial.println("*C");
delay(1000);
digitalWrite(buzzer, 0); // Desliga Buzzer
if ( temperature <= 0) { // Se a temperatura for menor ou igual a 0
digitalWrite(LED, 0); digitalWrite(LED2, 1);digitalWrite(buzzer, 1);
digitalWrite(A, 0);digitalWrite(B, 0);digitalWrite(C, 0);digitalWrite(D, 0);
digitalWrite(E, 0);digitalWrite(F, 0);digitalWrite(G, 1);digitalWrite(DP, 1);
}
if ( temperature > 0 && temperature <= 19) { // Se for entre 10 e 19
digitalWrite(LED, 0);digitalWrite(LED2, 1); digitalWrite(buzzer, 0);
digitalWrite(A, 1);digitalWrite(B, 0);digitalWrite(C, 0);digitalWrite(D, 1);
digitalWrite(E, 1);digitalWrite(F, 1);digitalWrite(G, 1);digitalWrite(DP, 1);
}
if ( temperature >= 20 && temperature <= 29) { // Se for entre 20 e 29
digitalWrite(LED, 1);digitalWrite(LED2, 0); digitalWrite(buzzer, 0);
digitalWrite(A, 0);digitalWrite(B, 0);digitalWrite(C, 1);digitalWrite(D, 0);
digitalWrite(E, 0);digitalWrite(F, 1);digitalWrite(G, 1);digitalWrite(DP, 1);
}
if ( temperature >= 30) { // Se a temperatura for maior ou igual a 30
digitalWrite(LED, 1);digitalWrite(LED2, 0); digitalWrite(buzzer, 1);
digitalWrite(A, 0);digitalWrite(B, 0);digitalWrite(C, 0);digitalWrite(D, 0);
digitalWrite(E, 1);digitalWrite(F, 1);digitalWrite(G, 1);digitalWrite(DP, 1);

}
}

Por tratar-se de um programa desenvolvido com uma


biblioteca específica, o simulador irá reproduzir apenas uma
forma similar de funcionamento desta atividade:
https://www.tinkercad.com/things/eSRF9yAFkKl

115

Você também pode gostar