LM35 com display 7 segmentos
Este é o meu tutorial, não está perfeito, mas tentei ser mais esclarecedor possivel.
O objectivo deste tutorial é usar um sensor de temperatura, eu usei um LM35, e mostrar no display 7 segmentos para representar a temperatura actual. Para nao ocupar as portas todas do arduino usei 4511, que é um descodificador BCD e que nos permite usar apenas 4 portas.
A primeira parte é apenas mostrar temperaturas de 1º até 30ºc.
MATERIAL usado:
1x Arduino
1x LM35 ou LM35Z
1x beardboard
2x 4511
2x display 7 segmentos
Na imagem seguinte mostra o circuito.
Mas atenção devem usar uma resistencia para cada segmento do display. Eu usei umas de 330ohms pois eram as que tinha a mão.
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg156.imageshack.us%2Fimg156%2F2725%2Ftutorialk.th.png&hash=f175925d6fd6664c20cbb6f9a452ddb8091a54cd) (http://img156.imageshack.us/i/tutorialk.png/)
programa para arduino anexado.
Gostaria de saber as vossas opiniões, e amanha espero ja puder colocar um video.
video nao tem grande qualidade mas foi o melhor que consegui.
lm35 e display 7 segmentos (http://www.youtube.com/watch?v=t3adFG1zIyU#)
int a1 =2;
int b1 =3;
int c1 =4;
int d1 =5;
int a2 =6;
int b2 =7;
int c2 =8;
int d2 =9;
int analogPin = 5;
int valAnalog ; // variavel para armazenar o valor analogico lido
int temp ;
void setup() {
pinMode(a1, OUTPUT);
pinMode(b1, OUTPUT);
pinMode(c1, OUTPUT);
pinMode(d1, OUTPUT);
pinMode(a2, OUTPUT);
pinMode(b2, OUTPUT);
pinMode(c2, OUTPUT);
pinMode(d2, OUTPUT);
Serial.begin(9600);
}
void loop() {
valAnalog = analogRead(analogPin); // Le o pino de entrada analogica 5
temp= ( 5 * valAnalog * 100) / 1024 ; // calcula a temperatura
Serial.println(temp);
switch (temp) {
case 1:
digitalWrite(a1, HIGH);
digitalWrite(b1, LOW);
digitalWrite(c1, LOW);
digitalWrite(d1, LOW);
break;
case 2:
digitalWrite(a1, LOW);
digitalWrite(b1, HIGH);
digitalWrite(c1, LOW);
digitalWrite(d1, LOW);
break;
case 3:
digitalWrite(a1, HIGH);
digitalWrite(b1, HIGH);
digitalWrite(c1, LOW);
digitalWrite(d1, LOW);
break;
case 4:
digitalWrite(a1, LOW);
digitalWrite(b1, LOW);
digitalWrite(c1, LOW);
digitalWrite(d1, HIGH);
break;
case 5:
digitalWrite(a1, HIGH);
digitalWrite(b1, LOW);
digitalWrite(c1, LOW);
digitalWrite(d1, HIGH);
break;
case 6:
digitalWrite(a1, LOW);
digitalWrite(b1, HIGH);
digitalWrite(c1, LOW);
digitalWrite(d1, HIGH);
break;
case 7:
digitalWrite(a1, HIGH);
digitalWrite(b1, HIGH);
digitalWrite(c1, LOW);
digitalWrite(d1, HIGH);
break;
case 8:
digitalWrite(a1, LOW);
digitalWrite(b1, LOW);
digitalWrite(c1, HIGH);
digitalWrite(d1, LOW);
break;
case 9:
digitalWrite(a1, HIGH);
digitalWrite(b1, LOW);
digitalWrite(c1, HIGH);
digitalWrite(d1, LOW);
break;
case 10:
digitalWrite(a2, HIGH);
digitalWrite(b2, LOW);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(a1, LOW);
digitalWrite(b1, LOW);
digitalWrite(c1, LOW);
digitalWrite(d1, LOW);
break;
case 11:
digitalWrite(a2, HIGH);
digitalWrite(b2, LOW);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(a1, HIGH);
digitalWrite(b1, LOW);
digitalWrite(c1, LOW);
digitalWrite(d1, LOW);
break;
case 12:
digitalWrite(a2, HIGH);
digitalWrite(b2, LOW);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(a1, LOW);
digitalWrite(b1, HIGH);
digitalWrite(c1, LOW);
digitalWrite(d1, LOW);
break;
case 13:
digitalWrite(a2, HIGH);
digitalWrite(b2, LOW);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(a1, HIGH);
digitalWrite(b1, HIGH);
digitalWrite(c1, LOW);
digitalWrite(d1, LOW);
break;
case 14:
digitalWrite(a2, HIGH);
digitalWrite(b2, LOW);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(a1, LOW);
digitalWrite(b1, LOW);
digitalWrite(c1, LOW);
digitalWrite(d1, HIGH);
break;
case 15:
digitalWrite(a2, HIGH);
digitalWrite(b2, LOW);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(a1, HIGH);
digitalWrite(b1, LOW);
digitalWrite(c1, LOW);
digitalWrite(d1, HIGH);
break;
case 16:
digitalWrite(a2, HIGH);
digitalWrite(b2, LOW);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(a1, LOW);
digitalWrite(b1, HIGH);
digitalWrite(c1, LOW);
digitalWrite(d1, HIGH);
break;
case 17:
digitalWrite(a2, HIGH);
digitalWrite(b2, LOW);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(a1, HIGH);
digitalWrite(b1, HIGH);
digitalWrite(c1, LOW);
digitalWrite(d1, HIGH);
break;
case 18:
digitalWrite(a2, HIGH);
digitalWrite(b2, LOW);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(a1, LOW);
digitalWrite(b1, LOW);
digitalWrite(c1, HIGH);
digitalWrite(d1, LOW);
break;
case 19:
digitalWrite(a2, HIGH);
digitalWrite(b2, LOW);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(a1, HIGH);
digitalWrite(b1, LOW);
digitalWrite(c1, HIGH);
digitalWrite(d1, LOW);
break;
case 20:
digitalWrite(a2, LOW);
digitalWrite(b2, HIGH);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(a1, LOW);
digitalWrite(b1, LOW);
digitalWrite(c1, LOW);
digitalWrite(d1, LOW);
break;
case 21: // your hand is close to the sensor
digitalWrite(a2, LOW);
digitalWrite(b2, HIGH);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(a1, HIGH);
digitalWrite(b1, LOW);
digitalWrite(c1, LOW);
digitalWrite(d1, LOW);
break;
case 22: // your hand is a few inches from the sensor
digitalWrite(a2, LOW);
digitalWrite(b2, HIGH);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(a1, LOW);
digitalWrite(b1, HIGH);
digitalWrite(c1, LOW);
digitalWrite(d1, LOW);
break;
case 23: // your hand is nowhere near the sensor
digitalWrite(a2, LOW);
digitalWrite(b2, HIGH);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(a1, HIGH);
digitalWrite(b1, HIGH);
digitalWrite(c1, LOW);
digitalWrite(d1, LOW);
break;
case 24:
digitalWrite(a2, LOW);
digitalWrite(b2, HIGH);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(a1, LOW);
digitalWrite(b1, LOW);
digitalWrite(c1, LOW);
digitalWrite(d1, HIGH);
break;
case 25:
digitalWrite(a2, LOW);
digitalWrite(b2, HIGH);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(a1, HIGH);
digitalWrite(b1, LOW);
digitalWrite(c1, LOW);
digitalWrite(d1, HIGH);
break;
case 26:
digitalWrite(a2, LOW);
digitalWrite(b2, HIGH);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(a1, LOW);
digitalWrite(b1, HIGH);
digitalWrite(c1, LOW);
digitalWrite(d1, HIGH);
break;
case 27:
digitalWrite(a2, LOW);
digitalWrite(b2, HIGH);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);;
digitalWrite(a1, HIGH);
digitalWrite(b1, HIGH);
digitalWrite(c1, LOW);
digitalWrite(d1, HIGH);
break;
case 28:
digitalWrite(a2, LOW);
digitalWrite(b2, HIGH);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(a1, LOW);
digitalWrite(b1, LOW);
digitalWrite(c1, HIGH);
digitalWrite(d1, LOW);
break;
case 29:
digitalWrite(a2, LOW);
digitalWrite(b2, HIGH);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(a1, HIGH);
digitalWrite(b1, LOW);
digitalWrite(c1, HIGH);
digitalWrite(d1, LOW);
break;
case 30:
digitalWrite(a2, HIGH);
digitalWrite(b2, HIGH);
digitalWrite(c2, LOW);
digitalWrite(d2, LOW);
digitalWrite(a1, LOW);
digitalWrite(b1, LOW);
digitalWrite(c1, LOW);
digitalWrite(d1, LOW);
break;
}
}