Академический Документы
Профессиональный Документы
Культура Документы
Mxico
FacultaddeIngeniera
Profesor:GmezLealRigel
AnlisisdeCircuitos
Proyectofinal:
SensordeTemperaturaconArduino
Grupo:8
Integrantes:
JimnezSantaCruzKimberlyAlejandra
PachecoJimnezAnaJanet
RodrguezMezaEduardo
Fechadeentrega:30demayode2014
MARCOTERICO
SensordeTemperatura
Internamentecompensadoenfrecuenciaparagananciaunidad
AltagananciaenDC(100dB)
Altorangodealimentacin:
Alimentacinsimple:entre3Vy32V
Arduino
Arduino puede tomar informacin del entorno a travs de sus pines de
entrada de toda una gama de sensores y puede afectar aquello que le
rodea controlando luces, motores y otros actuadores. El microcontrolador
en la placa Arduino se programa mediante el lenguaje de programacin
Arduino (basado en Wiring) y el entorno de desarrollo Arduino (basado en
Processing). Los proyectos hechos con Arduino pueden ejecutarse sin
necesidad de conectar a un ordenador, si bien tienen la posibilidad de
hacerlo y comunicar con diferentes tipos de software (p.ej. Flash,
Processing, MaxMSP).
Las placas pueden ser hechas a mano o compradas o montadas de fbrica;
el software puede ser descargado de forma gratuita. Los ficheros de diseo
de referencia (CAD) estn disponibles bajo una licencia abierta, as pues
eres libre de adaptarlos a tus necesidades.
MATERIAL Y EQUIPO
Resistenciasdelossiguientesvalores:330
Amplificadoresoperacionales(TL324)
Buzzer.
Leds:verde(1)yrojo(1).
VentiladorconmotordeCDa12[V].
Sensordetemperatura(LM35).
Cables.
FuentedeV.
TabletaArduinoUNO.
DESARROLLO
Sealambrelsiguientecircuito:
CDIGODELPROGRAMAENARDUINO
//Declaraciondevariables
floattempC
inttempPin=0//DefinimoslaentradaenpinA0
intledverde=11//1erAviso
intledrojo=12
intventilador=10
intbuzz=8
voidsetup()
{
//Abrepuertoserialyloconfiguraa9600bps
Serial.begin(9600)
pinMode(ledverde,OUTPUT)
digitalWrite(ledverde,LOW)
pinMode(ledrojo,OUTPUT) //SedefinenlospinesdesalidadelArduinoyordenaseapaguen
digitalWrite(ledrojo,LOW)
pinMode(buzz,OUTPUT)
digitalWrite(buzz,LOW)
}
voidloop()
{
//Leeelvalordesdeelsensor
tempC=analogRead(tempPin)
//Convierteelvaloratemperatura
tempC=(5.0*tempC*100.0)/1024.0
//Enviaeldatoalpuertoserial
Serial.print(tempC)
Serial.print("gradosCelsius\n")
//Temp<15ledverdeParpadea
//33>Temp>15//Ventamediavelocidad
//Temp>33LedRojoFijo,VentMax,yBuzzer
if(tempC<15)
{//SedanlasinstruccionessiesqueT<15C
analogWrite(ventilador,0)
digitalWrite(ledverde,HIGH) //Seenciendeelledcolorverde
delay(1000)
digitalWrite(ledverde,LOW)//Seapagaelledverdeconeltiempodado
delay(1000)//Hacequeparpadeeelled
digitalWrite(buzz,LOW) //Mantieneelbuzzerapagado
digitalWrite(ledrojo,LOW)
}
elseif(tempC>15&&tempC<33)
{//Sedanlasinstruccionessiesque15C<T<33C
analogWrite(ventilador,120)//Elventiladorseactivaaunavelocidadde120
digitalWrite(ledverde,LOW) //ElledVerdesemantieneapagado
digitalWrite(buzz,LOW) //Elbuzzersemantieneapagado
digitalWrite(ledrojo,LOW) //Elledrojosemantieneapagado
}
elseif(tempC>33)
{//SedanlasinstruccionessiesqueT>33C
analogWrite(ventilador,255) //Seenciendeelventiladoravelocidadmxima(255)
digitalWrite(buzz,HIGH) //Elbuzzseenciende
digitalWrite(ledrojo,HIGH) //Elledrojoseenciende
}
delay(500)
}
FINDELPROGRAMA