Documente Academic
Documente Profesional
Documente Cultură
html
Comprei esse display pela internet, e como veio sem manual ou qualquer esquema de ligao,
apanhei um pouco para faze-lo funcionar. Apesar de seguir o padro de ligao dos outros
displays com os quais eu j mexi, esse tem uma pinagem um pouco diferente, como vc pode
ver na figura abaixo :
Os pinos so numerados de 1 a 14, em ordem decrescente, e depois vem os pinos 16 e 15. Vai
entender...
Bom, essa foi a parte mais difcil. Depois que voc descobre pra que serve cada pino, a ligao
no Arduino fica assim :
O circuito :
Vamos testar essa ligao ? Voc pode utilizar o exemplo que vem no prprio Arduino,
carregando o programa atravs da IDE, no menu ARQUIVO => EXEMPLOS => LIQUIDCRYSTAL
=> DISPLAY , ou ento usar essa minha verso resumida :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Lembram do artigo sobre o LM35 ? No prximo , usaremos o display juntamente com o LM35
para exibir as informaes de temperatura no display. At l !
http://www.arduinoecia.com.br/2013/02/lm35-sensor-de-temperatura.html
No circuito abaixo, podemos ver a ligao do LM35, assim como os 3 leds na protoboard, que
acendem de acordo com a variao da temperatura. Todo esse material voc encontra no Kit
Arduino Iniciante , disponvel na loja FILIPEFLOP :
Ao executar o programa, o LM35 vai enviar informaes pela entrada analgica do Arduino,
que por sua vez vai tratar essas informaes, converter a tenso do sensor para graus celsius e
fahrenheit, armazenar os valores mximo e mnimo, e enviar essas informaes pela serial,
alm de acender os leds.
Aps compilar e transferir o programa para o Arduino, abra o Monitor Serial da IDE do Arduino
e voc ver uma tela parecida com esta :
Existem outros sensores de temperatura mais modernos, como o DS18B20, que um sensor
digital, possui bibliotecas prprias, possibilidade de ligar mais de um sensor na mesma porta
do Arduino, e vrias outras vantagens. Vou testar este sensor posteriormente e farei um post
especfico.
E j que falamos em datasheet no post anterior, abaixo os links para os datasheets dos
sensores citados :
Datasheet LM35 :
http://www.datasheetcatalog.org/datasheet/nationalsemiconductor/DS005516.PDF
Datasheet DS18B20 :
http://datasheets.maxim-ic.com/en/ds/DS18B20.pdf
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
void loop()
{
for(i = 0;i<=7;i++){ // Loop que faz a leitura da temperatura 8
vezes
samples[i] = ( 5.0 * analogRead(pin) * 100.0) / 1024.0;
//A cada leitura, incrementa o valor da variavel tempc
tempc = tempc + samples[i];
delay(100);
}
// Divide a variavel tempc por 8, para obter preciso na medio
tempc = tempc/8.0;
//Converte a temperatura em Fahrenheit e armazena na varivel
tempf
tempf = (tempc * 9)/ 5 + 32;
//Armazena a temperatura mxima na varivel maxtemp
if(tempc > maxtemp) {maxtemp = tempc;}
//Armazena a temperatura mxima na vari[avel mintemp
if(tempc < mintemp) {mintemp = tempc;}
//Se a temperatura estiver abaixo de 25, acende o led verde
if(tempc < 25)
{
digitalWrite(13, HIGH);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
}
//Se a temperatura estiver acima de 28, acende o led vermelho
if(tempc > 28)
{
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
digitalWrite(11, LOW);
}
//Se a temperatura estiver acima de 25 e abaixo de 28, acende o
led amarelo
if((tempc > 25) && (tempc < 28))
{
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
}
// As linhas abaixo enviam para o monitor serial a temperatura em
// Celsius e Fahrenheit,
// e tambm as temperaturas mxima e mnima registradas
Serial.print(tempc,DEC);
Serial.print(" Cels., ");
Serial.print(tempf,DEC);
Serial.print(" Fahr. -> ");
Serial.print(" Min : ");
Serial.print(mintemp,DEC);
Serial.print(" Max: ");
Serial.println(maxtemp,DEC);
tempc = 0;
delay(1000); // Aguarda 1 segundo e reinicia o processo
}
At a prxima !