led intermitente
Materiales a utilizar
-protoboard
-Arduino
-Sensor lm35
-74hc595(2)
-voltaje
Resultado en proteus
Codigo final del proyecto
int pinLatch = 10; //Pinpara el latch de los 74CH495
int pinDatos = 11; //Pin para Datos serie del 74CH495
int pinReloj = 12; //Pin para reloj del 74CH495
int i; // Para mandar las decenas
int j; // Para mandarlas unidades
int sensorPin=A2;
long sensorValue=0; // tipo long para evitar que se desborde
float temperatura=0;
float temperatura2=0; // tipo float para tener decimales
int boton=2;
intvalor=0;
// Codificación hexadecimal de los dígitos decimales en el display de 7 segmentos
byte numero[10]= {
0xEE, 0x82, 0xDC, 0xD6, 0xB2, 0x76, 0x7E, 0xC2, 0xFE, 0xF6};
void setup(){pinMode(pinLatch,OUTPUT);
pinMode(pinDatos,OUTPUT);
pinMode(pinReloj,OUTPUT);
pinMode(sensorPin, INPUT);
Serial.begin(9600);
pinMode(boton,INPUT);
}
void loop(){
valor=digitalRead(boton);sensorValue= analogRead(sensorPin);
if (valor!=0){
if(valor == 1){
temperatura=(sensorValue*5*100)/1024; // temperatura Celsius
Serial.print("Temperatura (Celsius)= "); // muestra en monitor serialla temperatura
Serial.println(temperatura); // Mandar los dos numeros
i=temperatura/10; // digito de las decenas
j= temperatura -i*10; // digito de las unidadesSerial.print("Unidades=");
Serial.println(j); // manda las unidades
Serial.print("Decenas=");
Serial.println(i); // manda las decenasdigitalWrite(pinLatch, LOW);
//mandamos la unidad que pasa al display2
shiftOut(pinDatos, pinReloj, LSBFIRST, numero[i]);
// mandamos la decena que pasa al display 1
shiftOut(pinDatos, pinReloj, LSBFIRST,numero[j]);
digitalWrite(pinLatch, HIGH);
delay(3000);
}
temperatura2= ((9.0 *sensorValue/5)/5)+56.914; // temperatura Fahrenheit
Serial.print("Temperatura (Fahrenheit) ="); // muestra en monitor...
Regístrate para leer el documento completo.